Edit

IABSD.fr/xenocara/xserver/os/meson.build

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2023-01-22 09:21:08
    Hash : 8c4424dd
    Message : Add back the meson build system to xserver. Not having those file only create noise when merging upstream releases.

  • xserver/os/meson.build
  • srcs_os = [
        'WaitFor.c',
        'access.c',
        'auth.c',
        'backtrace.c',
        'client.c',
        'connection.c',
        'inputthread.c',
        'io.c',
        'mitauth.c',
        'oscolor.c',
        'osinit.c',
        'ospoll.c',
        'utils.c',
        'xdmauth.c',
        'xsha1.c',
        'xstrans.c',
        'xprintf.c',
        'log.c',
    ]
    
    # Wrapper code for missing C library functions. Note that conf_data contains either '1' or false.
    srcs_libc = []
    if conf_data.get('HAVE_REALLOCARRAY').to_int() == 0
        srcs_libc += 'reallocarray.c'
    endif
    if conf_data.get('HAVE_STRCASECMP').to_int() == 0
        srcs_libc += 'strcasecmp.c'
    endif
    if conf_data.get('HAVE_STRCASESTR').to_int() == 0
        srcs_libc += 'strcasestr.c'
    endif
    if conf_data.get('HAVE_STRLCAT').to_int() == 0
        srcs_libc += 'strlcat.c'
    endif
    if conf_data.get('HAVE_STRLCPY').to_int() == 0
        srcs_libc += 'strlcpy.c'
    endif
    if conf_data.get('HAVE_STRNDUP').to_int() == 0
        srcs_libc += 'strndup.c'
    endif
    if conf_data.get('HAVE_TIMINGSAFE_MEMCMP').to_int() == 0
        srcs_libc += 'timingsafe_memcmp.c'
    endif
    if conf_data.get('HAVE_POLL').to_int() == 0
        srcs_os += 'xserver_poll.c'
    endif
    
    if conf_data.get('BUSFAULT').to_int() != 0
        srcs_os += 'busfault.c'
    endif
    
    if get_option('xdmcp')
        srcs_os += 'xdmcp.c'
    endif
    
    rpc_dep = []
    if get_option('secure-rpc')
        # prefer libtirpc (if available), otherwise ensure RPC functions are
        # provided by libc.
        rpc_dep = dependency('libtirpc', required: false)
        if not (rpc_dep.found() or cc.has_header('rpc/rpc.h'))
            error('secure-rpc requested, but neither libtirpc or libc RPC support were found')
        endif
        # XXX: also check if RPC library provides xdr_opaque_auth, authdes_(sec)create ???
        srcs_os += 'rpcauth.c'
    endif
    
    os_dep = []
    os_c_args = []
    if get_option('xres')
        # Only the XRes extension cares about the client ID.
        os_c_args += '-DCLIENTIDS'
        if host_machine.system() == 'openbsd'
            os_dep += cc.find_library('kvm')
        endif
    endif
    
    libxlibc = []
    if srcs_libc.length() > 0
        libxlibc = static_library('libxlibc',
            srcs_libc,
            include_directories: inc,
            dependencies: [
                xproto_dep,
            ],
        )
    endif
    
    if enable_input_thread
        os_dep += cc.find_library('pthread')
    endif
    
    libxserver_os = static_library('libxserver_os',
        srcs_os,
        include_directories: inc,
        dependencies: [
            dtrace_dep,
            common_dep,
            dl_dep,
            sha1_dep,
            rpc_dep,
            os_dep,
            dependency('xau')
        ],
        c_args: os_c_args,
        link_with: libxlibc,
    )