From a9a2c3d67a84b7686977bf7ffaf85303c97534e0 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Tue, 3 Dec 2019 14:19:05 +1100 Subject: [PATCH] build: use -fvisibility=hidden for objc code --- meson.build | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 2432f87..d84ad16 100644 --- a/meson.build +++ b/meson.build @@ -34,6 +34,8 @@ plugins = [] cc = meson.get_compiler('c') cxx = meson.get_compiler('cpp') +have_objc = add_languages('objc', required : false) + cdata = configuration_data() if cc.get_id() == 'msvc' @@ -71,6 +73,9 @@ if cc.get_id() == 'msvc' elif cc.has_argument('-fvisibility=hidden') add_project_arguments('-fvisibility=hidden', language: 'c') add_project_arguments('-fvisibility=hidden', language: 'cpp') + if have_objc + add_project_arguments('-fvisibility=hidden', language: 'objc') + endif export_define = 'extern __attribute__ ((visibility ("default")))' else export_define = 'extern' @@ -342,7 +347,9 @@ else endif if ['darwin', 'ios'].contains(host_system) - add_languages('objc') + if not have_objc + error('Building on MacOS/iOS/etc requires an ObjC compiler') + endif if host_system == 'ios' cdata.set('HAVE_IOS', 1) endif -- 2.7.4