xref: /OK3568_Linux_fs/external/xserver/hw/xfree86/os-support/meson.build (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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