Skip to content
Snippets Groups Projects
  1. Nov 03, 2022
  2. Nov 02, 2022
  3. Oct 27, 2022
  4. Oct 18, 2022
  5. Jan 22, 2022
    • Nirbheek Chauhan's avatar
      meson: Fix usage of pkgconfig.generate() · adc07d46
      Nirbheek Chauhan authored
      The library that the pkgconfig file is for should be the first
      positional argument. The `libraries:` kwarg is for libraries that the
      user must also link against, and which meson does not know about (and
      hence cannot automatically add to the `Libs:` or `Requires:` section
      in the .pc file).
      
      Fixes:
      ```
      subprojects/pixman/meson.build:564: DEPRECATION: Library pixman-1 was
      passed to the "libraries" keyword argument of a previous call to
      generate() method instead of first positional argument. Adding
      pixman-1 to "Requires" field, but this is a deprecated behaviour that
      will change in a future version of Meson. Please report the issue if
      this warning cannot be avoided in your case.
      ```
      adc07d46
  6. Jan 21, 2022
  7. Jan 13, 2022
  8. Sep 17, 2021
  9. Jun 18, 2020
    • Dylan Baker's avatar
      meson: remove pixman dependency · 9b49f4e0
      Dylan Baker authored
      AFAICT from the git history, what happened is that the gtk demos rely on
      gtk being built with pixman support. pkg-config isn't really expressive
      enough to have that information, so the solution that was come up with
      was to search for pixman as well as gtk+ and hope that pixman being
      installed was.
      
      This isn't actually used anywhere in the meson build anyway, and it's
      causing problems for projects that want to use pixman as a supproject
      (there's a port of cairo underway that's hitting this), because it
      confuses meson.
      9b49f4e0
  10. Jun 02, 2020
  11. May 11, 2020
    • Tom Stellard's avatar
      Add -ftrapping-math to default cflags · c2fe1568
      Tom Stellard authored
      This should resolve pixman/pixman#22
      and make the tests pass with clang.
      
      -ftrapping-math is already the default[1] for gcc, so this should not change
      behavior when compiling with gcc.  However, clang defaults[2] to -fno-trapping-math,
      so -ftrapping-math is needed to avoid floating-point expceptions when running the
      combiner and stress tests.
      
      The root causes of this issue is that that pixman-combine-float.c guards floating-point
      division operations with a FLOAT_IS_ZERO check e.g.
      
      if (FLOAT_IS_ZERO (sa))
      	f = 1.0f;
      else
      	f = CLAMP (da / sa);
      
      With -fno-trapping-math, the compiler assumes that division will never trap, so it may
      re-order the division and the guard and execute the division first.  In most cases,
      this would not be an issue, because floating-point exceptions are ignored.  However,
      these tests call enable_divbyzero_exceptions() which causes the SIGFPE signal to
      be sent to the program when a divide by zero exception is raised.
      
      [1] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
      [2] https://clang.llvm.org/docs/UsersManual.html#controlling-floating-point-behavior
      c2fe1568
  12. Apr 19, 2020
  13. Apr 07, 2020
  14. Jan 30, 2020
  15. Nov 18, 2019
    • Chun-wei Fan's avatar
      meson.build: Improve libpng search on MSVC · 06a3f6e6
      Chun-wei Fan authored
      The build system for libpng for MSVC does not generate a pkg-config file
      for us, and CMake support in Meson does not work very well.  So, look
      for libpng manually on MSVC builds if depedency discovery did not work
      out via pkg-config or the CMake config files.
      06a3f6e6
    • Chun-wei Fan's avatar
      build: Don't assume PThreads if threading support is found · 7661b1fa
      Chun-wei Fan authored
      Look also for pthread.h if threading support is found by Meson, as the
      underlying threading support may not be PThreads, depending on platform.
      
      For now, disable the thread-test test program if pthread.h and if
      necessary, the PThreads library, cannot be found, as the current
      implementation assumes the use of PThreads.
      
      Also bump the required Meson version to 0.50.0 since we need it for
      -cc.get_argument_syntax()
      -For a later commit, the has_headers sub-method for cc.find_library()
      7661b1fa
    • Chun-wei Fan's avatar
      meson.build: Disable OpenMP on MSVC builds · e9db2689
      Chun-wei Fan authored
      The implementation of OpenMP is not compliant for our uses, so disable
      it for now by just not checking for it on MSVC builds, as we implicitly
      add an /openmp switch to the build, which will cause linking the tests
      programs to fail, as the OpenMP implementation is not enough.
      e9db2689
    • Chun-wei Fan's avatar
      meson.build: Fix MMX, SSE2 and SSSE3 checks on MSVC · f251c12f
      Chun-wei Fan authored
      -For MSVC builds, do not use the GCC-specific CFlags when checking for
       these features.
      
      -For the MMX check, assume that we have good enough MMX intrinsics and
       inline assembly support (on ix86), since MSVC provides sufficient
       support for those since before the times of MSVC 2008, and 2008 is the
       oldest version that we can support, as with the pre-C99 GTK+ stack.
      
      Unfortunately due to x64 compiler issues, pre-Visual Studio 2010 will
      crash when building SSSE3 code, so we do not enable building SSSE3 code
      on pre-2010 Visual Studio.
      
      Also, for all x64 Visual Studio builds, we do not enable USE_X86_MMX
      as inline assembly is not allowed for x64 Visual Studio builds, and
      instead use the compatibility instrinsics that we already have in the
      code.
      f251c12f
  16. Jun 10, 2019
    • Christoph Reiter's avatar
      meson: fix TLS support under mingw · fd5c0da5
      Christoph Reiter authored and Matt Turner's avatar Matt Turner committed
      GCC on Windows complains that "__declspec(thread)" doesn't work, but still
      compiles it, so the meson check doesn't work. The warning printed by gcc:
      "warning: 'thread' attribute directive ignored [-Wattributes]"
      
      Pass -Werror=attributes to make the check fail instead.
      
      This fixes the test suite (minus gtk tests) on Windows with mingw.
      fd5c0da5
    • Christoph Reiter's avatar
      meson: define SIZEOF_LONG and use -Wundef · be0d3e69
      Christoph Reiter authored and Matt Turner's avatar Matt Turner committed
      meson builds defaulted to SIZEOF_LONG=0 in various places
      be0d3e69
  17. Apr 10, 2019
  18. Apr 07, 2019
  19. Mar 27, 2019
  20. Feb 11, 2019
  21. Nov 29, 2018
    • Dylan Baker's avatar
      meson: Add a meson build system · 199a3bd2
      Dylan Baker authored and Adam Jackson's avatar Adam Jackson committed
      This commit adds a meson build system for pixman. It carries the usual
      improvements of meson, better clean build time, much better incremental
      build times, while being simpler and easier to understand.
      
      This takes advantage of some features from the most recent versions of
      meson: the builtin openmp dependency and the feature option type.
      
      There are a couple of things that I've done a bit differently than the
      autotools build system, I've built a libdemos which is the utilities
      from the demos folder, and I've linked the demos with libtestutils from
      tetsts, otherwise I expect that most things will be the same.
      
      I've tested so far cross compiling from x86_64 -> x86, x86_64 ->
      Aarch64, and Linux to Windows via mingw, as well as native x86_64 Linux
      builds which all work. I've also built with mingw nativly, there are
      some test failures there. An MSVC build can be generated, but fails.
      
      v2: - set WORDS_BIGENDIAN in the config for big endian systems.
      199a3bd2
Loading