[gtk+/wip/meson: 124/136] build: Generate the API references (WIP)
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/meson: 124/136] build: Generate the API references (WIP)
- Date: Fri, 28 Apr 2017 14:37:24 +0000 (UTC)
commit 57913b340e52491ed9302b0a7c0f0560ed4812f7
Author: Emmanuele Bassi <ebassi gnome org>
Date: Wed Apr 19 11:35:45 2017 +0100
build: Generate the API references (WIP)
Still a work in progress.
docs/reference/gdk/meson.build | 173 ++++++++++++++++++++
docs/reference/gsk/{gsk-docs.xml => gsk4-docs.xml} | 0
docs/reference/gsk/meson.build | 61 +++++++
docs/reference/gtk/Makefile.am | 2 +-
.../reference/gtk/{gtk-docs.sgml => gtk4-docs.xml} | 0
.../gtk/{gtk3-overrides.txt => gtk4-overrides.txt} | 0
docs/reference/gtk/meson.build | 33 ++++
docs/reference/meson.build | 17 ++
docs/tools/meson.build | 12 ++
meson.build | 7 +
meson_options.txt | 2 +
11 files changed, 306 insertions(+), 1 deletions(-)
---
diff --git a/docs/reference/gdk/meson.build b/docs/reference/gdk/meson.build
new file mode 100644
index 0000000..e569767
--- /dev/null
+++ b/docs/reference/gdk/meson.build
@@ -0,0 +1,173 @@
+private_headers = [
+ 'gdkintl.h',
+ 'gdkmarshalers.h',
+ 'gdkkeysyms.h',
+ 'gdkinternals.h',
+ 'gdkprivate.h',
+ 'gdk-private.h',
+ 'gdkapplaunchcontextprivate.h',
+ 'gdkcursorprivate.h',
+ 'gdkdevicemanagerprivate.h',
+ 'gdkdeviceprivate.h',
+ 'gdkdisplaymanagerprivate.h',
+ 'gdkdisplayprivate.h',
+ 'gdkdndprivate.h',
+ 'gdkdrawcontextprivate.h',
+ 'gdkframeclockprivate.h',
+ 'gdkglcontextprivate.h',
+ 'gdkkeysprivate.h',
+ 'gdkmonitorprivate.h',
+ 'gdkscreenprivate.h',
+ 'gdkseatdefaultprivate.h',
+ 'gdkseatprivate.h',
+ 'gdkvisualprivate.h',
+ 'gdkvulkancontextprivate.h',
+ 'keyname-table.h',
+ 'win32',
+ 'x11',
+ 'quartz',
+ 'broadway',
+ 'wayland',
+]
+
+images = [
+ 'images/rotated-text.png',
+ 'images/X_cursor.png',
+ 'images/arrow.png',
+ 'images/based_arrow_down.png',
+ 'images/based_arrow_up.png',
+ 'images/boat.png',
+ 'images/bogosity.png',
+ 'images/bottom_left_corner.png',
+ 'images/bottom_right_corner.png',
+ 'images/bottom_side.png',
+ 'images/bottom_tee.png',
+ 'images/box_spiral.png',
+ 'images/center_ptr.png',
+ 'images/circle.png',
+ 'images/clock.png',
+ 'images/coffee_mug.png',
+ 'images/cross.png',
+ 'images/cross_reverse.png',
+ 'images/crosshair.png',
+ 'images/diamond_cross.png',
+ 'images/dot.png',
+ 'images/dotbox.png',
+ 'images/double_arrow.png',
+ 'images/draft_large.png',
+ 'images/draft_small.png',
+ 'images/draped_box.png',
+ 'images/exchange.png',
+ 'images/fleur.png',
+ 'images/gobbler.png',
+ 'images/gumby.png',
+ 'images/hand1.png',
+ 'images/hand2.png',
+ 'images/heart.png',
+ 'images/icon.png',
+ 'images/iron_cross.png',
+ 'images/left_ptr.png',
+ 'images/left_side.png',
+ 'images/left_tee.png',
+ 'images/leftbutton.png',
+ 'images/ll_angle.png',
+ 'images/lr_angle.png',
+ 'images/man.png',
+ 'images/middlebutton.png',
+ 'images/mouse.png',
+ 'images/pencil.png',
+ 'images/pirate.png',
+ 'images/plus.png',
+ 'images/question_arrow.png',
+ 'images/right_ptr.png',
+ 'images/right_side.png',
+ 'images/right_tee.png',
+ 'images/rightbutton.png',
+ 'images/rtl_logo.png',
+ 'images/sailboat.png',
+ 'images/sb_down_arrow.png',
+ 'images/sb_h_double_arrow.png',
+ 'images/sb_left_arrow.png',
+ 'images/sb_right_arrow.png',
+ 'images/sb_up_arrow.png',
+ 'images/sb_v_double_arrow.png',
+ 'images/shuttle.png',
+ 'images/sizing.png',
+ 'images/spider.png',
+ 'images/spraycan.png',
+ 'images/star.png',
+ 'images/target.png',
+ 'images/tcross.png',
+ 'images/top_left_arrow.png',
+ 'images/top_left_corner.png',
+ 'images/top_right_corner.png',
+ 'images/top_side.png',
+ 'images/top_tee.png',
+ 'images/trek.png',
+ 'images/ul_angle.png',
+ 'images/umbrella.png',
+ 'images/ur_angle.png',
+ 'images/watch.png',
+ 'images/xterm.png',
+ 'images/alias_cursor.png',
+ 'images/all_scroll_cursor.png',
+ 'images/cell_cursor.png',
+ 'images/col_resize_cursor.png',
+ 'images/copy_cursor.png',
+ 'images/crosshair_cursor.png',
+ 'images/default_cursor.png',
+ 'images/e_resize_cursor.png',
+ 'images/ew_resize_cursor.png',
+ 'images/grabbing_cursor.png',
+ 'images/grab_cursor.png',
+ 'images/hand_cursor.png',
+ 'images/context_menu_cursor.png',
+ 'images/help_cursor.png',
+ 'images/move_cursor.png',
+ 'images/ne_resize_cursor.png',
+ 'images/nesw_resize_cursor.png',
+ 'images/no_drop_cursor.png',
+ 'images/not_allowed_cursor.png',
+ 'images/n_resize_cursor.png',
+ 'images/ns_resize_cursor.png',
+ 'images/nw_resize_cursor.png',
+ 'images/nwse_resize_cursor.png',
+ 'images/pointer_cursor.png',
+ 'images/progress_cursor.png',
+ 'images/row_resize_cursor.png',
+ 'images/se_resize_cursor.png',
+ 'images/s_resize_cursor.png',
+ 'images/sw_resize_cursor.png',
+ 'images/text_cursor.png',
+ 'images/vertical_text_cursor.png',
+ 'images/wait_cursor.png',
+ 'images/w_resize_cursor.png',
+ 'images/X_cursor.png',
+ 'images/zoom_in_cursor.png',
+ 'images/zoom_out_cursor.png',
+]
+
+configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
+
+gnome.gtkdoc('gdk4',
+ main_xml: 'gdk4-docs.xml',
+ src_dir: [
+ join_paths(meson.source_root(), 'gdk'),
+ join_paths(meson.build_root(), 'gdk'),
+ ],
+ dependencies: libgtk_dep,
+ gobject_typesfile: 'gdk4.types',
+ scan_args: [
+ '--ignore-decorators=_GDK_EXTERN',
+ '--ignore-decorators=G_GNUC_WARN_UNUSED_RESULT',
+ '--ignore-headers=' + ' '.join(private_headers),
+ ],
+ fixxref_args: [
+ '--html-dir=@0@'.format(docpath),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
+ '--extra-dir=@0@'.format(cairo_docpath),
+ ],
+ html_assets: images,
+ install: true)
diff --git a/docs/reference/gsk/gsk-docs.xml b/docs/reference/gsk/gsk4-docs.xml
similarity index 100%
rename from docs/reference/gsk/gsk-docs.xml
rename to docs/reference/gsk/gsk4-docs.xml
diff --git a/docs/reference/gsk/meson.build b/docs/reference/gsk/meson.build
new file mode 100644
index 0000000..0464afb
--- /dev/null
+++ b/docs/reference/gsk/meson.build
@@ -0,0 +1,61 @@
+private_headers = [
+ 'gskcairoblurprivate.h',
+ 'gskcairorendererprivate.h',
+ 'gskdebugprivate.h',
+ 'gskgldriverprivate.h',
+ 'gskglprofilerprivate.h',
+ 'gskglrendererprivate.h',
+ 'gskprivate.h',
+ 'gskprofilerprivate.h',
+ 'gskrendererprivate.h',
+ 'gskrendernodeprivate.h',
+ 'gskroundedrectprivate.h',
+ 'gskshaderbuilderprivate.h',
+ 'gsktextureprivate.h',
+ 'gskvulkanblendpipelineprivate.h',
+ 'gskvulkanborderpipelineprivate.h',
+ 'gskvulkanboxshadowpipelineprivate.h',
+ 'gskvulkanbufferprivate.h',
+ 'gskvulkanclipprivate.h',
+ 'gskvulkancolorpipelineprivate.h',
+ 'gskvulkancommandpoolprivate.h',
+ 'gskvulkaneffectpipelineprivate.h',
+ 'gskvulkanimageprivate.h',
+ 'gskvulkanlineargradientpipelineprivate.h',
+ 'gskvulkanmemoryprivate.h',
+ 'gskvulkanpipelineprivate.h',
+ 'gskvulkanpushconstantsprivate.h',
+ 'gskvulkanrendererprivate.h',
+ 'gskvulkanrenderpassprivate.h',
+ 'gskvulkanrenderprivate.h',
+ 'gskvulkanshaderprivate.h',
+]
+
+images = [
+]
+
+configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
+
+gnome.gtkdoc('gsk4',
+ main_xml: 'gsk4-docs.xml',
+ src_dir: [
+ join_paths(meson.source_root(), 'gsk'),
+ join_paths(meson.build_root(), 'gsk'),
+ ],
+ dependencies: libgtk_dep,
+ gobject_typesfile: 'gsk4.types',
+ scan_args: [
+ '--ignore-decorators=_GDK_EXTERN',
+ '--ignore-decorators=G_GNUC_WARN_UNUSED_RESULT',
+ '--ignore-headers=' + ' '.join(private_headers),
+ ],
+ fixxref_args: [
+ '--html-dir=@0@'.format(docpath),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
+ '--extra-dir=@0@'.format(cairo_docpath),
+ '--extra-dir=../gdk',
+ ],
+ html_assets: images,
+ install: true)
diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am
index e02fc81..9ec9fb1 100644
--- a/docs/reference/gtk/Makefile.am
+++ b/docs/reference/gtk/Makefile.am
@@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = 1.6
DOC_MODULE=gtk4
# The top-level SGML file.
-DOC_MAIN_SGML_FILE=gtk-docs.sgml
+DOC_MAIN_SGML_FILE=gtk4-docs.xml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED"
diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk4-docs.xml
similarity index 100%
rename from docs/reference/gtk/gtk-docs.sgml
rename to docs/reference/gtk/gtk4-docs.xml
diff --git a/docs/reference/gtk/gtk3-overrides.txt b/docs/reference/gtk/gtk4-overrides.txt
similarity index 100%
rename from docs/reference/gtk/gtk3-overrides.txt
rename to docs/reference/gtk/gtk4-overrides.txt
diff --git a/docs/reference/gtk/meson.build b/docs/reference/gtk/meson.build
new file mode 100644
index 0000000..4f51593
--- /dev/null
+++ b/docs/reference/gtk/meson.build
@@ -0,0 +1,33 @@
+private_headers = [
+]
+
+images = [
+]
+
+configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
+
+gnome.gtkdoc('gtk4',
+ main_xml: 'gtk4-docs.xml',
+ src_dir: [
+ join_paths(meson.source_root(), 'gtk'),
+ join_paths(meson.build_root(), 'gtk'),
+ ],
+ dependencies: libgtk_dep,
+ gobject_typesfile: 'gtk4.types',
+ scan_args: [
+ '--ignore-decorators=_GDK_EXTERN',
+ '--ignore-decorators=G_GNUC_WARN_UNUSED_RESULT',
+ '--ignore-headers=' + ' '.join(private_headers),
+ ],
+ fixxref_args: [
+ '--html-dir=@0@'.format(docpath),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
+ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
+ '--extra-dir=@0@'.format(cairo_docpath),
+ '--extra-dir=@0@'.format(gdkpixbuf_docpath),
+ '--extra-dir=../gdk',
+ '--extra-dir=../gsk',
+ ],
+ html_assets: images,
+ install: true)
diff --git a/docs/reference/meson.build b/docs/reference/meson.build
new file mode 100644
index 0000000..53458a6
--- /dev/null
+++ b/docs/reference/meson.build
@@ -0,0 +1,17 @@
+glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
+glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
+
+cairo_prefix = dependency('cairo-gobject').get_pkgconfig_variable('prefix')
+cairo_docpath = join_paths(cairo_prefix, 'share', 'gtk-doc', 'html', 'cairo')
+
+gdkpixbuf_prefix = dependency('gdk-pixbuf-2.0').get_pkgconfig_variable('prefix')
+gdkpixbuf_docpath = join_paths(gdkpixbuf_prefix, 'share', 'gtk-doc', 'html', 'gdk-pixbuf')
+
+docpath = join_paths(gtk_datadir, 'gtk-doc', 'html')
+
+version_conf = configuration_data()
+version_conf.set('GTK_VERSION', meson.project_version())
+
+subdir('gdk')
+subdir('gsk')
+subdir('gtk')
diff --git a/docs/tools/meson.build b/docs/tools/meson.build
new file mode 100644
index 0000000..05621ee
--- /dev/null
+++ b/docs/tools/meson.build
@@ -0,0 +1,12 @@
+if x11_enabled
+ doc_shooter_sources = [
+ 'shadow.c',
+ 'shooter.c',
+ 'widgets.c',
+ '../../tests/gtkgears.c',
+ ]
+
+ doc_shooter = executable('doc-shooter', doc_shooter_sources,
+ include_directories: [ confinc, gdkinc, gtkinc, testinc, ],
+ dependencies: libgtk_dep)
+endif
diff --git a/meson.build b/meson.build
index da5505e..4dcc641 100644
--- a/meson.build
+++ b/meson.build
@@ -291,7 +291,9 @@ endif
confinc = include_directories('.')
gdkinc = include_directories('gdk')
+gskinc = include_directories('gsk')
gtkinc = include_directories('gtk')
+testinc = include_directories('tests')
glib_dep = dependency('glib-2.0', version: glib_req)
giounix_dep = dependency('gio-unix-2.0', version: glib_req, required: false)
@@ -577,3 +579,8 @@ endif
subdir('po')
subdir('po-properties')
+
+if get_option('enable-documentation')
+ subdir('docs/tools')
+ subdir('docs/reference')
+endif
diff --git a/meson_options.txt b/meson_options.txt
index d23e319..f9a419d 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -24,3 +24,5 @@ option('disable-modules', type: 'boolean', value : 'false',
description : 'Disable dynamic module loading')
option('with-included-immodules', type: 'string', value : '',
description : 'Build the specified input methods into gtk (comma-separated list or "all" or "none")')
+option('enable-documentation', type: 'boolean', value: 'false',
+ description : 'Build API reference and tools documentation')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]