From 8ec004cc0888b7472d384d9a5d26e5a9957251f1 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 13 Nov 2018 10:59:03 +0530 Subject: [PATCH] Import meson build files from an 3.22 Specifically, from 6dd6660c685d22e88af5ed4d0b5f1f22df0338de --- demos/gtk-demo/meson.build | 113 ++++ demos/icon-browser/meson.build | 22 + demos/meson.build | 3 + demos/widget-factory/meson.build | 20 + examples/application1/meson.build | 11 + examples/application10/meson.build | 23 + examples/application2/meson.build | 17 + examples/application3/meson.build | 17 + examples/application4/meson.build | 17 + examples/application5/meson.build | 21 + examples/application6/meson.build | 23 + examples/application7/meson.build | 23 + examples/application8/meson.build | 23 + examples/application9/meson.build | 23 + examples/bp/meson.build | 13 + examples/meson.build | 60 ++ gdk/meson.build | 382 ++++++++++++ gdk/wayland/meson.build | 115 ++++ gtk/a11y/meson.build | 57 ++ gtk/deprecated/meson.build | 42 ++ gtk/inspector/meson.build | 31 + gtk/meson.build | 905 +++++++++++++++++++++++++++++ meson.build | 266 +++++++++ meson_options.txt | 3 + tests/meson.build | 212 +++++++ tests/visuals/meson.build | 6 + testsuite/css/meson.build | 6 + testsuite/css/nodes/meson.build | 3 + testsuite/css/parser/meson.build | 3 + testsuite/css/style/meson.build | 14 + testsuite/gdk/meson.build | 24 + testsuite/gtk/meson.build | 150 +++++ testsuite/meson.build | 3 + 33 files changed, 2651 insertions(+) create mode 100644 demos/gtk-demo/meson.build create mode 100644 demos/icon-browser/meson.build create mode 100644 demos/meson.build create mode 100644 demos/widget-factory/meson.build create mode 100644 examples/application1/meson.build create mode 100644 examples/application10/meson.build create mode 100644 examples/application2/meson.build create mode 100644 examples/application3/meson.build create mode 100644 examples/application4/meson.build create mode 100644 examples/application5/meson.build create mode 100644 examples/application6/meson.build create mode 100644 examples/application7/meson.build create mode 100644 examples/application8/meson.build create mode 100644 examples/application9/meson.build create mode 100644 examples/bp/meson.build create mode 100644 examples/meson.build create mode 100644 gdk/meson.build create mode 100644 gdk/wayland/meson.build create mode 100644 gtk/a11y/meson.build create mode 100644 gtk/deprecated/meson.build create mode 100644 gtk/inspector/meson.build create mode 100644 gtk/meson.build create mode 100644 meson.build create mode 100644 meson_options.txt create mode 100644 tests/meson.build create mode 100644 tests/visuals/meson.build create mode 100644 testsuite/css/meson.build create mode 100644 testsuite/css/nodes/meson.build create mode 100644 testsuite/css/parser/meson.build create mode 100644 testsuite/css/style/meson.build create mode 100644 testsuite/gdk/meson.build create mode 100644 testsuite/gtk/meson.build create mode 100644 testsuite/meson.build diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build new file mode 100644 index 0000000000..ee44a8530f --- /dev/null +++ b/demos/gtk-demo/meson.build @@ -0,0 +1,113 @@ + +## These should be in the order you want them to appear in the +## demo app, which means alphabetized by demo title, not filename +demos = files([ + 'application_demo.c', + 'assistant.c', + 'builder.c', + 'button_box.c', + 'changedisplay.c', + 'clipboard.c', + 'colorsel.c', + 'combobox.c', + 'css_accordion.c', + 'css_basics.c', + 'css_blendmodes.c', + 'css_multiplebgs.c', + 'css_pixbufs.c', + 'css_shadows.c', + 'cursors.c', + 'dialog.c', + 'drawingarea.c', + 'editable_cells.c', + 'entry_buffer.c', + 'entry_completion.c', + 'event_axes.c', + 'expander.c', + 'filtermodel.c', + 'foreigndrawing.c', + 'gestures.c', + 'glarea.c', + 'headerbar.c', + 'hypertext.c', + 'iconview.c', + 'iconview_edit.c', + 'images.c', + 'infobar.c', + 'links.c', + 'listbox.c', + 'flowbox.c', + 'list_store.c', + 'markup.c', + 'menus.c', + 'modelbutton.c', + 'offscreen_window.c', + 'offscreen_window2.c', + 'overlay.c', + 'overlay2.c', + 'panes.c', + 'pickers.c', + 'pixbufs.c', + 'popover.c', + 'printing.c', + 'revealer.c', + 'rotated_text.c', + 'scale.c', + 'search_entry.c', + 'search_entry2.c', + 'shortcuts.c', + 'sidebar.c', + 'sizegroup.c', + 'spinbutton.c', + 'spinner.c', + 'stack.c', + 'textmask.c', + 'textview.c', + 'textscroll.c', + 'theming_style_classes.c', + 'toolpalette.c', + 'transparent.c', + 'tree_store.c', +]) + + +gtkdemo_deps = [libgtk_dep] + +if harfbuzz_dep.found() and pangoft_dep.found() + demos += files('font_features.c') + gtkdemo_deps += harfbuzz_dep +endif + +if os_unix + demos += files('pagesetup.c') +endif + +gtkdemo_sources = demos + files([ + 'main.c', +]) + + +geninclude = find_program('geninclude.py') +demos_h = custom_target( + 'gtk3 demo header', + output : 'demos.h', + input : demos, + command : [geninclude, '@OUTPUT@', '@INPUT@'], +) + +gtkdemo_resources = gnome.compile_resources( + 'gtkdemo_resources', + 'demo.gresource.xml', + source_dir: '.' +) + +gtkdemo = executable( + 'gtk3-demo', + gtkdemo_sources, + demos_h, + gtkdemo_resources, + dependencies: gtkdemo_deps, + include_directories : confinc, + gui_app: true, + install: true +) diff --git a/demos/icon-browser/meson.build b/demos/icon-browser/meson.build new file mode 100644 index 0000000000..661e5208c8 --- /dev/null +++ b/demos/icon-browser/meson.build @@ -0,0 +1,22 @@ +iconbrowser_sources = [ + 'main.c', + 'iconbrowserapp.c', + 'iconbrowserwin.c', + 'iconstore.c' +] + +iconbrowser_resources = gnome.compile_resources( + 'iconbrowser_resources', + 'iconbrowser.gresource.xml', + source_dir: '.' +) + +iconbrowser = executable( + 'gtk3-icon-browser', + iconbrowser_sources, + iconbrowser_resources, + dependencies: libgtk_dep, + include_directories : confinc, + gui_app: true, + install: true +) diff --git a/demos/meson.build b/demos/meson.build new file mode 100644 index 0000000000..2fdd19151d --- /dev/null +++ b/demos/meson.build @@ -0,0 +1,3 @@ + subdir('icon-browser') + subdir('widget-factory') + subdir('gtk-demo') diff --git a/demos/widget-factory/meson.build b/demos/widget-factory/meson.build new file mode 100644 index 0000000000..170a59e4bc --- /dev/null +++ b/demos/widget-factory/meson.build @@ -0,0 +1,20 @@ + +widgetfactory_sources = [ + 'widget-factory.c' +] + +widgetfactory_resources = gnome.compile_resources( + 'widgetfactory_resources', + 'widget-factory.gresource.xml', + source_dir: '.' +) + +widget_factory = executable( + 'gtk3-widget-factory', + widgetfactory_sources, + widgetfactory_resources, + dependencies: libgtk_dep, + include_directories : confinc, + gui_app: true, + install: true +) diff --git a/examples/application1/meson.build b/examples/application1/meson.build new file mode 100644 index 0000000000..ae5620f07e --- /dev/null +++ b/examples/application1/meson.build @@ -0,0 +1,11 @@ + + +app1 = executable( + 'exampleapp', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + dependencies: libgtk_dep +) diff --git a/examples/application10/meson.build b/examples/application10/meson.build new file mode 100644 index 0000000000..ce842ae794 --- /dev/null +++ b/examples/application10/meson.build @@ -0,0 +1,23 @@ + +app10_resources = gnome.compile_resources( + 'exampleapp10 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app10_schemas = gnome.compile_schemas() + + +app10 = executable( + 'exampleapp10', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + 'exampleappprefs.c', + 'exampleappprefs.h', + app10_resources, + app10_schemas, + dependencies: libgtk_dep +) diff --git a/examples/application2/meson.build b/examples/application2/meson.build new file mode 100644 index 0000000000..99deae6e12 --- /dev/null +++ b/examples/application2/meson.build @@ -0,0 +1,17 @@ + +app2_resources = gnome.compile_resources( + 'exampleapp2 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app2 = executable( + 'exampleapp2', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + app2_resources, + dependencies: libgtk_dep +) diff --git a/examples/application3/meson.build b/examples/application3/meson.build new file mode 100644 index 0000000000..f0cec4c198 --- /dev/null +++ b/examples/application3/meson.build @@ -0,0 +1,17 @@ + +app3_resources = gnome.compile_resources( + 'exampleapp3 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app3 = executable( + 'exampleapp3', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + app3_resources, + dependencies: libgtk_dep +) diff --git a/examples/application4/meson.build b/examples/application4/meson.build new file mode 100644 index 0000000000..2ae18200b2 --- /dev/null +++ b/examples/application4/meson.build @@ -0,0 +1,17 @@ + +app4_resources = gnome.compile_resources( + 'exampleapp4 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app4 = executable( + 'exampleapp4', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + app4_resources, + dependencies: libgtk_dep +) diff --git a/examples/application5/meson.build b/examples/application5/meson.build new file mode 100644 index 0000000000..f0fed1ca59 --- /dev/null +++ b/examples/application5/meson.build @@ -0,0 +1,21 @@ + +app5_resources = gnome.compile_resources( + 'exampleapp5 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app5_schemas = gnome.compile_schemas() + + +app5 = executable( + 'exampleapp5', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + app5_resources, + app5_schemas, + dependencies: libgtk_dep +) diff --git a/examples/application6/meson.build b/examples/application6/meson.build new file mode 100644 index 0000000000..2d923f35a3 --- /dev/null +++ b/examples/application6/meson.build @@ -0,0 +1,23 @@ + +app6_resources = gnome.compile_resources( + 'exampleapp6 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app6_schemas = gnome.compile_schemas() + + +app6 = executable( + 'exampleapp6', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + 'exampleappprefs.c', + 'exampleappprefs.h', + app6_resources, + app6_schemas, + dependencies: libgtk_dep +) diff --git a/examples/application7/meson.build b/examples/application7/meson.build new file mode 100644 index 0000000000..cc32f36ad0 --- /dev/null +++ b/examples/application7/meson.build @@ -0,0 +1,23 @@ + +app7_resources = gnome.compile_resources( + 'exampleapp7 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app7_schemas = gnome.compile_schemas() + + +app7 = executable( + 'exampleapp7', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + 'exampleappprefs.c', + 'exampleappprefs.h', + app7_resources, + app7_schemas, + dependencies: libgtk_dep +) diff --git a/examples/application8/meson.build b/examples/application8/meson.build new file mode 100644 index 0000000000..1192f4d688 --- /dev/null +++ b/examples/application8/meson.build @@ -0,0 +1,23 @@ + +app8_resources = gnome.compile_resources( + 'exampleapp8 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app8_schemas = gnome.compile_schemas() + + +app8 = executable( + 'exampleapp8', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + 'exampleappprefs.c', + 'exampleappprefs.h', + app8_resources, + app8_schemas, + dependencies: libgtk_dep +) diff --git a/examples/application9/meson.build b/examples/application9/meson.build new file mode 100644 index 0000000000..fccee738cb --- /dev/null +++ b/examples/application9/meson.build @@ -0,0 +1,23 @@ + +app9_resources = gnome.compile_resources( + 'exampleapp9 resources', + 'exampleapp.gresource.xml', + source_dir: '.' +) + +app9_schemas = gnome.compile_schemas() + + +app9 = executable( + 'exampleapp9', + 'main.c', + 'exampleapp.c', + 'exampleapp.h', + 'exampleappwin.c', + 'exampleappwin.h', + 'exampleappprefs.c', + 'exampleappprefs.h', + app9_resources, + app9_schemas, + dependencies: libgtk_dep +) diff --git a/examples/bp/meson.build b/examples/bp/meson.build new file mode 100644 index 0000000000..a3f82802f5 --- /dev/null +++ b/examples/bp/meson.build @@ -0,0 +1,13 @@ + +bp_resources = gnome.compile_resources( + 'bloatpad resources', + 'bloatpad.gresources.xml', + source_dir: '.' +) + +bloatpad = executable( + 'bloatpad', + 'bloatpad.c', + bp_resources, + dependencies: libgtk_dep +) diff --git a/examples/meson.build b/examples/meson.build new file mode 100644 index 0000000000..79af2f8440 --- /dev/null +++ b/examples/meson.build @@ -0,0 +1,60 @@ +builder_example = executable( + 'builder_example', + 'builder.c', + dependencies: libgtk_dep +) + +drawing = executable( + 'drawing', + 'drawing.c', + dependencies: libgtk_dep +) + +grid_packing = executable( + 'grid-packing', + 'grid-packing.c', + dependencies: libgtk_dep +) + +hello_world = executable( + 'hello-world', + 'hello-world.c', + dependencies: libgtk_dep +) + +plugman = executable( + 'plugman', + 'plugman.c', + dependencies: libgtk_dep +) + +search_bar = executable( + 'search-bar', + 'search-bar.c', + dependencies: libgtk_dep +) + +sunny = executable( + 'sunny', + 'sunny.c', + dependencies: libgtk_dep +) + +window_default = executable( + 'window-default', + 'window-default.c', + dependencies: libgtk_dep +) + + +subdir('bp') +subdir('application1') +subdir('application2') +subdir('application3') +subdir('application4') +subdir('application5') +subdir('application6') +subdir('application7') +subdir('application8') +subdir('application9') +subdir('application10') diff --git a/gdk/meson.build b/gdk/meson.build new file mode 100644 index 0000000000..cd5d4cbe2f --- /dev/null +++ b/gdk/meson.build @@ -0,0 +1,382 @@ +deprecated_gdk_sources = ['deprecated/gdkcolor.c'] +gdk_sources = files([ + 'gdk-private.c', + 'gdk.c', + 'gdkapplaunchcontext.c', + 'gdkcairo.c', + 'gdkcursor.c', + 'gdkdeprecated.c', + 'gdkdevice.c', + 'gdkdevicemanager.c', + 'gdkdevicepad.c', + 'gdkdisplay.c', + 'gdkdisplaymanager.c', + 'gdkdnd.c', + 'gdkevents.c', + 'gdkframetimings.c', + 'gdkgl.c', + 'gdkglcontext.c', + 'gdkglobals.c', + 'gdkkeys.c', + 'gdkkeyuni.c', + 'gdkoffscreenwindow.c', + 'gdkframeclock.c', + 'gdkframeclockidle.c', + 'gdkpango.c', + 'gdkpixbuf-drawable.c', + 'gdkproperty.c', + 'gdkrectangle.c', + 'gdkrgba.c', + 'gdkscreen.c', + 'gdkselection.c', + 'gdkvisual.c', + 'gdkwindow.c', + 'gdkwindowimpl.c', + 'gdkseat.c', + 'gdkseatdefault.c', + 'gdkdevicetool.c', + 'gdkdrawingcontext.c', + 'gdkmonitor.c' +]) + +gdk_public_h_sources = files([ + 'gdk.h', + 'gdk-autocleanup.h', + 'gdkapplaunchcontext.h', + 'gdkcairo.h', + 'gdkcursor.h', + 'gdkdevice.h', + 'gdkdevicetool.h', + 'gdkdevicemanager.h', + 'gdkdevicepad.h', + 'gdkdisplay.h', + 'gdkdisplaymanager.h', + 'gdkdnd.h', + 'gdkdrawingcontext.h', + 'gdkevents.h', + 'gdkframetimings.h', + 'gdkglcontext.h', + 'gdkkeys.h', + 'gdkkeysyms.h', + 'gdkmain.h', + 'gdkmonitor.h', + 'gdkpango.h', + 'gdkframeclock.h', + 'gdkpixbuf.h', + 'gdkprivate.h', + 'gdkproperty.h', + 'gdkrectangle.h', + 'gdkrgba.h', + 'gdkscreen.h', + 'gdkseat.h', + 'gdkselection.h', + 'gdktestutils.h', + 'gdkthreads.h', + 'gdktypes.h', + 'gdkvisual.h', + 'gdkwindow.h', +]) + +gdk_private_h_sources = files([ + 'gdkseatdefaultprivate.h', + 'gdkdevicetoolprivate.h', + 'gdkdrawingcontextprivate.h', + 'gdkmonitorprivate.h', + 'gdkprivate.h', +]) + +gdk_x_sources = [ + 'x11/MwmUtil.h', + 'x11/gdkapplaunchcontext-x11.c', + 'x11/gdkasync.c', + 'x11/gdkasync.h', + 'x11/gdkcursor-x11.c', + 'x11/gdkdevice-core-x11.c', + 'x11/gdkdevice-xi2.c', + 'x11/gdkdevicemanager-core-x11.c', + 'x11/gdkdevicemanager-x11.c', + 'x11/gdkdevicemanager-xi2.c', + 'x11/gdkdisplaymanager-x11.c', + 'x11/gdkdisplay-x11.c', + 'x11/gdkdisplay-x11.h', + 'x11/gdkdnd-x11.c', + 'x11/gdkeventsource.c', + 'x11/gdkeventsource.h', + 'x11/gdkeventtranslator.c', + 'x11/gdkeventtranslator.h', + 'x11/gdkgeometry-x11.c', + 'x11/gdkglcontext-x11.c', + 'x11/gdkglcontext-x11.h', + 'x11/gdkkeys-x11.c', + 'x11/gdkmain-x11.c', + 'x11/gdkproperty-x11.c', + 'x11/gdkscreen-x11.c', + 'x11/gdkscreen-x11.h', + 'x11/gdkselection-x11.c', + 'x11/gdktestutils-x11.c', + 'x11/gdkvisual-x11.c', + 'x11/gdkwindow-x11.c', + 'x11/gdkwindow-x11.h', + 'x11/gdkxftdefaults.c', + 'x11/gdkxid.c', + 'x11/gdkx.h', + 'x11/xsettings-client.h', + 'x11/xsettings-client.c', + 'x11/gdkmonitor-x11.c', + 'x11/gdkmonitor-x11.h', + 'x11/gdkx11monitor.h' +] + +gdk_x_private_sources = [ + 'x11/gdkprivate-x11.h', + 'x11/gdkdevicemanagerprivate-core.h', +] + +gdk_wayland_sources = files([ + 'wayland/gdkapplaunchcontext-wayland.c', + 'wayland/gdkcursor-wayland.c', + 'wayland/gdkdevice-wayland.c', + 'wayland/gdkdisplay-wayland.c', + 'wayland/gdkdisplay-wayland.h', + 'wayland/gdkdnd-wayland.c', + 'wayland/gdkeventsource.c', + 'wayland/gdkglcontext-wayland.c', + 'wayland/gdkglcontext-wayland.h', + 'wayland/gdkkeys-wayland.c', + 'wayland/gdkmonitor-wayland.c', + 'wayland/gdkmonitor-wayland.h', + 'wayland/gdkscreen-wayland.c', + 'wayland/gdkseat-wayland.h', + 'wayland/gdkselection-wayland.c', + 'wayland/gdkwaylanddevice.h', + 'wayland/gdkwaylanddisplay.h', + 'wayland/gdkwaylandglcontext.h', + 'wayland/gdkwayland.h', + 'wayland/gdkwaylandmonitor.h', + 'wayland/gdkwaylandselection.h', + 'wayland/gdkwaylandwindow.h', + 'wayland/gdkwindow-wayland.c', + 'wayland/wm-button-layout-translation.c', +]) + +gdk_wayland_private_sources = files([ + 'wayland/gdkprivate-wayland.h', +]) + + + +gdk_broadway_sources = files([ + 'broadway/gdkdisplay-broadway.c', + 'broadway/gdkdisplay-broadway.h', + 'broadway/gdkscreen-broadway.c', + 'broadway/gdkscreen-broadway.h', + 'broadway/broadway-output.c', + 'broadway/broadway-output.h', + 'broadway/broadway-server.h', + 'broadway/broadway-server.c', + 'broadway/gdkbroadway-server.c', + 'broadway/gdkcursor-broadway.c', + 'broadway/gdkvisual-broadway.c', + 'broadway/gdkselection-broadway.c', + 'broadway/gdkwindow-broadway.c', + 'broadway/gdkwindow-broadway.h', + 'broadway/gdkmonitor-broadway.c', + 'broadway/gdkmonitor-broadway.h', + 'broadway/gdkkeys-broadway.c', + 'broadway/gdkglobals-broadway.c', + 'broadway/gdkeventsource.c', + 'broadway/gdkeventsource.h', + 'broadway/gdkdnd-broadway.c', + 'broadway/broadwayd.c', + 'broadway/gdkdevicemanager-broadway.c', + 'broadway/gdkdevicemanager-broadway.h', + 'broadway/gdkdevice-broadway.c', + 'broadway/gdkdevice-broadway.h', + 'broadway/broadway-buffer.c', + 'broadway/broadway-buffer.h', + 'broadway/gdktestutils-broadway.c', + 'broadway/gdkproperty-broadway.c' +]) + +gdk_broadway_private_sources = files([ + 'broadway/gdkprivate-broadway.h' +]) + +# glsl_sources = [ + # 'gl3-texture-2d.fs.glsl', + # 'gl3-texture-2d.vs.glsl', + # 'gl3-texture-rect.fs.glsl', + # 'gl3-texture-rect.vs.glsl', + # 'gl2-texture-2d.fs.glsl', + # 'gl2-texture-2d.fs.glsl', + # 'gl2-texture-rect.vs.glsl', + # 'gl2-texture-rect.vs.glsl', + # 'gles2-texture.fs.glsl', + # 'gles2-texture.vs.glsl', +# ] +# resource_xml = '' +# foreach glsl_file : glsl_sources + # resource_xml += ' resources/glsl/@0@\n'.format(glsl_file) +# endforeach + + +# cdata = configuration_data() +# cdata.set('GDK_GRESOURCE_XML_FILES', resource_xml) +# gdkresources_xml = configure_file( + # input : 'gdk.gresource.xml.meson', + # output : 'gdk.gresource.xml', + # configuration : cdata +# ) + +gdkresources = gnome.compile_resources( + 'gdkresources', + 'gdk.gresource.xml', + source_dir: '.', + c_name: '_gdk', + extra_args: '--manual-register' +) + + +deprecated_h_sources = files(['deprecated/gdkcolor.h']) + +gdk_headers = gdk_public_h_sources + deprecated_h_sources + gdk_private_h_sources + +gdkenum_h = custom_target( + 'gdkenum_h', + output : 'gdkenumtypes.h', + input : gdk_headers, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gdkenumtypes.h.template', '@OUTPUT@', '@INPUT@']) + +gdkenum_c = custom_target( + 'gdkenum_c', + output : 'gdkenumtypes.c', + input : gdk_headers, + depends : gdkenum_h, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gdkenumtypes.c.template', '@OUTPUT@', '@INPUT@']) + +gdkmarshal_h = custom_target( + 'gdkmarshal_h', + output : 'gdkmarshalers.h', + input : 'gdkmarshalers.list', + command : [mkmarshal, glib_marshal, '_gdk_marshal', '@INPUT@', '@OUTPUT@'] +) + +gdkmarshal_c = custom_target( + 'gdkmarshal_c', + output : 'gdkmarshalers.c', + input : 'gdkmarshalers.list', + command : [mkmarshal, glib_marshal, '_gdk_marshal', '@INPUT@', '@OUTPUT@'] +) + +cdata = configuration_data() +cdata.set('GTK_MAJOR_VERSION', gtk_major_version) +cdata.set('GTK_MINOR_VERSION', gtk_minor_version) +cdata.set('GTK_MICRO_VERSION', gtk_micro_version) + + + +if x11_enabled cdata.set('GDK_WINDOWING_X11', '') endif +if wayland_enabled cdata.set('GDK_WINDOWING_WAYLAND', '') endif +if broadway_enabled cdata.set('GDK_WINDOWING_BROADWAY', '') endif +gdkconfig = configure_file( + input : 'gdkconfig.h.meson', + output : 'gdkconfig.h', + configuration : cdata +) + +gdkversionmacros = configure_file( + input : 'gdkversionmacros.h.in', + output : 'gdkversionmacros.h', + configuration: cdata +) + +xinc = include_directories('x11') +wlinc = include_directories('.') + + +gdk_deps = [ + mlib, + pixbuf_dep, + cairo_dep, + pango_dep, + cairogobj_dep, + glib_dep, + epoxy_dep, + fontconfig_dep, + giounix_dep, + pangocairo_dep +] + +gdk_sources = [ + gdkconfig, + gdk_sources, + deprecated_gdk_sources, + gdkenum_c, gdkenum_h, + gdkmarshal_c, gdkmarshal_h, + gdkresources, + gdkversionmacros, + gdk_headers +] + +if x11_enabled + gdk_deps += [ + xrender_dep, + xi_dep, + xext_dep, + x11_dep, + xcursor_dep, + xdamage_dep, + xfixes_dep, + xcomposite_dep, + xrandr_dep + ] + gdk_sources += [ + gdk_x_sources, + gdk_x_private_sources + ] +endif + +if wayland_enabled + subdir('wayland') + gdk_deps += [ + shmlib, + xkbdep, + wlclientdep, + wlprotocolsdep, + wlcursordep, + wlegldep + ] + gdk_sources += [ + gdk_wayland_sources, + gdk_wayland_private_sources + ] +endif + +if broadway_enabled + gdk_deps += [ + shmlib, + ] + gdk_sources += [ + gdk_broadway_sources, + gdk_broadway_private_sources + ] +endif + + +libgdk = shared_library('gdk', + sources: [gdk_sources, gdkconfig, gdkenum_h], + c_args: ['-DHAVE_CONFIG_H', '-DGDK_COMPILATION'], + include_directories: [confinc, xinc, wlinc], + dependencies: gdk_deps, + install: true +) + + +libgdk_dep = declare_dependency( + sources: ['gdk.h', gdkconfig, gdkenum_h], + depends: gdk_sources, + include_directories: [confinc, xinc, wlinc], + dependencies: gdk_deps, + link_with: libgdk, + link_args: ['-Bsymbolic'], +) diff --git a/gdk/wayland/meson.build b/gdk/wayland/meson.build new file mode 100644 index 0000000000..6783ecf193 --- /dev/null +++ b/gdk/wayland/meson.build @@ -0,0 +1,115 @@ + + +if wayland_enabled + runcmd = run_command('pkg-config', '--variable=pkgdatadir', 'wayland-protocols') + if runcmd.returncode() == 0 + wayland_protocols_datadir = runcmd.stdout().strip() + '/' + else + error('Could not get wayland-protocols pkgdatadir via pkg-config.') + endif + + wayland_scanner = find_program('wayland-scanner') + genprotocols = find_program('genprotocolfiles.py') + + gtk_shell_h = custom_target( + 'gtk shell protocol header', + input : 'protocol/gtk-shell.xml', + output : 'gtk-shell-client-protocol.h', + command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'client-header'] + ) + + gtk_shell_c = custom_target( + 'gtk shell protocol source', + input : 'protocol/gtk-shell.xml', + output : 'gtk-shell-protocol.c', + command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'code'] + ) + + pointer_gestures_h = custom_target( + 'pointer gestures header', + input : wayland_protocols_datadir + 'unstable/pointer-gestures/pointer-gestures-unstable-v1.xml', + output : 'pointer-gestures-unstable-v1-client-protocol.h', + command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'client-header'] + ) + + pointer_gestures_c = custom_target( + 'pointer gestures source', + input : wayland_protocols_datadir + 'unstable/pointer-gestures/pointer-gestures-unstable-v1.xml', + output : 'pointer-gestures-unstable-v1-protocol.c', + command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'code'] + ) + + primary_selection_h = custom_target( + 'primary selection header', + input : 'protocol/gtk-primary-selection.xml', + output : 'gtk-primary-selection-client-protocol.h', + command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'client-header'] + ) + + primary_selection_c = custom_target( + 'primary selection source', + input : 'protocol/gtk-primary-selection.xml', + output : 'gtk-primary-selection-protocol.c', + command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'code'] + ) + + xdg_shell_h = custom_target( + 'xdg shell v6 header', + input : wayland_protocols_datadir + 'unstable/xdg-shell/xdg-shell-unstable-v6.xml', + output : 'xdg-shell-unstable-v6-client-protocol.h', + command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'client-header'] + ) + + xdg_shell_c = custom_target( + 'xdg shell v6 source', + input : wayland_protocols_datadir + 'unstable/xdg-shell/xdg-shell-unstable-v6.xml', + output : 'xdg-shell-unstable-v6-protocol.c', + command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'code'] + ) + + xdg_foreign_h = custom_target( + 'xdg foreign v1 header', + input : wayland_protocols_datadir + 'unstable/xdg-foreign/xdg-foreign-unstable-v1.xml', + output : 'xdg-foreign-unstable-v1-client-protocol.h', + command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'client-header'] + ) + + xdg_foreign_c = custom_target( + 'xdg foreign v1 source', + input : wayland_protocols_datadir + 'unstable/xdg-foreign/xdg-foreign-unstable-v1.xml', + output : 'xdg-foreign-unstable-v1-protocol.c', + command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'code'] + ) + + tablet_h = custom_target( + 'tablet v2 header', + input : wayland_protocols_datadir + 'unstable/tablet/tablet-unstable-v2.xml', + output : 'tablet-unstable-v2-client-protocol.h', + command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'client-header'] + ) + + tablet_c = custom_target( + 'tablet v2 source', + input : wayland_protocols_datadir + 'unstable/tablet/tablet-unstable-v2.xml', + output : 'tablet-unstable-v2-protocol.c', + command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'code'] + ) + + + + gdk_sources += [ + gtk_shell_c, + gtk_shell_h, + pointer_gestures_h, + pointer_gestures_c, + primary_selection_h, + primary_selection_c, + xdg_shell_h, + xdg_shell_c, + xdg_foreign_h, + xdg_foreign_c, + tablet_h, + tablet_c + ] + +endif diff --git a/gtk/a11y/meson.build b/gtk/a11y/meson.build new file mode 100644 index 0000000000..c53c22abdd --- /dev/null +++ b/gtk/a11y/meson.build @@ -0,0 +1,57 @@ +a11y_sources = files( + 'gtkaccessibility.c', + 'gtkaccessibilitymisc.c', + 'gtkaccessibilityutil.c', + 'gtkarrowaccessible.c', + 'gtkbooleancellaccessible.c', + 'gtkbuttonaccessible.c', + 'gtkcellaccessible.c', + 'gtkcellaccessibleparent.c', + 'gtkcheckmenuitemaccessible.c', + 'gtkcolorswatchaccessible.c', + 'gtkcomboboxaccessible.c', + 'gtkcontaineraccessible.c', + 'gtkcontainercellaccessible.c', + 'gtkentryaccessible.c', + 'gtkexpanderaccessible.c', + 'gtkflowboxaccessible.c', + 'gtkflowboxchildaccessible.c', + 'gtkframeaccessible.c', + 'gtkiconviewaccessible.c', + 'gtkimageaccessible.c', + 'gtkimagecellaccessible.c', + 'gtklabelaccessible.c', + 'gtklevelbaraccessible.c', + 'gtklinkbuttonaccessible.c', + 'gtklistboxaccessible.c', + 'gtklistboxrowaccessible.c', + 'gtklockbuttonaccessible.c', + 'gtkmenuaccessible.c', + 'gtkmenubuttonaccessible.c', + 'gtkmenushellaccessible.c', + 'gtkmenuitemaccessible.c', + 'gtknotebookaccessible.c', + 'gtknotebookpageaccessible.c', + 'gtkpanedaccessible.c', + 'gtkpopoveraccessible.c', + 'gtkprogressbaraccessible.c', + 'gtkradiobuttonaccessible.c', + 'gtkradiomenuitemaccessible.c', + 'gtkrangeaccessible.c', + 'gtkrenderercellaccessible.c', + 'gtkscaleaccessible.c', + 'gtkscalebuttonaccessible.c', + 'gtkscrolledwindowaccessible.c', + 'gtkspinbuttonaccessible.c', + 'gtkspinneraccessible.c', + 'gtkstatusbaraccessible.c', + 'gtkswitchaccessible.c', + 'gtktextcellaccessible.c', + 'gtktextviewaccessible.c', + 'gtktogglebuttonaccessible.c', + 'gtktoplevelaccessible.c', + 'gtktreeviewaccessible.c', + 'gtkwidgetaccessible.c', + 'gtkwindowaccessible.c', + 'gtkstackaccessible.c' + ) diff --git a/gtk/deprecated/meson.build b/gtk/deprecated/meson.build new file mode 100644 index 0000000000..c2cf4757eb --- /dev/null +++ b/gtk/deprecated/meson.build @@ -0,0 +1,42 @@ +gtk_deprecated_c_sources = files( + 'gtkactivatable.c', + 'gtkaction.c', + 'gtkactiongroup.c', + 'gtkalignment.c', + 'gtkarrow.c', + 'gtkcolorsel.c', + 'gtkcolorseldialog.c', + 'gtkfontsel.c', + 'gtkgradient.c', + 'gtkhandlebox.c', + 'gtkhbbox.c', + 'gtkhbox.c', + 'gtkhpaned.c', + 'gtkhscale.c', + 'gtkhscrollbar.c', + 'gtkhseparator.c', + 'gtkhsv.c', + 'gtkiconfactory.c', + 'gtkimagemenuitem.c', + 'gtkmisc.c', + 'gtknumerableicon.c', + 'gtkradioaction.c', + 'gtkrc.c', + 'gtkrecentaction.c', + 'gtkstatusicon.c', + 'gtkstock.c', + 'gtkstyle.c', + 'gtkstyleproperties.c', + 'gtksymboliccolor.c', + 'gtktable.c', + 'gtktearoffmenuitem.c', + 'gtkthemingengine.c', + 'gtktoggleaction.c', + 'gtkuimanager.c', + 'gtkvbbox.c', + 'gtkvbox.c', + 'gtkvscale.c', + 'gtkvscrollbar.c', + 'gtkvseparator.c', + 'gtkvpaned.c', +) diff --git a/gtk/inspector/meson.build b/gtk/inspector/meson.build new file mode 100644 index 0000000000..a119a08db8 --- /dev/null +++ b/gtk/inspector/meson.build @@ -0,0 +1,31 @@ +inspector_sources = files( + 'action-editor.c', + 'actions.c', + 'cellrenderergraph.c', + 'css-editor.c', + 'css-node-tree.c', + 'data-list.c', + 'general.c', + 'gestures.c', + 'graphdata.c', + 'gtktreemodelcssnode.c', + 'init.c', + 'inspect-button.c', + 'magnifier.c', + 'menu.c', + 'misc-info.c', + 'object-hierarchy.c', + 'object-tree.c', + 'prop-editor.c', + 'prop-list.c', + 'resource-list.c', + 'selector.c', + 'signals-list.c', + 'size-groups.c', + 'statistics.c', + 'treewalk.c', + 'visual.c', + 'window.c', + 'strv-editor.c', + 'gtkstackcombo.c' +) diff --git a/gtk/meson.build b/gtk/meson.build new file mode 100644 index 0000000000..46fa1a9a4d --- /dev/null +++ b/gtk/meson.build @@ -0,0 +1,905 @@ +subdir('deprecated') +subdir('a11y') +subdir('inspector') + +gtk_sources = files([ + 'gtkactionmuxer.c', + 'gtkactionobserver.c', + 'gtkactionobservable.c', + 'gtkactionable.c', + 'gtkquery.c', + 'gtksearchbar.c', + 'gtksearchentry.c', + 'gtksearchengine.c', + 'gtksearchenginesimple.c', + 'gtksearchenginemodel.c', + 'fnmatch.c', + 'gtkaboutdialog.c', + 'gtkaccelgroup.c', + 'gtkaccellabel.c', + 'gtkaccelmap.c', + 'gtkaccessible.c', + 'gtkactionbar.c', + 'gtkactionhelper.c', + 'gtkadjustment.c', + 'gtkallocatedbitmask.c', + 'gtkappchooser.c', + 'gtkappchooserwidget.c', + 'gtkappchooserbutton.c', + 'gtkappchooserdialog.c', + 'gtkapplication.c', + 'gtkapplicationimpl.c', + 'gtkapplicationwindow.c', + 'gtkaspectframe.c', + 'gtkassistant.c', + 'gtkbbox.c', + 'gtkbin.c', + 'gtkbindings.c', + 'gtkbookmarksmanager.c', + 'gtkborder.c', + 'gtkbox.c', + 'gtkbuildable.c', + 'gtkbuilder.c', + 'gtkicon.c', + 'gtkshortcutswindow.c', + 'gtkshortcutssection.c', + 'gtkbuilderparser.c', + 'gtkbuilder-menus.c', + 'gtkbutton.c', + 'gtkcairoblur.c', + 'gtkcssnode.c', + 'gtkcsscalcvalue.c', + 'gtkcalendar.c', + 'gtkcellarea.c', + 'gtkcellareabox.c', + 'gtkcellareaboxcontext.c', + 'gtkcellareacontext.c', + 'gtkcelleditable.c', + 'gtkcelllayout.c', + 'gtkcellrenderer.c', + 'gtkcellrendereraccel.c', + 'gtkcellrenderercombo.c', + 'gtkcellrendererpixbuf.c', + 'gtkcellrendererprogress.c', + 'gtkcellrendererspin.c', + 'gtkcellrendererspinner.c', + 'gtkcellrenderertext.c', + 'gtkcellrenderertoggle.c', + 'gtkcellview.c', + 'gtkcenterbox.c', + 'gtkcheckbutton.c', + 'gtkcheckmenuitem.c', + 'gtkcolorbutton.c', + 'gtkcolorchooser.c', + 'gtkcolorchooserwidget.c', + 'gtkcolorchooserdialog.c', + 'gtkcoloreditor.c', + 'gtkcolorplane.c', + 'gtkcolorscale.c', + 'gtkcolorswatch.c', + 'gtkcolorutils.c', + 'gtkcombobox.c', + 'gtkcomboboxtext.c', + 'gtkcontainer.c', + 'gtkcssanimation.c', + 'gtkcssgadget.c', + 'gtkcsscustomgadget.c', + 'gtkboxgadget.c', + 'gtkimagedefinition.c', + 'gtkprogresstracker.c', + 'gtkcssimageradial.c', + 'gtkcssimagerecolor.c', + 'gtkcssimagefallback.c', + 'gtkbuiltinicon.c', + 'gtkcssstylechange.c', + 'gtkcsspalettevalue.c', + 'gtkcssanimatedstyle.c', + 'gtkcssarrayvalue.c', + 'gtkcssbgsizevalue.c', + 'gtkcssbordervalue.c', + 'gtkcsscolorvalue.c', + 'gtkcsscornervalue.c', + 'gtkcsscustomproperty.c', + 'gtkcsseasevalue.c', + 'gtkcssenumvalue.c', + 'gtkcssenginevalue.c', + 'gtkcssiconthemevalue.c', + 'gtkcssimage.c', + 'gtkcssimagebuiltin.c', + 'gtkcssimagecrossfade.c', + 'gtkcssimagegradient.c', + 'gtkcssimageicontheme.c', + 'gtkcssimagelinear.c', + 'gtkcssimagesurface.c', + 'gtkcssimageurl.c', + 'gtkcssimagescaled.c', + 'gtkcssimagevalue.c', + 'gtkcssimagewin32.c', + 'gtkcssinheritvalue.c', + 'gtkcssinitialvalue.c', + 'gtkcsskeyframes.c', + 'gtkcsslookup.c', + 'gtkcssmatcher.c', + 'gtkcssnode.c', + 'gtkcssnodedeclaration.c', + 'gtkcssnumbervalue.c', + 'gtkcssparser.c', + 'gtkcsspathnode.c', + 'gtkcsspositionvalue.c', + 'gtkcssprovider.c', + 'gtkcssrepeatvalue.c', + 'gtkcssrgbavalue.c', + 'gtkcsssection.c', + 'gtkcssselector.c', + 'gtkcssstringvalue.c', + 'gtkcssstyle.c', + 'gtkcssshadowsvalue.c', + 'gtkcssshadowvalue.c', + 'gtkcssshorthandproperty.c', + 'gtkshortcutlabel.c', + 'gtkfilechoosernativeportal.c', + 'gtkdragsource.c', + 'gtkcssshorthandpropertyimpl.c', + 'gtkcssstaticstyle.c', + 'gtkcssstylefuncs.c', + 'gtkcssstyleproperty.c', + 'gtkcssstylepropertyimpl.c', + 'gtkcsstransformvalue.c', + 'gtkcsstransientnode.c', + 'gtkcsstransition.c', + 'gtkcsstypedvalue.c', + 'gtkcssunsetvalue.c', + 'gtkcsstypes.c', + 'gtkcssvalue.c', + 'gtkcsswidgetnode.c', + 'gtkcssnodestylecache.c', + 'gtkapplicationaccels.c', + 'gtkcssdimensionvalue.c', + 'gtkshortcutsgroup.c', + 'gtkshortcutsshortcut.c', + 'gtkfilechoosernative.c', + 'gtknativedialog.c', + 'gtkdialog.c', + 'gtkdrawingarea.c', + 'gtkutils.c', + 'gtktooltipwindow.c', + 'gtkeditable.c', + 'gtkentry.c', + 'gtkentrybuffer.c', + 'gtkentrycompletion.c', + 'gtkeventbox.c', + 'gtkeventcontroller.c', + 'gtkexpander.c', + 'gtkfilechooser.c', + 'gtkfilechooserbutton.c', + 'gtkfilechooserdialog.c', + 'gtkfilechooserembed.c', + 'gtkfilechooserentry.c', + 'gtkfilechooserutils.c', + 'gtkfilechooserwidget.c', + 'gtkfilefilter.c', + 'gtkfilesystem.c', + 'gtkfilesystemmodel.c', + 'gtkfixed.c', + 'gtkflowbox.c', + 'gtkfontbutton.c', + 'gtkfontchooser.c', + 'gtkfontchooserdialog.c', + 'gtkcsswin32sizevalue.c', + 'gtkfontchooserutils.c', + 'gtkwin32theme.c', + 'gtkwin32draw.c', + 'gtkcomposetable.c', + 'gdkpixbufutils.c', + 'gtkfontchooserwidget.c', + 'gtkframe.c', + 'gtkprintoperation-portal.c', + 'gtkgladecatalog.c', + 'gtkgesture.c', + 'gtkgesturedrag.c', + 'gtkgesturelongpress.c', + 'gtkgesturemultipress.c', + 'gtkgesturepan.c', + 'gtkgesturerotate.c', + 'gtkgesturesingle.c', + 'gtkgestureswipe.c', + 'gtkgesturezoom.c', + 'gtkgizmo.c', + 'gtkgladecatalog.c', + 'gtkglarea.c', + 'gtkgrid.c', + 'gtkheaderbar.c', + 'gtkdragdest.c', + 'gtkhsla.c', + 'gtkiconcache.c', + 'gtkiconcachevalidator.c', + 'gtkiconhelper.c', + 'gtkicontheme.c', + 'gtkiconview.c', + 'gtkimage.c', + 'gtkimcontext.c', + 'gtkimcontextsimple.c', + 'gtkimmodule.c', + 'gtkimmulticontext.c', + 'gtkinfobar.c', + 'gtkinvisible.c', + 'gtkkeyhash.c', + 'gtkkineticscrolling.c', + 'gtklabel.c', + 'gtklayout.c', + 'gtklevelbar.c', + 'gtklinkbutton.c', + 'gtklistbox.c', + 'gtkliststore.c', + 'gtklockbutton.c', + 'gtkmain.c', + 'gtkmagnifier.c', + 'gtkmenu.c', + 'gtkmenubar.c', + 'gtkmenubutton.c', + 'gtkmenuitem.c', + 'gtkmenusectionbox.c', + 'gtkmenushell.c', + 'gtkmenutracker.c', + 'gtkmenutrackeritem.c', + 'gtkmenutoolbutton.c', + 'gtkmessagedialog.c', + 'gtkmnemonichash.c', + 'gtkmodelmenuitem.c', + 'gtkmodelbutton.c', + 'gtkmodifierstyle.c', + 'gtkmodules.c', + 'gtkmountoperation.c', + 'gtknotebook.c', + 'gtkoffscreenwindow.c', + 'gtkorientable.c', + 'gtkoverlay.c', + 'gtkpadcontroller.c', + 'gtkpagesetup.c', + 'gtkpaned.c', + 'gtkpango.c', + 'gtkpapersize.c', + 'gtkpathbar.c', + 'gtkplacessidebar.c', + 'gtkplacesview.c', + 'gtkplacesviewrow.c', + 'gtkprintcontext.c', + 'gtkprintoperation.c', + 'gtkprintoperationpreview.c', + 'gtkprintsettings.c', + 'gtkprintutils.c', + 'gtkprivate.c', + 'gtkprogressbar.c', + 'gtkpixelcache.c', + 'gtkpopover.c', + 'gtkpopovermenu.c', + 'gtkradiobutton.c', + 'gtkradiomenuitem.c', + 'gtkradiotoolbutton.c', + 'gtkrange.c', + 'gtkrbtree.c', + 'gtkrecentchooserdefault.c', + 'gtkrecentchooserdialog.c', + 'gtkrecentchoosermenu.c', + 'gtkrecentchooserwidget.c', + 'gtkrecentchooserutils.c', + 'gtkrecentchooser.c', + 'gtkrecentfilter.c', + 'gtkrecentmanager.c', + 'gtkrender.c', + 'gtkrenderbackground.c', + 'gtkrenderborder.c', + 'gtkrendericon.c', + 'gtkrevealer.c', + 'gtkroundedbox.c', + 'gtkscale.c', + 'gtkscalebutton.c', + 'gtkscrollable.c', + 'gtkscrollbar.c', + 'gtkscrolledwindow.c', + 'gtkselection.c', + 'gtkseparator.c', + 'gtkseparatormenuitem.c', + 'gtkseparatortoolitem.c', + 'gtksettings.c', + 'gtksidebarrow.c', + 'gtksizegroup.c', + 'gtksizerequest.c', + 'gtksizerequestcache.c', + 'gtkshow.c', + 'gtkstacksidebar.c', + 'gtkspinbutton.c', + 'gtkspinner.c', + 'gtkstack.c', + 'gtkstackswitcher.c', + 'gtkstatusbar.c', + 'gtkstyleanimation.c', + 'gtkstylecascade.c', + 'gtkstylecontext.c', + 'gtkstyleproperty.c', + 'gtkstyleprovider.c', + 'gtkstyleproviderprivate.c', + 'gtkswitch.c', + 'gtktestutils.c', + 'gtktextattributes.c', + 'gtktextbtree.c', + 'gtktextbuffer.c', + 'gtktextbufferrichtext.c', + 'gtktextbufferserialize.c', + 'gtktextchild.c', + 'gtktextdisplay.c', + 'gtktexthandle.c', + 'gtktextiter.c', + 'gtktextlayout.c', + 'gtktextmark.c', + 'gtktextsegment.c', + 'gtktexttag.c', + 'gtktexttagtable.c', + 'gtktexttypes.c', + 'gtktextutil.c', + 'gtktextview.c', + 'gtktogglebutton.c', + 'gtktoggletoolbutton.c', + 'gtktoolbar.c', + 'gtktoolbutton.c', + 'gtktoolitem.c', + 'gtktoolitemgroup.c', + 'gtktoolpalette.c', + 'gtktoolshell.c', + 'gtktooltip.c', + 'gtktrashmonitor.c', + 'gtktreedatalist.c', + 'gtktreednd.c', + 'gtktreemenu.c', + 'gtktreemodel.c', + 'gtktreemodelfilter.c', + 'gtktreemodelsort.c', + 'gtktreeselection.c', + 'gtktreesortable.c', + 'gtktreestore.c', + 'gtktreeview.c', + 'gtktreeviewcolumn.c', + 'gtkvolumebutton.c', + 'gtkviewport.c', + 'gtkwidget.c', + 'gtkwidgetfocus.c', + 'gtkwidgetpath.c', + 'gtkwindow.c', + 'gtkwindowgroup.c', + 'gtkwin32theme.c', + 'fallback-c89.c' +]) + +gtk_private_type_headers = files([ + 'gtkcsstypesprivate.h', + 'gtktexthandleprivate.h', +]) + +gtk_private_h_sources = gtk_private_type_headers + files([ + 'gtkrecentchooserutils.h', + 'gtkrbtree.h', +]) + +gtk_public_h_sources = files([ + 'gtk.h', + 'gtk-autocleanups.h', + 'gtkx.h', + 'gtkx-autocleanups.h', + 'gtk-a11y.h', + 'gtkaboutdialog.h', + 'gtkaccelgroup.h', + 'gtkaccellabel.h', + 'gtkaccelmap.h', + 'gtkaccessible.h', + 'gtkactionable.h', + 'gtkactionbar.h', + 'gtkadjustment.h', + 'gtkappchooser.h', + 'gtkappchooserbutton.h', + 'gtkappchooserdialog.h', + 'gtkappchooserwidget.h', + 'gtkapplication.h', + 'gtkapplicationwindow.h', + 'gtkaspectframe.h', + 'gtkassistant.h', + 'gtkbbox.h', + 'gtkbin.h', + 'gtkbindings.h', + 'gtkborder.h', + 'gtkbox.h', + 'gtkbuilder.h', + 'gtkbuildable.h', + 'gtkbutton.h', + 'gtkcalendar.h', + 'gtkcellarea.h', + 'gtkcellareacontext.h', + 'gtkcellareabox.h', + 'gtkcelleditable.h', + 'gtkcelllayout.h', + 'gtkcellrenderer.h', + 'gtkcellrendereraccel.h', + 'gtkcellrenderercombo.h', + 'gtkcellrendererpixbuf.h', + 'gtkcellrendererprogress.h', + 'gtkcellrendererspin.h', + 'gtkcellrendererspinner.h', + 'gtkcellrenderertext.h', + 'gtkcellrenderertoggle.h', + 'gtkcellview.h', + 'gtkcheckbutton.h', + 'gtkcheckmenuitem.h', + 'gtkclipboard.h', + 'gtkcolorbutton.h', + 'gtkcolorchooser.h', + 'gtkcolorchooserwidget.h', + 'gtkcolorchooserdialog.h', + 'gtkcolorutils.h', + 'gtkcombobox.h', + 'gtkcomboboxtext.h', + 'gtkcontainer.h', + 'gtkcssprovider.h', + 'gtkcsssection.h', + 'gtkdebug.h', + 'gtkdialog.h', + 'gtkdnd.h', + 'gtkdragdest.h', + 'gtkdragsource.h', + 'gtkdrawingarea.h', + 'gtkeditable.h', + 'gtkentry.h', + 'gtkentrybuffer.h', + 'gtkentrycompletion.h', + 'gtkenums.h', + 'gtkeventbox.h', + 'gtkeventcontroller.h', + 'gtkexpander.h', + 'gtkfilechooser.h', + 'gtkfilechooserbutton.h', + 'gtkfilechooserdialog.h', + 'gtkfilechoosernative.h', + 'gtkfilechooserwidget.h', + 'gtkfilefilter.h', + 'gtkfixed.h', + 'gtkflowbox.h', + 'gtkfontbutton.h', + 'gtkfontchooser.h', + 'gtkfontchooserdialog.h', + 'gtkfontchooserwidget.h', + 'gtkframe.h', + 'gtkgesture.h', + 'gtkgesturedrag.h', + 'gtkgesturelongpress.h', + 'gtkgesturemultipress.h', + 'gtkgesturepan.h', + 'gtkgesturerotate.h', + 'gtkgesturesingle.h', + 'gtkgestureswipe.h', + 'gtkgesturezoom.h', + 'gtkglarea.h', + 'gtkgrid.h', + 'gtkheaderbar.h', + 'gtkicontheme.h', + 'gtkiconview.h', + 'gtkimage.h', + 'gtkimcontext.h', + 'gtkimcontextinfo.h', + 'gtkimcontextsimple.h', + 'gtkimmodule.h', + 'gtkimmulticontext.h', + 'gtkinfobar.h', + 'gtkinvisible.h', + 'gtklabel.h', + 'gtklayout.h', + 'gtklevelbar.h', + 'gtklinkbutton.h', + 'gtklistbox.h', + 'gtkliststore.h', + 'gtklockbutton.h', + 'gtkmain.h', + 'gtkmenu.h', + 'gtkmenubar.h', + 'gtkmenubutton.h', + 'gtkmenuitem.h', + 'gtkmenushell.h', + 'gtkmenutoolbutton.h', + 'gtkmessagedialog.h', + 'gtkmodelbutton.h', + 'gtkmodules.h', + 'gtkmountoperation.h', + 'gtknativedialog.h', + 'gtknotebook.h', + 'gtkoffscreenwindow.h', + 'gtkorientable.h', + 'gtkoverlay.h', + 'gtkpadcontroller.h', + 'gtkpagesetup.h', + 'gtkpaned.h', + 'gtkpapersize.h', + 'gtkplacessidebar.h', + 'gtkplug.h', + 'gtkpopover.h', + 'gtkpopovermenu.h', + 'gtkprintcontext.h', + 'gtkprintoperation.h', + 'gtkprintoperationpreview.h', + 'gtkprintsettings.h', + 'gtkprogressbar.h', + 'gtkradiobutton.h', + 'gtkradiomenuitem.h', + 'gtkradiotoolbutton.h', + 'gtkrange.h', + 'gtkrecentchooser.h', + 'gtkrecentchooserdialog.h', + 'gtkrecentchoosermenu.h', + 'gtkrecentchooserwidget.h', + 'gtkrecentfilter.h', + 'gtkrecentmanager.h', + 'gtkrender.h', + 'gtkrevealer.h', + 'gtkscale.h', + 'gtkscalebutton.h', + 'gtkscrollable.h', + 'gtkscrollbar.h', + 'gtkscrolledwindow.h', + 'gtksearchbar.h', + 'gtksearchentry.h', + 'gtkselection.h', + 'gtkseparator.h', + 'gtkseparatormenuitem.h', + 'gtkseparatortoolitem.h', + 'gtksettings.h', + 'gtkshortcutlabel.h', + 'gtkshortcutsgroup.h', + 'gtkshortcutssection.h', + 'gtkshortcutsshortcut.h', + 'gtkshortcutswindow.h', + 'gtkshow.h', + 'gtkstacksidebar.h', + 'gtksizegroup.h', + 'gtksizerequest.h', + 'gtksocket.h', + 'gtkspinbutton.h', + 'gtkspinner.h', + 'gtkstack.h', + 'gtkstackswitcher.h', + 'gtkstatusbar.h', + 'gtkstylecontext.h', + 'gtkstyleprovider.h', + 'gtkswitch.h', + 'gtktestutils.h', + 'gtktextattributes.h', + 'gtktextbuffer.h', + 'gtktextbufferrichtext.h', + 'gtktextchild.h', + 'gtktextdisplay.h', + 'gtktextiter.h', + 'gtktextmark.h', + 'gtktexttag.h', + 'gtktexttagtable.h', + 'gtktextview.h', + 'gtktogglebutton.h', + 'gtktoggletoolbutton.h', + 'gtktoolbar.h', + 'gtktoolbutton.h', + 'gtktoolitem.h', + 'gtktoolitemgroup.h', + 'gtktoolpalette.h', + 'gtktoolshell.h', + 'gtktooltip.h', + 'gtktreednd.h', + 'gtktreemodel.h', + 'gtktreemodelfilter.h', + 'gtktreemodelsort.h', + 'gtktreeselection.h', + 'gtktreesortable.h', + 'gtktreestore.h', + 'gtktreeview.h', + 'gtktreeviewcolumn.h', + 'gtktypes.h', + 'gtkviewport.h', + 'gtkvolumebutton.h', + 'gtkwidget.h', + 'gtkwidgetpath.h', + 'gtkwindow.h', + 'gtkwindowgroup.h', +]) + +gtk_deprecated_type_headers = files([ + 'deprecated/gtkactivatable.h', + 'deprecated/gtkaction.h', + 'deprecated/gtkactiongroup.h', + 'deprecated/gtkalignment.h', + 'deprecated/gtkarrow.h', + 'deprecated/gtkcolorsel.h', + 'deprecated/gtkcolorseldialog.h', + 'deprecated/gtkfontsel.h', + 'deprecated/gtkgradient.h', + 'deprecated/gtkhandlebox.h', + 'deprecated/gtkhbbox.h', + 'deprecated/gtkhbox.h', + 'deprecated/gtkhpaned.h', + 'deprecated/gtkhscale.h', + 'deprecated/gtkhscrollbar.h', + 'deprecated/gtkhseparator.h', + 'deprecated/gtkhsv.h', + 'deprecated/gtkiconfactory.h', + 'deprecated/gtkimagemenuitem.h', + 'deprecated/gtkmisc.h', + 'deprecated/gtknumerableicon.h', + 'deprecated/gtkradioaction.h', + 'deprecated/gtkrc.h', + 'deprecated/gtkrecentaction.h', + 'deprecated/gtkstatusicon.h', + 'deprecated/gtkstock.h', + 'deprecated/gtkstyle.h', + 'deprecated/gtkstyleproperties.h', + 'deprecated/gtksymboliccolor.h', + 'deprecated/gtktable.h', + 'deprecated/gtktearoffmenuitem.h', + 'deprecated/gtkthemingengine.h', + 'deprecated/gtktoggleaction.h', + 'deprecated/gtkuimanager.h', + 'deprecated/gtkvbbox.h', + 'deprecated/gtkvbox.h', + 'deprecated/gtkvscale.h', + 'deprecated/gtkvscrollbar.h', + 'deprecated/gtkvseparator.h', + 'deprecated/gtkvpaned.h', +]) + +gtk_unix_sources = files([ + 'gtkcustompaperunixdialog.c', + 'gtkpagesetupunixdialog.c', + 'gtkprinter.c', + 'gtkprinteroption.c', + 'gtkprinteroptionset.c', + 'gtkprinteroptionwidget.c', + 'gtkprintjob.c', + 'gtkprintoperation-unix.c', + 'gtkprintunixdialog.c', + 'gtkprintbackend.c', + 'gtksearchenginetracker.c', +]) + +gtkresources = gnome.compile_resources( + 'gtkresources', + 'gtk.gresource.xml', + source_dir: '.', + c_name: '_gtk', + extra_args: '--manual-register' +) + +gtk_x11_sources = files([ + 'gtkplug.c', + 'gtksocket.c', + 'gtkxembed.c', + 'deprecated/gtktrayicon-x11.c', + 'gtkapplication-x11.c', + 'gtkmountoperation-x11.c', +]) + +gtk_wayland_sources = files([ + 'gtkapplication-wayland.c' +]) + +dnd_sources = files([ + 'gtkclipboard.c', + 'gtkdnd.c' +]) + +gtk_use_wayland_or_x11_c_sources = files([ + 'gtkapplication-dbus.c' +]) + +gtk_dbus_src = gnome.gdbus_codegen('gtkdbusgenerated', 'gtkdbusinterfaces.xml', + interface_prefix: 'org.Gtk.', + namespace: '_Gtk') + +gtkmarshal_h = custom_target( + 'gtkmarshal_h', + output : 'gtkmarshalers.h', + input : 'gtkmarshalers.list', + command : [mkmarshal, glib_marshal, '_gtk_marshal', '@INPUT@', '@OUTPUT@'] +) + +gtkmarshal_c = custom_target( + 'gtkmarshal_c', + output : 'gtkmarshalers.c', + input : 'gtkmarshalers.list', + command : [mkmarshal, glib_marshal, '_gtk_marshal', '@INPUT@', '@OUTPUT@'] +) + + + +gtktypebuiltins_h = custom_target( + 'gtkypebuiltins_h', + output : 'gtktypebuiltins.h', + input : gtk_public_h_sources + gtk_deprecated_type_headers, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtktypebuiltins.h.template', '@OUTPUT@', '@INPUT@'] +) + +gtktypebuiltins_c = custom_target( + 'gtkypebuiltins_c', + output : 'gtktypebuiltins.c', + input : gtk_public_h_sources + gtk_deprecated_type_headers, + depends : gtktypebuiltins_h, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtktypebuiltins.c.template', '@OUTPUT@', '@INPUT@'] +) + +gtkprivatetypebuiltins_h = custom_target( + 'gtkprivateypebuiltins_h', + output : 'gtkprivatetypebuiltins.h', + input : gtk_private_type_headers, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtkprivatetypebuiltins.h.template', '@OUTPUT@', '@INPUT@'] +) + +gtkprivatetypebuiltins_c = custom_target( + 'gtkprivateypebuiltins_c', + output : 'gtkprivatetypebuiltins.c', + input : gtk_private_type_headers, + depends : [gtkprivatetypebuiltins_h, gtktypebuiltins_h], + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtkprivatetypebuiltins.c.template', '@OUTPUT@', '@INPUT@'] +) + +gentypefuncs_prog = find_program('gentypefuncs.py') +# Generate gtktypefuncs.c +typefuncs = custom_target( + 'typefuncs', + depends: gdkenum_h, + output : 'gtktypefuncs.c', + input : gdk_headers + gtk_public_h_sources + gtk_deprecated_type_headers + gtk_private_h_sources + [gtktypebuiltins_h] + [gdkenum_h], + command: [gentypefuncs_prog, '@OUTPUT@', '@INPUT@'], + install: false, +) + +cdata = configuration_data() +cdata.set('GTK_MAJOR_VERSION', gtk_major_version) +cdata.set('GTK_MINOR_VERSION', gtk_minor_version) +cdata.set('GTK_MICRO_VERSION', gtk_micro_version) +cdata.set('GTK_BINARY_AGE', gtk_binary_age) +cdata.set('GTK_INTERFACE_AGE', gtk_interface_age) + +gtkversion = configure_file( + input : 'gtkversion.h.in', + output : 'gtkversion.h', + configuration: cdata +) + +gtk_cargs = [ + '-DGTK_COMPILATION', + '-DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED', + '-DGTK_BINARY_VERSION="' + gtk_binary_version + '"', + '-DGTK_HOST="' + host_machine.system() + '"', + '-DGTK_SYSCONFDIR="' + get_option('prefix') + '/etc"', + '-DGTK_DATADIR="' + get_option('datadir') + '"', + '-DGTK_DATA_PREFIX="'+ get_option('prefix') + '"', + '-DGTK_PRINT_BACKENDS="null"', +] + +gtk_sources += [ + gtk_dbus_src, + gtk_unix_sources, + gtk_deprecated_c_sources, + dnd_sources, + inspector_sources, + a11y_sources, + gtkresources, + gtkmarshal_c, + gtkprivatetypebuiltins_c, + gtktypebuiltins_c, +] + +gtk_deps = [ + gmodule_dep, + giounix_dep, + glib_dep, + atkbridge_dep, + pangocairo_dep, + pango_dep, + cairogobj_dep, + cairo_dep, + fontconfig_dep, + pixbuf_dep, + atk_dep, + epoxy_dep, + mlib, +] + +if x11_enabled + runcmd = run_command('pkg-config', '--variable=prefix', 'x11') + if runcmd.returncode() == 0 + gtk_cargs += '-DX11_DATA_PREFIX="' + runcmd.stdout().strip() + '"' + else + error('Could not get x11 data prefix via pkg-config.') + endif + + gtk_sources += [ + gtk_x11_sources, + gtk_use_wayland_or_x11_c_sources + ] + gtk_deps += [ + xi_dep, + x11_dep, + pangoft_dep + ] +endif + +if wayland_enabled + gtk_sources += [ + gtk_wayland_sources, + gtk_use_wayland_or_x11_c_sources + ] + gtk_deps += [ + pangoft_dep + ] +endif + +gnome.compile_schemas() + +libgtk = shared_library('gtk', + gtk_sources, + gtkmarshal_h, + c_args: gtk_cargs, + include_directories: [confinc, gdkinc, gtkinc], + dependencies: [gtk_deps, libgdk_dep], + install: true +) + +libgtk_dep = declare_dependency( + sources: [ + 'gtk.h', + gtkversion, + gtktypebuiltins_c, + gtktypebuiltins_h, + ], + dependencies: gtk_deps, + link_with: [libgtk, libgdk], + link_args: ['-Bsymbolic'], + include_directories: [confinc, gtkinc] +) + + + +####### Utils ###### +gtk_query_settings = executable( + 'gtk-query-settings', + 'gtk-query-settings.c', + dependencies: libgtk_dep, + install: true +) + +gtk_builder_tool = executable( + 'gtk-builder-tool', + 'gtk-builder-tool.c', + dependencies: libgtk_dep, + install: true +) + +gtk_update_icon_cache = executable( + 'gtk-update-icon-cache', + 'updateiconcache.c', + dependencies: libgtk_dep, + install: true +) + +# gtk_query_immodules = executable( + # 'gtk-query-immodules-3.0', + # 'queryimmodules.c', + # 'gtkutils.c', + # dependencies: libgtk_dep, + # install: true +# ) + +gtk_encode_symbolic_svg = executable( + 'gtk-encode-symbolic-svg', + 'encodesymbolic.c', + dependencies: libgtk_dep, + install: true +) + +gtk_launch = executable( + 'gtk-launch', + 'gtk-launch.c', + dependencies: libgtk_dep, + install: true +) diff --git a/meson.build b/meson.build new file mode 100644 index 0000000000..e3d9ec4eca --- /dev/null +++ b/meson.build @@ -0,0 +1,266 @@ +project('gtk+-3.0', 'c', + version: '3.22.0', + default_options: [ + 'buildtype=debugoptimized', + 'c_std=gnu89', + 'warning_level=1' + ], + license: 'LGPLv2.1+') + +gnome = import('gnome') + +add_global_arguments('-DG_LOG_USE_STRUCTURED=1', language: 'c') +add_global_arguments('-DG_ENABLE_DEBUG', language: 'c') +add_global_arguments('-DG_ENABLE_CONSISTENCY_CHECKS', language: 'c') + +gtk_version = meson.project_version().split('.') +gtk_major_version = gtk_version[0].to_int() +gtk_minor_version = gtk_version[1].to_int() +gtk_micro_version = gtk_version[2].to_int() +gtk_interface_age = 0 +add_global_arguments('-DGTK_VERSION="' + meson.project_version() + '"', language: 'c') + +# Define a string for the earliest version that this release has +# backwards binary compatibility with for all interfaces a module +# might. Unless we add module-only API with lower stability +# guarantees, this should be unchanged until we break binary compat +# for GTK+. +gtk_binary_version = '3.0.0' + +gtk_binary_age = 100 * gtk_minor_version + gtk_micro_version +gtk_api_version = '@0@.0'.format(gtk_major_version) + +x11_enabled = get_option('enable-x11-backend') +wayland_enabled = get_option('enable-wayland-backend') +broadway_enabled = get_option('enable-broadway-backend') + + +mkmarshal = find_program('build_marshal.py') +glib_marshal = find_program('glib-genmarshal') +mkenum = find_program('build_enum.py') +perl = find_program('perl') +glib_mkenums = find_program('glib-mkenums') + +os_unix = false +os_linux = false +os_win32 = false +os_darwin = false + +if host_machine.system().contains('darwin') + os_darwin = true +elif host_machine.system().contains('mingw') + os_win32 = true +elif host_machine.system().contains('linux') + os_linux = true +endif + +os_unix = not os_win32 + + +cc = meson.get_compiler('c') +cdata = configuration_data() +cdata.set('PACKAGE_VERSION', '"'+meson.project_version()+'"') +cdata.set('GTK_LOCALEDIR', '"'+get_option('localedir')+'"') +cdata.set('GTK_DATADIR', '"'+get_option('datadir')+'"') +cdata.set('GTK_LIBDIR', '"'+get_option('libdir')+'"') +cdata.set('GETTEXT_PACKAGE', '"gtk30"') +cdata.set('GTK_MAJOR_VERSION', gtk_major_version) +cdata.set('GTK_MINOR_VERSION', gtk_minor_version) +cdata.set('GTK_MICRO_VERSION', gtk_micro_version) +cdata.set('GTK_BINARY_AGE', gtk_binary_age) +cdata.set('GTK_INTERFACE_AGE', gtk_interface_age) +check_headers = [ + ['HAVE_CRT_EXTERNS_H', 'crt/externs.h'], + ['HAVE_DLFCN_H', 'dlfcn.h'], + ['HAVE_FTW_H', 'ftw.h'], + ['HAVE_INTTYPES_H', 'inttypes.h'], + ['HAVE_LOCALE_H', 'locale.h'], + ['HAVE_MEMORY_H', 'memory.h'], + ['HAVE_STDINT_H', 'stdint.h'], + ['HAVE_STDLIB_H', 'stdlib.h'], + ['HAVE_STRINGS_H', 'strings.h'], + ['HAVE_STRING_H', 'string.h'], + ['HAVE_SYS_MMAN_H', 'sys/mman.h'], + ['HAVE_SYS_PARAM_H', 'sys/param.h'], + ['HAVE_SYS_STAT_H', 'sys/stat.h'], + ['HAVE_SYS_SYSINFO_H', 'sys/sysinfo.h'], + ['HAVE_SYS_SYSTEMINFO_H', 'sys/systeminfo.h'], + ['HAVE_SYS_TIME_H', 'sys/time.h'], + ['HAVE_SYS_TYPES_H', 'sys/types.h'], + ['HAVE_UNISTD_H', 'unistd.h'], + ['HAVE_LINUX_MEMFD_H', 'linux/memfd.h'], +] + +foreach h : check_headers + if cc.has_header(h.get(1)) + cdata.set(h.get(0), 1) + endif +endforeach + +check_functions = [ +# check token HAVE_BIND_TEXTDOMAIN_CODESET +# check token HAVE_CUPS_API_1_6 + ['HAVE_DCGETTEXT', 'dcgettext', '#include'], + ['HAVE_DECL_ISINF', 'isinf', '#include'], + ['HAVE_DECL_ISNAN', 'isnan', '#include'], + ['HAVE_GETPAGESIZE', 'getpagesize', '#include'], + ['HAVE_GETRESUID', 'getresuid', '#include'], +# check token HAVE_GETTEXT +# check token HAVE_GIO_UNIX +# check token HAVE_GNU_FTW +# check token HAVE_HTTPGETAUTHSTRING +# check token HAVE_HTTP_AUTHSTRING +# check token HAVE_IPRINTDIALOGCALLBACK +# check token HAVE_LC_MESSAGES +# check token HAVE_LOCALTIME_R + ['HAVE_LSTAT', 'lstat', '#include'], + ['HAVE_MMAP', 'mmap', '#include'], + ['HAVE_NEARBYINT', 'nearbyint', '#include'], + ['HAVE_POSIX_FALLOCATE', 'posix_fallocate', '#include'], + ['HAVE__LOCK_FILE', '_lock_file', '#include'], + ['HAVE_FLOCKFILE', 'flockfile', '#include'], + ['HAVE_MKSTEMP', 'mkstemp', '#include'], + ['HAVE_MALLINFO', 'mallinfo', '#include'], + ['HAVE_ROUND', 'round', '#include'], + ['HAVE_RINT', 'rint', '#include'], + ['HAVE_LOG2', 'log2', '#include'], + ['HAVE_EXP2', 'exp2', '#include'], + ['HAVE_SINCOS', 'sincos', '#include'], + ['HAVE_XKB', 'XkbQueryExtension', '#include'], +# check token HAVE_SOCKADDR_UN_SUN_LEN +# check token HAVE_SOLARIS_XINERAMA +# check token HAVE_XFREE_XINERAMA +# check token HAVE_XINERAMA +# check token HAVE__NL_MEASUREMENT_MEASUREMENT +# check token HAVE__NL_PAPER_HEIGHT +# check token HAVE__NL_PAPER_WIDTH +# check token HAVE__NL_TIME_FIRST_WEEKDAY +# check token HAVE__NSGETENVIRON +] +if x11_enabled +check_functions += [ + ['HAVE_XGENERICEVENTS', 'XGetEventData', '#include'], + ['HAVE_XSYNC', 'XSyncQueryExtension', '#include\n#include'] +] +endif + +foreach f : check_functions + if cc.has_function(f.get(1), prefix : f.get(2)) + cdata.set(f.get(0), 1) + endif +endforeach + +# +# Disable deprecation checks for all libraries we depend on on stable branches. +# This is so newer versions of those libraries don't cause more warnings with +# a stable GTK version. +# We don't ever want to turn off deprecation warnings for master however, because +# that's where we get rid of deprecated API we use. +if gtk_minor_version % 2 == 0 + cdata.set('GLIB_DISABLE_DEPRECATION_WARNINGS', 1) +endif + + +confinc = include_directories('.') +gdkinc = include_directories('gdk') +gtkinc = include_directories('gtk') + +glib_dep = dependency('glib-2.0', version: '>= 2.49.4') +giounix_dep = dependency('gio-unix-2.0', required : false) +pango_dep = dependency('pango', version: '>=1.37.3') +pangoft_dep = dependency('pangoft2', required: wayland_enabled or x11_enabled) +cairo_dep = dependency('cairo', version: '>= 1.14.0') +pangocairo_dep = dependency('pangocairo') +cairogobj_dep = dependency('cairo-gobject') +pixbuf_dep = dependency('gdk-pixbuf-2.0', version: '>= 2.30.0') +epoxy_dep = dependency('epoxy', version: '>= 1.0') +atk_dep = dependency('atk', version: '>= 2.15.1') +atkbridge_dep = dependency('atk-bridge-2.0') +gmodule_dep = dependency('gmodule-2.0') +colord_dep = dependency('colord', version: '>= 0.1.9', required: false) +fontconfig_dep = dependency('fontconfig') +harfbuzz_dep = dependency('harfbuzz', version: '>= 0.9', required: false) +xkbdep = dependency('xkbcommon', version: '>= 0.2.0') + +if wayland_enabled + wlclientdep = dependency('wayland-client', version: '>= 1.9.91') + wlprotocolsdep = dependency('wayland-protocols', version: '>= 1.7') + wlcursordep = dependency('wayland-cursor', version: '>= 1.9.91') + wlegldep = dependency('wayland-egl') +endif + +if x11_enabled + xrandr_dep = dependency('xrandr', version: '>= 1.2.99') + xrandr15_dep = dependency('xrandr', version: '>= 1.5', required: false) + x11_dep = dependency('x11') + xrender_dep = dependency('xrender') + xi_dep = dependency('xi') + xext_dep = dependency('xext') + xcursor_dep = dependency('xcursor', required: false) + xdamage_dep = dependency('xdamage', required: false) + xfixes_dep = dependency('xfixes', required: false) + xcomposite_dep = dependency('xcomposite', required: false) + + + if xdamage_dep.found() + cdata.set('HAVE_XDAMAGE', 1) + endif + + if xcursor_dep.found() + cdata.set('HAVE_XCURSOR', 1) + endif + + if xcomposite_dep.found() + cdata.set('HAVE_XCOMPOSITE', 1) + endif + + if xfixes_dep.found() + cdata.set('HAVE_XFIXES', 1) + endif + + + + if xi_dep.found() and cc.has_header('X11/extensions/XInput2.h') + cdata.set('XINPUT_2', 1) + prefix = '#include\n#include' + if cc.has_function('XIAllowTouchEvents', prefix: prefix) and cc.has_member('XIScrollClassInfo', 'number', prefix: prefix) + cdata.set('XINPUT_2_2', 1) + endif + endif + + if xrandr_dep.found() + cdata.set('HAVE_RANDR', 1) + + if xrandr15_dep.found() + cdata.set('HAVE_RANDR15', 1) + endif + endif +endif + +mlib = cc.find_library('m', required: false) +shmlib = cc.find_library('rt') + +if giounix_dep.found() + cdata.set('HAVE_GIO_UNIX', 1) +endif + +if colord_dep.found() + cdata.set('HAVE_COLORD', 1) +endif + +if mlib.found() + cdata.set('HAVE_LIBM', 1) +endif + +configure_file( + input : 'config.h.meson', + output: 'config.h', + configuration: cdata +) + +subdir('gdk') +subdir('gtk') +subdir('demos') +subdir('tests') +subdir('testsuite') +subdir('examples') diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000000..e8f8ee60e9 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,3 @@ +option('enable-x11-backend', type: 'boolean', value: 'true') +option('enable-wayland-backend', type: 'boolean', value: 'true') +option('enable-broadway-backend', type: 'boolean', value: 'false') diff --git a/tests/meson.build b/tests/meson.build new file mode 100644 index 0000000000..2fdc5ebd5d --- /dev/null +++ b/tests/meson.build @@ -0,0 +1,212 @@ + +test_animated_resizing = executable('animated-resizing', + 'animated-resizing.c', + 'frame-stats.c', + 'frame-stats.h', + 'variable.c', + 'variable.h', + dependencies: libgtk_dep +) +test_animted_revealing = executable('animated-revealing', + 'animated-revealing.c', + 'frame-stats.c', + 'frame-stats.h', + 'variable.c', + 'variable.h', + dependencies: libgtk_dep +) +test_scrolling_performance = executable('scrolling-performance', + 'scrolling-performance.c', + 'frame-stats.c', + 'frame-stats.h', + 'variable.c', + 'variable.h', + dependencies: libgtk_dep +) +test_blur_performance = executable('blur-performance', + 'blur-performance.c', + '../gtk/gtkcairoblur.c', + dependencies: libgtk_dep +) +test_video_timer = executable('video-timer', + 'video-timer.c', + 'variable.c', + 'variable.h', + dependencies: libgtk_dep +) +test_print = executable('testprint', + 'testprint.c', + 'testprintfileoperation.c', + 'testprintfileoperation.h', + dependencies: libgtk_dep +) + +test_offscren = executable('testoffscreen', + 'testoffscreen.c', + 'gtkoffscreenbox.c', + 'gtkoffscreenbox.h', + dependencies: libgtk_dep +) +test_gdkgears = executable('gdkgears', + 'gdkgears.c', + 'gtkgears.c', + 'gtkgears.h', + dependencies: libgtk_dep +) +test_glblending = executable('testglblending', + 'testglblending.c', + 'gtkgears.c', + 'gtkgears.h', + dependencies: libgtk_dep +) + +test_boxcss = executable('testboxcss', 'testboxcss.c', dependencies: libgtk_dep) +test_entrycompletion = executable('testentrycompletion', 'testentrycompletion.c', dependencies: libgtk_dep) +test_entryicons = executable('testentryicons', 'testentryicons.c', dependencies: libgtk_dep) +test_filechooser = executable('testfilechooser', 'testfilechooser.c', dependencies: libgtk_dep) +test_filechooserbutton = executable('testfilechooserbutton', 'testfilechooserbutton.c', dependencies: libgtk_dep) +test_flowbox = executable('testflowbox', 'testflowbox.c', dependencies: libgtk_dep) +test_fontselection = executable('testfontselection', 'testfontselection.c', dependencies: libgtk_dep) +test_fontselectiondialog = executable('testfontselectiondialog', 'testfontselectiondialog.c', dependencies: libgtk_dep) +test_fontchooser = executable('testfontchooser', 'testfontchooser.c', dependencies: libgtk_dep) +test_fontoptions = executable('testfontoptions', 'testfontoptions.c', dependencies: libgtk_dep) +test_grid = executable('testgrid', 'testgrid.c', dependencies: libgtk_dep) +# TODO: Can't find the x11/gdkx.h +#test_gtk = executable('testgtk', 'testgtk.c', dependencies: libgtk_dep) +test_treechanging = executable('testtreechanging', 'testtreechanging.c', dependencies: libgtk_dep) +test_treednd = executable('testtreednd', 'testtreednd.c', dependencies: libgtk_dep) +test_treeedit = executable('testtreeedit', 'testtreeedit.c', dependencies: libgtk_dep) +test_treemodel = executable('testtreemodel', 'testtreemodel.c', dependencies: libgtk_dep) +test_treeview = executable('testtreeview', 'testtreeview.c', dependencies: libgtk_dep) +test_treefocus = executable('testtreefocus', 'testtreefocus.c', dependencies: libgtk_dep) +test_treeflow = executable('testtreeflow', 'testtreeflow.c', dependencies: libgtk_dep) +test_treecolumns = executable('testtreecolumns', 'testtreecolumns.c', dependencies: libgtk_dep) +test_treecolumnsizing = executable('testtreecolumnsizing', 'testtreecolumnsizing.c', dependencies: libgtk_dep) +test_treesort = executable('testtreesort', 'testtreesort.c', dependencies: libgtk_dep) +test_toolbar = executable('testtoolbar', 'testtoolbar.c', dependencies: libgtk_dep) +test_toolbar2 = executable('testtoolbar2', 'testtoolbar2.c', dependencies: libgtk_dep) +test_menubutton = executable('testmenubutton', 'testmenubutton.c', dependencies: libgtk_dep) +test_spinbutton = executable('testspinbutton', 'testspinbutton.c', dependencies: libgtk_dep) +test_statusicon = executable('teststatusicon', 'teststatusicon.c', dependencies: libgtk_dep) +test_merge = executable('testmerge', 'testmerge.c', dependencies: libgtk_dep) +test_actions = executable('testactions', 'testactions.c', dependencies: libgtk_dep) +test_baseline = executable('testbaseline', 'testbaseline.c', dependencies: libgtk_dep) +test_bbox = executable('testbbox', 'testbbox.c', dependencies: libgtk_dep) +test_buttons = executable('testbuttons', 'testbuttons.c', dependencies: libgtk_dep) +test_frame = executable('testframe', 'testframe.c', dependencies: libgtk_dep) +test_geometry = executable('testgeometry', 'testgeometry.c', dependencies: libgtk_dep) +test_giconpixbuf = executable('testgiconpixbuf', 'testgiconpixbuf.c', dependencies: libgtk_dep) +test_iconview = executable('testiconview', 'testiconview.c', dependencies: libgtk_dep) +test_iconview_keynav = executable('testiconview_keynav', 'testiconview-keynav.c', dependencies: libgtk_dep) +test_numerableicon = executable('testnumerableicon', 'testnumerableicon.c', dependencies: libgtk_dep) +test_recentchooser = executable('testrecentchooser', 'testrecentchooser.c', dependencies: libgtk_dep) +test_grouping = executable('testgrouping', 'testgrouping.c', dependencies: libgtk_dep) +test_tooltips = executable('testtooltips', 'testtooltips.c', dependencies: libgtk_dep) +test_recentchoosermenu = executable('testrecentchoosermenu', 'testrecentchoosermenu.c', dependencies: libgtk_dep) +test_volumebutton = executable('testvolumebutton', 'testvolumebutton.c', dependencies: libgtk_dep) +test_scrolledwindow = executable('testscrolledwindow', 'testscrolledwindow.c', dependencies: libgtk_dep) +test_cellarea = executable('testcellarea', 'testcellarea.c', dependencies: libgtk_dep) +test_treemenu = executable('testtreemenu', 'testtreemenu.c', dependencies: libgtk_dep) +test_offscreenwindow = executable('testoffscreenwindow', 'testoffscreenwindow.c', dependencies: libgtk_dep) +test_overlay = executable('testoverlay', 'testoverlay.c', dependencies: libgtk_dep) +test_overlaystyleclass = executable('testoverlaystyleclass', 'testoverlaystyleclass.c', dependencies: libgtk_dep) +test_appchooser = executable('testappchooser', 'testappchooser.c', dependencies: libgtk_dep) +test_windows = executable('testwindows', 'testwindows.c', dependencies: libgtk_dep) +test_expand = executable('testexpand', 'testexpand.c', dependencies: libgtk_dep) +test_expander = executable('testexpander', 'testexpander.c', dependencies: libgtk_dep) +test_switch = executable('testswitch', 'testswitch.c', dependencies: libgtk_dep) +test_styleexamples = executable('styleexamples', 'styleexamples.c', dependencies: libgtk_dep) +test_toplevelembed = executable('testtoplevelembed', 'testtoplevelembed.c', dependencies: libgtk_dep) +test_textview = executable('testtextview', 'testtextview.c', dependencies: libgtk_dep) +test_animation = executable('testanimation', 'testanimation.c', dependencies: libgtk_dep) +test_pixbuf_scale = executable('testpixbuf_scale', 'testpixbuf-scale.c', dependencies: libgtk_dep) +test_pixbuf_color = executable('testpixbuf_color', 'testpixbuf-color.c', dependencies: libgtk_dep) +test_pixbuf_save = executable('testpixbuf_save', 'testpixbuf-save.c', dependencies: libgtk_dep) +test_colorchooser = executable('testcolorchooser', 'testcolorchooser.c', dependencies: libgtk_dep) +test_colorchooser2 = executable('testcolorchooser2', 'testcolorchooser2.c', dependencies: libgtk_dep) +test_kineticscrolling = executable('testkineticscrolling', 'testkineticscrolling.c', dependencies: libgtk_dep) +test_stack = executable('teststack', 'teststack.c', dependencies: libgtk_dep) +test_revealer = executable('testrevealer', 'testrevealer.c', dependencies: libgtk_dep) +test_revealer2 = executable('testrevealer2', 'testrevealer2.c', dependencies: libgtk_dep) +test_titlebar = executable('testtitlebar', 'testtitlebar.c', dependencies: libgtk_dep) +test_windowsize = executable('testwindowsize', 'testwindowsize.c', dependencies: libgtk_dep) +test_listmodel = executable('listmodel', 'listmodel.c', dependencies: libgtk_dep) +test_popover = executable('testpopover', 'testpopover.c', dependencies: libgtk_dep) +test_cairo = executable('testcairo', 'testcairo.c', dependencies: libgtk_dep) +test_overlayscroll = executable('overlayscroll', 'overlayscroll.c', dependencies: libgtk_dep) +test_syncscroll = executable('syncscroll', 'syncscroll.c', dependencies: libgtk_dep) +test_subsurface = executable('subsurface', 'subsurface.c', dependencies: libgtk_dep) +test_motion_compression = executable('motion-compression', 'motion-compression.c', dependencies: libgtk_dep) +test_simple = executable('simple', 'simple.c', dependencies: libgtk_dep) +test_flicker = executable('flicker', 'flicker.c', dependencies: libgtk_dep) +test_print_editor = executable('print-editor', 'print-editor.c', dependencies: libgtk_dep) +test_accel = executable('testaccel', 'testaccel.c', dependencies: libgtk_dep) +test_adjustsize = executable('testadjustsize', 'testadjustsize.c', dependencies: libgtk_dep) +test_appchooserbutton = executable('testappchooserbutton', 'testappchooserbutton.c', dependencies: libgtk_dep) +test_assistant = executable('testassistant', 'testassistant.c', dependencies: libgtk_dep) +test_box = executable('testbox', 'testbox.c', dependencies: libgtk_dep) +test_calendar = executable('testcalendar', 'testcalendar.c', dependencies: libgtk_dep) +test_clipboard = executable('testclipboard', 'testclipboard.c', dependencies: libgtk_dep) +test_combo = executable('testcombo', 'testcombo.c', dependencies: libgtk_dep) +test_combochange = executable('testcombochange', 'testcombochange.c', dependencies: libgtk_dep) +test_cellrenderertext = executable('testcellrenderertext', 'testcellrenderertext.c', dependencies: libgtk_dep) +test_dialog = executable('testdialog', 'testdialog.c', dependencies: libgtk_dep) +test_dnd = executable('testdnd', 'testdnd.c', dependencies: libgtk_dep) +test_dnd2 = executable('testdnd2', 'testdnd2.c', dependencies: libgtk_dep) +test_ellipsise = executable('testellipsise', 'testellipsise.c', dependencies: libgtk_dep) +test_emblems = executable('testemblems', 'testemblems.c', dependencies: libgtk_dep) +test_fullscreen = executable('testfullscreen', 'testfullscreen.c', dependencies: libgtk_dep) +test_headerbar = executable('testheaderbar', 'testheaderbar.c', dependencies: libgtk_dep) +test_heightforwidth = executable('testheightforwidth', 'testheightforwidth.c', dependencies: libgtk_dep) +test_icontheme = executable('testicontheme', 'testicontheme.c', dependencies: libgtk_dep) +test_image = executable('testimage', 'testimage.c', dependencies: libgtk_dep) +test_input = executable('testinput', 'testinput.c', dependencies: libgtk_dep) +test_list = executable('testlist', 'testlist.c', dependencies: libgtk_dep) +test_list2 = executable('testlist2', 'testlist2.c', dependencies: libgtk_dep) +test_list3 = executable('testlist3', 'testlist3.c', dependencies: libgtk_dep) +test_levelbar = executable('testlevelbar', 'testlevelbar.c', dependencies: libgtk_dep) +test_lockbutton = executable('testlockbutton', 'testlockbutton.c', dependencies: libgtk_dep) +test_mountoperation = executable('testmountoperation', 'testmountoperation.c', dependencies: libgtk_dep) +test_multidisplay = executable('testmultidisplay', 'testmultidisplay.c', dependencies: libgtk_dep) +test_notebookdnd = executable('testnotebookdnd', 'testnotebookdnd.c', dependencies: libgtk_dep) +test_nouiprint = executable('testnouiprint', 'testnouiprint.c', dependencies: libgtk_dep) +test_orientable = executable('testorientable', 'testorientable.c', dependencies: libgtk_dep) +test_richtext = executable('testrichtext', 'testrichtext.c', dependencies: libgtk_dep) +test_scale = executable('testscale', 'testscale.c', dependencies: libgtk_dep) +test_selection = executable('testselection', 'testselection.c', dependencies: libgtk_dep) +test_selectionmode = executable('testselectionmode', 'testselectionmode.c', dependencies: libgtk_dep) +test_stockbuttonmenu = executable('teststockbuttonmenu', 'teststockbuttonmenu.c', dependencies: libgtk_dep) +test_stresstest_toolbar = executable('stresstest-oolbar', 'stresstest-toolbar.c', dependencies: libgtk_dep) +test_verticalcells = executable('testverticalcells', 'testverticalcells.c', dependencies: libgtk_dep) +test_treestoretest = executable('treestoretest', 'treestoretest.c', dependencies: libgtk_dep) +test_xinerama = executable('testxinerama', 'testxinerama.c', dependencies: libgtk_dep) +test_scrolledge = executable('testscrolledge', 'testscrolledge.c', dependencies: libgtk_dep) +test_noscreen = executable('testnoscreen', 'testnoscreen.c', dependencies: libgtk_dep) +test_treepos = executable('testtreepos', 'testtreepos.c', dependencies: libgtk_dep) +test_sensitive = executable('testsensitive', 'testsensitive.c', dependencies: libgtk_dep) +test_gmenu = executable('testgmenu', 'testgmenu.c', dependencies: libgtk_dep) +test_logout = executable('testlogout', 'testlogout.c', dependencies: libgtk_dep) +test_splitheaders = executable('testsplitheaders', 'testsplitheaders.c', dependencies: libgtk_dep) +test_actionbar = executable('testactionbar', 'testactionbar.c', dependencies: libgtk_dep) +test_popup = executable('testpopup', 'testpopup.c', dependencies: libgtk_dep) +test_popupat = executable('testpopupat', 'testpopupat.c', dependencies: libgtk_dep) + +# Conditionally compiled tests +if x11_enabled + test_socket = executable('testsocket', + 'testsocket.c', + 'testsocket_common.c', + dependencies: libgtk_dep + ) + test_socket_child = executable('testsocket_child', + 'testsocket_child.c', + 'testsocket_common.c', + dependencies: libgtk_dep + ) +endif + +if os_linux + test_fontchooserdialog = executable('testfontchooserdialog', 'testfontchooserdialog.c', dependencies: libgtk_dep) +endif + +subdir('visuals') diff --git a/tests/visuals/meson.build b/tests/visuals/meson.build new file mode 100644 index 0000000000..3aa3f9b9f5 --- /dev/null +++ b/tests/visuals/meson.build @@ -0,0 +1,6 @@ + +visuals = executable( + 'visuals', + 'visuals.c', + dependencies: libgtk_dep, +) diff --git a/testsuite/css/meson.build b/testsuite/css/meson.build new file mode 100644 index 0000000000..e90cd77c96 --- /dev/null +++ b/testsuite/css/meson.build @@ -0,0 +1,6 @@ +subdir('parser') +subdir('nodes') +subdir('style') + +test_api = executable('api', 'api.c', dependencies: libgtk_dep) +test('css/api', test_api) diff --git a/testsuite/css/nodes/meson.build b/testsuite/css/nodes/meson.build new file mode 100644 index 0000000000..a7d5050abd --- /dev/null +++ b/testsuite/css/nodes/meson.build @@ -0,0 +1,3 @@ + +test_nodes = executable('test-css-nodes', 'test-css-nodes.c', dependencies: libgtk_dep) +test('css/nodes/test-nodes', test_nodes) diff --git a/testsuite/css/parser/meson.build b/testsuite/css/parser/meson.build new file mode 100644 index 0000000000..fee149a7c0 --- /dev/null +++ b/testsuite/css/parser/meson.build @@ -0,0 +1,3 @@ + +test_parser = executable('test-css-parser', 'test-css-parser.c', dependencies: libgtk_dep) +test('css/parser/css-parser', test_parser) diff --git a/testsuite/css/style/meson.build b/testsuite/css/style/meson.build new file mode 100644 index 0000000000..db3766a5e3 --- /dev/null +++ b/testsuite/css/style/meson.build @@ -0,0 +1,14 @@ + +cssresources = gnome.compile_resources( + 'cssresources', + 'test-css-style.gresource.xml', + source_dir: '.', +) + +test_style = executable( + 'test-css-style', + 'test-css-style.c', + cssresources, + dependencies: libgtk_dep, +) +test('css/style/test-style', test_style) diff --git a/testsuite/gdk/meson.build b/testsuite/gdk/meson.build new file mode 100644 index 0000000000..6c33c5e165 --- /dev/null +++ b/testsuite/gdk/meson.build @@ -0,0 +1,24 @@ + +test_cairo = executable('cairo', 'cairo.c', dependencies: libgdk_dep) +test('gdk/cairo', test_cairo) + +test_display = executable('display', 'display.c', dependencies: libgdk_dep) +test('gdk/display', test_display) + +test_encoding = executable('encoding', 'encoding.c', dependencies: libgdk_dep) +test('gdk/encoding', test_encoding) + +test_keysyms = executable('keysyms', 'keysyms.c', dependencies: libgdk_dep) +test('gdk/keysyms', test_keysyms) + +test_rectangle = executable('rectangle', 'rectangle.c', dependencies: libgdk_dep) +test('gdk/rectangle', test_rectangle) + +test_rgba = executable('rgba', 'rgba.c', dependencies: libgdk_dep) +test('gdk/rgba', test_rgba) + +test_seat = executable('seat', 'seat.c', dependencies: libgdk_dep) +test('gdk/seat', test_seat) + +test_visual = executable('visual', 'visual.c', dependencies: libgdk_dep) +test('gdk/visual', test_visual) diff --git a/testsuite/gtk/meson.build b/testsuite/gtk/meson.build new file mode 100644 index 0000000000..a11db7be76 --- /dev/null +++ b/testsuite/gtk/meson.build @@ -0,0 +1,150 @@ +test_accel = executable('accel', 'accel.c', dependencies: libgtk_dep) +test('gtk/accel test', test_accel) + +test_accessible = executable('accessible', 'accessible.c', dependencies: libgtk_dep) +test('gtk/accessible test', test_accessible) + +test_action = executable('action', 'action.c', dependencies: libgtk_dep) +test('gtk/action test', test_action) + + +test_adjustment = executable('adjustment', 'adjustment.c', dependencies: libgtk_dep) +test('gtk/adjustment test', test_adjustment) + +test_bitmask = executable('bitmask', 'bitmask.c', dependencies: libgtk_dep) +test('gtk/bitmask test', test_bitmask) + +test_builder = executable('builder', 'builder.c', dependencies: libgtk_dep) +test('gtk/builder test', test_builder) + +test_builderparser = executable( + 'builderparser', + 'builderparser.c', + dependencies: libgtk_dep, + link_with: libgtk, + +) +test( + 'gtk/builderparser test', + test_builderparser, + env: [ + 'G_TEST_SRCDIR='+meson.source_root(), + 'G_TEST_BUILDDIR='+meson.build_root() + ] +) + +test_cellarea = executable('cellarea', 'cellarea.c', dependencies: libgtk_dep) +test('gtk/cellarea test', test_cellarea) + +test_check_icon_names = executable('check_icon_names', 'check-icon-names.c', dependencies: libgtk_dep) +test('gtk/check_icon_names test', test_check_icon_names) + +test_check_cursor_names = executable('check_cursor_names', 'check-cursor-names.c', dependencies: libgtk_dep) +test('gtk/check_cursor_names test', test_check_cursor_names) + +test_clipboard = executable('clipboard', 'clipboard.c', dependencies: libgtk_dep) +test('gtk/clipboard test', test_clipboard) + +test_cssprovider = executable('cssprovider', 'cssprovider.c', dependencies: libgtk_dep) +test('gtk/cssprovider test', test_cssprovider) + +test_defaultvalue = executable('defaultvalue', 'defaultvalue.c', dependencies: libgtk_dep) +test('gtk/defaultvalue test', test_defaultvalue) + +test_entry = executable('entry', 'entry.c', dependencies: libgtk_dep) +test('gtk/entry test', test_entry) + +test_firefox_stylecontext = executable('firefox_stylecontext', 'firefox-stylecontext.c', dependencies: libgtk_dep) +test('gtk/firefox_stylecontext test', test_firefox_stylecontext) + +test_floating = executable('floating', 'floating.c', dependencies: libgtk_dep) +test('gtk/floating test', test_floating) + +test_focus = executable('focus', 'focus.c', dependencies: libgtk_dep) +test('gtk/focus test', test_focus) + +test_gestures = executable('gestures', 'gestures.c', dependencies: libgtk_dep) +test('gtk/gestures test', test_gestures) + +test_grid = executable('grid', 'grid.c', dependencies: libgtk_dep) +test('gtk/grid test', test_grid) + +test_gtkmenu = executable('gtkmenu', 'gtkmenu.c', dependencies: libgtk_dep) +test('gtk/gtkmenu test', test_gtkmenu) + +test_icontheme = executable('icontheme', 'icontheme.c', dependencies: libgtk_dep) +test('gtk/icontheme test', test_icontheme) + +test_keyhash = executable('keyhash', 'keyhash.c', dependencies: libgtk_dep) +test('gtk/keyhash test', test_keyhash) + +test_listbox = executable('listbox', 'listbox.c', dependencies: libgtk_dep) +test('gtk/listbox test', test_listbox) + +test_notify = executable('notify', 'notify.c', dependencies: libgtk_dep) +test('gtk/notify test', test_notify) + +test_no_gtk_init = executable('no_gtk_init', 'no-gtk-init.c', dependencies: libgtk_dep) +test('gtk/no_gtk_init test', test_no_gtk_init) + +test_object = executable('object', 'object.c', dependencies: libgtk_dep) +test('gtk/object test', test_object) + +test_objects_finalize = executable('objects_finalize', 'objects-finalize.c', dependencies: libgtk_dep) +test('gtk/objects_finalize test', test_objects_finalize) + +test_papersize = executable('papersize', 'papersize.c', dependencies: libgtk_dep) +test('gtk/papersize test', test_papersize) + +test_rbtree = executable('rbtree', 'rbtree.c', dependencies: libgtk_dep) +test('gtk/rbtree test', test_rbtree) + +test_recentmanager = executable('recentmanager', 'recentmanager.c', dependencies: libgtk_dep) +test('gtk/recentmanager test', test_recentmanager) + +test_regression_tests = executable('regression_tests', 'regression-tests.c', dependencies: libgtk_dep) +test('gtk/regression_tests test', test_regression_tests) + +test_scrolledwindow = executable('scrolledwindow', 'scrolledwindow.c', dependencies: libgtk_dep) +test('gtk/scrolledwindow test', test_scrolledwindow) + +test_spinbutton = executable('spinbutton', 'spinbutton.c', dependencies: libgtk_dep) +test('gtk/spinbutton test', test_spinbutton) + +test_stylecontext = executable('stylecontext', 'stylecontext.c', dependencies: libgtk_dep) +test('gtk/stylecontext test', test_stylecontext) + +test_templates = executable('templates', 'templates.c', dependencies: libgtk_dep) +test('gtk/templates test', test_templates) + +test_textbuffer = executable('textbuffer', 'textbuffer.c', dependencies: libgtk_dep) +test('gtk/textbuffer test', test_textbuffer) + +test_textiter = executable('textiter', 'textiter.c', dependencies: libgtk_dep) +test('gtk/textiter test', test_textiter) + +test_treemodel = executable( + 'treemodel', + 'treemodel.c', 'liststore.c', 'treestore.c', 'filtermodel.c', + 'modelrefcount.c', 'sortmodel.c', 'gtktreemodelrefcount.c', + dependencies: libgtk_dep +) +test('gtk/treemodel test', test_treemodel) + +test_treepath = executable('treepath', 'treepath.c', dependencies: libgtk_dep) +test('gtk/treepath test', test_treepath) + +test_treeview = executable('treeview', 'treeview.c', dependencies: libgtk_dep) +test('gtk/treeview test', test_treeview) + +test_typename = executable('typename', 'typename.c', dependencies: libgtk_dep) +test('gtk/typename test', test_typename) + +test_window = executable('window', 'window.c', dependencies: libgtk_dep) +test('gtk/window test', test_window) + +test_displayclose = executable('displayclose', 'displayclose.c', dependencies: libgtk_dep) +test('gtk/displayclose test', test_displayclose) + +test_revealer_size = executable('revealer_size', 'revealer-size.c', dependencies: libgtk_dep) +test('gtk/revealer_size test', test_revealer_size) diff --git a/testsuite/meson.build b/testsuite/meson.build new file mode 100644 index 0000000000..a3507d5e06 --- /dev/null +++ b/testsuite/meson.build @@ -0,0 +1,3 @@ +subdir('gtk') +subdir('gdk') +subdir('css')