summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2016-08-15 09:03:57 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2016-08-15 09:03:57 +0100
commita1a5ae20bf6205832f6b729cb8f673a4db651f46 (patch)
tree1995e6af486a66ef43e2bdff6861cd5336ab8dc7
parenta782d632f8cf768a2df819fc38df9e6d1fb92f3e (diff)
downloadgtk+-wip/ebassi/meson.tar.gz
Add Meson build fileswip/ebassi/meson
Original work by: Jussi Pakkanen <jpakkane@gmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=769881
-rw-r--r--config.h.meson302
-rwxr-xr-xgdk/build_enum.py29
-rwxr-xr-xgdk/build_marshal.py29
-rw-r--r--gdk/meson.build171
-rw-r--r--gtk/a11y/meson.build56
-rw-r--r--gtk/deprecated/meson.build42
-rw-r--r--gtk/inspector/meson.build31
-rw-r--r--gtk/meson.build409
-rw-r--r--meson.build138
9 files changed, 1207 insertions, 0 deletions
diff --git a/config.h.meson b/config.h.meson
new file mode 100644
index 0000000000..8431e04788
--- /dev/null
+++ b/config.h.meson
@@ -0,0 +1,302 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* always defined to indicate that i18n is enabled */
+#mesondefine ENABLE_NLS
+
+/* The prefix for our gettext translation domains. */
+#mesondefine GETTEXT_PACKAGE
+
+/* Disable deprecation warnings from glib */
+#mesondefine GLIB_DISABLE_DEPRECATION_WARNINGS
+
+/* Define the location where the catalogs will be installed */
+#mesondefine GTK_LOCALEDIR
+
+/* Define to 1 if you have the `bind_textdomain_codeset' function. */
+#mesondefine HAVE_BIND_TEXTDOMAIN_CODESET
+
+/* define if we have colord */
+#mesondefine HAVE_COLORD
+
+/* Define to 1 if you have the <crt_externs.h> header file. */
+#mesondefine HAVE_CRT_EXTERNS_H
+
+/* Define to 1 if CUPS 1.6 API is available */
+#mesondefine HAVE_CUPS_API_1_6
+
+/* Define to 1 if you have the `dcgettext' function. */
+#mesondefine HAVE_DCGETTEXT
+
+/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
+ */
+#mesondefine HAVE_DECL_ISINF
+
+/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
+ */
+#mesondefine HAVE_DECL_ISNAN
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#mesondefine HAVE_DLFCN_H
+
+/* Define to 1 if you have the <ftw.h> header file. */
+#mesondefine HAVE_FTW_H
+
+/* Define to 1 if you have the `getpagesize' function. */
+#mesondefine HAVE_GETPAGESIZE
+
+/* Define to 1 if you have the `getresuid' function. */
+#mesondefine HAVE_GETRESUID
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#mesondefine HAVE_GETTEXT
+
+/* Define if gio-unix is available */
+#mesondefine HAVE_GIO_UNIX
+
+/* Have GNU ftw */
+#mesondefine HAVE_GNU_FTW
+
+/* Define to 1 if you have the `httpGetAuthString' function. */
+#mesondefine HAVE_HTTPGETAUTHSTRING
+
+/* Define if cups http_t authstring field is accessible */
+#mesondefine HAVE_HTTP_AUTHSTRING
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#mesondefine HAVE_INTTYPES_H
+
+/* Define to 1 if the system has the type `IPrintDialogCallback'. */
+#mesondefine HAVE_IPRINTDIALOGCALLBACK
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#mesondefine HAVE_LC_MESSAGES
+
+/* Define to 1 if you have the `m' library (-lm). */
+#mesondefine HAVE_LIBM
+
+/* Define to 1 if you have the <locale.h> header file. */
+#mesondefine HAVE_LOCALE_H
+
+/* Define to 1 if you have the `localtime_r' function. */
+#mesondefine HAVE_LOCALTIME_R
+
+/* Define to 1 if you have the `lstat' function. */
+#mesondefine HAVE_LSTAT
+
+/* Define to 1 if you have the `mallinfo' function. */
+#mesondefine HAVE_MALLINFO
+
+/* Define to 1 if you have the <memory.h> header file. */
+#mesondefine HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mkstemp' function. */
+#mesondefine HAVE_MKSTEMP
+
+/* Define to 1 if you have a working `mmap' system call. */
+#mesondefine HAVE_MMAP
+
+/* Define to 1 if you have the `nearbyint' function. */
+#mesondefine HAVE_NEARBYINT
+
+/* Define to 1 if libpapi available */
+#mesondefine HAVE_PAPI
+
+/* Define to 1 if you have the `posix_fallocate' function. */
+#mesondefine HAVE_POSIX_FALLOCATE
+
+/* Have the Xrandr extension library */
+#mesondefine HAVE_RANDR
+
+/* Have the Xrandr 1.5 extension library */
+#mesondefine HAVE_RANDR15
+
+/* Define to 1 if you have the `rint' function. */
+#mesondefine HAVE_RINT
+
+/* Define to 1 if you have the `round' function. */
+#mesondefine HAVE_ROUND
+
+/* Define to 1 if you have the `sincos' function. */
+#mesondefine HAVE_SINCOS
+
+/* Have the sockaddr_un.sun_len member */
+#mesondefine HAVE_SOCKADDR_UN_SUN_LEN
+
+/* Define to 1 if solaris xinerama is available */
+#mesondefine HAVE_SOLARIS_XINERAMA
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#mesondefine HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#mesondefine HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#mesondefine HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#mesondefine HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#mesondefine HAVE_SYS_MMAN_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#mesondefine HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#mesondefine HAVE_SYS_STAT_H
+
+/* Define to 1 if sys/sysinfo.h is available */
+#mesondefine HAVE_SYS_SYSINFO_H
+
+/* Define to 1 if sys/systeminfo.h is available */
+#mesondefine HAVE_SYS_SYSTEMINFO_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#mesondefine HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#mesondefine HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#mesondefine HAVE_UNISTD_H
+
+/* Have the XCOMPOSITE X extension */
+#mesondefine HAVE_XCOMPOSITE
+
+/* Have the Xcursor library */
+#mesondefine HAVE_XCURSOR
+
+/* Have the XDAMAGE X extension */
+#mesondefine HAVE_XDAMAGE
+
+/* Have the XFIXES X extension */
+#mesondefine HAVE_XFIXES
+
+/* Define to 1 if XFree Xinerama is available */
+#mesondefine HAVE_XFREE_XINERAMA
+
+/* Have XGenericEvent */
+#mesondefine HAVE_XGENERICEVENTS
+
+/* Define to 1 if xinerama is available */
+#mesondefine HAVE_XINERAMA
+
+/* Define to use XKB extension */
+#mesondefine HAVE_XKB
+
+/* Have the SYNC extension library */
+#mesondefine HAVE_XSYNC
+
+/* Define if _NL_MEASUREMENT_MEASUREMENT is available */
+#mesondefine HAVE__NL_MEASUREMENT_MEASUREMENT
+
+/* Define if _NL_PAPER_HEIGHT is available */
+#mesondefine HAVE__NL_PAPER_HEIGHT
+
+/* Define if _NL_PAPER_WIDTH is available */
+#mesondefine HAVE__NL_PAPER_WIDTH
+
+/* Define if _NL_TIME_FIRST_WEEKDAY is available */
+#mesondefine HAVE__NL_TIME_FIRST_WEEKDAY
+
+/* Define to 1 if you have the `_NSGetEnviron' function. */
+#mesondefine HAVE__NSGETENVIRON
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#mesondefine LT_OBJDIR
+
+/* Define if <X11/extensions/XIproto.h> needed for xReply */
+#mesondefine NEED_XIPROTO_H_FOR_XREPLY
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#mesondefine NO_MINUS_C_MINUS_O
+
+/* Define to the address where bug reports for this package should be sent. */
+#mesondefine PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#mesondefine PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#mesondefine PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#mesondefine PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#mesondefine PACKAGE_URL
+
+/* Define to the version of this package. */
+#mesondefine PACKAGE_VERSION
+
+/* Use NSBundle functions to determine load paths for libraries, translations,
+ etc. */
+#mesondefine QUARTZ_RELOCATION
+
+/* Define to 1 if you have the ANSI C header files. */
+#mesondefine STDC_HEADERS
+
+/* Define to 1 if gmodule works and should be used */
+#mesondefine USE_GMODULE
+
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Define to 1 if XInput 2.0 is available */
+#mesondefine XINPUT_2
+
+/* Define to 1 if XInput 2.2 is available */
+#mesondefine XINPUT_2_2
+
+/* Define to 1 if the X Window System is missing or not being used. */
+#mesondefine X_DISPLAY_MISSING
+
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#mesondefine _FILE_OFFSET_BITS
+
+/* defines how to decorate public symbols while building */
+#mesondefine _GDK_EXTERN
+
+/* Define for large files, on AIX-style hosts. */
+#mesondefine _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#mesondefine _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#mesondefine _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#mesondefine _POSIX_SOURCE
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#mesondefine gid_t
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#mesondefine uid_t
diff --git a/gdk/build_enum.py b/gdk/build_enum.py
new file mode 100755
index 0000000000..9705497eea
--- /dev/null
+++ b/gdk/build_enum.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+
+# This is in its own file rather than inside meson.build
+# because a) mixing the two is ugly and b) trying to
+# make special characters such as \n go through all
+# backends is a fool's errand.
+
+import sys, os, shutil, subprocess
+
+# HORRIBLE, use current_source_dir() as an argument instead.
+h_array = ['--template', '../gdk/gdkenumtypes.h.template']
+
+c_array = ['--template', '../gdk/gdkenumtypes.c.template']
+
+# [perl, glib-mkenums]
+cmd = [sys.argv[1], sys.argv[2]]
+ofilename = sys.argv[3]
+headers = sys.argv[4:]
+
+if ofilename.endswith('.h'):
+ arg_array = h_array
+else:
+ arg_array = c_array
+
+pc = subprocess.Popen(cmd + arg_array + headers, stdout=subprocess.PIPE)
+(stdo, _) = pc.communicate()
+if pc.returncode != 0:
+ sys.exit(pc.returncode)
+open(ofilename, 'wb').write(stdo)
diff --git a/gdk/build_marshal.py b/gdk/build_marshal.py
new file mode 100755
index 0000000000..9c2f42c1c9
--- /dev/null
+++ b/gdk/build_marshal.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+
+# This is in its own file rather than inside meson.build
+# because a) mixing the two is ugly and b) trying to
+# make special characters such as \n go through all
+# backends is a fool's errand.
+
+import sys, os, shutil, subprocess
+
+# HORRIBLE, use current_source_dir() as an argument instead.
+h_array = ['--prefix=_gdk_marshal', '--header']
+
+c_array = ['--prefix=_gdk_marshal', '--body']
+
+# [genmarshal, infile, outfile]
+cmd = [sys.argv[1]]
+ifilename = sys.argv[2]
+ofilename = sys.argv[3]
+
+if ofilename.endswith('.h'):
+ arg_array = h_array
+else:
+ arg_array = c_array
+
+pc = subprocess.Popen(cmd + [ifilename] + arg_array, stdout=subprocess.PIPE)
+(stdo, _) = pc.communicate()
+if pc.returncode != 0:
+ sys.exit(pc.returncode)
+open(ofilename, 'wb').write(stdo)
diff --git a/gdk/meson.build b/gdk/meson.build
new file mode 100644
index 0000000000..1fc85fdc01
--- /dev/null
+++ b/gdk/meson.build
@@ -0,0 +1,171 @@
+deprecated_gdk_sources = ['deprecated/gdkcolor.c']
+gdk_sources = [
+# 'fallback-c89.c',
+ 'gdk-private.c',
+ 'gdk.c',
+ 'gdkapplaunchcontext.c',
+ 'gdkcairo.c',
+ 'gdkcursor.c',
+ 'gdkdeprecated.c',
+ 'gdkdevice.c',
+ 'gdkdevicemanager.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',
+]
+
+gdk_public_h_sources = [
+ 'gdk.h',
+ 'gdk-autocleanup.h',
+ 'gdkapplaunchcontext.h',
+ 'gdkcairo.h',
+ 'gdkcursor.h',
+ 'gdkdevice.h',
+ 'gdkdevicemanager.h',
+ 'gdkdisplay.h',
+ 'gdkdisplaymanager.h',
+ 'gdkdnd.h',
+ 'gdkevents.h',
+ 'gdkframetimings.h',
+ 'gdkglcontext.h',
+ 'gdkkeys.h',
+ 'gdkkeysyms.h',
+ 'gdkkeysyms-compat.h',
+ 'gdkmain.h',
+ 'gdkpango.h',
+ 'gdkframeclock.h',
+ 'gdkpixbuf.h',
+ 'gdkprivate.h',
+ 'gdkproperty.h',
+ 'gdkrectangle.h',
+ 'gdkrgba.h',
+ 'gdkscreen.h',
+ 'gdkselection.h',
+ 'gdktestutils.h',
+ 'gdkthreads.h',
+ 'gdktypes.h',
+ 'gdkvisual.h',
+ 'gdkwindow.h']
+
+# HACK to get it running.
+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/gdkdevicemanagerprivate-core.h',
+ '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/gdkprivate-x11.h',
+ 'x11/xsettings-client.h',
+ 'x11/xsettings-client.c',
+]
+
+deprecated_h_sources = ['deprecated/gdkcolor.h']
+
+gdk_headers = gdk_public_h_sources + deprecated_h_sources
+
+mkenum = find_program('build_enum.py')
+perl = find_program('perl')
+glib_mkenums = find_program('glib-mkenums')
+mkmarshal = find_program('build_marshal.py')
+glib_marshal = find_program('glib-genmarshal')
+
+gdkenum_h = custom_target('gdkenum_h',
+ output : 'gdkenumtypes.h',
+ input : gdk_headers,
+ command : [mkenum, perl, glib_mkenums, '@OUTPUT@', '@INPUT@'])
+
+gdkenum_c = custom_target('gdkenum_c',
+ output : 'gdkenumtypes.c',
+ input : gdk_headers,
+ depends : [gdkenum_h],
+ command : [mkenum, perl, glib_mkenums, '@OUTPUT@', '@INPUT@'])
+
+gdkmarshal_h = custom_target('gdkmarshal_h',
+ output : 'gdkmarshall.h',
+ input : 'gdkmarshalers.list',
+ command : [mkmarshal, glib_marshal, '@INPUT@', '@OUTPUT@'])
+
+gdkmarshal_c = custom_target('gdkmarshal_c',
+ output : 'gdkmarshall.c',
+ input : 'gdkmarshalers.list',
+ command : [mkmarshal, glib_marshal, '@INPUT@', '@OUTPUT@'])
+
+configure_file(input : 'gdkconfig.h.in',
+ output : 'gdkconfig.h',
+ configuration : configuration_data())
+
+xinc = include_directories('x11')
+
+libgdk = shared_library('gdk',
+ gdk_sources, deprecated_gdk_sources,
+ gdkenum_c, gdkenum_h,
+ gdkmarshal_h, gdkmarshal_c,
+ gdk_x_sources,
+ c_args: ['-DHAVE_CONFIG_H', '-DGDK_COMPILATION', '-DGDK_WINDOWING_X11'],
+ include_directories: [confinc, xinc],
+ dependencies: [
+ mlib,
+ xrender_dep,
+ xi_dep,
+ xext_dep,
+ x11_dep,
+ fontconfig_dep,
+ epoxy_dep,
+ giounix_dep,
+ glib_dep,
+ pangocairo_dep,
+ cairogobj_dep,
+ pango_dep,
+ cairo_dep,
+ pixbuf_dep
+ ])
diff --git a/gtk/a11y/meson.build b/gtk/a11y/meson.build
new file mode 100644
index 0000000000..f9b80d02c5
--- /dev/null
+++ b/gtk/a11y/meson.build
@@ -0,0 +1,56 @@
+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',
+ )
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..0647b658e8
--- /dev/null
+++ b/gtk/inspector/meson.build
@@ -0,0 +1,31 @@
+inspector_sources = files(
+ 'action-editor.c',
+ 'actions.c',
+ 'cellrenderergraph.c',
+ 'classes-list.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',
+ 'style-prop-list.c',
+ 'treewalk.c',
+ 'visual.c',
+ 'window.c',
+)
diff --git a/gtk/meson.build b/gtk/meson.build
new file mode 100644
index 0000000000..4cfc8194cd
--- /dev/null
+++ b/gtk/meson.build
@@ -0,0 +1,409 @@
+# '$(a11y_c_sources)\
+# '$(deprecated_c_sources)\
+# '$(inspector_c_sources)\
+
+subdir('deprecated')
+subdir('a11y')
+subdir('inspector')
+
+gtk_sources = [
+ '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',
+ 'gtkbuilderparser.c',
+ 'gtkbuilder-menus.c',
+ 'gtkbutton.c',
+ 'gtkcairoblur.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',
+ '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',
+ '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',
+ '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',
+ 'gtkdialog.c',
+ 'gtkdrawingarea.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',
+ 'gtkfontchooserutils.c',
+ 'gtkfontchooserwidget.c',
+ 'gtkframe.c',
+ 'gtkgladecatalog.c',
+ 'gtkgesture.c',
+ 'gtkgesturedrag.c',
+ 'gtkgesturelongpress.c',
+ 'gtkgesturemultipress.c',
+ 'gtkgesturepan.c',
+ 'gtkgesturerotate.c',
+ 'gtkgesturesingle.c',
+ 'gtkgestureswipe.c',
+ 'gtkgesturezoom.c',
+ 'gtkglarea.c',
+ 'gtkgrid.c',
+ 'gtkheaderbar.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',
+ 'gtkmarshalers.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',
+ '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',
+ 'gtkprivatetypebuiltins.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',
+ 'gtkresources.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',
+ 'gtktypebuiltins.c',
+ 'gtkvolumebutton.c',
+ 'gtkviewport.c',
+ 'gtkwidget.c',
+ 'gtkwidgetpath.c',
+ 'gtkwindow.c',
+ 'gtkwindowgroup.c',
+ 'gtkwin32theme.c'
+]
+
+gtk_unix_sources = [
+ 'gtkcustompaperunixdialog.c',
+ 'gtkpagesetupunixdialog.c',
+ 'gtkprinter.c',
+ 'gtkprinteroption.c',
+ 'gtkprinteroptionset.c',
+ 'gtkprinteroptionwidget.c',
+ 'gtkprintjob.c',
+ 'gtkprintoperation-unix.c',
+ 'gtkprintunixdialog.c',
+ 'gtkprintbackend.c',
+ 'gtksearchenginetracker.c',
+]
+
+gtk_x11_sources = [
+ 'gtkplug.c',
+ 'gtksocket.c',
+ 'gtkxembed.c',
+ 'deprecated/gtktrayicon-x11.c',
+ 'gtkapplication-x11.c',
+ 'gtkmountoperation-x11.c',
+]
+
+
+dnd_sources = [
+ 'gtkclipboard.c',
+ 'gtkdnd.c'
+]
+
+gtk_use_wayland_or_x11_c_sources = ['gtkapplication-dbus.c']
+
+gtk_dbus_src = gnome.gdbus_codegen('gtkdbusgenerated', 'gtkdbusinterfaces.xml',
+ interface_prefix: 'org.Gtk.',
+ namespace: '_Gtk')
+
+libgtk = shared_library('gtk',
+ gtk_sources, gtk_dbus_src, gtk_unix_sources,
+ gtk_deprecated_c_sources, dnd_sources,
+ inspector_sources, a11y_sources,
+ gtk_x11_sources,
+ gtk_use_wayland_or_x11_c_sources,
+ c_args: [
+ '-DGTK_COMPILATION', '-DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED',
+ '-DGTK_BINARY_VERSION="3"', '-DGTK_HOST="bob"', '-DGTK_DATADIR="dir"',
+ '-DGTK_LIBDIR="libdir"', '-DGTK_SYSCONFDIR="sysconfdir"',
+ '-DGTK_LOCALEDIR="localedir"', '-DGTK_DATA_PREFIX="dataprefix"',
+ '-DGTK_PRINT_BACKENDS="null"', '-DGTK_VERSION="3"',
+ '-DGDK_WINDOWING_X11'
+ ],
+ include_directories: [ confinc, gdkinc ],
+ dependencies: [
+ gmodule_dep,
+ giounix_dep,
+ glib_dep,
+ atkbridge_dep,
+ pangocairo_dep,
+ pangoft_dep,
+ pango_dep,
+ cairogobj_dep,
+ cairo_dep,
+ fontconfig_dep,
+ pixbuf_dep,
+ atk_dep,
+ epoxy_dep,
+ mlib,
+ xi_dep,
+ x11_dep
+ ],
+ link_with : libgdk)
+
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000000..29411bc143
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,138 @@
+project('gtk+-3.0', 'c',
+ version: '3.21.4',
+ default_options: [
+ 'buildtype=debugoptimized',
+ 'c_std=gnu89',
+ 'warning_level=1'
+ ],
+ license: 'LGPLv2.1+')
+
+gtk_version = meson.project_version().split('.')
+gtk_major_version = gtk_version[0]
+gtk_minor_version = gtk_version[1]
+gtk_micro_version = gtk_version[2]
+
+gtk_binary_age = 100 * gtk_minor_version.to_int() + gtk_micro_version.to_int()
+gtk_api_version = '@0@'.0'.format(gtk_major_version)
+
+cc = meson.get_compiler('c')
+cdata = configuration_data()
+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'],
+]
+
+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_COLORD
+# check token HAVE_CUPS_API_1_6
+ ['HAVE_DCGETTEXT', 'dcgettext', '#include<libintl.h>'],
+ ['HAVE_DECL_ISINF', 'isinf', '#include<math.h>'],
+ ['HAVE_DECL_ISNAN', 'isnan', '#include<math.h>'],
+ ['HAVE_GETPAGESIZE', 'getpagesize', '#include<unistd.h>'],
+ ['HAVE_GETRESUID', 'getresuid', '#include<unistd.h>'],
+# 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_LIBM
+# check token HAVE_LOCALTIME_R
+ ['HAVE_LSTAT', 'lstat', '#include<sys/stat.h>'],
+# check token HAVE_MALLINFO
+# check token HAVE_MKSTEMP
+ ['HAVE_MMAP', 'mmap', '#include<sys/mman.h>'],
+ ['HAVE_NEARBYINT', 'nearbyint', '#include<math.h>'],
+# check token HAVE_PAPI
+# check token HAVE_POSIX_FALLOCATE
+# check token HAVE_RANDR
+# check token HAVE_RANDR15
+ ['HAVE_ROUND', 'round', '#include<math.h>'],
+ ['HAVE_RINT', 'rint', '#include<math.h>'],
+# check token HAVE_SINCOS
+# check token HAVE_SOCKADDR_UN_SUN_LEN
+# check token HAVE_SOLARIS_XINERAMA
+# check token HAVE_XCOMPOSITE
+# check token HAVE_XCURSOR
+# check token HAVE_XDAMAGE
+# check token HAVE_XFIXES
+# check token HAVE_XFREE_XINERAMA
+# check token HAVE_XGENERICEVENTS
+# check token HAVE_XINERAMA
+# check token HAVE_XKB
+# check token HAVE_XSYNC
+# 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
+]
+
+foreach f : check_functions
+ if cc.has_function(f.get(1), prefix : f.get(2))
+ cdata.set(f.get(0), 1)
+ endif
+endforeach
+
+cdata.set('GETTEXT_PACKAGE', '"gtk-3.0"')
+cdata.set('HAVE_XSYNC', 1)
+cdata.set('XINPUT_2', 1)
+cdata.set('XINPUT_2_2', 1)
+
+confinc = include_directories('.')
+gdkinc = include_directories('gdk')
+
+x11_dep = dependency('x11')
+xrender_dep = dependency('xrender')
+xi_dep = dependency('xi')
+xext_dep = dependency('xext')
+glib_dep = dependency('glib-2.0')
+giounix_dep = dependency('gio-unix-2.0', required : false)
+pango_dep = dependency('pango')
+pangoft_dep = dependency('pangoft2')
+cairo_dep = dependency('cairo')
+pangocairo_dep = dependency('pangocairo')
+cairogobj_dep = dependency('cairo-gobject')
+pixbuf_dep = dependency('gdk-pixbuf-2.0')
+epoxy_dep = dependency('epoxy')
+atk_dep = dependency('atk')
+atkbridge_dep = dependency('atk-bridge-2.0')
+gmodule_dep = dependency('gmodule-2.0')
+mlib = cc.find_library('m')
+fontconfig_dep = dependency('fontconfig')
+
+if giounix_dep.found()
+ cdata.set('HAVE_GIO_UNIX', 1)
+endif
+
+configure_file(input: 'config.h.meson', output: 'config.h', configuration: cdata)
+
+gnome = import('gnome')
+
+subdir('gdk')
+subdir('gtk')
+subdir('examples')