diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2016-08-15 09:03:57 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2016-08-15 09:03:57 +0100 |
commit | a1a5ae20bf6205832f6b729cb8f673a4db651f46 (patch) | |
tree | 1995e6af486a66ef43e2bdff6861cd5336ab8dc7 | |
parent | a782d632f8cf768a2df819fc38df9e6d1fb92f3e (diff) | |
download | gtk+-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.meson | 302 | ||||
-rwxr-xr-x | gdk/build_enum.py | 29 | ||||
-rwxr-xr-x | gdk/build_marshal.py | 29 | ||||
-rw-r--r-- | gdk/meson.build | 171 | ||||
-rw-r--r-- | gtk/a11y/meson.build | 56 | ||||
-rw-r--r-- | gtk/deprecated/meson.build | 42 | ||||
-rw-r--r-- | gtk/inspector/meson.build | 31 | ||||
-rw-r--r-- | gtk/meson.build | 409 | ||||
-rw-r--r-- | 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 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') |