1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# SPDX-License-Identifier: MIT
# Copyright © 2023 Intel Corporation
project(
'libXau',
'c',
version : '1.0.11',
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', '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',
)
)
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')
|