project('gst-plugins-bad', 'c', 'cpp',
version : '1.21.0.1',
- meson_version : '>= 0.59',
+ meson_version : '>= 0.60',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
gst_version_is_stable = gst_version_minor.is_even()
gst_version_is_dev = gst_version_minor.is_odd() and gst_version_micro < 90
-glib_req = '>= 2.56.0'
+glib_req = '>= 2.62.0'
orc_req = '>= 0.4.17'
if gst_version_is_stable
endif
cdata = configuration_data()
+cdata.set('ENABLE_NLS', 1)
if cc.get_id() == 'msvc'
msvc_args = [
endif
libm = cc.find_library('m', required : false)
-glib_dep = dependency('glib-2.0', version : glib_req, fallback: ['glib', 'libglib_dep'])
-gmodule_dep = dependency('gmodule-2.0', fallback: ['glib', 'libgmodule_dep'])
-gio_dep = dependency('gio-2.0', fallback: ['glib', 'libgio_dep'])
+gio_dep = dependency('gio-2.0', version: glib_req)
+gmodule_dep = dependency('gmodule-no-export-2.0')
# gio-unix-2.0 is used by sys/bluez
# Optional dep of ext/gl and gst/librfb
cdata.set('HAVE_X11', 1)
endif
+#
+# Solaris and Illumos distros split a lot of networking-related code
+# into '-lsocket -lnsl'. Anything that calls socketpair(), getifaddr(),
+# etc. probably needs to include network_deps
+#
+if host_machine.system() == 'sunos'
+ network_deps = [
+ cc.find_library('socket', required: false),
+ cc.find_library('nsl', required: false)
+ ]
+else
+ network_deps = []
+endif
+
if host_machine.system() == 'windows'
winsock2 = [cc.find_library('ws2_32')]
+
+ building_for_win7 = cc.compiles('''#include <windows.h>
+ #ifndef WINVER
+ #error "unknown minimum supported OS version"
+ #endif
+ #if (WINVER < _WIN32_WINNT_WIN7)
+ #error "Windows 7 API is not guaranteed"
+ #endif
+ ''',
+ name: 'building for Windows 7')
+
+ if not building_for_win7
+ add_project_arguments([
+ '-D_WIN32_WINNT=_WIN32_WINNT_WIN7',
+ '-DWINVER=_WIN32_WINNT_WIN7',
+ ], language: ['c', 'cpp'])
+ endif
else
winsock2 = []
endif
# xgettext is optional (on Windows for instance)
if find_program('xgettext', required : get_option('nls')).found()
- cdata.set('ENABLE_NLS', 1)
subdir('po')
endif
message('Package release date: ' + release_date)
endif
-if glib_dep.version().version_compare('< 2.67.4')
+if gio_dep.version().version_compare('< 2.67.4')
cdata.set('g_memdup2(ptr,sz)', '(G_LIKELY(((guint64)(sz)) < G_MAXUINT)) ? g_memdup(ptr,sz) : (g_abort(),NULL)')
endif