if (has_property($fn, "public")) {
pidl_hdr "$decl;";
- pidl "_PUBLIC_ $decl";
+ pidl "__attribute__((visibility(\"default\")))";
+ pidl "$decl";
} else {
pidl "static $decl";
}
return if (has_property($e, "noprint"));
- pidl "_PUBLIC_ void ndr_print_$e->{NAME}(struct ndr_print *ndr, const char *name, $args)";
+ pidl "__attribute__((visibility(\"default\")))";
+ pidl "void ndr_print_$e->{NAME}(struct ndr_print *ndr, const char *name, $args)";
pidl "{";
indent;
$typefamily{$e->{DATA}->{TYPE}}->{PRINT_FN_BODY}->($e->{DATA}, $e->{NAME});
return if has_property($fn, "noprint");
- pidl "_PUBLIC_ void ndr_print_$fn->{NAME}(struct ndr_print *ndr, const char *name, int flags, const struct $fn->{NAME} *r)";
+ pidl "__attribute__((visibility(\"default\")))";
+ pidl "void ndr_print_$fn->{NAME}(struct ndr_print *ndr, const char *name, int flags, const struct $fn->{NAME} *r)";
pidl "{";
indent;
pidl choose_header("librpc/gen_ndr/ndr_dcerpc.h", "gen_ndr/ndr_dcerpc.h");
pidl choose_header("librpc/rpc/dcerpc.h", "dcerpc.h"); #FIXME: This shouldn't be here!
}
+
+ pidl "/* define dummy __attribute__ for systems that don't have it */";
+ pidl "#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__))";
+ pidl "#define __attribute__(p) /* nothing */";
+ pidl "#endif";
}
#####################################################################