private_headers = [ 'inspector', 'a11y', 'gtkaccelgroupprivate.h', 'gtkaccelmapprivate.h', 'gtkadjustmentprivate.h', 'gtkallocatedbitmaskprivate.h', 'gtkappchooserprivate.h', 'gtkapplicationaccelsprivate.h', 'gtkapplicationprivate.h', 'gtkbindingsprivate.h', 'gtkbitmaskprivate.h', 'gtkboxprivate.h', 'gtkbuilderprivate.h', 'gtkbuttonprivate.h', 'gtkcairoblurprivate.h', 'gtkcellareaboxcontextprivate.h', 'gtkclipboardprivate.h', 'gtkcolorchooserprivate.h', 'gtkcoloreditorprivate.h', 'gtkcolorplaneprivate.h', 'gtkcolorscaleprivate.h', 'gtkcolorswatchprivate.h', 'gtkcomboboxprivate.h', 'gtkcontainerprivate.h', 'gtkcssanimatedstyleprivate.h', 'gtkcssanimationprivate.h', 'gtkcssarrayvalueprivate.h', 'gtkcssbgsizevalueprivate.h', 'gtkcssbordervalueprivate.h', 'gtkcsscolorvalueprivate.h', 'gtkcsscornervalueprivate.h', 'gtkcsscustompropertyprivate.h', 'gtkcsseasevalueprivate.h', 'gtkcssenginevalueprivate.h', 'gtkcssenumvalueprivate.h', 'gtkcssiconthemevalueprivate.h', 'gtkcssimagebuiltinprivate.h', 'gtkcssimagecrossfadeprivate.h', 'gtkcssimagegradientprivate.h', 'gtkcssimageiconthemeprivate.h', 'gtkcssimagelinearprivate.h', 'gtkcssimageprivate.h', 'gtkcssimagescaledprivate.h', 'gtkcssimagesurfaceprivate.h', 'gtkcssimageurlprivate.h', 'gtkcssimagevalueprivate.h', 'gtkcssimagewin32private.h', 'gtkcssinheritvalueprivate.h', 'gtkcssinitialvalueprivate.h', 'gtkcsskeyframesprivate.h', 'gtkcsslookupprivate.h', 'gtkcssmatcherprivate.h', 'gtkcssnodeprivate.h', 'gtkcssnodedeclarationprivate.h', 'gtkcssnumbervalueprivate.h', 'gtkcsspathnodeprivate.h', 'gtkcssparserprivate.h', 'gtkcsspositionvalueprivate.h', 'gtkcssproviderprivate.h', 'gtkcssrepeatvalueprivate.h', 'gtkcssrgbavalueprivate.h', 'gtkcsssectionprivate.h', 'gtkcssselectorprivate.h', 'gtkcssshadowsvalueprivate.h', 'gtkcssshadowvalueprivate.h', 'gtkcssshorthandpropertyprivate.h', 'gtkcssstaticstyleprivate.h', 'gtkcssstringvalueprivate.h', 'gtkcssstylefuncsprivate.h', 'gtkcssstyleprivate.h', 'gtkcssstylepropertyprivate.h', 'gtkcsstransformvalueprivate.h', 'gtkcsstransientnodeprivate.h', 'gtkcsstransitionprivate.h', 'gtkcsstypedvalueprivate.h', 'gtkcsstypesprivate.h', 'gtkcssunsetvalueprivate.h', 'gtkcssvalueprivate.h', 'gtkcsswidgetnodeprivate.h', 'gtkdialogprivate.h', 'gtkentryprivate.h', 'gtkeventcontrollerprivate.h', 'gtkfilechooserprivate.h', 'gtkfilechooserwidgetprivate.h', 'gtkfontchooserprivate.h', 'gtkgesturedragprivate.h', 'gtkgesturelongpressprivate.h', 'gtkgesturemultipressprivate.h', 'gtkgesturepanprivate.h', 'gtkgestureprivate.h', 'gtkgesturerotateprivate.h', 'gtkgesturesingleprivate.h', 'gtkgestureswipeprivate.h', 'gtkgesturezoomprivate.h', 'gtkheaderbarprivate.h', 'gtkhslaprivate.h', 'gtkiconhelperprivate.h', 'gtkiconviewprivate.h', 'gtkimageprivate.h', 'gtkimmoduleprivate.h', 'gtklabelprivate.h', 'gtklockbuttonprivate.h', 'gtkmagnifierprivate.h', 'gtkmenubuttonprivate.h', 'gtkmenuitemprivate.h', 'gtkmenuprivate.h', 'gtkmenushellprivate.h', 'gtkmodulesprivate.h', 'gtkmountoperationprivate.h', 'gtkorientableprivate.h', 'gtkpixelcacheprivate.h', 'gtkplacessidebarprivate.h', 'gtkplacesviewprivate.h', 'gtkplacesviewrowprivate.h', 'gtkpopoverprivate.h', 'gtkprinter-private.h', 'gtkprintoperation-private.h', 'gtkprivate.h', 'gtkrangeprivate.h', 'gtkrecentchooserprivate.h', 'gtkrenderbackgroundprivate.h', 'gtkrenderborderprivate.h', 'gtkrendericonprivate.h', 'gtkrenderprivate.h', 'gtkroundedboxprivate.h', 'gtkscaleprivate.h', 'gtksearchengine.h', 'gtksearchenginemodel.h', 'gtksearchenginequartz.h', 'gtksearchenginesimple.h', 'gtksearchenginetracker.h', 'gtksearchentryprivate.h', 'gtkselectionprivate.h', 'gtksettingsprivate.h', 'gtksidebarrowprivate.h', 'gtksizegroup-private.h', 'gtksizerequestcacheprivate.h', 'gtksocketprivate.h', 'gtkstyleanimationprivate.h', 'gtkstylecascadeprivate.h', 'gtkstylecontextprivate.h', 'gtkstylepropertyprivate.h', 'gtkstyleproviderprivate.h', 'gtktextattributesprivate.h', 'gtktextchildprivate.h', 'gtktexthandleprivate.h', 'gtktextiterprivate.h', 'gtktextmarkprivate.h', 'gtktexttagprivate.h', 'gtktogglebuttonprivate.h', 'gtktoolbarprivate.h', 'gtktoolpaletteprivate.h', 'gtktooltipprivate.h', 'gtktooltipwindowprivate.h', 'gtktreeprivate.h', 'gtkwidgetprivate.h', 'gtkwin32themeprivate.h', 'gtkwindowprivate.h', 'fnmatch.h', 'gtkactionmuxer.h', 'gtkactionobserver.h', 'gtkactionobservable.h', 'gtk9slice.h', 'gtkanimationdescription.h', 'gtkbitmaskprivateimpl.h', 'gtkbookmarksmanager.h', 'gtkdbusgenerated.c', 'gtkdbusgenerated.h', 'gtkdebug.h', 'gtkactionhelper.h', 'gtkdndcursors.h', 'gtkfilechooserdefault.h', 'gtkfilechooserembed.h', 'gtkfilechooserentry.h', 'gtkfilechoosersettings.h', 'gtkfilechooserutils.h', 'gtkfilesystem.h', 'gtkfilesystemmodel.h', 'gtkfilesystemunix.h', 'gtkfilesystemwin32.h', 'gtkfontchooserutils.h', 'gtkiconcache.h', 'gtkiconcachevalidator.h', 'gtkiconthemeparser.h', 'gtkintl.h', 'gtkkeyhash.h', 'gtkkineticscrolling.h', 'gtkmarshal.h', 'gtkmnemonichash.h', 'gtkmenutracker.h', 'gtkmenutrackeritem.h', 'gtkmenusectionbox.h', 'gtkmodelmenu.h', 'gtkmodelmenuitem.h', 'gtkmodifierstyle.h', 'gtkpathbar.h', 'gtkprintbackend.h', 'gtkprinteroption.h', 'gtkprinteroptionset.h', 'gtkprinteroptionwidget.h', 'gtkprint-win32.h', 'gtkprintutils.h', 'gtkprivate.h', 'gtkprivatetypebuiltins.h', 'gtkquery.h', 'gtkrbtree.h', 'gtkrecentchooserdefault.h', 'gtkrecentchooserutils.h', 'gtksearchengine.h', 'gtksearchenginetracker.h', 'gtksearchenginesimple.h', 'gtksearchenginequartz.h', 'gtksequence.h', 'gtksocketprivate.h', 'gtktextbtree.h', 'gtktextbufferserialize.h', 'gtktextdisplay.h', 'gtktextlayout.h', 'gtktextsegment.h', 'gtktexttypes.h', 'gtktextutil.h', 'gtktimeline.h', 'gtkthemes.h', 'gtktrashmonitor.h', 'gtktrayicon.h', 'gtktreedatalist.h', 'gtktreemenu.h', 'gtktypebuiltins.h', 'gtkxembed.h', 'gtkwin32embed.h', 'gtkwin32embedwidget.h', 'gtkwindow-decorate.h', 'xdgmime', 'xembed.h', ] images = [ 'images/aboutdialog.png', 'images/accel-label.png', 'images/action-bar.png', 'images/appchooserbutton.png', 'images/appchooserdialog.png', 'images/assistant.png', 'images/box-packing.png', 'images/box-expand.png', 'images/button.png', 'images/check-button.png', 'images/color-button.png', 'images/colorchooser.png', 'images/combo-box.png', 'images/combo-box-entry.png', 'images/combo-box-text.png', 'images/entry.png', 'images/figure-hierarchical-drawing.png', 'images/figure-windowed-label.png', 'images/file-button.png', 'images/filechooser.png', 'images/font-button.png', 'images/fontchooser.png', 'images/frame.png', 'images/glarea.png', 'images/headerbar.png', 'images/icon-view.png', 'images/image.png', 'images/info-bar.png', 'images/label.png', 'images/levelbar.png', 'images/link-button.png', 'images/list-and-tree.png', 'images/lock-button.png', 'images/lockbutton.png', 'images/lockbutton-locked.png', 'images/lockbutton-unlocked.png', 'images/lockbutton-sorry.png', 'images/menubar.png', 'images/menu-button.png', 'images/messagedialog.png', 'images/multiline-text.png', 'images/notebook.png', 'images/panes.png', 'images/pagesetupdialog.png', 'images/placessidebar.png', 'images/popup-anchors.png', 'images/popup-flip.png', 'images/popup-slide.png', 'images/printdialog.png', 'images/progressbar.png', 'images/radio-group.png', 'images/recentchooserdialog.png', 'images/scales.png', 'images/scrollbar.png', 'images/scrolledwindow.png', 'images/search-bar.png', 'images/search-entry.png', 'images/separator.png', 'images/sidebar.png', 'images/spinbutton.png', 'images/spinner.png', 'images/stack.png', 'images/stackswitcher.png', 'images/statusbar.png', 'images/toggle-button.png', 'images/toolbar.png', 'images/toolpalette.png', 'images/tree-view-coordinates.png', 'images/volumebutton.png', 'images/window.png', 'images/layout-btlr.png', 'images/layout-btrl.png', 'images/layout-lrbt.png', 'images/layout-lrtb.png', 'images/layout-rlbt.png', 'images/layout-rltb.png', 'images/layout-tblr.png', 'images/layout-tbrl.png', 'images/widget-hvalign.png', 'images/window-default.png', 'images/hello-world.png', 'images/grid-packing.png', 'images/drawing.png', 'images/switch.png', 'images/linear.png', 'images/ease.png', 'images/ease-in-out.png', 'images/ease-in.png', 'images/ease-out.png', 'images/gradient1.png', 'images/gradient2.png', 'images/gradient3.png', 'images/gradient4.png', 'images/border1.png', 'images/border2.png', 'images/border3.png', 'images/slices.png', 'images/checks.png', 'images/options.png', 'images/arrows.png', 'images/expanders.png', 'images/background.png', 'images/frames.png', 'images/frame-gap.png', 'images/sliders.png', 'images/focus.png', 'images/handles.png', 'images/extensions.png', 'images/numerableicon.png', 'images/numerableicon2.png', 'images/bloatpad-osx.png', 'images/bloatpad-gnome.png', 'images/bloatpad-xfce.png', 'images/down-center.png', 'images/down-end.png', 'images/down-start.png', 'images/left-center.png', 'images/left-end.png', 'images/left-start.png', 'images/right-center.png', 'images/right-end.png', 'images/right-start.png', 'images/up-center.png', 'images/up-end.png', 'images/up-start.png', 'images/list-box.png', 'images/getting-started-app1.png', 'images/getting-started-app2.png', 'images/getting-started-app3.png', 'images/getting-started-app4.png', 'images/getting-started-app6.png', 'images/getting-started-app7.png', 'images/getting-started-app8.png', 'images/getting-started-app9.png', 'images/getting-started-app10.png', 'images/exampleapp.png', 'images/flow-box.png', 'images/inspector.png', 'images/gedit-shortcuts.png', 'images/clocks-shortcuts.png', 'images/builder-shortcuts.png', ] content_files = [ 'broadway.xml', 'broadwayd.xml', 'building.sgml', 'css-overview.xml', 'css-properties.xml', 'gtk3-demo-application.xml', 'gtk3-demo.xml', 'gtk3-icon-browser.xml', 'gtk3-widget-factory.xml', 'gtk-builder-tool.xml', 'gtk-encode-symbolic-svg.xml', 'gtk-launch.xml', 'gtk-query-immodules-3.0.xml', 'gtk-query-settings.xml', 'gtk-update-icon-cache.xml', 'osx.sgml', 'overview.xml', 'resources.sgml', 'running.sgml', 'visual_index.xml', 'wayland.xml', 'windows.sgml', 'x11.sgml', ] expand_content_files = [ 'compiling.sgml', 'drawing-model.xml', join_paths(meson.current_build_dir(), 'getting_started.xml'), 'glossary.xml', 'input-handling.xml', 'migrating-2to3.xml', 'migrating-3xtoy.xml', 'migrating-checklist.sgml', 'migrating-GtkGrid.xml', 'migrating-GtkStyleContext.xml', 'migrating-smclient-GtkApplication.xml', 'migrating-unique-GtkApplication.xml', 'question_index.sgml', 'text_widget.sgml', 'tree_widget.sgml', ] content_files += expand_content_files types_conf = configuration_data() if os_win32 types_conf.set('DISABLE_ON_W32', '%') else types_conf.set('DISABLE_ON_W32', '') endif if os_darwin types_conf.set('DISABLE_ON_QUARTZ', '%') else types_conf.set('DISABLE_ON_QUARTZ', '') endif if x11_enabled types_conf.set('ENABLE_ON_X11', '') else types_conf.set('ENABLE_ON_X11', '%') endif if get_option('gtk_doc') configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf) configure_file(input: 'getting_started.xml.in', output: 'getting_started.xml', configuration: src_dir_conf) gnome.gtkdoc('gtk3', mode: 'none', main_xml: 'gtk-docs.sgml', src_dir: [ gtkinc, ], dependencies: libgtk_dep, gobject_typesfile: configure_file( input: 'gtk3.types.in', output: 'gtk3.types', configuration: types_conf, ), scan_args: [ '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT', '--ignore-headers=' + ' '.join(private_headers), ], mkdb_args: [ '--default-includes=gtk/gtk.h', ], 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', ], content_files: content_files, expand_content_files: expand_content_files, html_assets: images, install: true) endif xsltproc = find_program('xsltproc', required: false) if get_option('man') and not xsltproc.found() error('No xsltproc found, but man pages were explicitly enabled') endif if get_option('man') and xsltproc.found() xlstproc_flags = [ '--nonet', '--stringparam', 'man.output.quietly', '1', '--stringparam', 'funcsynopsis.style', 'ansi', '--stringparam', 'man.th.extra1.suppress', '1', '--stringparam', 'man.authors.section.enabled', '0', '--stringparam', 'man.copyright.section.enabled', '0', ] man_files = [ [ 'gtk-query-immodules-3.0', '1', ], [ 'gtk-update-icon-cache', '1', ], [ 'gtk-encode-symbolic-svg', '1', ], [ 'gtk-launch', '1', ], [ 'gtk-builder-tool', '1', ], [ 'gtk-query-settings', '1', ], ] if get_option('demos') man_files += [ [ 'gtk3-demo', '1', ], [ 'gtk3-demo-application', '1', ], [ 'gtk3-widget-factory', '1', ], [ 'gtk3-icon-browser', '1', ], ] endif if broadway_enabled man_files += [[ 'broadwayd', '1', ]] endif foreach man: man_files man_name = man.get(0) man_section = man.get(1, '1') custom_target('@0@.@1@'.format(man_name, man_section), input: '@0@.xml'.format(man_name), output: '@0@.@1@'.format(man_name, man_section), command: [ xsltproc, xlstproc_flags, '-o', '@OUTPUT@', 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl', '@INPUT@', ], install: true, install_dir: join_paths(get_option('mandir'), 'man@0@'.format(man_section))) endforeach endif