gst: allow building static libraries for e.g. Android/iOS
authorMatthew Waters <matthew@centricular.com>
Mon, 10 Dec 2018 02:25:58 +0000 (13:25 +1100)
committerMatthew Waters <matthew@centricular.com>
Mon, 10 Dec 2018 05:47:50 +0000 (16:47 +1100)
meson.build
validate/gst/validate/meson.build
validate/plugins/extra_checks/meson.build

index d8730c6..357511f 100644 (file)
@@ -131,6 +131,14 @@ foreach extra_arg : warning_flags
   endif
 endforeach
 
+pkgconfig = import('pkgconfig')
+plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
+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
+
 i18n = import('i18n')
 python3 = import('python3')
 if get_option('validate')
index 2af0182..512aed2 100644 (file)
@@ -52,7 +52,7 @@ gst_validate_enums = gnome.mkenums('gstvalidateenumtypes',
   install_header : true,
   install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/validate'))
 
-gstvalidate = shared_library('gstvalidate-1.0',
+gstvalidate = library('gstvalidate-1.0',
     sources: gstvalidate_sources + gst_validate_enums,
     version : libversion,
     soversion : soversion,
@@ -64,12 +64,12 @@ gstvalidate = shared_library('gstvalidate-1.0',
     dependencies : [gst_dep, glib_dep, gio_dep, gmodule_dep,
                     gst_pbutils_dep, mathlib, json_dep])
 
-gstvalidatetracer = shared_library('gstvalidatetracer',
+gstvalidatetracer = library('gstvalidatetracer',
     sources: gstvalidate_sources + gst_validate_enums,
     include_directories : [inc_dirs],
     install: true,
     c_args : [gst_c_args] + ['-D__GST_VALIDATE_PLUGIN', '-D_GNU_SOURCE'],
-    install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
+    install_dir : plugins_install_dir,
     dependencies : [gst_dep, glib_dep, gio_dep, gmodule_dep,
                     gst_pbutils_dep, mathlib, json_dep])
 
@@ -108,3 +108,5 @@ validate_dep = declare_dependency(link_with : gstvalidate,
                   gst_pbutils_dep, mathlib],
   sources : validate_gen_sources
 )
+
+pkgconfig.generate(gstvalidatetracer, install_dir : plugins_pkgconfig_install_dir)
index 51d0056..7155cf6 100644 (file)
@@ -7,4 +7,3 @@ shared_library('gstextrachecks',
                 dependencies : [gst_dep, gst_pbutils_dep],
                 link_with : [gstvalidate]
                )
-