[gtk+/wip/ebassi/meson] Add Meson build files



commit a1a5ae20bf6205832f6b729cb8f673a4db651f46
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Mon Aug 15 09:03:57 2016 +0100

    Add Meson build files
    
    Original work by: Jussi Pakkanen <jpakkane gmail com>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=769881

 config.h.meson             |  302 ++++++++++++++++++++++++++++++++
 gdk/build_enum.py          |   29 +++
 gdk/build_marshal.py       |   29 +++
 gdk/meson.build            |  171 ++++++++++++++++++
 gtk/a11y/meson.build       |   56 ++++++
 gtk/deprecated/meson.build |   42 +++++
 gtk/inspector/meson.build  |   31 ++++
 gtk/meson.build            |  409 ++++++++++++++++++++++++++++++++++++++++++++
 meson.build                |  138 +++++++++++++++
 9 files changed, 1207 insertions(+), 0 deletions(-)
---
diff --git a/config.h.meson b/config.h.meson
new file mode 100644
index 0000000..8431e04
--- /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 0000000..9705497
--- /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 0000000..9c2f42c
--- /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 0000000..1fc85fd
--- /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 0000000..f9b80d0
--- /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 0000000..c2cf475
--- /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 0000000..0647b65
--- /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 0000000..4cfc819
--- /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 0000000..29411bc
--- /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')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]