meson.build revision 1b5d61b8
11b5d61b8Smrgversion_split = meson.project_version().split('.') 21b5d61b8Smrgmajor = version_split[0].to_int() 31b5d61b8Smrgminor = version_split[1].to_int() 41b5d61b8Smrgpatch = version_split[2].to_int() 51b5d61b8Smrgif version_split.length() == 4 61b5d61b8Smrg subpatch = version_split[3].to_int() 71b5d61b8Smrgelse 81b5d61b8Smrg subpatch = 0 91b5d61b8Smrgendif 101b5d61b8Smrg 111b5d61b8Smrgrelease = major * 10000000 + minor * 100000 + patch * 1000 + subpatch 121b5d61b8Smrg 131b5d61b8Smrgdri_dep = dependency('dri', required: build_dri2 or build_dri3) 141b5d61b8Smrg 151b5d61b8Smrgconf_data = configuration_data() 161b5d61b8Smrgconf_data.set('_DIX_CONFIG_H_', '1') 171b5d61b8Smrg 181b5d61b8Smrgconf_data.set('HAVE_TYPEOF', cc.compiles(''' 191b5d61b8Smrg int foo(int bar) { typeof(bar) baz = 1; return baz; } 201b5d61b8Smrg''', 211b5d61b8Smrg name: 'typeof()')) 221b5d61b8Smrg 231b5d61b8Smrgconf_data.set('MONOTONIC_CLOCK', cc.compiles(''' 241b5d61b8Smrg #define _POSIX_C_SOURCE 200112L 251b5d61b8Smrg #include <time.h> 261b5d61b8Smrg #include <unistd.h> 271b5d61b8Smrg #ifndef CLOCK_MONOTONIC 281b5d61b8Smrg #error CLOCK_MONOTONIC not defined 291b5d61b8Smrg #endif 301b5d61b8Smrg''', 311b5d61b8Smrg name: 'CLOCK_MONOTONIC')) 321b5d61b8Smrg 331b5d61b8Smrg#conf_data.set('XSERVER_DTRACE', '1') # XXX 341b5d61b8Smrg 351b5d61b8Smrgif host_machine.endian() == 'little' 361b5d61b8Smrg conf_data.set('X_BYTE_ORDER', 'X_LITTLE_ENDIAN') 371b5d61b8Smrgelse 381b5d61b8Smrg conf_data.set('X_BYTE_ORDER', 'X_BIG_ENDIAN') 391b5d61b8Smrgendif 401b5d61b8Smrg 411b5d61b8Smrgglx_align64 = [] 421b5d61b8Smrgif cc.sizeof('unsigned long') == 8 431b5d61b8Smrg conf_data.set('_XSERVER64', '1') 441b5d61b8Smrg glx_align64 = '-D__GLX_ALIGN64' 451b5d61b8Smrgendif 461b5d61b8Smrg 471b5d61b8Smrgconf_data.set('_GNU_SOURCE', '1') 481b5d61b8Smrg# XXX: NO_LOCAL_CLIENT_CRED 491b5d61b8Smrg 501b5d61b8Smrg# autoconf checks for /dev/xf86 here, but the test should be based on 511b5d61b8Smrg# the target, not the build system. Could we get rid of this and just 521b5d61b8Smrg# ifdef for openbsd? 531b5d61b8Smrgconf_data.set('HAS_APERTURE_DRV', host_machine.system() == 'openbsd') 541b5d61b8Smrg 551b5d61b8Smrg# XXX: USE_ALPHA_PIO and other bsd bits 561b5d61b8Smrg# XXX: FALLBACK_INPUT_DRIVER 571b5d61b8Smrg# XXX: BUNDLE_ID_PREFIX 581b5d61b8Smrg# XXX: HAVE_LIBDISPATCH 591b5d61b8Smrgconf_data.set_quoted('OSNAME', 'Linux') # XXX 601b5d61b8Smrgconf_data.set('HAVE_INPUTTHREAD', '1') # XXX 611b5d61b8Smrgconf_data.set('HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID', '1') # XXX 621b5d61b8Smrgconf_data.set('HAVE_LIBBSD', libbsd_dep.found()) 631b5d61b8Smrg# XXX: HAVE_SYSTEMD_DAEMON 641b5d61b8Smrg# XXX: HAVE_LIBUDEV 651b5d61b8Smrgconf_data.set('CONFIG_UDEV', build_udev) 661b5d61b8Smrgconf_data.set('CONFIG_UDEV_KMS', build_udev) 671b5d61b8Smrgconf_data.set('HAVE_DBUS', build_dbus) 681b5d61b8Smrgconf_data.set('CONFIG_HAL', build_hal) 691b5d61b8Smrgconf_data.set('SYSTEMD_LOGIND', build_systemd_logind) 701b5d61b8Smrgconf_data.set('NEED_DBUS', build_systemd_logind or build_hal) 711b5d61b8Smrgconf_data.set('CONFIG_WSCONS', host_machine.system() == 'openbsd') 721b5d61b8Smrg 731b5d61b8Smrg# XXX: SHMDIR is weird in autoconf, probing the build system for 741b5d61b8Smrg# various tmp directories. Could we replace it with C code at runtime 751b5d61b8Smrg# that just uses whatever directory works? 761b5d61b8Smrgconf_data.set_quoted('SHMDIR', '/tmp') 771b5d61b8Smrg 781b5d61b8Smrgconf_data.set('HAVE_XSHMFENCE', xshmfence_dep.found()) 791b5d61b8Smrgconf_data.set('WITH_LIBDRM', libdrm_dep.found()) 801b5d61b8Smrgconf_data.set('GLAMOR_HAS_EGL_QUERY_DMABUF', 811b5d61b8Smrg epoxy_dep.found() and epoxy_dep.version().version_compare('>= 1.4.4')) 821b5d61b8Smrgconf_data.set('GLXEXT', build_glx) 831b5d61b8Smrgconf_data.set('GLAMOR', build_glamor) 841b5d61b8Smrgconf_data.set('GLAMOR_HAS_GBM', gbm_dep.found()) 851b5d61b8Smrgconf_data.set('GLAMOR_HAS_GBM_LINEAR', 861b5d61b8Smrg build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 10.6')) 871b5d61b8Smrgconf_data.set('GBM_BO_WITH_MODIFIERS', 881b5d61b8Smrg build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 17.1')) 891b5d61b8Smrg 901b5d61b8Smrgconf_data.set_quoted('SERVER_MISC_CONFIG_PATH', serverconfigdir) 911b5d61b8Smrgconf_data.set_quoted('PROJECTROOT', get_option('prefix')) 921b5d61b8Smrgconf_data.set_quoted('SYSCONFDIR', join_paths(get_option('prefix'), get_option('sysconfdir'))) 931b5d61b8Smrgconf_data.set_quoted('SUID_WRAPPER_DIR', join_paths(get_option('prefix'), get_option('libexecdir'))) 941b5d61b8Smrgconf_data.set_quoted('COMPILEDDEFAULTFONTPATH', default_font_path) 951b5d61b8Smrg 961b5d61b8Smrgconf_data.set('XORG_VERSION_CURRENT', release) 971b5d61b8Smrg 981b5d61b8Smrgconf_data.set('HASXDMAUTH', has_xdm_auth) 991b5d61b8Smrgconf_data.set('SECURE_RPC', get_option('secure-rpc')) 1001b5d61b8Smrg 1011b5d61b8Smrgconf_data.set('HAVE_DLFCN_H', cc.has_header('dlfcn.h')) 1021b5d61b8Smrgconf_data.set('HAVE_EXECINFO_H', cc.has_header('execinfo.h')) 1031b5d61b8Smrgconf_data.set('HAVE_FCNTL_H', cc.has_header('fcntl.h')) 1041b5d61b8Smrgconf_data.set('HAVE_FNMATCH_H', cc.has_header('fnmatch.h')) 1051b5d61b8Smrgconf_data.set('HAVE_LINUX_AGPGART_H', cc.has_header('linux/agpgart.h')) 1061b5d61b8Smrgconf_data.set('HAVE_STDLIB_H', cc.has_header('stdlib.h')) 1071b5d61b8Smrgconf_data.set('HAVE_STRING_H', cc.has_header('string.h')) 1081b5d61b8Smrgconf_data.set('HAVE_STRINGS_H', cc.has_header('strings.h')) 1091b5d61b8Smrgconf_data.set('HAVE_STROPTS_H', cc.has_header('stropts.h')) 1101b5d61b8Smrgconf_data.set('HAVE_SYS_AGPGART_H', cc.has_header('sys/agpgart.h')) 1111b5d61b8Smrgconf_data.set('HAVE_SYS_AGPIO_H', cc.has_header('sys/agpio.h')) 1121b5d61b8Smrgconf_data.set('HAVE_SYS_UTSNAME_H', cc.has_header('sys/utsname.h')) 1131b5d61b8Smrgconf_data.set('HAVE_SYS_SYSMACROS_H', cc.has_header('sys/sysmacros.h')) 1141b5d61b8Smrgconf_data.set('HAVE_UNISTD_H', cc.has_header('unistd.h')) 1151b5d61b8Smrg 1161b5d61b8Smrgconf_data.set('HAVE_ARC4RANDOM_BUF', cc.has_function('arc4random_buf', dependencies: libbsd_dep)) 1171b5d61b8Smrgconf_data.set('HAVE_BACKTRACE', cc.has_function('backtrace')) 1181b5d61b8Smrgconf_data.set('HAVE_CBRT', cc.has_function('cbrt')) 1191b5d61b8Smrgconf_data.set('HAVE_EPOLL_CREATE1', cc.has_function('epoll_create1')) 1201b5d61b8Smrgconf_data.set('HAVE_GETUID', cc.has_function('getuid')) 1211b5d61b8Smrgconf_data.set('HAVE_GETEUID', cc.has_function('geteuid')) 1221b5d61b8Smrgconf_data.set('HAVE_ISSETUGID', cc.has_function('issetugid')) 1231b5d61b8Smrgconf_data.set('HAVE_GETIFADDRS', cc.has_function('getifaddrs')) 1241b5d61b8Smrgconf_data.set('HAVE_GETPEEREID', cc.has_function('getpeereid')) 1251b5d61b8Smrgconf_data.set('HAVE_GETPEERUCRED', cc.has_function('getpeerucred')) 1261b5d61b8Smrgconf_data.set('HAVE_GETPROGNAME', cc.has_function('getprogname')) 1271b5d61b8Smrgconf_data.set('HAVE_GETZONEID', cc.has_function('getzoneid')) 1281b5d61b8Smrgconf_data.set('HAVE_MKOSTEMP', cc.has_function('mkostemp')) 1291b5d61b8Smrgconf_data.set('HAVE_MMAP', cc.has_function('mmap')) 1301b5d61b8Smrgconf_data.set('HAVE_POLL', cc.has_function('poll')) 1311b5d61b8Smrgconf_data.set('HAVE_POLLSET_CREATE', cc.has_function('pollset_create')) 1321b5d61b8Smrgconf_data.set('HAVE_POSIX_FALLOCATE', cc.has_function('posix_fallocate')) 1331b5d61b8Smrgconf_data.set('HAVE_PORT_CREATE', cc.has_function('port_create')) 1341b5d61b8Smrgconf_data.set('HAVE_REALLOCARRAY', cc.has_function('reallocarray', dependencies: libbsd_dep)) 1351b5d61b8Smrgconf_data.set('HAVE_SETEUID', cc.has_function('seteuid')) 1361b5d61b8Smrgconf_data.set('HAVE_SETITIMER', cc.has_function('setitimer')) 1371b5d61b8Smrgconf_data.set('HAVE_SHMCTL64', cc.has_function('shmctl64')) 1381b5d61b8Smrgconf_data.set('HAVE_SIGACTION', cc.has_function('sigaction')) 1391b5d61b8Smrgconf_data.set('HAVE_STRCASECMP', cc.has_function('strcasecmp')) 1401b5d61b8Smrgconf_data.set('HAVE_STRCASESTR', cc.has_function('strcasestr')) 1411b5d61b8Smrgconf_data.set('HAVE_STRLCAT', cc.has_function('strlcat', dependencies: libbsd_dep)) 1421b5d61b8Smrgconf_data.set('HAVE_STRLCPY', cc.has_function('strlcpy', dependencies: libbsd_dep)) 1431b5d61b8Smrgconf_data.set('HAVE_STRNCASECMP', cc.has_function('strncasecmp')) 1441b5d61b8Smrgconf_data.set('HAVE_STRNDUP', cc.has_function('strndup')) 1451b5d61b8Smrgconf_data.set('HAVE_TIMINGSAFE_MEMCMP', cc.has_function('timingsafe_memcmp')) 1461b5d61b8Smrgconf_data.set('HAVE_VASPRINTF', cc.has_function('vasprintf')) 1471b5d61b8Smrgconf_data.set('HAVE_VSNPRINTF', cc.has_function('vsnprintf')) 1481b5d61b8Smrgconf_data.set('HAVE_WALKCONTEXT', cc.has_function('walkcontext')) 1491b5d61b8Smrg 1501b5d61b8Smrgconf_data.set('BUSFAULT', conf_data.get('HAVE_SIGACTION')) 1511b5d61b8Smrg 1521b5d61b8Smrg# Don't let X dependencies typedef 'pointer' 1531b5d61b8Smrgconf_data.set('_XTYPEDEF_POINTER', '1') 1541b5d61b8Smrgconf_data.set('_XITYPEDEF_POINTER', '1') 1551b5d61b8Smrg 1561b5d61b8Smrgconf_data.set('LISTEN_TCP', get_option('listen_tcp')) 1571b5d61b8Smrgconf_data.set('LISTEN_UNIX', get_option('listen_unix')) 1581b5d61b8Smrgconf_data.set('LISTEN_LOCAL', get_option('listen_local')) 1591b5d61b8Smrg# XXX: Configurable? 1601b5d61b8Smrgconf_data.set('XTRANS_SEND_FDS', '1') 1611b5d61b8Smrg 1621b5d61b8Smrgconf_data.set('TCPCONN', '1') 1631b5d61b8Smrgconf_data.set('UNIXCONN', '1') 1641b5d61b8Smrgconf_data.set('IPv6', build_ipv6) 1651b5d61b8Smrg 1661b5d61b8Smrgconf_data.set('CLIENTIDS', '1') # XXX 1671b5d61b8Smrg 1681b5d61b8Smrgconf_data.set('BIGREQS', '1') 1691b5d61b8Smrgconf_data.set('COMPOSITE', '1') 1701b5d61b8Smrgconf_data.set('DAMAGE', '1') 1711b5d61b8Smrgconf_data.set('DBE', '1') 1721b5d61b8Smrgconf_data.set('DGA', build_dga) 1731b5d61b8Smrgconf_data.set('DPMSExtension', build_dpms) 1741b5d61b8Smrgconf_data.set('DRI2', build_dri2) 1751b5d61b8Smrgconf_data.set('DRI3', build_dri3) 1761b5d61b8Smrgconf_data.set_quoted('DRI_DRIVER_PATH', dri_dep.get_pkgconfig_variable('dridriverdir')) 1771b5d61b8Smrgconf_data.set('HAS_SHM', build_mitshm) 1781b5d61b8Smrgconf_data.set('MITSHM', build_mitshm) 1791b5d61b8Smrgconf_data.set('PANORAMIX', build_xinerama) 1801b5d61b8Smrgconf_data.set('PRESENT', '1') 1811b5d61b8Smrgconf_data.set('RANDR', '1') 1821b5d61b8Smrgconf_data.set('RES', build_res) 1831b5d61b8Smrgconf_data.set('RENDER', '1') 1841b5d61b8Smrgconf_data.set('SCREENSAVER', build_screensaver) 1851b5d61b8Smrgconf_data.set('SHAPE', '1') 1861b5d61b8Smrgconf_data.set('XACE', build_xace) 1871b5d61b8Smrgconf_data.set('XCMISC', '1') 1881b5d61b8Smrgconf_data.set('XCSECURITY', build_xsecurity) 1891b5d61b8Smrgconf_data.set('XDMCP', xdmcp_dep.found()) 1901b5d61b8Smrgconf_data.set('XF86BIGFONT', build_xf86bigfont) 1911b5d61b8Smrgconf_data.set('XF86DRI', build_dri1) 1921b5d61b8Smrgconf_data.set('XF86VIDMODE', build_xf86vidmode) 1931b5d61b8Smrgconf_data.set('XFIXES', '1') 1941b5d61b8Smrgconf_data.set('XFreeXDGA', build_dga) 1951b5d61b8Smrgconf_data.set('XINERAMA', build_xinerama) 1961b5d61b8Smrgconf_data.set('XINPUT', '1') 1971b5d61b8Smrgconf_data.set('XRECORD', '1') 1981b5d61b8Smrgconf_data.set('XSELINUX', build_xselinux) 1991b5d61b8Smrgconf_data.set('XSYNC', '1') 2001b5d61b8Smrgconf_data.set('XTEST', '1') 2011b5d61b8Smrgconf_data.set('XV', build_xv) 2021b5d61b8Smrgconf_data.set('XvExtension', build_xv) 2031b5d61b8Smrgconf_data.set('XvMCExtension', build_xvmc) 2041b5d61b8Smrg 2051b5d61b8Smrgconf_data.set('HAVE_SHA1_IN_LIBNETTLE', '1') # XXX 2061b5d61b8Smrg 2071b5d61b8Smrgconf_data.set('HAVE_APM', build_apm or build_acpi) 2081b5d61b8Smrgconf_data.set('HAVE_ACPI', build_acpi) 2091b5d61b8Smrg 2101b5d61b8Smrgenable_debugging = get_option('buildtype') == 'debug' 2111b5d61b8Smrgconf_data.set('DEBUG', enable_debugging) 2121b5d61b8Smrg 2131b5d61b8Smrgconf_data.set_quoted('XVENDORNAME', get_option('vendor_name')) 2141b5d61b8Smrgconf_data.set_quoted('XVENDORNAMESHORT', get_option('vendor_name_short')) 2151b5d61b8Smrgconf_data.set_quoted('__VENDORDWEBSUPPORT__', get_option('vendor_web')) 2161b5d61b8Smrgconf_data.set_quoted('OSVENDOR', get_option('os_vendor')) 2171b5d61b8Smrgconf_data.set_quoted('BUILDERADDR', get_option('builder_addr')) 2181b5d61b8Smrgconf_data.set_quoted('BUILDERSTRING', get_option('builder_string')) 2191b5d61b8Smrg 2201b5d61b8Smrg# 2211b5d61b8Smrg# for xorg-server.h only 2221b5d61b8Smrg# 2231b5d61b8Smrgdefines_svr4 = '''#if !defined(SVR4) && !defined(__svr4__) && !defined(__SVR4) 2241b5d61b8Smrg#error "I am not SVR4" 2251b5d61b8Smrg#endif 2261b5d61b8Smrg''' 2271b5d61b8Smrg 2281b5d61b8Smrg# BSD specifics 2291b5d61b8Smrgsupports_pccons = false 2301b5d61b8Smrgsupports_pcvt = false 2311b5d61b8Smrgsupports_syscons = false 2321b5d61b8Smrgsupports_wscons = false 2331b5d61b8Smrgcsrg_based = false 2341b5d61b8Smrg 2351b5d61b8Smrgif host_machine.system() == 'freebsd' or host_machine.system() == 'dragonflybsd' 2361b5d61b8Smrg supports_pccons = true 2371b5d61b8Smrg supports_pcvt = true 2381b5d61b8Smrg supports_syscons = true 2391b5d61b8Smrg csrg_based = true 2401b5d61b8Smrgendif 2411b5d61b8Smrg 2421b5d61b8Smrgif host_machine.system() == 'kfreebsd' 2431b5d61b8Smrg supports_pccons = true 2441b5d61b8Smrg supports_pcvt = true 2451b5d61b8Smrg supports_syscons = true 2461b5d61b8Smrgendif 2471b5d61b8Smrg 2481b5d61b8Smrgif host_machine.system() == 'netbsd' 2491b5d61b8Smrg supports_pccons = true 2501b5d61b8Smrg supports_pcvt = true 2511b5d61b8Smrg supports_wscons = true 2521b5d61b8Smrg csrg_based = true 2531b5d61b8Smrgendif 2541b5d61b8Smrg 2551b5d61b8Smrgif host_machine.system() == 'openbsd' 2561b5d61b8Smrg supports_pcvt = true 2571b5d61b8Smrg supports_wscons = true 2581b5d61b8Smrg csrg_based = true 2591b5d61b8Smrgendif 2601b5d61b8Smrg 2611b5d61b8Smrgconf_data.set('SVR4', cc.compiles(defines_svr4)) 2621b5d61b8Smrgconf_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules')) 2631b5d61b8Smrgconf_data.set('XORGSERVER', build_xorg) 2641b5d61b8Smrgconf_data.set_quoted('XCONFIGFILE', 'xorg.conf') 2651b5d61b8Smrgconf_data.set_quoted('__XSERVERNAME__', 'Xorg') 2661b5d61b8Smrgconf_data.set('WITH_VGAHW', build_vgahw) 2671b5d61b8Smrgconf_data.set('CSRG_BASED', csrg_based) 2681b5d61b8Smrgconf_data.set('PCCONS_SUPPORT', supports_pccons) 2691b5d61b8Smrgconf_data.set('PCVT_SUPPORT', supports_pcvt) 2701b5d61b8Smrgconf_data.set('SYSCONS_SUPPORT', supports_syscons) 2711b5d61b8Smrgconf_data.set('WSCONS_SUPPORT', supports_wscons) 2721b5d61b8Smrgconf_data.set('XSERVER_LIBPCIACCESS', get_option('pciaccess')) 2731b5d61b8Smrgconf_data.set('XSERVER_PLATFORM_BUS', build_udev) 2741b5d61b8Smrg 2751b5d61b8Smrgconfigure_file(output : 'dix-config.h', 2761b5d61b8Smrg configuration : conf_data) 2771b5d61b8Smrg 2781b5d61b8Smrgconfigure_file(output : 'xorg-server.h', 2791b5d61b8Smrg input : 'xorg-server.h.meson.in', 2801b5d61b8Smrg configuration : conf_data, 2811b5d61b8Smrg install_dir: xorgsdkdir) 2821b5d61b8Smrg 2831b5d61b8Smrgversion_data = configuration_data() 2841b5d61b8Smrgversion_data.set('VENDOR_RELEASE', '@0@'.format(release)) 2851b5d61b8Smrgversion_data.set_quoted('VENDOR_NAME', get_option('vendor_name')) 2861b5d61b8Smrgversion_data.set_quoted('VENDOR_NAME_SHORT', get_option('vendor_name_short')) 2871b5d61b8Smrgversion_data.set_quoted('VENDOR_WEB', get_option('vendor_web')) 2881b5d61b8Smrgversion_data.set_quoted('VENDOR_MAN_VERSION', 'Version @0@.@1@.@2@'.format(major, minor, patch)) 2891b5d61b8Smrgconfigure_file(output : 'version-config.h', 2901b5d61b8Smrg configuration : version_data) 2911b5d61b8Smrg 2921b5d61b8Smrgxkb_data = configuration_data() 2931b5d61b8Smrg 2941b5d61b8Smrgxkb_data.set_quoted('XKB_BIN_DIRECTORY', xkb_bin_dir) 2951b5d61b8Smrgxkb_data.set_quoted('XKB_BASE_DIRECTORY', xkb_dir) 2961b5d61b8Smrgxkb_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules')) 2971b5d61b8Smrgxkb_data.set_quoted('XKB_DFLT_MODEL', get_option('xkb_default_model')) 2981b5d61b8Smrgxkb_data.set_quoted('XKB_DFLT_LAYOUT', get_option('xkb_default_layout')) 2991b5d61b8Smrgxkb_data.set_quoted('XKB_DFLT_VARIANT', get_option('xkb_default_variant')) 3001b5d61b8Smrgxkb_data.set_quoted('XKB_DFLT_OPTIONS', get_option('xkb_default_options')) 3011b5d61b8Smrgxkb_data.set_quoted('XKM_OUTPUT_DIR', xkb_output_dir) 3021b5d61b8Smrg 3031b5d61b8Smrgconfigure_file(output : 'xkb-config.h', 3041b5d61b8Smrg configuration : xkb_data) 3051b5d61b8Smrg 3061b5d61b8Smrgxorg_data = configuration_data() 3071b5d61b8Smrg 3081b5d61b8Smrgxorg_data.set_quoted('XORG_BIN_DIRECTORY', get_option('bindir')) 3091b5d61b8Smrgxorg_data.set('XORG_VERSION_CURRENT', release) 3101b5d61b8Smrgxorg_data.set_quoted('XF86CONFIGFILE', 'xorg.conf') 3111b5d61b8Smrgxorg_data.set_quoted('XCONFIGFILE', 'xorg.conf') 3121b5d61b8Smrgxorg_data.set_quoted('XCONFIGDIR', 'xorg.conf.d') 3131b5d61b8Smrgxorg_data.set_quoted('DEFAULT_XDG_DATA_HOME', '.local/share') 3141b5d61b8Smrgxorg_data.set_quoted('DEFAULT_XDG_DATA_HOME_LOGDIR', 'xorg') 3151b5d61b8Smrgxorg_data.set_quoted('DEFAULT_LOGDIR', log_dir) 3161b5d61b8Smrgxorg_data.set_quoted('DEFAULT_LOGPREFIX', 'Xorg.') 3171b5d61b8Smrgxorg_data.set_quoted('FALLBACK_INPUT_DRIVER', 'libinput') 3181b5d61b8Smrgxorg_data.set_quoted('DEFAULT_MODULE_PATH', join_paths(get_option('prefix'), module_dir)) 3191b5d61b8Smrgxorg_data.set_quoted('DEFAULT_LIBRARY_PATH', join_paths(get_option('prefix'), get_option('libdir'))) 3201b5d61b8Smrgxorg_data.set_quoted('__XSERVERNAME__', 'Xorg') 3211b5d61b8Smrgxorg_data.set('XSERVER_LIBPCIACCESS', get_option('pciaccess')) 3221b5d61b8Smrgxorg_data.set_quoted('PCI_TXT_IDS_PATH', '') 3231b5d61b8Smrgxorg_data.set('XSERVER_PLATFORM_BUS', build_udev) 3241b5d61b8Smrgxorg_data.set('WSCONS_SUPPORT', host_machine.system() == 'netbsd' or host_machine.system() == 'openbsd') 3251b5d61b8Smrgxorg_data.set('XF86PM', build_apm or build_acpi) 3261b5d61b8Smrg 3271b5d61b8Smrgif host_machine.system() == 'freebsd' or host_machine.system() == 'dragonflybsd' 3281b5d61b8Smrg if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64' 3291b5d61b8Smrg xorg_data.set('USE_DEV_IO', true) 3301b5d61b8Smrg endif 3311b5d61b8Smrg # XXX: Add link to libio on alpha 3321b5d61b8Smrgelif host_machine.system() == 'netbsd' 3331b5d61b8Smrg # XXX: USE_ALPHA_PIO 3341b5d61b8Smrg # XXX: Add link to libi386 3351b5d61b8Smrg if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64' 3361b5d61b8Smrg xorg_data.set('USE_I386_IOPL', true) 3371b5d61b8Smrg endif 3381b5d61b8Smrgelif host_machine.system() == 'openbsd' 3391b5d61b8Smrg # XXX: Add link to libi386, libamd64 3401b5d61b8Smrg if host_machine.cpu_family() == 'x86' 3411b5d61b8Smrg xorg_data.set('USE_I386_IOPL', true) 3421b5d61b8Smrg endif 3431b5d61b8Smrg if host_machine.cpu_family() == 'x86_64' 3441b5d61b8Smrg xorg_data.set('USE_AMD64_IOPL', true) 3451b5d61b8Smrg endif 3461b5d61b8Smrgendif 3471b5d61b8Smrg 3481b5d61b8Smrgconfigure_file(output : 'xorg-config.h', 3491b5d61b8Smrg input : 'xorg-config.h.meson.in', 3501b5d61b8Smrg configuration : xorg_data) 3511b5d61b8Smrg 3521b5d61b8Smrgxwin_data = configuration_data() 3531b5d61b8Smrgxwin_data.set_quoted('DEFAULT_LOGDIR', log_dir) 3541b5d61b8Smrgxwin_data.set('HAS_WINSOCK', host_machine.system() == 'windows', description: 'Use Windows sockets') 3551b5d61b8Smrgxwin_data.set('HAS_DEVWINDOWS', host_machine.system() == 'cygwin', description: 'Has /dev/windows for signaling new win32 messages') 3561b5d61b8Smrgxwin_data.set('RELOCATE_PROJECTROOT', host_machine.system() == 'windows', description: 'Make paths relative to the xserver installation location') 3571b5d61b8Smrg# XXX: these three are all the same as DEBUG so we should just change to that 3581b5d61b8Smrgxwin_data.set10('CYGDEBUG', enable_debugging) 3591b5d61b8Smrgxwin_data.set10('CYGWINDOWING_DEBUG',enable_debugging) 3601b5d61b8Smrgxwin_data.set10('CYGMULTIWINDOW_DEBUG', enable_debugging) 3611b5d61b8Smrg 3621b5d61b8Smrgconfigure_file(output : 'xwin-config.h', 3631b5d61b8Smrg input : 'xwin-config.h.meson.in', 3641b5d61b8Smrg configuration : xwin_data) 3651b5d61b8Smrg 3661b5d61b8Smrgxwayland_data = configuration_data() 3671b5d61b8Smrgxwayland_data.set('XWL_HAS_GLAMOR', build_glamor and (gbm_dep.found() or build_eglstream)) 3681b5d61b8Smrgxwayland_data.set('XWL_HAS_EGLSTREAM', build_eglstream) 3691b5d61b8Smrg 3701b5d61b8Smrgconfigure_file(output : 'xwayland-config.h', 3711b5d61b8Smrg input : 'xwayland-config.h.meson.in', 3721b5d61b8Smrg configuration : xwayland_data) 3731b5d61b8Smrg 3741b5d61b8Smrgif build_xorg 3751b5d61b8Smrg install_data( 3761b5d61b8Smrg [ 3771b5d61b8Smrg 'XIstubs.h', 3781b5d61b8Smrg 'Xprintf.h', 3791b5d61b8Smrg 'callback.h', 3801b5d61b8Smrg 'client.h', 3811b5d61b8Smrg 'closestr.h', 3821b5d61b8Smrg 'closure.h', 3831b5d61b8Smrg 'colormap.h', 3841b5d61b8Smrg 'colormapst.h', 3851b5d61b8Smrg 'hotplug.h', 3861b5d61b8Smrg 'cursor.h', 3871b5d61b8Smrg 'cursorstr.h', 3881b5d61b8Smrg 'dix.h', 3891b5d61b8Smrg 'dixaccess.h', 3901b5d61b8Smrg 'dixevents.h', 3911b5d61b8Smrg 'dixfont.h', 3921b5d61b8Smrg 'dixfontstr.h', 3931b5d61b8Smrg 'dixgrabs.h', 3941b5d61b8Smrg 'dixstruct.h', 3951b5d61b8Smrg 'events.h', 3961b5d61b8Smrg 'exevents.h', 3971b5d61b8Smrg 'extension.h', 3981b5d61b8Smrg 'extinit.h', 3991b5d61b8Smrg 'extnsionst.h', 4001b5d61b8Smrg 'gc.h', 4011b5d61b8Smrg 'gcstruct.h', 4021b5d61b8Smrg 'globals.h', 4031b5d61b8Smrg 'glx_extinit.h', 4041b5d61b8Smrg 'glxvndabi.h', 4051b5d61b8Smrg 'input.h', 4061b5d61b8Smrg 'inputstr.h', 4071b5d61b8Smrg 'list.h', 4081b5d61b8Smrg 'misc.h', 4091b5d61b8Smrg 'miscstruct.h', 4101b5d61b8Smrg 'opaque.h', 4111b5d61b8Smrg 'nonsdk_extinit.h', 4121b5d61b8Smrg 'optionstr.h', 4131b5d61b8Smrg 'os.h', 4141b5d61b8Smrg 'pixmap.h', 4151b5d61b8Smrg 'pixmapstr.h', 4161b5d61b8Smrg 'privates.h', 4171b5d61b8Smrg 'property.h', 4181b5d61b8Smrg 'propertyst.h', 4191b5d61b8Smrg 'ptrveloc.h', 4201b5d61b8Smrg 'region.h', 4211b5d61b8Smrg 'regionstr.h', 4221b5d61b8Smrg 'registry.h', 4231b5d61b8Smrg 'resource.h', 4241b5d61b8Smrg 'rgb.h', 4251b5d61b8Smrg 'screenint.h', 4261b5d61b8Smrg 'scrnintstr.h', 4271b5d61b8Smrg 'selection.h', 4281b5d61b8Smrg 'servermd.h', 4291b5d61b8Smrg 'site.h', 4301b5d61b8Smrg 'validate.h', 4311b5d61b8Smrg 'displaymode.h', 4321b5d61b8Smrg 'window.h', 4331b5d61b8Smrg 'windowstr.h', 4341b5d61b8Smrg 'xkbfile.h', 4351b5d61b8Smrg 'xkbsrv.h', 4361b5d61b8Smrg 'xkbstr.h', 4371b5d61b8Smrg 'xkbrules.h', 4381b5d61b8Smrg 'Xprintf.h', 4391b5d61b8Smrg 'xserver_poll.h', 4401b5d61b8Smrg 'xserver-properties.h', 4411b5d61b8Smrg ], 4421b5d61b8Smrg install_dir: xorgsdkdir, 4431b5d61b8Smrg ) 4441b5d61b8Smrgendif 445