meson.build revision c82838c1
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_UTSNAME_H', cc.has_header('sys/utsname.h') ? '1' : false) 139conf_data.set('HAVE_SYS_SYSMACROS_H', cc.has_header('sys/sysmacros.h') ? '1' : false) 140conf_data.set('HAVE_UNISTD_H', cc.has_header('unistd.h') ? '1' : false) 141 142conf_data.set('HAVE_ARC4RANDOM_BUF', cc.has_function('arc4random_buf', dependencies: libbsd_dep) ? '1' : false) 143conf_data.set('HAVE_BACKTRACE', cc.has_function('backtrace') ? '1' : false) 144conf_data.set('HAVE_CBRT', cc.has_function('cbrt') ? '1' : false) 145conf_data.set('HAVE_EPOLL_CREATE1', cc.has_function('epoll_create1') ? '1' : false) 146conf_data.set('HAVE_GETUID', cc.has_function('getuid') ? '1' : false) 147conf_data.set('HAVE_GETEUID', cc.has_function('geteuid') ? '1' : false) 148conf_data.set('HAVE_ISASTREAM', cc.has_function('isastream') ? '1' : false) 149conf_data.set('HAVE_ISSETUGID', cc.has_function('issetugid') ? '1' : false) 150conf_data.set('HAVE_GETIFADDRS', cc.has_function('getifaddrs') ? '1' : false) 151conf_data.set('HAVE_GETPEEREID', cc.has_function('getpeereid') ? '1' : false) 152conf_data.set('HAVE_GETPEERUCRED', cc.has_function('getpeerucred') ? '1' : false) 153conf_data.set('HAVE_GETPROGNAME', cc.has_function('getprogname') ? '1' : false) 154conf_data.set('HAVE_GETZONEID', cc.has_function('getzoneid') ? '1' : false) 155conf_data.set('HAVE_MEMFD_CREATE', cc.has_function('memfd_create') ? '1' : false) 156conf_data.set('HAVE_MKOSTEMP', cc.has_function('mkostemp') ? '1' : false) 157conf_data.set('HAVE_MMAP', cc.has_function('mmap') ? '1' : false) 158conf_data.set('HAVE_POLL', cc.has_function('poll') ? '1' : false) 159conf_data.set('HAVE_POLLSET_CREATE', cc.has_function('pollset_create') ? '1' : false) 160conf_data.set('HAVE_POSIX_FALLOCATE', cc.has_function('posix_fallocate') ? '1' : false) 161conf_data.set('HAVE_PORT_CREATE', cc.has_function('port_create') ? '1' : false) 162conf_data.set('HAVE_REALLOCARRAY', cc.has_function('reallocarray', dependencies: libbsd_dep) ? '1' : false) 163conf_data.set('HAVE_SETEUID', cc.has_function('seteuid') ? '1' : false) 164conf_data.set('HAVE_SETITIMER', cc.has_function('setitimer') ? '1' : false) 165conf_data.set('HAVE_SHMCTL64', cc.has_function('shmctl64') ? '1' : false) 166conf_data.set('HAVE_SIGACTION', cc.has_function('sigaction') ? '1' : false) 167conf_data.set('HAVE_SIGPROCMASK', cc.has_function('sigprocmask') ? '1' : false) 168conf_data.set('HAVE_STRCASECMP', cc.has_function('strcasecmp') ? '1' : false) 169conf_data.set('HAVE_STRCASESTR', cc.has_function('strcasestr') ? '1' : false) 170conf_data.set('HAVE_STRLCAT', cc.has_function('strlcat', dependencies: libbsd_dep) ? '1' : false) 171conf_data.set('HAVE_STRLCPY', cc.has_function('strlcpy', dependencies: libbsd_dep) ? '1' : false) 172conf_data.set('HAVE_STRNCASECMP', cc.has_function('strncasecmp') ? '1' : false) 173conf_data.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup') ? '1' : false) 174conf_data.set('HAVE_TIMINGSAFE_MEMCMP', cc.has_function('timingsafe_memcmp') ? '1' : false) 175conf_data.set('HAVE_VASPRINTF', cc.has_function('vasprintf') ? '1' : false) 176conf_data.set('HAVE_VSNPRINTF', cc.has_function('vsnprintf') ? '1' : false) 177conf_data.set('HAVE_WALKCONTEXT', cc.has_function('walkcontext') ? '1' : false) 178 179conf_data.set('BUSFAULT', conf_data.get('HAVE_SIGACTION')) 180 181# Don't let X dependencies typedef 'pointer' 182conf_data.set('_XTYPEDEF_POINTER', '1') 183conf_data.set('_XITYPEDEF_POINTER', '1') 184 185conf_data.set('LISTEN_TCP', get_option('listen_tcp')) 186conf_data.set('LISTEN_UNIX', get_option('listen_unix')) 187conf_data.set('LISTEN_LOCAL', get_option('listen_local')) 188 189if cc.has_header_symbol('sys/socket.h', 'SCM_RIGHTS') 190 conf_data.set('XTRANS_SEND_FDS', '1') 191endif 192 193if conf_data.get('HAVE_GETPEEREID').to_int() == 0 and conf_data.get('HAVE_GETPEERUCRED').to_int() == 0 194 if not cc.has_header_symbol('sys/socket.h', 'SO_PEERCRED') 195 conf_data.set('NO_LOCAL_CLIENT_CRED', 1) 196 endif 197endif 198 199conf_data.set('TCPCONN', '1') 200conf_data.set('UNIXCONN', host_machine.system() != 'windows' ? '1' : false) 201conf_data.set('IPv6', build_ipv6 ? '1' : false) 202 203conf_data.set('BIGREQS', '1') 204if build_composite 205 conf_data.set('COMPOSITE', '1') 206endif 207conf_data.set('DAMAGE', '1') 208conf_data.set('DBE', '1') 209conf_data.set('DGA', build_dga ? '1' : false) 210conf_data.set('DPMSExtension', build_dpms ? '1' : false) 211conf_data.set('DRI2', build_dri2 ? '1' : false) 212conf_data.set('DRI3', build_dri3 ? '1' : false) 213if build_glx 214 conf_data.set_quoted('DRI_DRIVER_PATH', dri_dep.get_pkgconfig_variable('dridriverdir')) 215endif 216conf_data.set('HAS_SHM', build_mitshm ? '1' : false) 217conf_data.set('MITSHM', build_mitshm ? '1' : false) 218conf_data.set('PANORAMIX', build_xinerama ? '1' : false) 219conf_data.set('PRESENT', '1') 220conf_data.set('RANDR', '1') 221conf_data.set('RES', build_res ? '1' : false) 222conf_data.set('RENDER', '1') 223conf_data.set('SCREENSAVER', build_screensaver ? '1' : false) 224conf_data.set('SHAPE', '1') 225conf_data.set('XACE', build_xace ? '1' : false) 226conf_data.set('XCMISC', '1') 227conf_data.set('XCSECURITY', build_xsecurity ? '1' : false) 228conf_data.set('XDMCP', xdmcp_dep.found() ? '1' : false) 229conf_data.set('XF86BIGFONT', build_xf86bigfont ? '1' : false) 230conf_data.set('XF86DRI', build_dri1 ? '1' : false) 231conf_data.set('XF86VIDMODE', 1) 232conf_data.set('XFIXES', '1') 233conf_data.set('XFreeXDGA', build_dga ? '1' : false) 234conf_data.set('XINERAMA', build_xinerama ? '1' : false) 235conf_data.set('XINPUT', '1') 236conf_data.set('XRECORD', '1') 237conf_data.set('XSELINUX', build_xselinux ? '1' : false) 238conf_data.set('XSYNC', '1') 239conf_data.set('XTEST', '1') 240conf_data.set('XV', build_xv ? '1' : false) 241conf_data.set('XvExtension', build_xv ? '1' : false) 242conf_data.set('XvMCExtension', build_xvmc ? '1' : false) 243 244conf_data.set('HAVE_SHA1_IN_' + sha1.to_upper(), '1', description: 'Use @0@ SHA1 functions'.format(sha1)) 245conf_data.set('HAVE_LIBUNWIND', get_option('libunwind')) 246 247conf_data.set('HAVE_APM', (build_apm or build_acpi) ? '1' : false) 248conf_data.set('HAVE_ACPI', build_acpi ? '1' : false) 249 250conf_data.set('DDXOSVERRORF', build_xwin ? '1' : false) 251conf_data.set('DDXBEFORERESET', build_xwin ? '1' : false) 252enable_debugging = get_option('buildtype') == 'debug' 253conf_data.set('DEBUG', enable_debugging ? '1' : false) 254 255conf_data.set_quoted('XVENDORNAME', get_option('vendor_name')) 256conf_data.set_quoted('XVENDORNAMESHORT', get_option('vendor_name_short')) 257conf_data.set_quoted('__VENDORDWEBSUPPORT__', get_option('vendor_web')) 258conf_data.set_quoted('BUILDERADDR', get_option('builder_addr')) 259conf_data.set_quoted('BUILDERSTRING', get_option('builder_string')) 260 261if build_rootless 262 conf_data.set('ROOTLESS', build_rootless ? '1' : false) 263 conf_data.set('ROOTLESS_WORKAROUND', 1) 264 conf_data.set('ROOTLESS_SAFEALPHA', 1) 265endif 266 267# 268# for xorg-server.h only 269# 270defines_svr4 = '''#if !defined(SVR4) && !defined(__svr4__) && !defined(__SVR4) 271#error "I am not SVR4" 272#endif 273''' 274 275# BSD specifics 276supports_pccons = false 277supports_pcvt = false 278supports_syscons = false 279supports_wscons = false 280csrg_based = false 281 282if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonfly' 283 supports_pccons = true 284 supports_pcvt = true 285 supports_syscons = true 286 csrg_based = true 287endif 288 289if host_machine.system() == 'kfreebsd' 290 supports_pccons = true 291 supports_pcvt = true 292 supports_syscons = true 293endif 294 295if host_machine.system() == 'netbsd' 296 supports_pccons = true 297 supports_pcvt = true 298 supports_wscons = true 299 csrg_based = true 300endif 301 302if host_machine.system() == 'openbsd' 303 supports_pcvt = true 304 supports_wscons = true 305 csrg_based = true 306endif 307 308if host_machine.system() == 'darwin' 309 csrg_based = true 310endif 311 312conf_data.set('SVR4', cc.compiles(defines_svr4) ? '1' : false) 313conf_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules')) 314conf_data.set('XORGSERVER', build_xorg ? '1' : false) 315conf_data.set_quoted('XCONFIGFILE', 'xorg.conf') 316conf_data.set_quoted('__XSERVERNAME__', 'Xorg') 317conf_data.set('WITH_VGAHW', build_vgahw ? '1' : false) 318conf_data.set('CSRG_BASED', csrg_based ? '1' : false) 319conf_data.set('PCCONS_SUPPORT', supports_pccons ? '1' : false) 320conf_data.set('PCVT_SUPPORT', supports_pcvt ? '1' : false) 321conf_data.set('SYSCONS_SUPPORT', supports_syscons ? '1' : false) 322conf_data.set('WSCONS_SUPPORT', supports_wscons ? '1' : false) 323conf_data.set('XSERVER_LIBPCIACCESS', get_option('pciaccess') ? '1' : false) 324conf_data.set('XSERVER_PLATFORM_BUS', build_udev_kms ? '1' : false) 325 326configure_file(output : 'dix-config.h', 327 configuration : conf_data) 328 329configure_file(output : 'xorg-server.h', 330 input : 'xorg-server.h.meson.in', 331 configuration : conf_data, 332 install: build_xorg, 333 install_dir: xorgsdkdir) 334 335version_data = configuration_data() 336version_data.set('VENDOR_RELEASE', '@0@'.format(release)) 337version_data.set_quoted('VENDOR_NAME', get_option('vendor_name')) 338version_data.set_quoted('VENDOR_NAME_SHORT', get_option('vendor_name_short')) 339version_data.set_quoted('VENDOR_WEB', get_option('vendor_web')) 340version_data.set_quoted('VENDOR_MAN_VERSION', 'Version @0@.@1@.@2@'.format(major, minor, patch)) 341configure_file(output : 'version-config.h', 342 configuration : version_data) 343 344xkb_data = configuration_data() 345 346xkb_data.set_quoted('XKB_BIN_DIRECTORY', xkb_bin_dir) 347xkb_data.set_quoted('XKB_BASE_DIRECTORY', xkb_dir) 348xkb_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules')) 349xkb_data.set_quoted('XKB_DFLT_MODEL', get_option('xkb_default_model')) 350xkb_data.set_quoted('XKB_DFLT_LAYOUT', get_option('xkb_default_layout')) 351xkb_data.set_quoted('XKB_DFLT_VARIANT', get_option('xkb_default_variant')) 352xkb_data.set_quoted('XKB_DFLT_OPTIONS', get_option('xkb_default_options')) 353xkb_data.set_quoted('XKM_OUTPUT_DIR', xkb_output_dir + '/') 354 355configure_file(output : 'xkb-config.h', 356 configuration : xkb_data) 357 358xorg_data = configuration_data() 359 360xorg_data.set_quoted('XORG_BIN_DIRECTORY', get_option('bindir')) 361xorg_data.set('XORG_VERSION_CURRENT', release) 362xorg_data.set_quoted('XF86CONFIGFILE', 'xorg.conf') 363xorg_data.set_quoted('XCONFIGFILE', 'xorg.conf') 364xorg_data.set_quoted('XCONFIGDIR', 'xorg.conf.d') 365xorg_data.set_quoted('DEFAULT_XDG_DATA_HOME', '.local/share') 366xorg_data.set_quoted('DEFAULT_XDG_DATA_HOME_LOGDIR', 'xorg') 367xorg_data.set_quoted('DEFAULT_LOGDIR', log_dir) 368xorg_data.set_quoted('DEFAULT_LOGPREFIX', 'Xorg.') 369xorg_data.set_quoted('DEFAULT_MODULE_PATH', join_paths(get_option('prefix'), module_dir)) 370xorg_data.set_quoted('DEFAULT_LIBRARY_PATH', join_paths(get_option('prefix'), get_option('libdir'))) 371xorg_data.set_quoted('__XSERVERNAME__', 'Xorg') 372xorg_data.set('XSERVER_LIBPCIACCESS', get_option('pciaccess') ? '1' : false) 373xorg_data.set_quoted('PCI_TXT_IDS_PATH', '') 374xorg_data.set('XSERVER_PLATFORM_BUS', build_udev_kms ? '1' : false) 375xorg_data.set('WSCONS_SUPPORT', 376 host_machine.system() == 'netbsd' or host_machine.system() == 'openbsd' ? '1' : false) 377xorg_data.set('HAVE_STROPTS_H', cc.has_header('stropts.h') ? '1' : false) 378xorg_data.set('HAVE_SYS_KD_H', cc.has_header('sys/kd.h') ? '1' : false) 379xorg_data.set('HAVE_SYS_VT_H', cc.has_header('sys/vt.h') ? '1' : false) 380 381if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonfly' 382 if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64' 383 xorg_data.set('USE_DEV_IO', '1') 384 endif 385elif host_machine.system() == 'netbsd' 386 if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64' 387 xorg_data.set('USE_I386_IOPL', '1') 388 endif 389elif host_machine.system() == 'openbsd' 390 if host_machine.cpu_family() == 'x86' 391 xorg_data.set('USE_I386_IOPL', '1') 392 endif 393 if host_machine.cpu_family() == 'x86_64' 394 xorg_data.set('USE_AMD64_IOPL', '1') 395 endif 396endif 397 398configure_file(output : 'xorg-config.h', 399 input : 'xorg-config.h.meson.in', 400 configuration : xorg_data) 401 402xwin_data = configuration_data() 403xwin_data.set_quoted('DEFAULT_LOGDIR', log_dir) 404xwin_data.set('HAS_WINSOCK', host_machine.system() == 'windows' ? '1' : false, 405 description: 'Use Windows sockets') 406xwin_data.set('HAS_DEVWINDOWS', host_machine.system() == 'cygwin' ? '1' : false, 407 description: 'Has /dev/windows for signaling new win32 messages') 408xwin_data.set('RELOCATE_PROJECTROOT', host_machine.system() == 'windows' ? '1' : false, 409 description: 'Make paths relative to the xserver installation location') 410# XXX: these three are all the same as DEBUG so we should just change to that 411xwin_data.set10('CYGDEBUG', enable_debugging) 412xwin_data.set10('CYGWINDOWING_DEBUG',enable_debugging) 413xwin_data.set10('CYGMULTIWINDOW_DEBUG', enable_debugging) 414 415configure_file(output : 'xwin-config.h', 416 input : 'xwin-config.h.meson.in', 417 configuration : xwin_data) 418 419dtrace_hdr = [] 420dtrace_tmpl = files('Xserver.d') 421if with_dtrace 422 dtrace_header = generator(dtrace, 423 output: '@BASENAME@-dtrace.h', 424 arguments: ['-h', '-s', '@INPUT@', '-o', '@OUTPUT@'] 425 ) 426 427 dtrace_hdr += dtrace_header.process(dtrace_tmpl) 428endif 429 430if build_xorg 431 install_data( 432 [ 433 'XIstubs.h', 434 'Xprintf.h', 435 'callback.h', 436 'client.h', 437 'closestr.h', 438 'closure.h', 439 'colormap.h', 440 'colormapst.h', 441 'hotplug.h', 442 'cursor.h', 443 'cursorstr.h', 444 'dix.h', 445 'dixaccess.h', 446 'dixevents.h', 447 'dixfont.h', 448 'dixfontstr.h', 449 'dixgrabs.h', 450 'dixstruct.h', 451 'events.h', 452 'exevents.h', 453 'extension.h', 454 'extinit.h', 455 'extnsionst.h', 456 'fourcc.h', 457 'gc.h', 458 'gcstruct.h', 459 'globals.h', 460 'glx_extinit.h', 461 'glxvndabi.h', 462 'input.h', 463 'inputstr.h', 464 'list.h', 465 'misc.h', 466 'miscstruct.h', 467 'opaque.h', 468 'nonsdk_extinit.h', 469 'optionstr.h', 470 'os.h', 471 'pixmap.h', 472 'pixmapstr.h', 473 'privates.h', 474 'property.h', 475 'propertyst.h', 476 'ptrveloc.h', 477 'region.h', 478 'regionstr.h', 479 'registry.h', 480 'resource.h', 481 'rgb.h', 482 'screenint.h', 483 'scrnintstr.h', 484 'selection.h', 485 'servermd.h', 486 'validate.h', 487 'displaymode.h', 488 'window.h', 489 'windowstr.h', 490 'xkbfile.h', 491 'xkbsrv.h', 492 'xkbstr.h', 493 'xkbrules.h', 494 'Xprintf.h', 495 'xserver_poll.h', 496 'xserver-properties.h', 497 ], 498 install_dir: xorgsdkdir, 499 ) 500endif 501