1. 06 Feb, 2019 1 commit
  2. 04 Feb, 2019 2 commits
  3. 22 Jan, 2019 2 commits
  4. 08 Jan, 2019 1 commit
    • Emmanuele Bassi's avatar
      build: Avoid a Meson deprecation warning · e458ea2f
      Emmanuele Bassi authored
      Using an empty `configuration_data` object to copy a configuration file
      is deprecated since Meson 0.47 (released July 2018); the equivalent
      behaviour is available by using `copy: true`.
      e458ea2f
  5. 12 Oct, 2018 3 commits
  6. 23 Jul, 2018 1 commit
  7. 25 Jun, 2018 1 commit
  8. 09 Jun, 2018 1 commit
    • LRN's avatar
      Add aligned allocator support to meson · bd2e3f5b
      LRN authored
      * 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)
      bd2e3f5b
  9. 01 May, 2018 2 commits
  10. 23 Apr, 2018 2 commits
    • Ting-Wei Lan's avatar
      build: Use cc.links to check linker arguments · 48af6889
      Ting-Wei Lan authored
      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.
      48af6889
    • Ting-Wei Lan's avatar
      build: Make the default setting work on non-Linux Unix-like systems · e882db27
      Ting-Wei Lan authored
      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.
      e882db27
  11. 22 Apr, 2018 2 commits
    • Ting-Wei Lan's avatar
      build: Use cc.links to check linker arguments · ff1dd500
      Ting-Wei Lan authored
      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.
      ff1dd500
    • Ting-Wei Lan's avatar
      build: Make the default setting work on non-Linux Unix-like systems · f922109a
      Ting-Wei Lan authored
      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.
      f922109a
  12. 21 Apr, 2018 1 commit
  13. 16 Apr, 2018 1 commit
  14. 14 Apr, 2018 1 commit
  15. 11 Apr, 2018 1 commit
    • Emmanuele Bassi's avatar
      Simplify the Wayland code generation · a2a99d27
      Emmanuele Bassi authored
      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.
      a2a99d27
  16. 05 Apr, 2018 1 commit
  17. 02 Apr, 2018 1 commit
  18. 01 Apr, 2018 1 commit
  19. 29 Mar, 2018 1 commit
    • Emmanuele Bassi's avatar
      Add an option for building examples · d50708b0
      Emmanuele Bassi authored
      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.
      d50708b0
  20. 28 Mar, 2018 2 commits
    • Chun-wei Fan's avatar
      build: Defer defining HAVE_PANGOFT and HAVE_HARFBUZZ · d64635a7
      Chun-wei Fan authored
      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
      d64635a7
    • LRN's avatar
      Check for freetype2 version when PangoFT is used · 48613eca
      LRN authored
      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
      48613eca
  21. 27 Mar, 2018 1 commit
    • Emmanuele Bassi's avatar
      Do not test for linker flags · 69441cba
      Emmanuele Bassi authored
      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.
      69441cba
  22. 20 Mar, 2018 1 commit
  23. 18 Mar, 2018 1 commit
    • Matthias Clasen's avatar
      mediafile: Turn into an extension point · e4338c4d
      Matthias Clasen authored
      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.
      e4338c4d
  24. 16 Mar, 2018 1 commit
  25. 25 Feb, 2018 1 commit
  26. 20 Feb, 2018 2 commits
    • Emmanuele Bassi's avatar
      build: Do not eagerly disable checks on release builds · 88d41945
      Emmanuele Bassi authored
      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.
      88d41945
    • Emmanuele Bassi's avatar
      build: Use get_supported_arguments() · a7e96675
      Emmanuele Bassi authored
      Instead of checking each flag one by one, use the appropriate method of
      the Meson compiler object.
      a7e96675
  27. 14 Feb, 2018 3 commits
  28. 13 Feb, 2018 2 commits