meson: Only look for Obj-C/C++ compilers on macOS/iOS
authorNirbheek Chauhan <nirbheek@centricular.com>
Tue, 4 Aug 2020 00:04:23 +0000 (05:34 +0530)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 4 Aug 2020 10:43:13 +0000 (10:43 +0000)
On Windows, MinGW-GCC Objective-C/C++ compilers can be in PATH and
mess up the build since they may not match the CPU family of the C/C++
compilers we are using.

Also require them on macOS/iOS, because they should always be present.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/88

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1488>

meson.build

index 11fb331..4a74684 100644 (file)
@@ -33,8 +33,15 @@ plugins = []
 
 cc = meson.get_compiler('c')
 cxx = meson.get_compiler('cpp')
+host_system = host_machine.system()
 
-have_objc = add_languages('objc', native: false, required: false)
+if host_system in ['ios', 'darwin']
+  have_objc = add_languages('objc', native: false)
+  have_objcpp = add_languages('objcpp', native: false)
+else
+  have_objc = false
+  have_objcpp = false
+endif
 
 cdata = configuration_data()
 
@@ -243,7 +250,6 @@ cdata.set_quoted('GST_PACKAGE_NAME', gst_package_name)
 cdata.set_quoted('GST_PACKAGE_ORIGIN', get_option('package-origin'))
 
 # FIXME: This should be exposed as a configuration option
-host_system = host_machine.system()
 if host_system == 'linux'
   cdata.set_quoted('DEFAULT_VIDEOSRC', 'v4l2src')
 elif ['darwin', 'ios'].contains(host_system)
@@ -369,7 +375,6 @@ if ['darwin', 'ios'].contains(host_system)
 #    cdata.set('HAVE_VIDEOTOOLBOX_10_9_6', 1)
 #  endif
 endif
-have_objcpp = add_languages('objcpp', native: false, required: false)
 
 have_orcc = false
 orcc_args = []