summaryrefslogtreecommitdiff
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* Bump version to 3.94.03.94.0Matthias Clasen2018-06-251-1/+1
|
* Add aligned allocator support to mesonРуслан Ижбулатов2018-06-091-0/+126
| | | | | | | | | | | | | | | * A bunch of new variables for config.h.meson * A check for aligned allocation being necessary at all (graphene must use GCC vector instructions or SSE2) * A check for C malloc() being aligned at 16-byte boundaries * A check for a few special aligned allocator functions being present and not being built-ins (posix_memalign is a builtin in GCC, even on platforms where there is no posix_memalign system function) * Added -mstackrealign flag on Windows, since otherwise stack variables may become unaligned when the stack briefly passes through OS code (such as in various callbacks and handlers)
* Merge branch 'wip/xdg-shell' into 'master'Matthias Clasen2018-05-041-1/+1
|\ | | | | | | | | xdg shell (stable) See merge request GNOME/gtk!35
| * wayland: Add support for xdg-shell stableJonas Ådahl2018-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | This commit adds support the stable version of the xdg-shell protocol. Support for the last version of the unstable series is left intact, but will not receive new features. The stable version is prioritized above the older version. https://bugzilla.gnome.org/show_bug.cgi?id=791939
* | wayland: Use dev/evdev/input.h on FreeBSDTing-Wei Lan2018-05-011-0/+2
|/ | | | | | | | | | | The header linux/input.h used by GDK is specific to Linux. It is possible to get a few Linux headers on FreeBSD by installing v4l_compat, but it is usually better to use the one shipped with FreeBSD. We prefer dev/evdev/input.h to linux/input.h here, so it will always use dev/evdev/input.h on FreeBSD regardless of v4l_compat. https://svnweb.freebsd.org/changeset/ports/465644
* build: Use cc.links to check linker argumentsTing-Wei Lan2018-04-221-2/+6
| | | | | | Instead of hard-coding linker flags for a specific operating system and a specific compiler, we can should cc.links to test them, so they can be used on more operating systems and compilers.
* build: Make the default setting work on non-Linux Unix-like systemsTing-Wei Lan2018-04-221-15/+22
| | | | | | | | | | | | | | | | | | All of the four platform-dependent backends are enabled by default. It is usually a good default because it requires users to explicitly choose backends they want to use. Rules in meson.build also automatically disable unavailable backends for macOS, Windows, Linux, so users on these 3 major platforms don't have to manually disable things when running meson commands. However, meson.build doesn't do the same thing for other Unix-like systems, which is acceptable but not ideal. To make it easier to build GTK+ on these systems, the Linux case, which enables X11 and Wayland and disables Win32 and Quartz, is made the default for all operating systems that are not Windows or macOS. This commit also changes most 'host_machine.system()' calls to os_* variables, which are easier to read and less likely to be used wrongly.
* build: Fix copy/paste errorTimm Bäder2018-04-211-1/+1
|
* Spruce up config summaryMatthias Clasen2018-04-151-3/+8
| | | | Show all the options. Nothing to hide.
* build: Print summary lastTimm Bäder2018-04-141-7/+7
|
* Simplify the Wayland code generationEmmanuele Bassi2018-04-111-1/+1
| | | | | | | Instead of going through an ancillary script to strip away the `WL_EXPORT` annotation from the generated code, we should bump up the required version of Wayland, and use the `private-code` argument for wayland-scanner, which does the right thing for us.
* build: Switch order of subdirectoriesBenjamin Otte2018-04-051-3/+3
| | | | | After fixing this once already in 5970dac1679d the order was messed up again in d50708b0240.
* build: Fix linking demos on Visual StudioChun-wei Fan2018-04-021-1/+7
| | | | | | | | | | The demos are now built as GUI programs, which will require the presence of WinMain() on Visual Studio builds, unless we specify the entry point. Pass the /entry:mainCRTStartup linker flag on Visual Studio builds for the demo programs so that they can link properly. https://bugzilla.gnome.org/show_bug.cgi?id=773299
* W32: Link GTK to pangowin32Руслан Ижбулатов2018-04-011-0/+5
| | | | | | Needed for pango_win32_font_logfont() from gtkimcontextime. https://bugzilla.gnome.org/show_bug.cgi?id=773299
* Add an option for building examplesEmmanuele Bassi2018-03-291-4/+6
| | | | | | Examples are not like demos; the latter are installed, and provide a Flatpak manifest for CI pipelines and GNOME Builder. We should not be using a single configure time option to gate building both.
* build: Defer defining HAVE_PANGOFT and HAVE_HARFBUZZChun-wei Fan2018-03-281-4/+4
| | | | | | | | | | | | | We forgot to account for the case where we lookup for HarfBuzz manually under Visual Studio builds, so only set HAVE_HARFBUZZ (and thus HAVE_PANGOFT, since PangoFT2 depends on HarfBuzz) after we did the fallback check for HarfBuzz. Also, check for hb.h instead of harfbuzz/hb.h to be inline with the pkg-config case, as the sources also include the HarfBuzz header by using #include <hb.h>, not #include <harfbuzz/hb.h> https://bugzilla.gnome.org/show_bug.cgi?id=773299
* Check for freetype2 version when PangoFT is usedРуслан Ижбулатов2018-03-281-1/+31
| | | | | | | | | | | | | | | Check for freetype2 version, because pangoft works with any version (pangoft availability does not indicate that ft2 is new enough), unlike GTK. On Windows, since pangoft is optional, we check for the presence of freetype2 .pc file first after finding that we have pangoft, and then check for FT_Get_Var_Design_Coordinates() manually by looking for the freetype headers and .lib first, and then looking for the presence of that symbol, since freetype2's Visual Studio build system does not generate a .pc file for us. https://bugzilla.gnome.org/show_bug.cgi?id=773299
* Do not test for linker flagsEmmanuele Bassi2018-03-271-6/+2
| | | | | | | | Meson warns when doing that, as it's not really portable. Since we're using platform-specific linker flags on Darwin, we can also do the same on Linux; the syntax is GCC-specific, so we're going to need Clang users to test it.
* Add appdata for gtk4-demoMatthias Clasen2018-03-201-0/+1
| | | | This will let us build a better flatpak for gtk4-demo.
* mediafile: Turn into an extension pointMatthias Clasen2018-03-181-0/+2
| | | | | | | | | | | | | | | This way, we can support external libraries providing implementations of GtkMediaFile. We also add a media backend called 'nomedia' that can be enabled to not compile any support for GtkMediaFile. This is useful when people want to statically compile GTK into an application that does not use media. For now, this option is the default. We also support a new environment variable GTK_MEDIA that allows selecting the implementation to use. GTK_MEDIA=help can be used to get info about the available implementations.
* build: Switch order of subdirectoriesBenjamin Otte2018-03-161-4/+4
| | | | | | This makes demos be compiled/linked before tests. And that means that while hacking, I can already run widget-factory when the tests are still linking.
* Always include platform immodulesMatthias Clasen2018-02-241-1/+0
| | | | | No need to load these as gio modules, we just include them in libgtk.
* build: Do not eagerly disable checks on release buildsEmmanuele Bassi2018-02-201-5/+3
| | | | | | | | | | | | | | Release builds should only disable cast checks, to match what we used to do back with the Autotools builds. The Autotools build had an "--enable-debug=no" option, but that was rarely used; Meson has debug, debugoptimized, release, and plain build types, but we considered the "release" build types as the old "disable all debugging code", which is not really accurate. Disabling assertions and preconditon checks should be left to people with constrained environments and/or packagers; they are supposed to use the "plain" build type, and override the CFLAGS themselves.
* build: Use get_supported_arguments()Emmanuele Bassi2018-02-201-6/+1
| | | | | Instead of checking each flag one by one, use the appropriate method of the Meson compiler object.
* Merge branch 'wip/carlosg/imwayland' into 'master'Matthias Clasen2018-02-151-0/+1
|\ | | | | | | | | modules: Add wayland IM implementation See merge request GNOME/gtk!4
| * modules: Add wayland IM implementationwip/carlosg/imwaylandCarlos Garnacho2018-02-131-0/+1
| | | | | | | | | | This IM context implementation goes through the gtk-text-input protocol, leaving up to the compositor the actual interaction with IM engines.
* | build: Rename last 'enable' optionsissue-2Emmanuele Bassi2018-02-141-3/+3
| | | | | | | | | | Drop the 'enable-' prefix to conform to the best practices for naming configuration options in Meson.
* | build: Rename GDK backend optionsEmmanuele Bassi2018-02-141-9/+16
| | | | | | | | | | | | Drop the 'enable-' prefix, and always enable all platform-specific backends. We can disable them depending on the platform. This way, the documentation printed by `meson configure` remains accurate.
* | build: Coalesce print backends options into oneEmmanuele Bassi2018-02-141-0/+1
| | | | | | | | | | | | Instead of having separate options for each print backend, we can use the same approach as the input method modules: a single option, with a comma-separated list of print backends.
* | meson: Require glib 2.55.0Christoph Reiter2018-02-131-2/+2
|/ | | | | gtk+ has started using g_file_load_bytes() which is available since glib 2.55.0
* Bump up the dependency on MesonEmmanuele Bassi2018-02-121-1/+1
| | | | We're going to use a new argument in the generate_gir() function.
* build: Fix the non-pkg-config Vulkan detectionEmmanuele Bassi2018-02-051-1/+1
| | | | Not all the variables were renamed.
* build: Use pkg-config to find VulkanEmmanuele Bassi2018-02-051-14/+26
| | | | | | | | | | | | The standard Vulkan SDK ships with a pkg-config file, like a modern library should. We should fall back to finding the library and header only for platforms where pkg-config is not really a thing. Based on a patch by: Daniel Stone <daniels@collabora.com> https://bugzilla.gnome.org/show_bug.cgi?id=793181
* Drop the mir backendMatthias Clasen2018-02-051-19/+3
| | | | | Mir is in the process of switching over to the Wayland protocol, so we don't need to maintain a separate backend, going forward.
* build: Use pkg-config to find iso-codesTing-Wei Lan2018-01-071-0/+7
| | | | | | | Instead of hard-coding the path of iso-codes, we can get the prefix with pkg-config. We still fallback to /usr when it is not available. https://bugzilla.gnome.org/show_bug.cgi?id=792282
* Bump the pango requirementMatthias Clasen2018-01-031-1/+1
| | | | We want to use the new font variation api in pango 1.41.
* Add font features on the tweak pageMatthias Clasen2018-01-031-0/+3
|
* gtkplacessidebar: Adapt to libcloudproviders 0.2.xCarlos Soriano2017-11-131-1/+1
| | | | | | And a few improvements on the way. https://bugzilla.gnome.org/show_bug.cgi?id=786123
* Bump up the dependency on libepoxyEmmanuele Bassi2017-10-281-1/+1
| | | | | | | We are going to use new API to detect whether or not GLX is available before calling GL API. https://bugzilla.gnome.org/show_bug.cgi?id=775279
* build: Warn about ignored qualifiersBenjamin Otte2017-10-231-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=789351
* Bump version to 3.93Matthias Clasen2017-10-201-1/+1
| | | | This lets us add new API without deprecation warnings.
* Meson: Support Windows buildsChun-wei Fan2017-10-201-29/+36
| | | | | | | | | | | | | | | | | | | | | | | Add the necessary machinery into the Meson definition files so that we can build for Windows. Since we don't have Wayland or X support for our use case here, disable them once we know that we are building for Windows, as they are (otherwise) enabled by default, and enable the items that need to be built for Windows builds. Exclude gtk4-launch from Windows builds as that is something that is not supported on Windows. As we won't have gio-unix on Windows, and PangoFT2 is optional, don't use fallbacks for them when we are on Windows (but do use fallbacks for gio-win32, as it will be used). Also, clean up meson.build a bit as we can just force-include msvc_recommended_pragmas.h from GLib since we depend on GLib, and so we can handle these warnings from msvc_recommended_pragmas.h instead. https://bugzilla.gnome.org/show_bug.cgi?id=785210
* 3.92.13.92.1Matthias Clasen2017-10-181-2/+2
| | | | | Change the project name back to gtk+ to avoid trouble with tarball names not matching ftpadmin expectations.
* 3.92.03.92.0Matthias Clasen2017-10-181-1/+1
|
* build: Enable -Wswitch-enum and -Wswitch-defaultBenjamin Otte2017-10-061-0/+2
| | | | | | | | | | | | | | | | | | | This patch makes that work using 1 of 2 options: 1. Add all missing enums to the switch statement or 2. Cast the switch argument to a uint to avoid having to do that (mostly for GdkEventType). I even found a bug while doing that: clearing a GtkImage with a surface did not notify thae surface property. The reason for enabling this flag even though it is tedious at times is that it is very useful when adding values to an enum, because it makes GTK immediately warn about all the switch statements where this enum is relevant. And I expect changes to enums to be frequent during the GTK4 development cycle.
* build: Turn on more warning flagsBenjamin Otte2017-10-061-2/+0
| | | | | | | | | -Wshadow these days does not overwarn anymore like it did in gcc 4. There are no warnings inside gtk, so better enable it to keep it that way. -Wuninitialized also has no positives, so I'm gonna turn it on just because.
* build: Don't turn off critical warningsBenjamin Otte2017-10-061-2/+0
| | | | | | | | -Wint-conversion is important because it checks casts from ints to pointers. -Wdiscarded-qualifiers is important to catch cases where we don't strings when we should.
* build: Bump minimum GLib version to 2.53.7Felipe Borges2017-10-031-1/+1
| | | | | | | | | Otherwise it fails to build with: GLib-Genmarshal-WARNING **: failed to open "--pragma-once": No such file or directory https://bugzilla.gnome.org/show_bug.cgi?id=788230
* build: Bump minimum Meson version to 0.42.1Debarshi Ray2017-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise it fails to build with: FAILED: gtk/im-ipa@sha/imipa.c.o ... In file included from ../gtk/gtkintl.h:4:0, from ../modules/input/imipa.c:28: /opt/include/glib-2.0/glib/gi18n-lib.h:27:2: error: #error You must define GETTEXT_PACKAGE before including gi18n-lib.h. Did you forget to include config.h? #error You must define GETTEXT_PACKAGE before including gi18n-lib.h. Did you forget to include config.h? ^~~~~ ../modules/input/imipa.c:144:3: error: ‘GETTEXT_PACKAGE’ undeclared here (not in a function) GETTEXT_PACKAGE, /* Translation domain */ ^~~~~~~~~~~~~~~ ../modules/input/imipa.c:145:4: error: ‘GTK_LOCALEDIR’ undeclared here (not in a function) GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */ ^~~~~~~~~~~~~
* build: Declare cairo_libs outside MSVC check blockEmmanuele Bassi2017-09-151-1/+1
| | | | Otherwise there won't be a reference to it on non-MSVC builds.