diff --git a/libplatsch.h b/libplatsch.h index b25d08f..f65500a 100644 --- a/libplatsch.h +++ b/libplatsch.h @@ -3,6 +3,12 @@ #include +#if __GNUC__ >= 4 +# define LIBPLATSCH_API __attribute__((visibility ("default"))) +#else +# define LIBPLATSCH_API +#endif + struct platsch_ctx; struct platsch_draw_buf { @@ -17,14 +23,14 @@ struct platsch_draw_buf { typedef void (*custom_draw_cb)(struct platsch_draw_buf *buf, void *priv); -void platsch_draw(struct platsch_ctx *ctx); -void platsch_register_custom_draw_cb(struct platsch_ctx *ctx, - custom_draw_cb cb, void *priv); +LIBPLATSCH_API void platsch_draw(struct platsch_ctx *ctx); +LIBPLATSCH_API void platsch_register_custom_draw_cb(struct platsch_ctx *ctx, + custom_draw_cb cb, void *priv); -struct platsch_ctx *platsch_create_ctx(const char *dir, const char *base); -struct platsch_ctx *platsch_alloc_ctx(const char *dir, const char *base); -int platsch_init_ctx(struct platsch_ctx *ctx); +LIBPLATSCH_API struct platsch_ctx *platsch_create_ctx(const char *dir, const char *base); +LIBPLATSCH_API struct platsch_ctx *platsch_alloc_ctx(const char *dir, const char *base); +LIBPLATSCH_API int platsch_init_ctx(struct platsch_ctx *ctx); -void platsch_destroy_ctx(struct platsch_ctx *ctx); +LIBPLATSCH_API void platsch_destroy_ctx(struct platsch_ctx *ctx); #endif /* __LIBPLATSCH_H__ */ diff --git a/meson.build b/meson.build index 2e33ddb..08b2b43 100644 --- a/meson.build +++ b/meson.build @@ -16,6 +16,7 @@ platsch_lib = both_libraries( 'platsch', version : '0.1', sources : ['libplatsch.c'], + gnu_symbol_visibility : 'hidden', dependencies : [libdrm_dep], install : true )