project('gstreamer', 'c',
- version : '1.15.1',
- meson_version : '>= 0.47',
+ version : '1.17.0.1',
+ meson_version : '>= 0.48',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
cdata.set_quoted('VERSION', gst_version)
cdata.set_quoted('GST_PLUGIN_SCANNER_INSTALLED', join_paths(prefix, helpers_install_dir, 'gst-plugin-scanner'))
cdata.set_quoted('GST_PTP_HELPER_INSTALLED', join_paths(prefix, helpers_install_dir, 'gst-ptp-helper'))
+cdata.set_quoted('GST_PLUGIN_SUBDIR', get_option('libdir'),
+ description: 'plugin directory path component, used to find plugins on relocatable builds on windows')
cdata.set_quoted('GST_PLUGIN_SCANNER_SUBDIR', libexecdir,
description: 'libexecdir path component, used to find plugin-scanner on relocatable builds on windows')
cdata.set('GST_DISABLE_OPTION_PARSING', not get_option('option-parsing'))
backtrace_deps = []
unwind_dep = dependency('libunwind', required : get_option('libunwind'))
dw_dep = dependency('libdw', required: get_option('libdw'))
-backtrace_deps = [unwind_dep, dw_dep]
-if unwind_dep.found()
+dbghelp_dep = dependency('DbgHelp', required : get_option('dbghelp'))
+backtrace_deps = [unwind_dep, dw_dep, dbghelp_dep]
+backtrace_source_info = false
+backtrace_minimal = false
+# MSVC debug stack trace support
+if host_system == 'windows' and dbghelp_dep.found()
+ cdata.set('HAVE_DBGHELP', 1)
+ backtrace_source_info = true
+# DWARF stack trace support with libunwind and elf-utils
+elif unwind_dep.found()
cdata.set('HAVE_UNWIND', 1)
if dw_dep.found()
cdata.set('HAVE_DW', 1)
- else
- message('Support for backtraces is partial only.')
+ backtrace_source_info = true
endif
-else
- if cc.has_function('backtrace')
- cdata.set('HAVE_BACKTRACE', 1)
+ backtrace_minimal = true
+# Basic backtrace() stack trace support
+elif cc.has_function('backtrace')
+ cdata.set('HAVE_BACKTRACE', 1)
+ backtrace_minimal = true
+endif
+# Print messages about what was enabled
+if not backtrace_source_info
+ if not backtrace_minimal
+ message('NO support for stack traces.')
else
- message('NO backtraces support.')
+ message('Minimal support for stack traces, no source info.')
endif
endif
'-Waddress',
'-Waggregate-return',
'-Wno-multichar',
- '-Wnested-externs',
'-Wdeclaration-after-statement',
'-Wvla',
'-Wpointer-arith',
privinc = include_directories('gst')
# Find dependencies
-glib_dep = dependency('glib-2.0', version : '>=2.40.0',
+glib_dep = dependency('glib-2.0', version : '>=2.44.0',
fallback: ['glib', 'libglib_dep'])
gobject_dep = dependency('gobject-2.0',
fallback: ['glib', 'libgobject_dep'])
'g_setenv("GST_REGISTRY_1.0", "/no/way/this/exists.reg", TRUE);' + \
'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
'g_setenv("GST_PLUGIN_SYSTEM_PATH_1_0", "", TRUE);' + \
- 'gst_init(NULL,NULL);' ]
+ 'gst_init(NULL,NULL);', '--quiet']
gst_c_args = ['-DHAVE_CONFIG_H']
subdir('pkgconfig')
subdir('tests')
subdir('data')
+subdir('docs')
# xgettext is optional (on Windows for instance)
if find_program('xgettext', required : get_option('nls')).found()
endif
configure_file(output : 'config.h', configuration : cdata)
-
-if build_machine.system() == 'windows'
- message('Disabling gtk-doc while building on Windows')
-else
- if find_program('gtkdoc-scan', required : get_option('gtk_doc')).found()
- subdir('docs')
- else
- message('Not building documentation as gtk-doc was not found')
- endif
-endif
-
run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
-
install_data('gst-element-check-1.0.m4', install_dir : join_paths(get_option('datadir'), 'aclocal'))