From 6f50b59a20a208d18e95c7700751c87571182335 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 16 Dec 2016 09:59:25 -0300 Subject: [PATCH] meson:doc: Build libraries documentations --- docs/libs/meson.build | 24 ++++++++++++++++++++++++ docs/meson.build | 11 +++++++++++ meson.build | 12 ++++++++++++ meson_options.txt | 1 + 4 files changed, 48 insertions(+) create mode 100644 docs/libs/meson.build create mode 100644 docs/meson.build diff --git a/docs/libs/meson.build b/docs/libs/meson.build new file mode 100644 index 0000000..94638e6 --- /dev/null +++ b/docs/libs/meson.build @@ -0,0 +1,24 @@ +types = configure_file(input : 'gst-plugins-base-libs.types', + output : 'gst-plugins-base-libs.types', + configuration : configuration_data()) + +ignored_headers = ['pbutils-private.h', 'gsttageditingprivate.h', 'id3v2.h', + 'kiss_fft_f32.h', 'kiss_fft_f64.h', 'kiss_fftr_f32.h', 'kiss_fftr_f64.h', + 'kiss_fftr_s16.h', 'kiss_fftr_s32.h', 'kiss_fft_s16.h', 'kiss_fft_s32.h', + '_kiss_fft_guts_f32.h', '_kiss_fft_guts_f64.h', '_kiss_fft_guts_s16.h', + '_kiss_fft_guts_s16.h', '_kiss_fft_guts_s32.h', '_kiss_fft_guts_s32.h', + 'pbutils-marshal.h'] + +gnome.gtkdoc('gst-plugins-base-libs', + main_sgml : 'gst-plugins-base-libs-docs.sgml', + src_dir : '@0@/../../gst-libs/gst'.format(meson.current_source_dir()), + scan_args : ['--deprecated-guards=GST_DISABLE_DEPRECATED', + '--ignore-decorators=GST_EXPORT'], + ignore_headers : ignored_headers, + scanobjs_args : ['--type-init-func=gst_init(NULL,NULL)'], + gobject_typesfile : types, + content_files : [version_entities], + dependencies : [gst_base_dep, app_dep, allocators_dep, audio_dep, + fft_dep, pbutils_dep, riff_dep, rtp_dep, rtsp_dep, sdp_dep, + tag_dep, video_dep], + install : true) diff --git a/docs/meson.build b/docs/meson.build new file mode 100644 index 0000000..a44c239 --- /dev/null +++ b/docs/meson.build @@ -0,0 +1,11 @@ +docconf = configuration_data() + +docconf.set('GST_API_VERSION', api_version) +docconf.set('PACKAGE_VERSION', gst_version) +docconf.set('PLUGINDIR', '@0@/lib/gstreamer-1.0'.format(get_option('prefix'))) + +version_entities = configure_file(input : 'version.entities.in', + output : 'version.entities', + configuration : docconf) + +subdir('libs') diff --git a/meson.build b/meson.build index 2bf2ac7..4f2502d 100644 --- a/meson.build +++ b/meson.build @@ -242,6 +242,18 @@ subdir('tools') subdir('tests') subdir('pkgconfig') +if build_machine.system() == 'windows' + message('Disabling gtk-doc while building on Windows') +elif get_option('disable_gtkdoc') + message('gtk-doc is disabled via options') +else + if find_program('gtkdoc-scan', required : false).found() + subdir('docs') + else + message('Not building documentation as gtk-doc was not found') + endif +endif + # Use core_conf after all subdirs have set values configure_file(input : 'config.h.meson', output : 'config.h', diff --git a/meson_options.txt b/meson_options.txt index b613790..f4c9c46 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -4,3 +4,4 @@ option('use_orc', type : 'combo', choices : ['yes', 'no', 'auto'], value : 'auto option('disable_introspection', type : 'boolean', value : false, description : 'Whether to disable the introspection generation') +option('disable_gtkdoc', type : 'boolean', value : false) -- 2.7.4