1. 29 Apr, 2020 1 commit
  2. 26 Mar, 2020 2 commits
  3. 05 Dec, 2018 1 commit
  4. 19 Nov, 2018 3 commits
    • Simon McVittie's avatar
      cmake: Opt-in to modern APIs and thread-safety for Solaris · a7bf808c
      Simon McVittie authored
      
      
      In the Autotools build system, the AC_USE_SYSTEM_EXTENSIONS macro
      defines __EXTENSIONS__ and _POSIX_PTHREAD_SEMANTICS, and we set the
      others explicitly when compiling for a Solaris host.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      a7bf808c
    • Simon McVittie's avatar
      build: Drop support for non-POSIX getpwnam_r(), getgrnam_r() · e57120cb
      Simon McVittie authored
      
      
      Solaris 2.3 and 2.4 took their getpwnam_r() signature from draft 6
      of the POSIX threads standard. Since Solaris 2.5 (1995), defining
      _POSIX_PTHREAD_SEMANTICS opts-in to the non-draft version of
      getpwnam_r(), and since Solaris 11.4 (2018), the non-draft version is
      the default.
      
      We already use AC_USE_SYSTEM_EXTENSIONS, which defines
      _POSIX_PTHREAD_SEMANTICS, among other useful macros.
      
      Thanks to Alan Coopersmith for assistance with Solaris history.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      e57120cb
    • Simon McVittie's avatar
      build: Require va_copy() or __va_copy() on non-MSVC compilers · f33038bc
      Simon McVittie authored
      
      
      va_copy() is a C99 feature, and should be widely supported by now.
      gcc in strict C89 mode implements an equivalent __va_copy() instead.
      
      MSVC 2013 implements va_copy(), but at the moment we still aim to support
      MSVC 2010 and 2012, which don't have it. However, we know that in
      Windows ABIs, va_list is a pointer, so we can use
      _DBUS_VA_COPY_ASSIGN. We do not support MSVC for Autotools builds, only
      CMake, due to its non-Unixish command-line interface.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      f33038bc
  5. 15 Nov, 2018 2 commits
    • Simon McVittie's avatar
      internals: Assume compiler supports a subset of ISO varargs syntax · f93b6358
      Simon McVittie authored
      
      
      We have considerable anecdotal evidence that every relevant compiler
      supports at least the small part of ISO varargs syntax that we need
      here, because tools/tool-common.h has contained
      
          #define VERBOSE(...) do {} while (0)
      
      since dbus 1.9.2 (2014) and nobody has complained yet. With that in
      mind, let's simplify.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      f93b6358
    • Ralf Habacker's avatar
      Refactor cmake checks for DBUS_VA_COPY and DBUS_VA_COPY_ARRAY · a0503f0c
      Ralf Habacker authored
      For test case execution, CheckCSourceCompiles is now used instead
      of try_compile and the determination of DBUS_VA_AS_ARRAY is
      performed with a separate test instead of evaluating the result
      of HAVE_VA_COPY and HAVE___VA_COPY.
      
      The tests are performed for all supported compilers. Since older
      MSVC compilers (< 2013) do not support va_copy(), the macro
      _DBUS_VA_ASSIGN(a1,a2) with the implementation { a1 = a2; } is used
      as a fallback.
      a0503f0c
  6. 25 Oct, 2018 2 commits
  7. 24 Oct, 2018 6 commits
  8. 20 Oct, 2018 3 commits
  9. 15 Oct, 2018 1 commit
  10. 09 Mar, 2018 1 commit
  11. 20 Feb, 2018 2 commits
  12. 11 Dec, 2017 1 commit
  13. 29 Sep, 2017 2 commits
  14. 30 Jun, 2017 1 commit
    • Simon McVittie's avatar
      build: Introduce ${runstatedir} and use it for the pid file · 1477ca50
      Simon McVittie authored
      By default ${runstatedir} is the same as ${localstatedir}/run, but many
      Linux distributions configure it to be /run and mount a tmpfs in that
      location. All other factors being equal, it is preferable to use /run
      where available because it is guaranteed to be local, whereas traversing
      /var might involve automounting a networked filesystem (even though
      /var/run itself is very likely to be a tmpfs).
      
      /run or /var/run is currently only used in a few places in dbus, but
      I plan to make more use of it during the development of
      <https://bugs.freedesktop.org/show_bug.cgi?id=100344>.
      
      The pid file is not part of the API between dbus and other software
      (other than distribution init scripts for dbus itself), so we do not
      need to keep it strictly compatible; so it is OK to move it.
      
      We do not yet use /run for the system bus socket, because that is
      part of the API between D-Bus clients and servers, and has always been
      "officially" /var/run/dbus/system_bus_socket.
      <https://bugs.freedesktop.org/show_bug.cgi?id=101628> tracks the
      possibility of changing that.
      
      Similarly, we do not replace /var/run/console with /run/console, because
      that path is part of the API between dbus-daemon and the obsolete PAM
      modules pam_console and pam_foreground that used /var/run/console.
      <https://bugs.freedesktop.org/show_bug.cgi?id=101629
      
      > tracks the possible
      future removal of that code path.
      
      In the CMake build system, the equivalent of ${runstatedir} remains
      hard-coded to the equivalent of ${localstatedir}/run for simplicity. For
      the sort of system-wide installations that would consider redefining
      ${runstatedir} to /run, the Autotools build system is strongly
      recommended: in particular this is what Linux distributions are expected
      to use.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      Reviewed-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
      Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101569
      1477ca50
  15. 18 Apr, 2017 1 commit
  16. 13 Oct, 2016 1 commit
  17. 12 Feb, 2016 2 commits
  18. 11 Feb, 2016 1 commit
  19. 05 Mar, 2015 1 commit
  20. 03 Mar, 2015 1 commit
  21. 12 Feb, 2015 1 commit
  22. 04 Feb, 2015 1 commit
  23. 05 Jan, 2015 1 commit
  24. 24 Oct, 2014 1 commit
  25. 17 Oct, 2014 1 commit