xserver: Branch 'master' - 9 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 30 20:14:43 UTC 2019


 glx/meson.build                  |    2 +-
 hw/xwin/meson.build              |    2 ++
 hw/xwin/winclipboard/meson.build |    1 +
 include/meson.build              |   13 ++++++++-----
 meson.build                      |   11 ++++++++++-
 os/strcasestr.c                  |    1 -
 6 files changed, 22 insertions(+), 8 deletions(-)

New commits:
commit 504468d2cf56c6588342249c4625a0bfadf0751d
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Fri Apr 26 19:46:05 2019 +0100

    meson: Don't use strndup() unless it's prototyped
    
    A workaround for https://github.com/mesonbuild/meson/issues/3672
    
    MinGW-w64 gcc has a built-in strndup, but it's not in the C library and
    MinGW-w64 headers don't prototype it.
    
    Don't try to use it, as that will cause an undefined reference if gcc
    decides that an out-of-line call is appropriate.

diff --git a/include/meson.build b/include/meson.build
index 3f3024b50..09707cec5 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -159,7 +159,7 @@ conf_data.set('HAVE_STRCASESTR', cc.has_function('strcasestr'))
 conf_data.set('HAVE_STRLCAT', cc.has_function('strlcat', dependencies: libbsd_dep))
 conf_data.set('HAVE_STRLCPY', cc.has_function('strlcpy', dependencies: libbsd_dep))
 conf_data.set('HAVE_STRNCASECMP', cc.has_function('strncasecmp'))
-conf_data.set('HAVE_STRNDUP', cc.has_function('strndup'))
+conf_data.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup'))
 conf_data.set('HAVE_TIMINGSAFE_MEMCMP', cc.has_function('timingsafe_memcmp'))
 conf_data.set('HAVE_VASPRINTF', cc.has_function('vasprintf'))
 conf_data.set('HAVE_VSNPRINTF', cc.has_function('vsnprintf'))
commit d3a528c91ec77b29d4d70091f5eb6939919a19ab
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Thu Apr 25 23:21:46 2019 +0100

    Remove unneeded include of dix.h from strcasestr.c
    
    In the meson build, functions to make up for the shortcomings of libc
    are compiled into a separate library. We don't bother making the pixman
    headers available (reasonably enough) to this compilation, but they are
    required indirectly by dix.h.  Just remove this unneeded include.

diff --git a/os/strcasestr.c b/os/strcasestr.c
index 1ca2ad6bb..3189cf21e 100644
--- a/os/strcasestr.c
+++ b/os/strcasestr.c
@@ -36,7 +36,6 @@
 
 #include <ctype.h>
 #include <string.h>
