1. 23 Nov, 2018 1 commit
    • Xavier Claessens's avatar
      Check for zlib header · c49ed610
      Xavier Claessens authored
      It is not enough to check for the library, we also need zlib.h installed
      to be able to use it. Autotools were also checking for the header.
      c49ed610
  2. 20 Nov, 2018 2 commits
  3. 19 Nov, 2018 1 commit
  4. 14 Nov, 2018 1 commit
  5. 13 Nov, 2018 1 commit
  6. 01 Nov, 2018 2 commits
  7. 30 Oct, 2018 1 commit
    • Simon McVittie's avatar
      meson: Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 on GNU/Linux if needed · 4e058a69
      Simon McVittie authored
      armv5 Linux systems implement __sync_bool_compare_and_swap() and
      friends by calling a function provided by the kernel. This is not
      technically an atomic intrinsic, so gcc doesn't define
      __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 in this case, but it's good
      enough for us. Extend the current Android special case to cover
      GNU/Linux too.
      
      The possibilities are:
      
      * __sync_foo detected and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 predefined:
        calls to __atomic_foo or __sync_foo primitives are inlined into user
        code by gatomic.h
      
      * __sync_foo detected but __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 not
        predefined: user code has an extern reference to g_atomic_foo(),
        which calls __atomic_foo or __sync_foo because we defined
        __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 when compiling GLib itself
      
      * Windows: user code has an extern reference to g_atomic_foo(),
        which calls InterlockedFoo()
      
      * !defined(G_ATOMIC_LOCK_FREE): user code has an extern reference to
        g_atomic_foo(), which emulates atomic operations with a mutex
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      Closes: #1576
      4e058a69
  8. 29 Oct, 2018 1 commit
    • Ting-Wei Lan's avatar
      gutils: Check whether getauxval function exists · 295964a3
      Ting-Wei Lan authored
      FreeBSD 12 adds a new header, sys/auxv.h, to declare a function, elf_aux_info,
      for public use, which was considered an internal function in previous releases.
      This new function provides similar functionality with glibc getauxval, which is
      also declared in the same header, but their interfaces are not compatible. Since
      the only usage of sys/auxv.h is in g_check_setuid and FreeBSD already has
      issetugid to provide the required functionality, we fixes the compilation error
      by adding a check for getauxval function to prevent g_check_setuid from calling
      getauxval when sys/auxv.h is found but getauxval is not available.
      
      https://reviews.freebsd.org/D12743
      https://reviews.freebsd.org/rS324815
      295964a3
  9. 22 Oct, 2018 1 commit
  10. 11 Oct, 2018 1 commit
  11. 29 Sep, 2018 1 commit
  12. 27 Sep, 2018 1 commit
  13. 23 Sep, 2018 2 commits
  14. 10 Sep, 2018 1 commit
    • Emmanuele Bassi's avatar
      Install m4 macros unconditionally · e8fde0b9
      Emmanuele Bassi authored
      Partial revert of commit a7a6449f.
      
      Checking for the availability of m4 for installing m4 macro files
      creates an implicit dependency on m4 even if GLib does not need it; this
      prevents building GLib and then installing Autotools in order to build a
      project that depends on GLib.
      
      Closes #1520
      e8fde0b9
  15. 04 Sep, 2018 2 commits
  16. 02 Sep, 2018 2 commits
  17. 31 Aug, 2018 8 commits
  18. 30 Aug, 2018 1 commit
  19. 29 Aug, 2018 1 commit
  20. 24 Aug, 2018 1 commit
    • Christoph Reiter's avatar
      build: simplify alloca checks. See #1313 · 11fcc2f1
      Christoph Reiter authored
      The goal of this commit is to reduce differences between the autotools and meson build.
      
      With autotools AC_FUNC_ALLOCA was used which defines HAVE_ALLOCA_H, HAVE_ALLOCA,
      C_ALLOCA. meson tried to replicate that with has_function() but alloca can be a macro
      and and is named _alloca under Windows. Since we require a working alloca anyway
      and only need to know if the header exists replace AC_FUNC_ALLOCA with a simple
      AC_CHECK_HEADERS.
      
      There is still one user of HAVE_ALLOCA in the embedded gnulib, but since alloca is
      always provided through galloca.h just force define HAVE_ALLOCA there and add a comment.
      
      The docs were mentioning alloca as an example for cross compiling. Since that variable no
      longer exists now replace it with another one.
      11fcc2f1
  21. 23 Aug, 2018 1 commit
  22. 21 Aug, 2018 1 commit
  23. 05 Aug, 2018 1 commit
    • Christoph Reiter's avatar
      meson: define _FILE_OFFSET_BITS=64 for MinGW. See #1476 · 7e6fb333
      Christoph Reiter authored
      The autotools build set it by default and we use off_t in various places,
      even on Windows. Also set it with the meson build to avoid any regressions.
      
      Ideally we shouldn't use off_t and use 64bit capable API on Windows instead, so
      we get large file support with MSVC as well.
      7e6fb333
  24. 24 Jul, 2018 1 commit
  25. 19 Jul, 2018 2 commits
    • Matthias Clasen's avatar
      2.57.2 · a4869230
      Matthias Clasen authored
      a4869230
    • Christoph Reiter's avatar
      meson: use the new 'python' module instead of the 'python3' one. Closes #1455 · 631c3534
      Christoph Reiter authored
      The new python module, added with 0.46, works with Python 2 and 3 and
      allows to pass a path for the interpreter to use, if the need arises.
      
      Previously the meson build set PYTHON, used in the shebang line of
      the scripts installed by glib, to the full path of the interpreter.
      The new meson module doesn't expose that atm, but we should set it to
      a executable name anyway, and not a full path.
      631c3534
  26. 16 Jul, 2018 1 commit
  27. 10 Jul, 2018 1 commit
    • Philip Withnall's avatar
      gatomic: Tweak __atomic_load*() calls to work with -Wbad-function-cast · 194df27f
      Philip Withnall authored
      When compiling third-party projects with -Wbad-function-cast, the inline
      g_atomic_pointer_get() implementation which uses C11 __atomic_load*()
      calls on GCC was causing compilation errors like:
      
         error: cast from function call of type ‘long unsigned int’ to non-matching type ‘void *’
      
      While we don’t want to compile all of GLib with -Wbad-function-cast, we
      should support its headers being included in projects which do enable
      that warning.
      
      It doesn’t seem to be possible to cast away the warning (e.g. by casting
      the function’s result through (void)), so we have to assign to an
      intermediate integer of the right size first.
      
      The same has to be done for the bool return value from
      __sync_bool_compare_and_swap(). In that case, casting from bool to
      gboolean raises a -Wbad-function-cast warning, since gboolean is
      secretly int.
      
      The atomic tests have been modified to enable -Wbad-function-cast to
      catch regressions of this in future. The GLib build has conversely been
      modified to set -Wno-bad-function-cast, just in case people have it set
      in their environment CFLAGS.
      Signed-off-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
      
      #1041
      194df27f