xref: /OK3568_Linux_fs/external/xserver/os/meson.build (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunsrcs_os = [
2*4882a593Smuzhiyun    'WaitFor.c',
3*4882a593Smuzhiyun    'access.c',
4*4882a593Smuzhiyun    'auth.c',
5*4882a593Smuzhiyun    'backtrace.c',
6*4882a593Smuzhiyun    'client.c',
7*4882a593Smuzhiyun    'connection.c',
8*4882a593Smuzhiyun    'inputthread.c',
9*4882a593Smuzhiyun    'io.c',
10*4882a593Smuzhiyun    'mitauth.c',
11*4882a593Smuzhiyun    'oscolor.c',
12*4882a593Smuzhiyun    'osinit.c',
13*4882a593Smuzhiyun    'ospoll.c',
14*4882a593Smuzhiyun    'utils.c',
15*4882a593Smuzhiyun    'xdmauth.c',
16*4882a593Smuzhiyun    'xsha1.c',
17*4882a593Smuzhiyun    'xstrans.c',
18*4882a593Smuzhiyun    'xprintf.c',
19*4882a593Smuzhiyun    'log.c',
20*4882a593Smuzhiyun]
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun# Wrapper code for missing C library functions
23*4882a593Smuzhiyunsrcs_libc = []
24*4882a593Smuzhiyunif not conf_data.get('HAVE_REALLOCARRAY')
25*4882a593Smuzhiyun    srcs_libc += 'reallocarray.c'
26*4882a593Smuzhiyunendif
27*4882a593Smuzhiyunif not conf_data.get('HAVE_STRCASECMP')
28*4882a593Smuzhiyun    srcs_libc += 'strcasecmp.c'
29*4882a593Smuzhiyunendif
30*4882a593Smuzhiyunif not conf_data.get('HAVE_STRCASESTR')
31*4882a593Smuzhiyun    srcs_libc += 'strcasestr.c'
32*4882a593Smuzhiyunendif
33*4882a593Smuzhiyunif not conf_data.get('HAVE_STRLCAT')
34*4882a593Smuzhiyun    srcs_libc += 'strlcat.c'
35*4882a593Smuzhiyunendif
36*4882a593Smuzhiyunif not conf_data.get('HAVE_STRLCPY')
37*4882a593Smuzhiyun    srcs_libc += 'strlcpy.c'
38*4882a593Smuzhiyunendif
39*4882a593Smuzhiyunif not conf_data.get('HAVE_STRNDUP')
40*4882a593Smuzhiyun    srcs_libc += 'strndup.c'
41*4882a593Smuzhiyunendif
42*4882a593Smuzhiyunif not conf_data.get('HAVE_TIMINGSAFE_MEMCMP')
43*4882a593Smuzhiyun    srcs_libc += 'timingsafe_memcmp.c'
44*4882a593Smuzhiyunendif
45*4882a593Smuzhiyunif not conf_data.get('HAVE_POLL')
46*4882a593Smuzhiyun    srcs_os += 'xserver_poll.c'
47*4882a593Smuzhiyunendif
48*4882a593Smuzhiyun
49*4882a593Smuzhiyunif conf_data.get('BUSFAULT')
50*4882a593Smuzhiyun    srcs_os += 'busfault.c'
51*4882a593Smuzhiyunendif
52*4882a593Smuzhiyun
53*4882a593Smuzhiyunif get_option('xdmcp')
54*4882a593Smuzhiyun    srcs_os += 'xdmcp.c'
55*4882a593Smuzhiyunendif
56*4882a593Smuzhiyun
57*4882a593Smuzhiyunrpc_dep = []
58*4882a593Smuzhiyunif get_option('secure-rpc')
59*4882a593Smuzhiyun    # prefer libtirpc (if available), otherwise ensure RPC functions are
60*4882a593Smuzhiyun    # provided by libc.
61*4882a593Smuzhiyun    rpc_dep = dependency('libtirpc', required: false)
62*4882a593Smuzhiyun    if not (rpc_dep.found() or cc.has_header('rpc/rpc.h'))
63*4882a593Smuzhiyun        error('secure-rpc requested, but neither libtirpc or libc RPC support were found')
64*4882a593Smuzhiyun    endif
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun    srcs_os += 'rpcauth.c'
67*4882a593Smuzhiyunendif
68*4882a593Smuzhiyun
69*4882a593Smuzhiyunlibxlibc = []
70*4882a593Smuzhiyunif srcs_libc.length() > 0
71*4882a593Smuzhiyun    libxlibc = static_library('libxlibc',
72*4882a593Smuzhiyun        srcs_libc,
73*4882a593Smuzhiyun        include_directories: inc,
74*4882a593Smuzhiyun        dependencies: [
75*4882a593Smuzhiyun            xproto_dep,
76*4882a593Smuzhiyun        ],
77*4882a593Smuzhiyun    )
78*4882a593Smuzhiyunendif
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunlibxserver_os = static_library('libxserver_os',
81*4882a593Smuzhiyun    srcs_os,
82*4882a593Smuzhiyun    include_directories: inc,
83*4882a593Smuzhiyun    dependencies: [
84*4882a593Smuzhiyun        common_dep,
85*4882a593Smuzhiyun        dl_dep,
86*4882a593Smuzhiyun        sha1_dep,
87*4882a593Smuzhiyun        rpc_dep,
88*4882a593Smuzhiyun        dependency('xau')
89*4882a593Smuzhiyun    ],
90*4882a593Smuzhiyun    link_with: libxlibc,
91*4882a593Smuzhiyun)
92