Commit Graph

50507 Commits

Author SHA1 Message Date
Emmanuele Bassi
60ec18857f build: Some whitespace cleanups 2017-04-28 23:12:52 +01:00
Emmanuele Bassi
66448b0a66 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-04-28 23:12:52 +01:00
Emmanuele Bassi
a7068d931e build: Add the appropriate paths in the configuration header
Instead of injecting them into the C compiler arguments.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
ccae075046 build: Use the appropriate quoting
There's no need for string concatenation.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
64bcc5b462 build: Do not mix private and public GDK headers
The type generation script inside gtk/ will use the `gdk_headers`
variable, and that must not contain private headers.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
42b408c77f meson: gdk: fix static library names
Fix double lib prefix in filenames (liblibgdk-xyz.a)
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
f5e1a9a1cd 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-04-28 23:12:52 +01:00
Tim-Philipp Müller
2354ddd609 meson: check for xinerama 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
c0c2d55274 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-04-28 23:12:52 +01:00
Tim-Philipp Müller
47106c1513 meson: remove duplicate libm variable
Only need one of libm and mlib
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
53456587db meson: check for more missing config.h defines
Lots of them are unused and can be removed. For others we
add a check.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
29d9fa60b5 meson: simplify function checks
Because we can. We don't need to specify the right header anymore
to check for functions.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
77bc413219 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-04-28 23:12:52 +01:00
Matthias Clasen
34f68e1bf3 Set glib min/max versions 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
0884881ea5 meson: fix GETTEXT_PACKAGE 2017-04-28 23:12:52 +01:00
Matthias Clasen
db0cbbe9b5 Don't require glslc for vulkan
The compiled shaders are checked into git.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
73ebfb82b6 meson: move colord checks into cups printbackend
Which is the only user of it. Also add option to enable/disable.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
a2cef835df meson: gtk: set GTK_PRINT_BACKENDS define properly 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
30c0be4a61 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-04-28 23:12:52 +01:00
Tim-Philipp Müller
af10f783f2 meson: gtk: don't overwrite top-level cdata variable with local stuff
We need to set the global configuration data written into
config.h from the modules/printbackends meson file.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
5c4e55af21 meson: add po and po-properties 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1194ab5363 meson: testsuites: tools: add meson build 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
7d07f5fb14 meson: testsuite: reftests: add build defs, but needs more work
Not sure how these are supposed to work yet, we can specify
arguments for running the tests uninstalled as well with test(),
if that helps in any way.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
5d023f233b meson: testsuite: gdk: use array for test definitions 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
198dbc9878 meson: testsuite: gtk: sync with Makefile and add some missing bits
Also use an array. A few tests fail, needs investigation.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
19c5bda322 meson: make sure gsk/gdk generated headers exist for libgtk_dep users
Add back dependencies on libgdk_dep and libsk_dep which are declared
dependencies. We removed this before because these declarations had
link_with: lines that dragged in the static libgdk.a and libgsk.a libs
which are linked into libgtk-4.so anyway and thus shouldn't be used
when linking internal exes/tools against libgtk-4. Remove the static
libs from the declared dependencies and have libgtk link those in
explicitly, so that the declared deps now just provide all the built
dependencies and include dirs and such for declared libgtk_dep users
such as the internal exes/tools, which want all the generated gsk/gdk/gtk
headers to exist before attempting to compile anything against the
gtk+ headers.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
925941289d meson: generate .pc files 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1123c34c46 meson: gtk: update build file and sync to Makefile 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
0c96d18250 meson: gtk: use gnome.mkenums() and gnome.genmarshal() 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
c445af11b7 meson: gdk, gsk: fix install path of generated files 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1aa75a1b00 meson: gtk: remove internal static libs from declared gtk dependency
gdk and gsk are no longer separate libs but part of gtk now, so any
Gtk+ user should just link to gtk, there's no need to additionally
link against all those static helper libs that go into the gtk lib.

This means we need to specifically add confinc to include_directories
in more places to make sure the right config.h (i.e. ours) gets
included and not a subproject's like graphene's config.h.

Not dragging in static libs also fixes the issue of all executables
having to be relinked for any and all changes. With this change
it's super-fast now and can be skipped for most changes that don't
touch the external ABI.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
305c0729cb meson: gtk: use array for installed tools definition 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
4c354afaf7 meson: gtk: install headers 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
f5d5a5ce9f meson: gdk: add quartz backend skeleton
Won't even build yet, just put basic bits in place.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
f43f340ec1 meson: gdk: win32: add skeleton bits for win32 backend
Won't even build, configure bits still missing.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
cfd765e525 meson: gdk: wayland: generate private wayland headers first
gdkprivate-wayland.h includes generated wayland client protocol
headers and is included from gdkdisplaymanager.c, so we need to
generate those client protocol headers first also when building
main gdk itself.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1781fa611b meson: gdk: add Mir backend bits
Completely untested, might not even build.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
315cac442b meson: gdk: build individual backends as static libs
This is how it's done in the autotools build. Also avoids problems
with multiple source files having the same name (gdkeventsource.c).

Also move broadway backend code into broadway subdir.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
b955dc72cd meson: gdk: wayland: move wayland bits into wayland subdir 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
89276d9654 meson: gdk: wayland: use array for protocol file generation 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
0174bd4510 meson: gdk: move x11 bits into x11 subdirectory
Also install headers.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
2132a72d99 meson: gdk: update and sync with Makefiles
Also create gdk.gresource.xml at build-time.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
490e2e4148 meson: demos: disable add_install_script() calls that don't work right yet
Errors out. Might really wants a script and not a binary.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
633e9f13e9 meson: gsk: install public headers 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
d50c5ea3bf meson: gsk: use gnome.mkenums() to generate enum types 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
4f99513b18 meson: gsk: generate gsk.resources.xml 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1397b72cb1 meson: add vulkan bits 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
0a68fb86d0 meson: examples: update
Mostly style changes. Don't create resource source files
with spaces in them, that's tempting our luck.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
a031a5784b meson: tests: make tests find resources from the source dir
Should probably also do this in the autotools build, since
the same problem exists there as well if we use srcdir != builddir.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
9812edef1a meson: tests: update and sync with Makefiles 2017-04-28 23:12:52 +01:00