1*4882a593Smuzhiyunsrcs_xorg_os_support = [ 2*4882a593Smuzhiyun 'bus/nobus.c', 3*4882a593Smuzhiyun 'shared/posix_tty.c', 4*4882a593Smuzhiyun 'shared/sigio.c', 5*4882a593Smuzhiyun 'shared/vidmem.c', 6*4882a593Smuzhiyun] 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunhdrs_xorg_os_support = [ 9*4882a593Smuzhiyun 'bus/xf86Pci.h', 10*4882a593Smuzhiyun 'xf86_OSlib.h', 11*4882a593Smuzhiyun 'xf86_OSproc.h' 12*4882a593Smuzhiyun] 13*4882a593Smuzhiyun 14*4882a593Smuzhiyunos_support_flags = ['-DUSESTDRES'] 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunif get_option('pciaccess') 17*4882a593Smuzhiyun srcs_xorg_os_support += 'bus/Pci.c' 18*4882a593Smuzhiyun if host_machine.system() != 'linux' and host_machine.system() != 'solaris' 19*4882a593Smuzhiyun srcs_xorg_os_support += 'bus/bsd_pci.c' 20*4882a593Smuzhiyun endif 21*4882a593Smuzhiyun if host_machine.cpu() == 'sparc' 22*4882a593Smuzhiyun srcs_xorg_os_support += 'bus/Sbus.c' 23*4882a593Smuzhiyun install_data('bus/xf86Sbus.h', install_dir: xorgsdkdir) 24*4882a593Smuzhiyun endif 25*4882a593Smuzhiyunendif 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunif host_machine.system() == 'linux' 28*4882a593Smuzhiyun srcs_xorg_os_support += [ 29*4882a593Smuzhiyun 'linux/lnx_agp.c', 30*4882a593Smuzhiyun 'linux/lnx_bell.c', 31*4882a593Smuzhiyun 'linux/lnx_init.c', 32*4882a593Smuzhiyun 'linux/lnx_kmod.c', 33*4882a593Smuzhiyun 'linux/lnx_platform.c', 34*4882a593Smuzhiyun 'linux/lnx_video.c', 35*4882a593Smuzhiyun 'misc/SlowBcopy.c', 36*4882a593Smuzhiyun 'shared/VTsw_usl.c', 37*4882a593Smuzhiyun ] 38*4882a593Smuzhiyun if build_systemd_logind 39*4882a593Smuzhiyun srcs_xorg_os_support += 'linux/systemd-logind.c' 40*4882a593Smuzhiyun endif 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun # this is ugly because the code is also 43*4882a593Smuzhiyun if build_apm or build_acpi 44*4882a593Smuzhiyun srcs_xorg_os_support += 'linux/lnx_apm.c' 45*4882a593Smuzhiyun if build_acpi 46*4882a593Smuzhiyun srcs_xorg_os_support += 'linux/lnx_acpi.c' 47*4882a593Smuzhiyun endif 48*4882a593Smuzhiyun endif 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunelif host_machine.system() == 'solaris' 51*4882a593Smuzhiyun srcs_xorg_os_support += [ 52*4882a593Smuzhiyun 'solaris/sun_apm.c', 53*4882a593Smuzhiyun 'solaris/sun_bell.c', 54*4882a593Smuzhiyun 'solaris/sun_init.c', 55*4882a593Smuzhiyun 'solaris/sun_vid.c', 56*4882a593Smuzhiyun 'shared/kmod_noop.c', 57*4882a593Smuzhiyun ] 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun if cc.has_header('sys/vt.h') 60*4882a593Smuzhiyun srcs_xorg_os_support += 'solaris/sun_VTsw.c' 61*4882a593Smuzhiyun else 62*4882a593Smuzhiyun srcs_xorg_os_support += 'shared/VTsw_noop.c' 63*4882a593Smuzhiyun endif 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun if cc.has_header('sys/agpio.h') or cc.has_header('sys/agpgart.h') 66*4882a593Smuzhiyun srcs_xorg_os_support += 'solaris/sun_agp.c' 67*4882a593Smuzhiyun else 68*4882a593Smuzhiyun srcs_xorg_os_support += 'shared/agp_noop.c' 69*4882a593Smuzhiyun endif 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun if host_machine.cpu_family() == 'sparc' 72*4882a593Smuzhiyun srcs_xorg_os_support += 'solaris/solaris-sparcv8plus.S' 73*4882a593Smuzhiyun elif host_machine.cpu_family() == 'x86_64' 74*4882a593Smuzhiyun srcs_xorg_os_support += 'solaris/solaris-amd64.S' 75*4882a593Smuzhiyun elif host_machine.cpu_family() == 'x86' 76*4882a593Smuzhiyun srcs_xorg_os_support += 'solaris/solaris-ia32.S' 77*4882a593Smuzhiyun else 78*4882a593Smuzhiyun error('Unknown CPU family for Solaris build') 79*4882a593Smuzhiyun endif 80*4882a593Smuzhiyun 81*4882a593Smuzhiyunelif host_machine.system().endswith('bsd') 82*4882a593Smuzhiyun srcs_xorg_os_support += [ 83*4882a593Smuzhiyun 'bsd/bsd_VTsw.c', 84*4882a593Smuzhiyun 'bsd/bsd_bell.c', 85*4882a593Smuzhiyun 'bsd/bsd_init.c', 86*4882a593Smuzhiyun ] 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun # XXX: APM 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun if host_machine.cpu_family() == 'x86_64' 91*4882a593Smuzhiyun srcs_xorg_os_support += 'bsd/i386_video.c' 92*4882a593Smuzhiyun elif host_machine.cpu_family() == 'x86' 93*4882a593Smuzhiyun srcs_xorg_os_support += 'bsd/i386_video.c' 94*4882a593Smuzhiyun elif host_machine.cpu_family() == 'arm' 95*4882a593Smuzhiyun srcs_xorg_os_support += 'bsd/arm_video.c' 96*4882a593Smuzhiyun elif host_machine.cpu_family() == 'powerpc' 97*4882a593Smuzhiyun srcs_xorg_os_support += 'bsd/ppc_video.c' 98*4882a593Smuzhiyun elif host_machine.cpu_family() == 'sparc64' 99*4882a593Smuzhiyun srcs_xorg_os_support += 'bsd/sparc64_video.c' 100*4882a593Smuzhiyun srcs_xorg_os_support += 'shared/ioperm_noop.c' 101*4882a593Smuzhiyun elif host_machine.cpu_family() == 'alpha' 102*4882a593Smuzhiyun srcs_xorg_os_support += 'bsd/alpha_video.c' 103*4882a593Smuzhiyun endif 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun if host_machine.system() == 'freebsd' 106*4882a593Smuzhiyun srcs_xorg_os_support += 'bsd/bsd_kmod.c' 107*4882a593Smuzhiyun else 108*4882a593Smuzhiyun srcs_xorg_os_support += 'shared/kmod_noop.c' 109*4882a593Smuzhiyun endif 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun if cc.has_header('sys/agpio.h') or cc.has_header('sys/agpgart.h') 112*4882a593Smuzhiyun srcs_xorg_os_support += 'linux/lnx_agp.c' 113*4882a593Smuzhiyun else 114*4882a593Smuzhiyun srcs_xorg_os_support += 'shared/agp_noop.c' 115*4882a593Smuzhiyun endif 116*4882a593Smuzhiyunelse 117*4882a593Smuzhiyun # stub ossupport 118*4882a593Smuzhiyun srcs_xorg_os_support += [ 119*4882a593Smuzhiyun 'shared/VTsw_noop.c', 120*4882a593Smuzhiyun 'shared/agp_noop.c', 121*4882a593Smuzhiyun 'shared/ioperm_noop.c', 122*4882a593Smuzhiyun 'shared/kmod_noop.c', 123*4882a593Smuzhiyun 'shared/pm_noop.c', 124*4882a593Smuzhiyun 'shared/vidmem.c', 125*4882a593Smuzhiyun 'shared/posix_tty.c', 126*4882a593Smuzhiyun 'shared/sigio.c', 127*4882a593Smuzhiyun 'stub/stub_bell.c', 128*4882a593Smuzhiyun 'stub/stub_init.c', 129*4882a593Smuzhiyun 'stub/stub_video.c', 130*4882a593Smuzhiyun ] 131*4882a593Smuzhiyunendif 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunxorg_os_support = static_library('xorg_os_support', 134*4882a593Smuzhiyun srcs_xorg_os_support, 135*4882a593Smuzhiyun include_directories: [inc, xorg_inc], 136*4882a593Smuzhiyun dependencies: [ 137*4882a593Smuzhiyun common_dep, 138*4882a593Smuzhiyun dbus_dep, 139*4882a593Smuzhiyun libdrm_dep, 140*4882a593Smuzhiyun ], 141*4882a593Smuzhiyun c_args: xorg_c_args, 142*4882a593Smuzhiyun) 143*4882a593Smuzhiyun 144*4882a593Smuzhiyuninstall_data(hdrs_xorg_os_support, install_dir: xorgsdkdir) 145