meson: Pass native: false to add_languages()
authorNirbheek Chauhan <nirbheek@centricular.com>
Mon, 11 May 2020 23:37:47 +0000 (05:07 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Mon, 11 May 2020 23:37:47 +0000 (05:07 +0530)
This is needed for cross-compiling without a build machine compiler
available. The option was added in 0.54, but we only need this in
Cerbero and it doesn't affect older versions so it should be ok.
Will just cause a spurious warning.

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

ext/sidplay/meson.build
meson.build

index 12fe4b23de482f870e15da70d7443457ae61015f..6310652f364d5786a513a17f3d4b62914f2a6caf 100644 (file)
@@ -1,27 +1,38 @@
+sidplay_option = get_option('sidplay')
+if sidplay_option.disabled()
+  subdir_done()
+endif
+
+if not add_languages('cpp', native: false, required: sidplay_option)
+  subdir_done()
+endif
+
+if not cxx.has_header('sidplay/player.h', required: sidplay_option)
+  subdir_done()
+endif
+
+sidplay_dep = cxx.find_library('sidplay', required: sidplay_option)
+if not sidplay_dep.found()
+  subdir_done()
+endif
+
 # sidplay plugin works with libsidplay 1.36.x (not 2.x.x)
-have_sidplay = false
-if have_cxx and not get_option('sidplay').disabled()
-  if cxx.has_header('sidplay/player.h')
-    sid_code = '''#include <sidplay/player.h>
-                  void somefunc (void) {
-                    sidTune tune = sidTune(0);
-                  }'''
-    sidplay_dep = cxx.find_library('sidplay', required: get_option('sidplay'))
-    if sidplay_dep.found()
-      have_sidplay = cxx.compiles(sid_code, dependencies: sidplay_dep, name : 'sidplay')
-    endif
+sid_code = '''#include <sidplay/player.h>
+              void somefunc (void) {
+                sidTune tune = sidTune(0);
+              }'''
+if not cxx.compiles(sid_code, dependencies: sidplay_dep, name : 'sidplay usage')
+  if sidplay_option.enabled()
+    error('sidplay headers and libraries were found, but were not usable')
   endif
+  subdir_done()
 endif
 
-if have_sidplay
-  gstsid = library('gstsid', 'gstsiddec.cc',
-    cpp_args : ugly_args,
-    include_directories : [configinc],
-    dependencies : [gstaudio_dep, sidplay_dep],
-    install : true,
-    install_dir : plugins_install_dir)
-  pkgconfig.generate(gstsid, install_dir : plugins_pkgconfig_install_dir)
-  plugins += [gstsid]
-elif get_option('sidplay').enabled()
-  error('sidplay plugin enabled but dependencies not found')
-endif
+gstsid = library('gstsid', 'gstsiddec.cc',
+  cpp_args : ugly_args,
+  include_directories : [configinc],
+  dependencies : [gstaudio_dep, sidplay_dep],
+  install : true,
+  install_dir : plugins_install_dir)
+pkgconfig.generate(gstsid, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstsid]
index edb75e93539ac326fb32a9e751ffd8a73bfd2231..a3a78add8961cca6e491777153d31238db82cfd4 100644 (file)
@@ -16,7 +16,7 @@ else
 endif
 gst_version_is_dev = gst_version_minor % 2 == 1 and gst_version_micro < 90
 
-have_cxx = add_languages('cpp', required : false)
+have_cxx = add_languages('cpp', native: false, required: false)
 
 glib_req = '>= 2.44.0'
 gst_req = '>= @0@.@1@.0'.format(gst_version_major, gst_version_minor)