diff --git a/src/macros.rs b/src/macros.rs index 380abf4..75f6e5b 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -4,30 +4,30 @@ macro_rules! c_library { $(statics: { - $($sname: ident: $stype: ty);+; + $($(#[$satter: meta])* $sname: ident: $stype: ty);+; } )? $(functions: { - $($fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+; + $($(#[$fatter: meta])* $fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+; } )? $(varargs: { - $($vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+; + $($(#[$vatter: meta])* $vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+; } )? } => { extern "C" { - $($(pub static $sname: $stype;)+)? + $($($(#[$satter])* pub static $sname: $stype;)+)? - $($(pub fn $fname($($farg: $fargt),*) -> $fret;)+)? + $($($(#[$fatter])* pub fn $fname($($farg: $fargt),*) -> $fret;)+)? - $($(pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)? + $($($(#[$vatter])* pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)? } }; } @@ -40,19 +40,19 @@ macro_rules! external_library { $(statics: { - $($sname: ident: $stype: ty);+; + $($(#[$satter: meta])* $sname: ident: $stype: ty);+; } )? $(functions: { - $($fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+; + $($(#[$fatter: meta])* $fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+; } )? $(varargs: { - $($vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+; + $($(#[$vatter: meta])* $vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+; } )? } @@ -61,11 +61,11 @@ macro_rules! external_library #[link(name=$link)] extern "C" { - $($(pub static $sname: $stype;)+)? + $($($(#[$satter])* pub static $sname: $stype;)+)? - $($(pub fn $fname($($farg: $fargt),*) -> $fret;)+)? + $($($(#[$fatter])* pub fn $fname($($farg: $fargt),*) -> $fret;)+)? - $($(pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)? + $($($(#[$vatter])* pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)? } }; }