Nirbheek Chauhan
aa3e8ee097
build: Add dependency fallbacks for libs with meson ports
...
With these changes gtk+ builds for me using fallbacks for all libraries
with fallbacks available. Needs the following changes:
https://github.com/ebassi/graphene/pull/109 (graphene)
https://bugzilla.gnome.org/show_bug.cgi?id=787414 (pango)
https://github.com/mesonbuild/meson/pull/2291 (will be in meson 0.42.1)
https://bugzilla.gnome.org/show_bug.cgi?id=787416
2017-09-12 00:24:58 +05:30
Javier Jardón
80e3239033
meson.build: enable-tests -> build-tests
...
This completes b5e00d36f0
2017-09-06 20:45:35 +01:00
Matthias Clasen
dd4361a638
Rename enable-documentation and enable-man-pages options
...
You can now disable the documentation build with
-Ddocumentation=false and -Dman-pages=false.
2017-09-06 11:10:55 -04:00
Matthias Clasen
b5e00d36f0
Allow building without tests and demos
...
This is meant to cut down build time in flatpak and similar
situations. Since it produces technically incomplete builds,
we list these options in the status output at the end of
the meson run.
2017-09-06 09:53:20 -04:00
Timm Bäder
2a373b8ac8
build: Depend on wayland-protocols 1.9
...
Needed for the keyboard shortcuts inhibit protocol
2017-09-05 10:09:24 +02:00
Julius Härtl
a1635b6188
gtkplacessidebar: implement libcloudproviders support
...
Add integration of the libcloudproviders DBus API to the
GtkPlacesSidebar by showing name and sync status of the cloud providers.
The exported menu is rendered as a GtkPopover.
The sidebar will be updated if the list of cloudproviders changes e.g.
by adding or removing an account. If any cloud provider changes detailed
information like sync status only the individual sidebar row gets
updated.
Co-authored-by: Carlos Soriano <csoriano@gnome.org>
Co-authored-by: Daniel Boles <dboles@src.gnome.org>
https://bugzilla.gnome.org/show_bug.cgi?id=786123
2017-09-04 11:32:03 -04:00
Emmanuele Bassi
e3f99fa2df
build: Use the appropriate symbol visibility annotation
...
We cargo-culted this from Autotools, but GCC on Windows supports the
same __declspec syntax as MSVC. The only difference is the additional
flag needed for GCC-like compilers.
2017-08-22 10:27:14 +01:00
Emmanuele Bassi
7845854ca2
build: Fix macOS linker compatibility flags
...
The linker on macOS does not support '=' in its command line; there's no
guarantee that we are using the correct compatibility versions compared
to the Autotools build, but for that we'll need to build GTK+ master on
macOS.
2017-08-22 10:24:45 +01:00
Emmanuele Bassi
55c42b9d25
build: Allow using libepoxy as a subproject
...
Like we do for Graphene, we can build libepoxy as a sub-project of GTK+
in case we do not find the dependency installed on the system.
2017-08-22 10:22:37 +01:00
Emmanuele Bassi
08526d4da0
build: Print out a configuration summary
...
Add some easy to check summary of the configuration step, especially for
optional features that can use automatic discovery.
2017-08-18 16:56:09 +01:00
Emmanuele Bassi
a4d0800673
build: Fix post-install script
...
Use the appropriate variable when expanding the input method modules
path.
2017-08-14 22:31:13 +01:00
Timm Bäder
2a49e08d6d
meson: Don't define G_ENABLE_CONSISTENCY_CHECKS unconditionally
...
We add it back later depending on the current buildtype.
2017-08-14 13:01:22 +02:00
Matthias Clasen
6c7e8ecb1f
Bump version
2017-07-19 21:18:57 -04:00
Ignacio Casal Quinteiro
ed6aa0e6e0
meson: remove duplicated G_ENABLE_DEBUG
2017-05-16 22:50:00 +02:00
Emmanuele Bassi
daccf61dcf
meson: Use buildtype to determine the debugging flags
...
Meson has a `--buildtype` option which allows us to avoid defining an ad
hoc `--enable-debug=yes|no|minimum` option ourselves.
2017-05-10 12:03:01 +01:00
Ernestas Kulik
fee3f9afa1
meson: depend on glib >= 2.53.1
...
The code uses g_object_new_with_properties(), which is only available in
versions 2.53.1 and up.
https://bugzilla.gnome.org/show_bug.cgi?id=782123
2017-05-03 16:14:58 +01:00
Emmanuele Bassi
ea32f4c020
build: Depend on Meson 0.40 at least
2017-05-03 15:10:57 +01:00
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