1version_split = meson.project_version().split('.') 2major = version_split[0].to_int() 3minor = version_split[1].to_int() 4patch = version_split[2].to_int() 5 6# convert to the old-style 1.x.y version scheme used up to 1.20.x for backwards compatibility 7release = 1 * 10000000 + major * 100000 + minor * 1000 + patch 8 9dri_dep = dependency('dri', required: build_glx) 10 11conf_data = configuration_data() 12conf_data.set('_DIX_CONFIG_H_', '1') 13 14conf_data.set('HAVE_TYPEOF', cc.compiles(''' 15 int foo(int bar) { typeof(bar) baz = 1; return baz; } 16''', 17 name: 'typeof()') ? '1' : false) 18 19# For feature macros we're using either false (boolean) or '1', which correspond to the macro being 20# not defined at all and defined to 1. This is to match autotools behavior and thus preserve 21# backwards compatibility with all the existing code that uses #ifdef to check if feature is 22# enabled. This ifdef would pass if the macro is defined to 0 which would silently break code 23# in various places. 24# 25# As a complication when we read the configuration from conf_data back we get either string or 26# bool. Meson does not like comparing things of different types so we always convert the returned 27# value to an integer using to_int(). 28conf_data.set('MONOTONIC_CLOCK', cc.has_function('clock_gettime') and 29cc.compiles(''' 30 #define _POSIX_C_SOURCE 200112L 31 #include <time.h> 32 #include <unistd.h> 33 #ifndef CLOCK_MONOTONIC 34 #error CLOCK_MONOTONIC not defined 35 #endif 36''', 37 name: 'CLOCK_MONOTONIC') ? '1' : false) 38 39conf_data.set('XSERVER_DTRACE', with_dtrace ? '1' : false) 40 41if host_machine.endian() == 'little' 42 conf_data.set('X_BYTE_ORDER', 'X_LITTLE_ENDIAN') 43else 44 conf_data.set('X_BYTE_ORDER', 'X_BIG_ENDIAN') 45endif 46 47glx_align64 = [] 48if cc.sizeof('unsigned long') == 8 49 conf_data.set('_XSERVER64', '1') 50 glx_align64 = '-D__GLX_ALIGN64' 51endif 52 53conf_data.set('_GNU_SOURCE', '1') 54 55# autoconf checks for /dev/xf86 here, but the test should be based on 56# the target, not the build system. Could we get rid of this and just 57# ifdef for openbsd? 58conf_data.set('HAS_APERTURE_DRV', host_machine.system() == 'openbsd' ? '1' : false) 59 60if get_option('input_thread') == 'false' 61 enable_input_thread = false 62else 63 enable_input_thread = cc.has_header_symbol('pthread.h', 64 'PTHREAD_MUTEX_RECURSIVE') 65 if not enable_input_thread and get_option('input_thread') == 'true' 66 error('Input thread enabled and PTHREAD_MUTEX_RECURSIVE not found') 67 endif 68 if host_machine.system() == 'windows' and get_option('input_thread') == 'auto' 69 enable_input_thread = false 70 endif 71endif 72conf_data.set('INPUTTHREAD', enable_input_thread ? '1' : false) 73 74if cc.compiles(''' 75 #define _GNU_SOURCE 1 76 #include <pthread.h> 77 void foo(int bar) { pthread_setname_np(pthread_self(), "example"); } 78''', 79 args: '-Werror-implicit-function-declaration', 80 name: 'pthread_setname_np(tid, name)') 81 conf_data.set('HAVE_PTHREAD_SETNAME_NP_WITH_TID', 1) 82elif cc.compiles(''' 83 #define _GNU_SOURCE 1 84 #include <pthread.h> 85 void foo(int bar) { pthread_setname_np("example"); } 86''', 87 args: '-Werror-implicit-function-declaration', 88 name: 'pthread_setname_np(name)') 89 conf_data.set('HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID', 1) 90endif 91 92conf_data.set('HAVE_LIBBSD', libbsd_dep.found() ? '1' : false) 93# Note: this symbol is used by libXtrans. 94conf_data.set('HAVE_SYSTEMD_DAEMON', libsystemd_daemon_dep.found() ? '1' : false) 95conf_data.set('CONFIG_UDEV', build_udev ? '1' : false) 96conf_data.set('CONFIG_UDEV_KMS', build_udev_kms ? '1' : false) 97conf_data.set('HAVE_DBUS', build_dbus ? '1' : false) 98conf_data.set('CONFIG_HAL', build_hal ? '1' : false) 99conf_data.set('SYSTEMD_LOGIND', build_systemd_logind ? '1' : false) 100conf_data.set('NEED_DBUS', build_systemd_logind or build_hal ? '1' : false) 101conf_data.set('CONFIG_WSCONS', host_machine.system() == 'openbsd' ? '1' : false) 102 103conf_data.set('HAVE_XSHMFENCE', xshmfence_dep.found() ? '1' : false) 104conf_data.set('WITH_LIBDRM', libdrm_required ? '1' : false) 105conf_data.set('GLAMOR_HAS_EGL_QUERY_DMABUF', 106 epoxy_dep.found() and epoxy_dep.version().version_compare('>= 1.4.4') ? '1' : false) 107conf_data.set('GLAMOR_HAS_EGL_QUERY_DRIVER', 108 epoxy_dep.found() and epoxy_dep.version().version_compare('>= 1.5.4') ? '1' : false) 109conf_data.set('GLXEXT', build_glx ? '1' : false) 110conf_data.set('GLAMOR', build_glamor ? '1' : false) 111conf_data.set('GLAMOR_HAS_GBM', gbm_dep.found() ? '1' : false) 112conf_data.set('GLAMOR_HAS_GBM_LINEAR', 113 build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 10.6') ? '1' : false) 114conf_data.set('GBM_BO_WITH_MODIFIERS', 115 build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 17.1') ? '1' : false) 116 117conf_data.set_quoted('SERVER_MISC_CONFIG_PATH', serverconfigdir) 118conf_data.set_quoted('PROJECTROOT', get_option('prefix')) 119conf_data.set_quoted('SYSCONFDIR', join_paths(get_option('prefix'), get_option('sysconfdir'))) 120conf_data.set_quoted('SUID_WRAPPER_DIR', join_paths(get_option('prefix'), get_option('libexecdir'))) 121conf_data.set_quoted('COMPILEDDEFAULTFONTPATH', default_font_path) 122 123conf_data.set('XORG_VERSION_CURRENT', release) 124 125conf_data.set('HASXDMAUTH', has_xdm_auth ? '1' : false) 126conf_data.set('SECURE_RPC', get_option('secure-rpc') ? '1' : false) 127 128conf_data.set('HAVE_DLFCN_H', cc.has_header('dlfcn.h') ? '1' : false) 129conf_data.set('HAVE_EXECINFO_H', cc.has_header('execinfo.h') ? '1' : false) 130conf_data.set('HAVE_FCNTL_H', cc.has_header('fcntl.h') ? '1' : false) 131conf_data.set('HAVE_FNMATCH_H', cc.has_header('fnmatch.h') ? '1' : false) 132conf_data.set('HAVE_LINUX_AGPGART_H', cc.has_header('linux/agpgart.h') ? '1' : false) 133conf_data.set('HAVE_STDLIB_H', cc.has_header('stdlib.h') ? '1' : false) 134conf_data.set('HAVE_STRING_H', cc.has_header('string.h') ? '1' : false) 135conf_data.set('HAVE_STRINGS_H', cc.has_header('strings.h') ? '1' : false) 136conf_data.set('HAVE_SYS_AGPGART_H', cc.has_header('sys/agpgart.h') ? '1' : false) 137conf_data.set('HAVE_SYS_AGPIO_H', cc.has_header('sys/agpio.h') ? '1' : false) 138conf_data.set('HAVE_SYS_UN_H', cc.has_header('sys/un.h') ? '1' : false) 139conf_data.set('HAVE_SYS_UTSNAME_H', cc.has_header('sys/utsname.h') ? '1' : false) 140conf_data.set('HAVE_SYS_SYSMACROS_H', cc.has_header('sys/sysmacros.h') ? '1' : false) 141conf_data.set('HAVE_UNISTD_H', cc.has_header('unistd.h') ? '1' : false) 142 143conf_data.set('HAVE_ARC4RANDOM_BUF', cc.has_function('arc4random_buf', dependencies: libbsd_dep) ? '1' : false) 144conf_data.set('HAVE_BACKTRACE', cc.has_function('backtrace') ? '1' : false) 145conf_data.set('HAVE_CBRT', cc.has_function('cbrt') ? '1' : false) 146conf_data.set('HAVE_EPOLL_CREATE1', cc.has_function('epoll_create1') ? '1' : false) 147conf_data.set('HAVE_GETUID', cc.has_function('getuid') ? '1' : false) 148conf_data.set('HAVE_GETEUID', cc.has_function('geteuid') ? '1' : false) 149conf_data.set('HAVE_ISASTREAM', cc.has_function('isastream') ? '1' : false) 150conf_data.set('HAVE_ISSETUGID', cc.has_function('issetugid') ? '1' : false) 151conf_data.set('HAVE_GETIFADDRS', cc.has_function('getifaddrs') ? '1' : false) 152conf_data.set('HAVE_GETPEEREID', cc.has_function('getpeereid') ? '1' : false) 153conf_data.set('HAVE_GETPEERUCRED', cc.has_function('getpeerucred') ? '1' : false) 154conf_data.set('HAVE_GETPROGNAME', cc.has_function('getprogname') ? '1' : false) 155conf_data.set('HAVE_GETZONEID', cc.has_function('getzoneid') ? '1' : false) 156conf_data.set('HAVE_MEMFD_CREATE', cc.has_function('memfd_create') ? '1' : false) 157conf_data.set('HAVE_MKOSTEMP', cc.has_function('mkostemp') ? '1' : false) 158conf_data.set('HAVE_MMAP', cc.has_function('mmap') ? '1' : false) 159conf_data.set('HAVE_POLL', cc.has_function('poll') ? '1' : false) 160conf_data.set('HAVE_POLLSET_CREATE', cc.has_function('pollset_create') ? '1' : false) 161conf_data.set('HAVE_POSIX_FALLOCATE', cc.has_function('posix_fallocate') ? '1' : false) 162conf_data.set('HAVE_PORT_CREATE', cc.has_function('port_create') ? '1' : false) 163conf_data.set('HAVE_REALLOCARRAY', cc.has_function('reallocarray', dependencies: libbsd_dep) ? '1' : false) 164conf_data.set('HAVE_SETEUID', cc.has_function('seteuid') ? '1' : false) 165conf_data.set('HAVE_SETITIMER', cc.has_function('setitimer') ? '1' : false) 166conf_data.set('HAVE_SHMCTL64', cc.has_function('shmctl64') ? '1' : false) 167conf_data.set('HAVE_SIGACTION', cc.has_function('sigaction') ? '1' : false) 168conf_data.set('HAVE_SIGPROCMASK', cc.has_function('sigprocmask') ? '1' : false) 169# HAVE_SOCKLEN_T is used by xtrans when IPv6 is disabled 170conf_data.set('HAVE_SOCKLEN_T', cc.has_type('socklen_t', prefix: '#include <sys/socket.h>') ? '1' : false) 171conf_data.set('HAVE_STRCASECMP', cc.has_function('strcasecmp') ? '1' : false) 172conf_data.set('HAVE_STRCASESTR', cc.has_function('strcasestr') ? '1' : false) 173conf_data.set('HAVE_STRLCAT', cc.has_function('strlcat', dependencies: libbsd_dep) ? '1' : false) 174conf_data.set('HAVE_STRLCPY', cc.has_function('strlcpy', dependencies: libbsd_dep) ? '1' : false) 175conf_data.set('HAVE_STRNCASECMP', cc.has_function('strncasecmp') ? '1' : false) 176conf_data.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup') ? '1' : false) 177# HAVE_STRUCT_SOCKADDR_STORAGE is used by xtrans >= 1.6 178conf_data.set('HAVE_STRUCT_SOCKADDR_STORAGE', cc.has_type('struct sockaddr_storage', prefix: '#include <sys/socket.h>') ? '1' : false) 179conf_data.set('HAVE_TIMINGSAFE_MEMCMP', cc.has_function('timingsafe_memcmp') ? '1' : false) 180conf_data.set('HAVE_VASPRINTF', cc.has_function('vasprintf') ? '1' : false) 181conf_data.set('HAVE_VSNPRINTF', cc.has_function('vsnprintf') ? '1' : false) 182conf_data.set('HAVE_WALKCONTEXT', cc.has_function('walkcontext') ? '1' : false) 183 184conf_data.set('BUSFAULT', conf_data.get('HAVE_SIGACTION')) 185 186# Don't let X dependencies typedef 'pointer' 187conf_data.set('_XTYPEDEF_POINTER', '1') 188conf_data.set('_XITYPEDEF_POINTER', '1') 189 190conf_data.set('LISTEN_TCP', get_option('listen_tcp')) 191conf_data.set('LISTEN_UNIX', get_option('listen_unix')) 192conf_data.set('LISTEN_LOCAL', get_option('listen_local')) 193 194if cc.has_header_symbol('sys/socket.h', 'SCM_RIGHTS') 195 conf_data.set('XTRANS_SEND_FDS', '1') 196endif 197 198if conf_data.get('HAVE_GETPEEREID').to_int() == 0 and conf_data.get('HAVE_GETPEERUCRED').to_int() == 0 199 if not cc.has_header_symbol('sys/socket.h', 'SO_PEERCRED') 200 conf_data.set('NO_LOCAL_CLIENT_CRED', 1) 201 endif 202endif 203 204conf_data.set('TCPCONN', '1') 205conf_data.set('UNIXCONN', host_machine.system() != 'windows' ? '1' : false) 206conf_data.set('IPv6', build_ipv6 ? '1' : false) 207 208conf_data.set('BIGREQS', '1') 209conf_data.set('COMPOSITE', '1') 210conf_data.set('DAMAGE', '1') 211conf_data.set('DBE', '1') 212conf_data.set('DGA', build_dga ? '1' : false) 213conf_data.set('DPMSExtension', build_dpms ? '1' : false) 214conf_data.set('DRI2', build_dri2 ? '1' : false) 215conf_data.set('DRI3', build_dri3 ? '1' : false) 216if build_glx 217 conf_data.set_quoted('DRI_DRIVER_PATH', dri_dep.get_pkgconfig_variable('dridriverdir')) 218endif 219conf_data.set('HAS_SHM', build_mitshm ? '1' : false) 220conf_data.set('MITSHM', build_mitshm ? '1' : false) 221conf_data.set('PANORAMIX', build_xinerama ? '1' : false) 222conf_data.set('PRESENT', '1') 223conf_data.set('RANDR', '1') 224conf_data.set('RES', build_res ? '1' : false) 225conf_data.set('RENDER', '1') 226conf_data.set('SCREENSAVER', build_screensaver ? '1' : false) 227conf_data.set('SHAPE', '1') 228conf_data.set('XACE', build_xace ? '1' : false) 229conf_data.set('XCMISC', '1') 230conf_data.set('XCSECURITY', build_xsecurity ? '1' : false) 231conf_data.set('XDMCP', xdmcp_dep.found() ? '1' : false) 232conf_data.set('XF86BIGFONT', build_xf86bigfont ? '1' : false) 233conf_data.set('XF86DRI', build_dri1 ? '1' : false) 234conf_data.set('XF86VIDMODE', 1) 235conf_data.set('XFIXES', '1') 236conf_data.set('XFreeXDGA', build_dga ? '1' : false) 237conf_data.set('XINERAMA', build_xinerama ? '1' : false) 238conf_data.set('XINPUT', '1') 239conf_data.set('XRECORD', '1') 240conf_data.set('XSELINUX', build_xselinux ? '1' : false) 241conf_data.set('XSYNC', '1') 242conf_data.set('XTEST', '1') 243conf_data.set('XV', build_xv ? '1' : false) 244conf_data.set('XvExtension', build_xv ? '1' : false) 245conf_data.set('XvMCExtension', build_xvmc ? '1' : false) 246 247conf_data.set('HAVE_SHA1_IN_' + sha1.to_upper(), '1', description: 'Use @0@ SHA1 functions'.format(sha1)) 248conf_data.set('HAVE_LIBUNWIND', get_option('libunwind')) 249 250conf_data.set('HAVE_APM', (build_apm or build_acpi) ? '1' : false) 251conf_data.set('HAVE_ACPI', build_acpi ? '1' : false) 252 253conf_data.set('DDXOSVERRORF', build_xwin ? '1' : false) 254conf_data.set('DDXBEFORERESET', build_xwin ? '1' : false) 255enable_debugging = get_option('buildtype') == 'debug' 256conf_data.set('DEBUG', enable_debugging ? '1' : false) 257 258conf_data.set_quoted('XVENDORNAME', get_option('vendor_name')) 259conf_data.set_quoted('XVENDORNAMESHORT', get_option('vendor_name_short')) 260conf_data.set_quoted('__VENDORDWEBSUPPORT__', get_option('vendor_web')) 261conf_data.set_quoted('BUILDERADDR', get_option('builder_addr')) 262conf_data.set_quoted('BUILDERSTRING', get_option('builder_string')) 263 264if build_rootless 265 conf_data.set('ROOTLESS', build_rootless ? '1' : false) 266 conf_data.set('ROOTLESS_WORKAROUND', 1) 267 conf_data.set('ROOTLESS_SAFEALPHA', 1) 268endif 269 270# 271# for xorg-server.h only 272# 273defines_svr4 = '''#if !defined(SVR4) && !defined(__svr4__) && !defined(__SVR4) 274#error "I am not SVR4" 275#endif 276''' 277 278# BSD specifics 279supports_pccons = false 280supports_pcvt = false 281supports_syscons = false 282supports_wscons = false 283csrg_based = false 284 285if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonfly' 286 supports_pccons = true 287 supports_pcvt = true 288 supports_syscons = true 289 csrg_based = true 290endif 291 292if host_machine.system() == 'kfreebsd' 293 supports_pccons = true 294 supports_pcvt = true 295 supports_syscons = true 296endif 297 298if host_machine.system() == 'netbsd' 299 supports_pccons = true 300 supports_pcvt = true 301 supports_wscons = true 302 csrg_based = true 303endif 304 305if host_machine.system() == 'openbsd' 306 supports_pcvt = true 307 supports_wscons = true 308 csrg_based = true 309endif 310 311if host_machine.system() == 'darwin' 312 csrg_based = true 313endif 314 315conf_data.set('SVR4', cc.compiles(defines_svr4) ? '1' : false) 316conf_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules')) 317conf_data.set('XORGSERVER', build_xorg ? '1' : false) 318conf_data.set_quoted('XCONFIGFILE', 'xorg.conf') 319conf_data.set_quoted('__XSERVERNAME__', 'Xorg') 320conf_data.set('WITH_VGAHW', build_vgahw ? '1' : false) 321conf_data.set('CSRG_BASED', csrg_based ? '1' : false) 322conf_data.set('PCCONS_SUPPORT', supports_pccons ? '1' : false) 323conf_data.set('PCVT_SUPPORT', supports_pcvt ? '1' : false) 324conf_data.set('SYSCONS_SUPPORT', supports_syscons ? '1' : false) 325conf_data.set('WSCONS_SUPPORT', supports_wscons ? '1' : false) 326conf_data.set('XSERVER_LIBPCIACCESS', get_option('pciaccess') ? '1' : false) 327conf_data.set('XSERVER_PLATFORM_BUS', build_udev_kms ? '1' : false) 328 329configure_file(output : 'dix-config.h', 330 configuration : conf_data) 331 332configure_file(output : 'xorg-server.h', 333 input : 'xorg-server.h.meson.in', 334 configuration : conf_data, 335 install: build_xorg, 336 install_dir: xorgsdkdir) 337 338version_data = configuration_data() 339version_data.set('VENDOR_RELEASE', '@0@'.format(release)) 340version_data.set_quoted('VENDOR_NAME', get_option('vendor_name')) 341version_data.set_quoted('VENDOR_NAME_SHORT', get_option('vendor_name_short')) 342version_data.set_quoted('VENDOR_WEB', get_option('vendor_web')) 343version_data.set_quoted('VENDOR_MAN_VERSION', 'Version @0@.@1@.@2@'.format(major, minor, patch)) 344configure_file(output : 'version-config.h', 345 configuration : version_data) 346 347xkb_data = configuration_data() 348 349xkb_data.set_quoted('XKB_BIN_DIRECTORY', xkb_bin_dir) 350xkb_data.set_quoted('XKB_BASE_DIRECTORY', xkb_dir) 351xkb_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules')) 352xkb_data.set_quoted('XKB_DFLT_MODEL', get_option('xkb_default_model')) 353xkb_data.set_quoted('XKB_DFLT_LAYOUT', get_option('xkb_default_layout')) 354xkb_data.set_quoted('XKB_DFLT_VARIANT', get_option('xkb_default_variant')) 355xkb_data.set_quoted('XKB_DFLT_OPTIONS', get_option('xkb_default_options')) 356xkb_data.set_quoted('XKM_OUTPUT_DIR', xkb_output_dir + '/') 357 358configure_file(output : 'xkb-config.h', 359 configuration : xkb_data) 360 361xorg_data = configuration_data() 362 363xorg_data.set_quoted('XORG_BIN_DIRECTORY', get_option('bindir')) 364xorg_data.set('XORG_VERSION_CURRENT', release) 365xorg_data.set_quoted('XF86CONFIGFILE', 'xorg.conf') 366xorg_data.set_quoted('XCONFIGFILE', 'xorg.conf') 367xorg_data.set_quoted('XCONFIGDIR', 'xorg.conf.d') 368xorg_data.set_quoted('DEFAULT_XDG_DATA_HOME', '.local/share') 369xorg_data.set_quoted('DEFAULT_XDG_DATA_HOME_LOGDIR', 'xorg') 370xorg_data.set_quoted('DEFAULT_LOGDIR', log_dir) 371xorg_data.set_quoted('DEFAULT_LOGPREFIX', 'Xorg.') 372xorg_data.set_quoted('DEFAULT_MODULE_PATH', join_paths(get_option('prefix'), module_dir)) 373xorg_data.set_quoted('DEFAULT_LIBRARY_PATH', join_paths(get_option('prefix'), get_option('libdir'))) 374xorg_data.set_quoted('__XSERVERNAME__', 'Xorg') 375xorg_data.set('XSERVER_LIBPCIACCESS', get_option('pciaccess') ? '1' : false) 376xorg_data.set_quoted('PCI_TXT_IDS_PATH', '') 377xorg_data.set('XSERVER_PLATFORM_BUS', build_udev_kms ? '1' : false) 378xorg_data.set('WSCONS_SUPPORT', 379 host_machine.system() == 'netbsd' or host_machine.system() == 'openbsd' ? '1' : false) 380xorg_data.set('HAVE_STROPTS_H', cc.has_header('stropts.h') ? '1' : false) 381xorg_data.set('HAVE_SYS_KD_H', cc.has_header('sys/kd.h') ? '1' : false) 382xorg_data.set('HAVE_SYS_VT_H', cc.has_header('sys/vt.h') ? '1' : false) 383 384if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonfly' 385 if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64' 386 xorg_data.set('USE_DEV_IO', '1') 387 endif 388elif host_machine.system() == 'netbsd' 389 if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64' 390 xorg_data.set('USE_I386_IOPL', '1') 391 endif 392elif host_machine.system() == 'openbsd' 393 if host_machine.cpu_family() == 'x86' 394 xorg_data.set('USE_I386_IOPL', '1') 395 endif 396 if host_machine.cpu_family() == 'x86_64' 397 xorg_data.set('USE_AMD64_IOPL', '1') 398 endif 399endif 400 401configure_file(output : 'xorg-config.h', 402 input : 'xorg-config.h.meson.in', 403 configuration : xorg_data) 404 405xwin_data = configuration_data() 406xwin_data.set_quoted('DEFAULT_LOGDIR', log_dir) 407xwin_data.set('HAS_WINSOCK', host_machine.system() == 'windows' ? '1' : false, 408 description: 'Use Windows sockets') 409xwin_data.set('HAS_DEVWINDOWS', host_machine.system() == 'cygwin' ? '1' : false, 410 description: 'Has /dev/windows for signaling new win32 messages') 411xwin_data.set('RELOCATE_PROJECTROOT', host_machine.system() == 'windows' ? '1' : false, 412 description: 'Make paths relative to the xserver installation location') 413# XXX: these three are all the same as DEBUG so we should just change to that 414xwin_data.set10('CYGDEBUG', enable_debugging) 415xwin_data.set10('CYGWINDOWING_DEBUG',enable_debugging) 416xwin_data.set10('CYGMULTIWINDOW_DEBUG', enable_debugging) 417 418configure_file(output : 'xwin-config.h', 419 input : 'xwin-config.h.meson.in', 420 configuration : xwin_data) 421 422dtrace_hdr = [] 423dtrace_tmpl = files('Xserver.d') 424if with_dtrace 425 dtrace_header = generator(dtrace, 426 output: '@BASENAME@-dtrace.h', 427 arguments: ['-h', '-s', '@INPUT@', '-o', '@OUTPUT@'] 428 ) 429 430 dtrace_hdr += dtrace_header.process(dtrace_tmpl) 431endif 432 433if build_xorg 434 install_data( 435 [ 436 'XIstubs.h', 437 'Xprintf.h', 438 'callback.h', 439 'client.h', 440 'closestr.h', 441 'closure.h', 442 'colormap.h', 443 'colormapst.h', 444 'hotplug.h', 445 'cursor.h', 446 'cursorstr.h', 447 'dix.h', 448 'dixaccess.h', 449 'dixevents.h', 450 'dixfont.h', 451 'dixfontstr.h', 452 'dixgrabs.h', 453 'dixstruct.h', 454 'events.h', 455 'exevents.h', 456 'extension.h', 457 'extinit.h', 458 'extnsionst.h', 459 'fourcc.h', 460 'gc.h', 461 'gcstruct.h', 462 'globals.h', 463 'glx_extinit.h', 464 'glxvndabi.h', 465 'input.h', 466 'inputstr.h', 467 'list.h', 468 'misc.h', 469 'miscstruct.h', 470 'opaque.h', 471 'nonsdk_extinit.h', 472 'optionstr.h', 473 'os.h', 474 'pixmap.h', 475 'pixmapstr.h', 476 'privates.h', 477 'property.h', 478 'propertyst.h', 479 'ptrveloc.h', 480 'region.h', 481 'regionstr.h', 482 'registry.h', 483 'resource.h', 484 'rgb.h', 485 'screenint.h', 486 'scrnintstr.h', 487 'selection.h', 488 'servermd.h', 489 'validate.h', 490 'displaymode.h', 491 'window.h', 492 'windowstr.h', 493 'xkbfile.h', 494 'xkbsrv.h', 495 'xkbstr.h', 496 'xkbrules.h', 497 'Xprintf.h', 498 'xserver_poll.h', 499 'xserver-properties.h', 500 ], 501 install_dir: xorgsdkdir, 502 ) 503endif 504