Allowing attributes on more macros.

This commit is contained in:
Myrddin Dundragon 2019-06-25 03:38:12 -04:00
parent f0b6e71591
commit 0f48c759bb

View File

@ -4,30 +4,30 @@ macro_rules! c_library
{ {
$(statics: $(statics:
{ {
$($sname: ident: $stype: ty);+; $($(#[$satter: meta])* $sname: ident: $stype: ty);+;
} }
)? )?
$(functions: $(functions:
{ {
$($fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+; $($(#[$fatter: meta])* $fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+;
} }
)? )?
$(varargs: $(varargs:
{ {
$($vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+; $($(#[$vatter: meta])* $vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+;
} }
)? )?
} => } =>
{ {
extern "C" 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: $(statics:
{ {
$($sname: ident: $stype: ty);+; $($(#[$satter: meta])* $sname: ident: $stype: ty);+;
} }
)? )?
$(functions: $(functions:
{ {
$($fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+; $($(#[$fatter: meta])* $fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+;
} }
)? )?
$(varargs: $(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)] #[link(name=$link)]
extern "C" 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;)+)?
} }
}; };
} }