-#include "dix.h"
 
 /*
  * Find the first occurrence of find in s, ignore case.
commit fd52110ec44b97359c2d75bb54047e6de10ed856
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Fri Apr 26 01:09:25 2019 +0100

    meson: Don't try to build tests on Windows
    
    Most of these could be made to work, but would need to be ported off
    using fork and poll...

diff --git a/meson.build b/meson.build
index 6467a6b7c..80f353e0c 100644
--- a/meson.build
+++ b/meson.build
@@ -630,7 +630,10 @@ libxserver = [
 libxserver += libxserver_dri3
 
 subdir('hw')
-subdir('test')
+
+if host_machine.system() != 'windows'
+    subdir('test')
+endif
 
 install_man(configure_file(
     input: 'man/Xserver.man',
commit 50b8670fdf7ab9195617145c229d8fae8519f5a9
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Fri Apr 26 01:00:28 2019 +0100

    meson: Require clock_gettime() as well for MONOTONIC_CLOCK
    
    As configure.ac, require that clock_gettime() exists as well to use
    MONOTONIC_CLOCK (MinGW provides the define, but not the function)

diff --git a/include/meson.build b/include/meson.build
index 144d82061..3f3024b50 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -20,7 +20,8 @@ conf_data.set('HAVE_TYPEOF', cc.compiles('''
 ''',
     name: 'typeof()'))
 
-conf_data.set('MONOTONIC_CLOCK', cc.compiles('''
+conf_data.set('MONOTONIC_CLOCK', cc.has_function('clock_gettime') and
+cc.compiles('''
     #define _POSIX_C_SOURCE 200112L
     #include <time.h>
     #include <unistd.h>
commit 92a52611f6ee2777cb11d5125c04a983b9a662d1
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Fri Apr 26 00:46:09 2019 +0100

    meson: Link with ws2_32 for socket functions on Windows

diff --git a/hw/xwin/winclipboard/meson.build b/hw/xwin/winclipboard/meson.build
index 0395eb32d..71518a7d9 100644
--- a/hw/xwin/winclipboard/meson.build
+++ b/hw/xwin/winclipboard/meson.build
@@ -14,6 +14,7 @@ xwin_clipboard = static_library(
     dependencies: [
         dependency('x11'),
         dependency('xfixes'),
+        socket_dep,
     ],
 )
 
diff --git a/meson.build b/meson.build
index 2a3e2100b..6467a6b7c 100644
--- a/meson.build
+++ b/meson.build
@@ -525,6 +525,12 @@ if get_option('xselinux') != 'false'
     endif
 endif
 
+socket_dep = []
+if host_machine.system() == 'windows'
+    socket_dep = meson.get_compiler('c').find_library('ws2_32')
+    common_dep += socket_dep
+endif
+
 glx_inc = include_directories('glx')
 
 top_srcdir_inc = include_directories('.')
commit d21224cd150e28c2868c8d194e68fe4474cdce1b
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Fri Apr 26 00:32:29 2019 +0100

    meson: Don't set UNIXCONN on Windows
    
    As XTRANS_CONNECTION_FLAGS did, don't try to build unix socket support
    on Windows.

diff --git a/include/meson.build b/include/meson.build
index f7991c045..144d82061 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -185,7 +185,7 @@ if not conf_data.get('HAVE_GETPEEREID') and not conf_data.get('HAVE_GETPEERUCRED
 endif
 
 conf_data.set('TCPCONN', '1')
-conf_data.set('UNIXCONN', '1')
+conf_data.set('UNIXCONN', host_machine.system() != 'windows')
 conf_data.set('IPv6', build_ipv6)
 
 conf_data.set('BIGREQS', '1')
commit 93a1cdcc78bc909e25a224b76ae8f6a90322d0ba
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Thu Apr 25 14:53:38 2019 +0100

    meson: Fix hw/xwin for -Dglx=false
    
    hw/xwin/meson.build:140:0: ERROR:  Unknown variable "xwin_windowsdri".
    hw/xwin/meson.build:141:0: ERROR:  Unknown variable "xwin_glx".

diff --git a/hw/xwin/meson.build b/hw/xwin/meson.build
index 7e1375cfd..72e4fe3c2 100644
--- a/hw/xwin/meson.build
+++ b/hw/xwin/meson.build
@@ -24,6 +24,8 @@ srcs_windows = [
 ]
 subdir('winclipboard')
 
+xwin_glx = []
+xwin_windowsdri = []
 if build_glx
     if build_windowsdri
         xwin_c_args += '-DXWIN_WINDOWS_DRI'
commit 331850ce6f0c48a1cfc489da2a27ca0220997a2f
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Thu Apr 25 14:39:58 2019 +0100

    meson: Fix value of libglxvnd in -Dglx=false build
    
    hw/vfb/meson.build:7:0: ERROR:  '' is not a target.

diff --git a/glx/meson.build b/glx/meson.build
index 69d558e78..7f9e549f0 100644
--- a/glx/meson.build
+++ b/glx/meson.build
@@ -65,7 +65,7 @@ hdrs_vnd = [
     'vndserver.h',
 ]
 
-libglxvnd = ''
+libglxvnd = []
 if build_glx
     libglxvnd = static_library('libglxvnd',
     srcs_vnd,
commit c2feeca1b008fb01b2128daef2dc361dfb193a41
Author: Jon Turney <jon.turney at dronecode.org.uk>
Date:   Sun Apr 28 21:56:20 2019 +0100

    meson: Absence of dri.pc is an error if building with GLX
    
    Currently, this can error if dri.pc isn't found, as we can't then get
    the value of pkgconfig variable from it:
    
    include/meson.build:199:10: ERROR:  'dri' is not a pkgconfig dependency
    
    I think we need DRI_DRIVER_PATH (only) when building GLX, even if dri2/3
    isn't enabled, so we know where to load swrast_dri.so from.
    
    (For autotools, configure.ac directly calls `pkg-config
    --variable=dridriverdir dri`, the backticks swallowing any error,
    causing the value of this define to be empty if dri.pc isn't present)

diff --git a/include/meson.build b/include/meson.build
index bbd5a6690..f7991c045 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -10,7 +10,7 @@ endif
 
 release = major * 10000000 + minor * 100000 + patch * 1000 + subpatch
 
-dri_dep = dependency('dri', required: build_dri2 or build_dri3)
+dri_dep = dependency('dri', required: build_glx)
 
 conf_data = configuration_data()
 conf_data.set('_DIX_CONFIG_H_', '1')
@@ -196,7 +196,9 @@ conf_data.set('DGA', build_dga)
 conf_data.set('DPMSExtension', build_dpms)
 conf_data.set('DRI2', build_dri2)
 conf_data.set('DRI3', build_dri3)
-conf_data.set_quoted('DRI_DRIVER_PATH', dri_dep.get_pkgconfig_variable('dridriverdir'))
+if build_glx
+    conf_data.set_quoted('DRI_DRIVER_PATH', dri_dep.get_pkgconfig_variable('dridriverdir'))
+endif
 conf_data.set('HAS_SHM', build_mitshm)
 conf_data.set('MITSHM', build_mitshm)
 conf_data.set('PANORAMIX', build_xinerama)


More information about the xorg-commit mailing list