Add Meson build files

Original work by: Jussi Pakkanen <jpakkane@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=769881
This commit is contained in:
Emmanuele Bassi 2016-08-15 09:03:57 +01:00
parent 35c26d00d7
commit 7a90e06a3c
9 changed files with 1209 additions and 0 deletions

302
config.h.meson Normal file
View File

@ -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

29
gdk/build_enum.py Executable file
View File

@ -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)

29
gdk/build_marshal.py Executable file
View File

@ -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)

170
gdk/meson.build Normal file
View File

@ -0,0 +1,170 @@
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',
'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
])

56
gtk/a11y/meson.build Normal file
View File

@ -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',
)

View File

@ -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',
)

31
gtk/inspector/meson.build Normal file
View File

@ -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',
)

412
gtk/meson.build Normal file
View File

@ -0,0 +1,412 @@
# '$(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',
'gtkcenterbox.c',
'gtkcheckbutton.c',
'gtkcheckmenuitem.c',
'gtkcolorbutton.c',
'gtkcolorchooser.c',
'gtkcolorchooserwidget.c',
'gtkcolorchooserdialog.c',
'gtkcoloreditor.c',
'gtkcolorplane.c',
'gtkcolorscale.c',
'gtkcolorswatch.c',
'gtkcolorutils.c',
'gtkcombobox.c',
'gtkcomboboxtext.c',
'gtkcontainer.c',
'gtkcssanimation.c',
'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',
'gtkgizmo.c',
'gtkgladecatalog.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',
'gtkwidgetfocus.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)

138
meson.build Normal file
View File

@ -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')