meson.build revision 1b5d61b8
11b5d61b8Smrgxorg_inc = include_directories( 21b5d61b8Smrg 'common', 31b5d61b8Smrg 'ddc', 41b5d61b8Smrg 'dri2', 51b5d61b8Smrg 'i2c', 61b5d61b8Smrg 'int10', 71b5d61b8Smrg 'loader', 81b5d61b8Smrg 'modes', 91b5d61b8Smrg 'os-support', 101b5d61b8Smrg 'os-support/bus', 111b5d61b8Smrg 'parser', 121b5d61b8Smrg 'ramdac', 131b5d61b8Smrg 'vbe', 141b5d61b8Smrg 'vgahw', 151b5d61b8Smrg) 161b5d61b8Smrg 171b5d61b8Smrgxorg_c_args = [] 181b5d61b8Smrgxorg_c_args += '-DHAVE_XORG_CONFIG_H' 191b5d61b8Smrgxorg_c_args += '-DXORG_NO_SDKSYMS' 201b5d61b8Smrg 211b5d61b8Smrgpciaccess_dep = [] 221b5d61b8Smrgif get_option('pciaccess') 231b5d61b8Smrg pciaccess_dep = dependency('pciaccess', version: '>= 0.12.901') 241b5d61b8Smrgendif 251b5d61b8Smrg 261b5d61b8Smrg# subdirs for convenience libraries statically linked into Xorg 271b5d61b8Smrgsubdir('common') 281b5d61b8Smrgsubdir('ddc') 291b5d61b8Smrgif build_dri1 301b5d61b8Smrg subdir('dri') 311b5d61b8Smrgendif 321b5d61b8Smrgif build_dri2 331b5d61b8Smrg subdir('dri2') 341b5d61b8Smrgendif 351b5d61b8Smrgsubdir('i2c') 361b5d61b8Smrgsubdir('loader') 371b5d61b8Smrgsubdir('modes') 381b5d61b8Smrgsubdir('os-support') 391b5d61b8Smrgsubdir('parser') 401b5d61b8Smrgsubdir('ramdac') 411b5d61b8Smrgsubdir('xkb') 421b5d61b8Smrg 431b5d61b8Smrgsrcs_xorg = [ 441b5d61b8Smrg '../../mi/miinitext.c' 451b5d61b8Smrg] 461b5d61b8Smrg 471b5d61b8Smrg# Extract all the objects so that all symbols get brought into the 481b5d61b8Smrg# server. This prevents us from needing a global table of all symbols 491b5d61b8Smrg# that should be exported to Xorg modules, at the expense of all 501b5d61b8Smrg# symbols being included and public 511b5d61b8Smrg 521b5d61b8Smrgxorg_link = [ 531b5d61b8Smrg libxserver, 541b5d61b8Smrg libglxvnd, 551b5d61b8Smrg xorg_common, 561b5d61b8Smrg xorg_loader, 571b5d61b8Smrg xorg_ddc, 581b5d61b8Smrg xorg_xkb, 591b5d61b8Smrg xorg_i2c, 601b5d61b8Smrg xorg_modes, 611b5d61b8Smrg xorg_os_support, 621b5d61b8Smrg xorg_parser, 631b5d61b8Smrg xorg_ramdac, 641b5d61b8Smrg libxserver_xext_vidmode, 651b5d61b8Smrg libxserver_main, 661b5d61b8Smrg libxserver_config, 671b5d61b8Smrg] 681b5d61b8Smrgif build_dri1 691b5d61b8Smrg xorg_link += xorg_dri 701b5d61b8Smrgendif 711b5d61b8Smrgif build_dri2 721b5d61b8Smrg xorg_link += xorg_dri2 731b5d61b8Smrgendif 741b5d61b8Smrg 751b5d61b8Smrgif host_machine.system() == 'cygwin' or host_machine.system() == 'windows' 761b5d61b8Smrg linker_export_flags = '-Wl,--export-all-symbols' 771b5d61b8Smrgelse 781b5d61b8Smrg linker_export_flags = '-Wl,--export-dynamic' 791b5d61b8Smrgendif 801b5d61b8Smrg 811b5d61b8Smrgxorg_deps = [ 821b5d61b8Smrg pixman_dep, 831b5d61b8Smrg m_dep, 841b5d61b8Smrg dl_dep, 851b5d61b8Smrg pciaccess_dep, 861b5d61b8Smrg sha1_dep, 871b5d61b8Smrg dependency('xau'), 881b5d61b8Smrg xdmcp_dep, 891b5d61b8Smrg xfont2_dep, 901b5d61b8Smrg xshmfence_dep, 911b5d61b8Smrg config_dep, 921b5d61b8Smrg libdrm_dep, 931b5d61b8Smrg] 941b5d61b8Smrg 951b5d61b8Smrgif get_option('suid_wrapper') 961b5d61b8Smrg xorg_install_dir = get_option('libexecdir') 971b5d61b8Smrgelse 981b5d61b8Smrg xorg_install_dir = get_option('bindir') 991b5d61b8Smrgendif 1001b5d61b8Smrg 1011b5d61b8Smrge = executable( 1021b5d61b8Smrg 'Xorg', 1031b5d61b8Smrg srcs_xorg, 1041b5d61b8Smrg include_directories: [inc, xorg_inc], 1051b5d61b8Smrg link_whole: xorg_link, 1061b5d61b8Smrg dependencies: xorg_deps, 1071b5d61b8Smrg link_args: linker_export_flags, 1081b5d61b8Smrg c_args: xorg_c_args, 1091b5d61b8Smrg install: true, 1101b5d61b8Smrg install_dir: xorg_install_dir, 1111b5d61b8Smrg implib: true, 1121b5d61b8Smrg) 1131b5d61b8Smrg 1141b5d61b8Smrg# subdirs for modules loadable by Xorg 1151b5d61b8Smrgsubdir('dixmods') 1161b5d61b8Smrgsubdir('exa') 1171b5d61b8Smrgsubdir('fbdevhw') 1181b5d61b8Smrgif gbm_dep.found() 1191b5d61b8Smrg subdir('glamor_egl') 1201b5d61b8Smrgendif 1211b5d61b8Smrgif int10 != 'false' 1221b5d61b8Smrg if int10 == 'x86emu' 1231b5d61b8Smrg subdir('x86emu') 1241b5d61b8Smrg endif 1251b5d61b8Smrg subdir('int10') 1261b5d61b8Smrgendif 1271b5d61b8Smrgsubdir('shadowfb') 1281b5d61b8Smrgif build_vbe 1291b5d61b8Smrg subdir('vbe') 1301b5d61b8Smrgendif 1311b5d61b8Smrgif build_vgahw 1321b5d61b8Smrg subdir('vgahw') 1331b5d61b8Smrgendif 1341b5d61b8Smrgif build_modesetting 1351b5d61b8Smrg subdir('drivers/modesetting') 1361b5d61b8Smrgendif 1371b5d61b8Smrg 1381b5d61b8Smrgif get_option('suid_wrapper') 1391b5d61b8Smrg executable('Xorg.wrap', 1401b5d61b8Smrg 'xorg-wrapper.c', 1411b5d61b8Smrg include_directories: [inc, xorg_inc], 1421b5d61b8Smrg dependencies: xorg_deps, 1431b5d61b8Smrg c_args: xorg_c_args, 1441b5d61b8Smrg install: true, 1451b5d61b8Smrg install_dir: get_option('libexecdir'), 1461b5d61b8Smrg # install_mode: ['r-sr-xr-x', 0, 0], 1471b5d61b8Smrg ) 1481b5d61b8Smrg configure_file( 1491b5d61b8Smrg input: 'Xorg.sh.in', 1501b5d61b8Smrg output: 'Xorg', 1511b5d61b8Smrg configuration: conf_data, 1521b5d61b8Smrg install_dir: join_paths(get_option('prefix'), get_option('bindir')), 1531b5d61b8Smrg ) 1541b5d61b8Smrgendif 1551b5d61b8Smrg 1561b5d61b8Smrgexecutable('cvt', 1571b5d61b8Smrg ['utils/cvt/cvt.c', 'modes/xf86cvt.c'], 1581b5d61b8Smrg include_directories: [inc, xorg_inc], 1591b5d61b8Smrg dependencies: xorg_deps, 1601b5d61b8Smrg link_with: libxserver_os, 1611b5d61b8Smrg c_args: xorg_c_args, 1621b5d61b8Smrg install: true, 1631b5d61b8Smrg) 1641b5d61b8Smrg 1651b5d61b8Smrgexecutable('gtf', 1661b5d61b8Smrg 'utils/gtf/gtf.c', 1671b5d61b8Smrg include_directories: [inc, xorg_inc], 1681b5d61b8Smrg dependencies: xorg_deps, 1691b5d61b8Smrg c_args: xorg_c_args, 1701b5d61b8Smrg install: true, 1711b5d61b8Smrg) 1721b5d61b8Smrg 1731b5d61b8Smrg# For symbol presence testing only 1741b5d61b8Smrgxorgserver_lib = shared_library( 1751b5d61b8Smrg 'xorgserver', 1761b5d61b8Smrg srcs_xorg, 1771b5d61b8Smrg include_directories: [inc, xorg_inc], 1781b5d61b8Smrg link_whole: xorg_link, 1791b5d61b8Smrg dependencies: xorg_deps, 1801b5d61b8Smrg link_args: linker_export_flags, 1811b5d61b8Smrg c_args: xorg_c_args, 1821b5d61b8Smrg install: false, 1831b5d61b8Smrg) 1841b5d61b8Smrg 1851b5d61b8Smrgxorgserver_dep = declare_dependency(link_with: xorgserver_lib) 1861b5d61b8Smrg 1871b5d61b8Smrginstall_man(configure_file( 1881b5d61b8Smrg input: 'man/Xorg.man', 1891b5d61b8Smrg output: 'Xorg.1', 1901b5d61b8Smrg configuration: manpage_config, 1911b5d61b8Smrg)) 1921b5d61b8Smrg 1931b5d61b8Smrgif get_option('suid_wrapper') 1941b5d61b8Smrg install_man(configure_file( 1951b5d61b8Smrg input: 'man/Xorg.wrap.man', 1961b5d61b8Smrg output: 'Xorg.wrap.1', 1971b5d61b8Smrg configuration: manpage_config, 1981b5d61b8Smrg )) 1991b5d61b8Smrg 2001b5d61b8Smrg install_man(configure_file( 2011b5d61b8Smrg input: 'man/Xwrapper.config.man', 2021b5d61b8Smrg output: 'Xwrapper.config.5', 2031b5d61b8Smrg configuration: manpage_config, 2041b5d61b8Smrg )) 2051b5d61b8Smrgendif 2061b5d61b8Smrg 2071b5d61b8Smrginstall_man(configure_file( 2081b5d61b8Smrg input: 'man/xorg.conf.man', 2091b5d61b8Smrg output: 'xorg.conf.5', 2101b5d61b8Smrg configuration: manpage_config, 2111b5d61b8Smrg)) 2121b5d61b8Smrg 2131b5d61b8Smrginstall_man(configure_file( 2141b5d61b8Smrg input: 'man/xorg.conf.d.man', 2151b5d61b8Smrg output: 'xorg.conf.d.5', 2161b5d61b8Smrg configuration: manpage_config, 2171b5d61b8Smrg)) 2181b5d61b8Smrg 2191b5d61b8Smrginstall_man(configure_file( 2201b5d61b8Smrg input: 'utils/man/cvt.man', 2211b5d61b8Smrg output: 'cvt.1', 2221b5d61b8Smrg configuration: manpage_config, 2231b5d61b8Smrg)) 2241b5d61b8Smrg 2251b5d61b8Smrginstall_man(configure_file( 2261b5d61b8Smrg input: 'utils/man/gtf.man', 2271b5d61b8Smrg output: 'gtf.1', 2281b5d61b8Smrg configuration: manpage_config, 2291b5d61b8Smrg)) 230