Emmanuele Bassi
17518ef89b
build: Improve consistency of the "coding" style
...
We're mixing a lot of styles in the Meson build files. This is an
attempt at making everything slightly more consistent in terms of
whitespace and indentation.
2017-05-03 15:10:57 +01:00
Emmanuele Bassi
6dd35248d5
build: Put the xkbcommon required version into a variable
...
We use it in two places.
2017-05-03 15:10:57 +01:00
Emmanuele Bassi
c1965150c7
build: Add post-install script
...
When building GTK+ straight from the repository without any assistance
from packaging tools, we need to trigger system-wide updates, like the
icon theme cache update, or the schema compilation.
2017-05-03 15:10:57 +01:00
Emmanuele Bassi
ba87e857e2
build: Generate the API references (WIP)
...
Still a work in progress.
2017-05-03 15:10:57 +01:00
Emmanuele Bassi
482f34006e
build: Use the appropriate linker flags
...
We need to check if the linker flags we use are available, depending on
the platform, and we need to ensure that the shared library is
versioned appropriately.
2017-05-03 15:10:56 +01:00
Emmanuele Bassi
47bcf66af8
build: Bump version and C standard
...
GTK+ 4.0 uses C99.
2017-05-03 15:10:56 +01:00
Emmanuele Bassi
c97ef81a10
build: Add missing symbol visibility flags
...
GTK symbols are not visible by default, and only the ones annotated with
_GDK_EXTERN (and wrapper macros) are exported. We need to define
_GDK_EXTERN during the configuration, depending on the platform and
compiler we use.
2017-05-03 15:10:56 +01:00
Emmanuele Bassi
68039b610b
build: Add compiler warnings and errors
...
We don't want to build buggy code.
2017-05-03 15:10:56 +01:00
Emmanuele Bassi
ede1f7002f
build: Depend on graphene-gobject-1.0
...
We use the GObject types with Graphene, so we need to check that the
library has been built with them.
2017-05-03 15:10:56 +01:00
Emmanuele Bassi
3f4cc06ee3
build: Some whitespace cleanups
2017-05-03 15:10:56 +01:00
Emmanuele Bassi
007d9a5e19
build: Generate the appropriate GLib versioning checks
...
The autotools build checks the version of GLib we are depending on in
order to generate the appropriate GLIB_VERSION values for the
min-required/max-allowed defines.
2017-05-03 15:10:56 +01:00
Emmanuele Bassi
8582f80391
build: Add the appropriate paths in the configuration header
...
Instead of injecting them into the C compiler arguments.
2017-05-03 15:10:56 +01:00
Emmanuele Bassi
898bbb4626
build: Use the appropriate quoting
...
There's no need for string concatenation.
2017-05-03 15:10:56 +01:00
Tim-Philipp Müller
e850973956
meson: build input modules
...
We have to work around some ordering problems here. We still
manage to keep most of the guts in modules/input/meson.build,
so it's not too ugly overall.
(The autotools build solves this with a 'make -C ../../input/modules'
inside gtk/Makefile, but that's not something we can or want to do.)
2017-05-03 15:10:56 +01:00
Tim-Philipp Müller
1c14e93e69
meson: check for xinerama
2017-05-03 15:10:56 +01:00
Tim-Philipp Müller
25cdd19bb0
meson: fix XIAllowTouchEvents check
...
Need to link against dep/lib to check for function in it. Also
misc fixes to surrounding xi-related checks.
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
2f3c975058
meson: remove duplicate libm variable
...
Only need one of libm and mlib
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
5d71390a75
meson: check for more missing config.h defines
...
Lots of them are unused and can be removed. For others we
add a check.
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
361e5d0b74
meson: simplify function checks
...
Because we can. We don't need to specify the right header anymore
to check for functions.
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
4e9403df7f
meson: simplify header checks
...
Remove workaround for gcc bug (Meson does that now), and
construct the right config.h defines for the headers on
the fly instead of listing them in the build file, which
is more error prone.
2017-05-03 15:10:55 +01:00
Matthias Clasen
f12c011e43
Set glib min/max versions
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
69f075202d
meson: fix GETTEXT_PACKAGE
2017-05-03 15:10:55 +01:00
Matthias Clasen
fc11fb7fda
Don't require glslc for vulkan
...
The compiled shaders are checked into git.
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
412c2225b1
meson: move colord checks into cups printbackend
...
Which is the only user of it. Also add option to enable/disable.
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
a35e5f3135
meson: modules: add printbackends
...
The cups checks might not work properly everywhere yet,
since they don't use cups-config and parse the output yet.
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
cbfaebfa83
meson: add po and po-properties
2017-05-03 15:10:55 +01:00
Tim-Philipp Müller
48e2b77369
meson: generate .pc files
2017-05-03 15:10:54 +01:00
Tim-Philipp Müller
98e633f658
meson: gtk: use gnome.mkenums() and gnome.genmarshal()
2017-05-03 15:10:54 +01:00
Tim-Philipp Müller
c7d3fe5e26
meson: gdk: add quartz backend skeleton
...
Won't even build yet, just put basic bits in place.
2017-05-03 15:10:54 +01:00
Tim-Philipp Müller
442185388b
meson: gdk: win32: add skeleton bits for win32 backend
...
Won't even build, configure bits still missing.
2017-05-03 15:10:54 +01:00
Tim-Philipp Müller
152a25d099
meson: gdk: add Mir backend bits
...
Completely untested, might not even build.
2017-05-03 15:10:54 +01:00
Tim-Philipp Müller
b947e88fbf
meson: gdk: update and sync with Makefiles
...
Also create gdk.gresource.xml at build-time.
2017-05-03 15:10:53 +01:00
Tim-Philipp Müller
95979f4d2f
meson: add vulkan bits
2017-05-03 15:10:53 +01:00
Tim-Philipp Müller
b8a017b081
meson: use add_project_arguments() instead of add_global_arguments()
...
So Gtk+ can be used as a subproject.
2017-05-03 15:10:53 +01:00
Tim-Philipp Müller
a23ce5c11c
meson: fix checks for maths and X11 funcs that need the right deps
2017-05-03 15:10:53 +01:00
Tim-Philipp Müller
917a6b0912
meson: work around meson/gcc bug detecting linux/* headers
2017-05-03 15:10:53 +01:00
Tim-Philipp Müller
a223294605
meson: set _GNU_SOURCE project wide
...
Easier, also means we don't have to define it for
checks. that will only succeed with it defind.
2017-05-03 15:10:53 +01:00
Tim-Philipp Müller
b08a9bac6f
meson: add graphene subproject that can be used as fallback
2017-05-03 15:10:52 +01:00
Timm Bäder
4fcca9945f
meson: update build files
2017-05-03 15:10:52 +01:00
Timm Bäder
6dd6660c68
meson: Conditionally check for dependencies
2017-05-03 15:10:52 +01:00
Timm Bäder
02a250147f
meson: Check for more libraries
2017-05-03 15:10:52 +01:00
Timm Bäder
8ae847e4fc
Build examples
2017-05-03 15:10:52 +01:00
Timm Bäder
d2ecd6e3c6
meson: Also check for sincos
2017-05-03 15:10:51 +01:00
Timm Bäder
fe29dbd9cc
meson.build: Add more required versions
...
...build tests/ and testsuite/, properly define gtk_version, etc.
2017-05-03 15:10:51 +01:00
Timm Bäder
2144b776b2
meson: Generate demos.h for gtk3-demo
2017-05-03 15:10:51 +01:00
Timm Bäder
fe42d645ad
meson: Build gtk3-demo
2017-05-03 15:10:51 +01:00
Timm Bäder
81ffccf79f
meson: build gtk/ again
2017-05-03 15:10:51 +01:00
Timm Bäder
294ebd70b3
build: Generate wayland protocol files
2017-05-03 15:10:51 +01:00
Timm Bäder
88a2a571d5
gtk major version
2017-05-03 15:10:51 +01:00
Timm Bäder
3f62b935e5
meson: Use xrandr
2017-05-03 15:10:51 +01:00
Timm Bäder
df965304d4
meson: make gtk buildable
...
x11 only
2017-05-03 15:10:51 +01:00
Timm Bäder
082cf3553d
meson: Build gtk marshallers
...
And fix libgtk_dep/libgdk_dep to link_with the shared lib
2017-05-03 15:10:50 +01:00
Timm Bäder
1e8a606403
meson: Add unit test files
2017-05-03 15:10:50 +01:00
Timm Bäder
7fff2901aa
meson: Add options for x/wayland/broadway backends
2017-05-03 15:10:50 +01:00
Timm Bäder
5475768d32
Meson build v2
2017-05-03 15:10:50 +01:00
Emmanuele Bassi
7a90e06a3c
Add Meson build files
...
Original work by: Jussi Pakkanen <jpakkane@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=769881
2017-05-03 15:10:50 +01:00