04b7641e85
- Add x11proto to redbear-full.toml package list - libxau recipe updated with x11proto dependency and custom build script - Fixes libxau build failure: 'Package xproto was not found'
98 lines
1.8 KiB
Meson
98 lines
1.8 KiB
Meson
# SPDX-License-Identifier: MIT
|
|
# Copyright © 2023 Intel Corporation
|
|
|
|
project(
|
|
'libXau',
|
|
'c',
|
|
version : '1.0.12',
|
|
license : 'MIT',
|
|
meson_version : '>= 0.60.0',
|
|
)
|
|
|
|
add_project_arguments(
|
|
'-D_GNU_SOURCE',
|
|
'-D__EXTENSIONS__',
|
|
language : 'c'
|
|
)
|
|
|
|
cc = meson.get_compiler('c')
|
|
|
|
lib_args = []
|
|
|
|
foreach f : ['explicit_bzero', 'explicit_memset', 'pathconf']
|
|
if cc.has_function(f)
|
|
lib_args += '-DHAVE_@0@'.format(f.to_upper())
|
|
endif
|
|
endforeach
|
|
|
|
if cc.has_header('unistd.h')
|
|
lib_args += '-DHAVE_UNISTD_H'
|
|
endif
|
|
|
|
dep_xproto = dependency('xproto')
|
|
|
|
if get_option('xthreads')
|
|
lib_args += '-DXTHREADS'
|
|
# This define is not in libXau specific code, but is part of the xproto header
|
|
# This may be only required by HP-UX.
|
|
if cc.has_function('gethostbyname_r') or \
|
|
cc.has_function('gethostbyname_r', dependencies : cc.find_library('nls'))
|
|
lib_args += '-DXUSE_MTSAFE_API=1'
|
|
endif
|
|
if host_machine.system() == 'sunos'
|
|
lib_args += ['-D_REENETRANT', '-D_POSIX_PTHREAD_SEMANTICS']
|
|
endif
|
|
endif
|
|
|
|
lib = library(
|
|
'Xau',
|
|
[
|
|
'AuDispose.c',
|
|
'AuFileName.c',
|
|
'AuGetAddr.c',
|
|
'AuGetBest.c',
|
|
'AuLock.c',
|
|
'AuRead.c',
|
|
'AuUnlock.c',
|
|
'AuWrite.c',
|
|
],
|
|
c_args : lib_args,
|
|
include_directories : 'include',
|
|
dependencies : dep_xproto,
|
|
version : '6.0.0',
|
|
install : true,
|
|
)
|
|
|
|
test(
|
|
'autest',
|
|
executable(
|
|
'autest',
|
|
'Autest.c',
|
|
link_with : lib,
|
|
include_directories : 'include',
|
|
dependencies : dep_xproto,
|
|
)
|
|
)
|
|
|
|
libxau = declare_dependency(
|
|
link_with : lib,
|
|
include_directories : 'include',
|
|
)
|
|
|
|
meson.override_dependency('xau', libxau)
|
|
|
|
install_headers(
|
|
'include/X11/Xauth.h',
|
|
subdir : 'X11',
|
|
)
|
|
|
|
pkg = import('pkgconfig')
|
|
pkg.generate(
|
|
lib,
|
|
description : 'X authorization file management library',
|
|
filebase : 'xau',
|
|
requires : 'xproto',
|
|
)
|
|
|
|
subdir('man')
|