diff options
-rw-r--r-- | meson.build | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/meson.build b/meson.build index b5274395..64360f1e 100644 --- a/meson.build +++ b/meson.build @@ -29,11 +29,6 @@ foreach type : ['char', 'short', 'int', 'long'] config.set('SIZEOF_@0@'.format(type.to_upper()), size) endforeach -configure_file( - configuration: config, - output: 'config.h' -) - add_project_arguments([ '-I' + meson.build_root(), '-DHAVE_CONFIG_H', @@ -41,17 +36,22 @@ add_project_arguments([ ) gi_hidden_visibility_cflags = [] -if cc.has_argument('-fvisibility=hidden') - gi_hidden_visibility_cflags = [ - '-D_GI_EXTERN=__attribute__((visibility("default"))) extern', - '-fvisibility=hidden', - ] -elif cc.get_id() == 'msvc' - gi_hidden_visibility_cflags = [ - '-D_GI_EXTERN=__declspec (dllexport) extern', - ] +if host_machine.system() == 'windows' + config.set('DLL_EXPORT', true) + config.set('_GI_EXTERN', '__declspec(dllexport) extern') + if cc.get_id() != 'msvc' + gi_hidden_visibility_cflags += '-fvisibility=hidden' + endif +else + config.set('_GI_EXTERN', '__attribute__((visibility("default"))) extern') + gi_hidden_visibility_cflags += '-fvisibility=hidden' endif +configure_file( + configuration: config, + output: 'config.h' +) + gobject_dep = dependency('gobject-2.0', version: '>= 2.52.0') gio_dep = dependency('gio-2.0') giounix_dep = dependency('gio-unix-2.0', required: false) |