You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xserver/hw/xfree86/os-support/meson.build

171 lines
4.8 KiB
Meson

srcs_xorg_os_support = [
'bus/nobus.c',
'shared/posix_tty.c',
'shared/sigio.c',
'shared/vidmem.c',
]
hdrs_xorg_os_support = [
'bus/xf86Pci.h',
'xf86_OSlib.h',
'xf86_OSproc.h'
]
os_dep = []
os_c_args = []
if get_option('pciaccess')
srcs_xorg_os_support += 'bus/Pci.c'
if host_machine.system() != 'linux'
srcs_xorg_os_support += 'bus/bsd_pci.c'
endif
if host_machine.cpu() == 'sparc' or host_machine.cpu() == 'sparc64'
srcs_xorg_os_support += 'bus/Sbus.c'
install_data('bus/xf86Sbus.h', install_dir: xorgsdkdir)
endif
endif
if get_option('agp') == 'auto'
build_agp = cc.has_header('sys/agpio.h') or cc.has_header('sys/agpgart.h') or cc.has_header('linux/agpgart.h')
else
build_agp = get_option('agp') == 'true'
endif
if host_machine.system() == 'linux'
srcs_xorg_os_support += [
'linux/lnx_bell.c',
'linux/lnx_init.c',
'linux/lnx_kmod.c',
'linux/lnx_platform.c',
'linux/lnx_video.c',
'misc/SlowBcopy.c',
'shared/VTsw_usl.c',
]
if build_agp
srcs_xorg_os_support += 'linux/lnx_agp.c'
else
srcs_xorg_os_support += 'shared/agp_noop.c'
endif
if build_systemd_logind
srcs_xorg_os_support += 'linux/systemd-logind.c'
endif
# this is ugly because the code is also
if build_apm or build_acpi
srcs_xorg_os_support += 'linux/lnx_apm.c'
if build_acpi
srcs_xorg_os_support += 'linux/lnx_acpi.c'
endif
else
srcs_xorg_os_support += 'shared/pm_noop.c'
endif
elif host_machine.system() == 'sunos'
srcs_xorg_os_support += [
'solaris/sun_apm.c',
'solaris/sun_bell.c',
'solaris/sun_init.c',
'solaris/sun_vid.c',
'shared/kmod_noop.c',
]
if cc.has_header('sys/vt.h')
srcs_xorg_os_support += 'solaris/sun_VTsw.c'
else
srcs_xorg_os_support += 'shared/VTsw_noop.c'
endif
if build_agp
srcs_xorg_os_support += 'solaris/sun_agp.c'
else
srcs_xorg_os_support += 'shared/agp_noop.c'
endif
if host_machine.cpu_family() == 'sparc'
srcs_xorg_os_support += 'solaris/solaris-sparcv8plus.S'
elif host_machine.cpu_family() == 'x86_64'
srcs_xorg_os_support += 'solaris/solaris-amd64.S'
elif host_machine.cpu_family() == 'x86'
srcs_xorg_os_support += 'solaris/solaris-ia32.S'
else
error('Unknown CPU family for Solaris build')
endif
elif host_machine.system().endswith('bsd')
srcs_xorg_os_support += [
'bsd/bsd_VTsw.c',
'bsd/bsd_bell.c',
'bsd/bsd_init.c',
'shared/pm_noop.c'
]
if host_machine.cpu_family() == 'x86_64'
srcs_xorg_os_support += 'bsd/i386_video.c'
if host_machine.system() == 'netbsd'
os_dep += cc.find_library('x86_64')
elif host_machine.system() == 'openbsd'
os_dep += cc.find_library('amd64')
endif
elif host_machine.cpu_family() == 'x86'
srcs_xorg_os_support += 'bsd/i386_video.c'
if host_machine.system() == 'netbsd' or host_machine.system() == 'openbsd'
os_dep += cc.find_library('i386')
endif
elif host_machine.cpu_family() == 'arm'
srcs_xorg_os_support += 'bsd/arm_video.c'
elif host_machine.cpu_family() == 'powerpc'
srcs_xorg_os_support += 'bsd/ppc_video.c'
elif host_machine.cpu_family() == 'sparc64'
srcs_xorg_os_support += 'bsd/sparc64_video.c'
srcs_xorg_os_support += 'shared/ioperm_noop.c'
elif host_machine.cpu_family() == 'alpha'
srcs_xorg_os_support += 'bsd/alpha_video.c'
if host_machine.system() == 'freebsd'
os_dep += cc.find_library('io')
elif host_machine.system() == 'netbsd'
os_c_args += '-DUSE_ALPHA_PIO'
endif
endif
if host_machine.system() == 'freebsd'
srcs_xorg_os_support += 'bsd/bsd_kmod.c'
else
srcs_xorg_os_support += 'shared/kmod_noop.c'
endif
if build_agp
srcs_xorg_os_support += 'linux/lnx_agp.c'
else
srcs_xorg_os_support += 'shared/agp_noop.c'
endif
else
# stub ossupport
srcs_xorg_os_support += [
'shared/VTsw_noop.c',
'shared/agp_noop.c',
'shared/ioperm_noop.c',
'shared/kmod_noop.c',
'shared/pm_noop.c',
'shared/vidmem.c',
'shared/posix_tty.c',
'shared/sigio.c',
'stub/stub_bell.c',
'stub/stub_init.c',
'stub/stub_video.c',
]
endif
xorg_os_support = static_library('xorg_os_support',
srcs_xorg_os_support,
include_directories: [inc, xorg_inc],
dependencies: [
common_dep,
dbus_dep,
libdrm_dep,
os_dep,
],
c_args: xorg_c_args + os_c_args,
)
install_data(hdrs_xorg_os_support, install_dir: xorgsdkdir)