diff --git a/fontconfig/fontconfig.h.in b/fontconfig/fontconfig.h.in index e8944f9..a76230b 100644 --- a/fontconfig/fontconfig.h.in +++ b/fontconfig/fontconfig.h.in @@ -39,7 +39,7 @@ #endif #ifndef FcPublic -# define FcPublic +# define FcPublic @DEFAULT_FCPUBLIC@ #endif typedef unsigned char FcChar8; diff --git a/fontconfig/meson.build b/fontconfig/meson.build index 1ad1e58..1d9ac14 100644 --- a/fontconfig/meson.build +++ b/fontconfig/meson.build @@ -1,5 +1,14 @@ fontconfig_h_conf = configuration_data() fontconfig_h_conf.set('CACHE_VERSION', cacheversion) +default_FcPublic = '' +if get_option('default_library') != 'static' + if host_machine.system() == 'windows' + default_FcPublic = '__declspec(dllimport)' + else + default_FcPublic = '__attribute__((visibility("default")))' + endif +endif +fontconfig_h_conf.set('DEFAULT_FCPUBLIC', default_FcPublic) fontconfig_h = configure_file(output: 'fontconfig.h', input: 'fontconfig.h.in', configuration: fontconfig_h_conf) diff --git a/src/meson.build b/src/meson.build index bf5a781..c892a34 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,7 +1,7 @@ win_export_args = [] # Define FcPublic appropriately for exports on windows -if host_machine.system() == 'windows' +if host_machine.system() == 'windows' and get_option('default_library') != 'static' win_export_args += '-DFcPublic=__declspec(dllexport)' win_export_args += '-DDLL_EXPORT' endif