X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=meson.build;h=e738c557f0d9b3d2b77b9cdde6cd4cbf0b20091b;hb=f5ed89dc8356b8f4fcaadd3a4524b4e1b88331c8;hp=aaee483034c5017877316b580f38cdcf21b3da9b;hpb=09dac522caac829590c1705c3e6d49156dd37475;p=platform%2Fupstream%2Fgstreamer.git diff --git a/meson.build b/meson.build index aaee483..e738c55 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('gstreamer', 'c', - version : '1.15.0.1', + version : '1.16.0', meson_version : '>= 0.47', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) @@ -33,6 +33,8 @@ helpers_install_dir = join_paths(libexecdir, 'gstreamer-1.0') cc = meson.get_compiler('c') +cdata = configuration_data() + # Ignore several spurious warnings for things gstreamer does very commonly # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it # If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once @@ -43,6 +45,7 @@ if cc.get_id() == 'msvc' '/wd4146', # unary minus on unsigned (beware INT_MIN) '/wd4244', # lossy type conversion (e.g. double -> int) '/wd4305', # truncating type conversion (e.g. double -> float) + cc.get_supported_arguments(['/utf-8']), # set the input encoding to utf-8 language : 'c') elif cc.has_link_argument('-Wl,-Bsymbolic-functions') # FIXME: Add an option for this if people ask for it @@ -50,11 +53,20 @@ elif cc.has_link_argument('-Wl,-Bsymbolic-functions') endif # Symbol visibility -have_visibility_hidden = cc.has_argument('-fvisibility=hidden') -if have_visibility_hidden +have_visibility_hidden = false +if cc.get_id() == 'msvc' + export_define = '__declspec(dllexport) extern' +elif cc.has_argument('-fvisibility=hidden') add_project_arguments('-fvisibility=hidden', language: 'c') + export_define = 'extern __attribute__ ((visibility ("default")))' + have_visibility_hidden = true +else + export_define = 'extern' endif +# Passing this through the command line would be too messy +cdata.set('GST_API_EXPORT', export_define) + # Disable strict aliasing if cc.has_argument('-fno-strict-aliasing') add_project_arguments('-fno-strict-aliasing', language: 'c') @@ -84,7 +96,6 @@ if glib_checks.disabled() or (glib_checks.auto() and not gst_version_is_dev) add_project_arguments('-DG_DISABLE_CHECKS', language: 'c') endif -cdata = configuration_data() cdata.set_quoted('GST_API_VERSION', apiversion) cdata.set_quoted('GST_DATADIR', join_paths(prefix, get_option('datadir'))) cdata.set_quoted('LOCALEDIR', join_paths(prefix, get_option('localedir'))) @@ -336,8 +347,9 @@ endif backtrace_deps = [] unwind_dep = dependency('libunwind', required : get_option('libunwind')) -dw_dep = dependency('libdw', required: get_option('libunwind')) -backtrace_deps = [unwind_dep, dw_dep] +dw_dep = dependency('libdw', required: get_option('libdw')) +dbghelp_dep = dependency('DbgHelp', required : get_option('dbghelp')) +backtrace_deps = [unwind_dep, dw_dep, dbghelp_dep] if unwind_dep.found() cdata.set('HAVE_UNWIND', 1) if dw_dep.found() @@ -345,12 +357,12 @@ if unwind_dep.found() else message('Support for backtraces is partial only.') endif +elif cc.has_function('backtrace') + cdata.set('HAVE_BACKTRACE', 1) +elif dbghelp_dep.found() + cdata.set('HAVE_DBGHELP', 1) else - if cc.has_function('backtrace') - cdata.set('HAVE_BACKTRACE', 1) - else - message('NO backtraces support.') - endif + message('NO backtraces support.') endif if cc.has_header('execinfo.h') @@ -385,7 +397,6 @@ warning_flags = [ '-Waddress', '-Waggregate-return', '-Wno-multichar', - '-Wnested-externs', '-Wdeclaration-after-statement', '-Wvla', '-Wpointer-arith', @@ -416,7 +427,7 @@ libsinc = include_directories('libs') privinc = include_directories('gst') # Find dependencies -glib_dep = dependency('glib-2.0', version : '>=2.32.0', +glib_dep = dependency('glib-2.0', version : '>=2.40.0', fallback: ['glib', 'libglib_dep']) gobject_dep = dependency('gobject-2.0', fallback: ['glib', 'libgobject_dep']) @@ -447,7 +458,7 @@ gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + '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'] @@ -459,7 +470,7 @@ if get_option('default_library') == 'static' endif # Used in gst/parse/meson.build and below -python3 = import('python3').find_python() +python3 = import('python').find_installation() bashcomp_option = get_option('bash-completion') bashcomp_dep = dependency('bash-completion', version : '>= 2.0', required : bashcomp_option) @@ -492,6 +503,15 @@ if bashcomp_dep.found() endif endif +plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0') + +pkgconfig = import('pkgconfig') +plugins_pkgconfig_install_dir = join_paths(plugins_install_dir, 'pkgconfig') +if get_option('default_library') == 'shared' + # If we don't build static plugins there is no need to generate pc files + plugins_pkgconfig_install_dir = disabler() +endif + subdir('gst') subdir('libs') subdir('plugins')