-
Notifications
You must be signed in to change notification settings - Fork 1
/
bootstrap.conf
284 lines (259 loc) · 6.45 KB
/
bootstrap.conf
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
# Bootstrap configuration.
# Copyright (C) 2006-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# Automake requires that ChangeLog exists.
touch ChangeLog
# Random extra gnulib files needed for findutils.
# copied from 'import-gnulib.config'
gnulib_extra_files='
build-aux/config.guess
build-aux/config.sub
build-aux/depcomp
build-aux/install-sh
build-aux/mdate-sh
build-aux/mkinstalldirs
build-aux/texinfo.tex
'
# gnulib modules needed only for maintainer things.
maintainer_modules='
gitlog-to-changelog
maintainer-makefile
update-copyright
gendocs
'
# 'consider' comments copied from 'import-gnulib.config':
# consider using do-release-commit-and-tag
# consider using gendocs
# consider using getdelim
# consider using gethrxtime
# consider using getsubopt (for -D)
# consider using gnu-web-doc-update
# consider using idprov-drop and privset for locate
# consider using long-options
# consider using nproc in xargs
# consider using pmccabe2html
# consider using selinux-h
# consider using gendocs
# consider using sig2str in xargs
# consider using signal (why not: maybe we don't need those features)
# consider using the dev-ino moduile to support -samefile.
# consider removing stpcpy
# We have rpmatch, either use it for -ok and xargs or remove the dependency
# use fileblocks, filemode properly.
# Considered, but no:
# consider using autobuild (the information is not usually interesting for us)
# consider using same-inode (we don't keep a full struct stat for the ref file)
# Modules needed for findutils.
# We need regex to ensure that we can build on platforms like
# Solaris which lack those functions.
# gnulib modules used by this package.
gnulib_modules="
alloca
areadlinkat
argmatch
argv-iter
assert
byteswap
c-strcasestr
c-strstr
canonicalize
cloexec
closein
closeout
ctype
d-ino
d-type
dirent-safer
dirname
dup2
errno
error
faccessat
fchdir
fcntl
fcntl-safer
fdopendir
fflush
fileblocks
filemode
fnmatch-gnu
fopen-safer
fts
gcc-attributes
getdelim
getline
getopt-gnu
gettext-h
gettimeofday
git-version-gen
gnupload
gpl-3.0
hash
human
idcache
inline
intprops
inttypes
isblank
locale
lstat
malloc-gnu
manywarnings
math
mbrtowc
mbscasestr
mbswidth
mbsstr
mktime
modechange
modf
mountlist
nstrftime
open
openat-safer
parse-datetime
pathmax
perror
progname
quotearg
readlink
realloc-gnu
regex
rpmatch
safe-read
same-inode
save-cwd
savedir
selinux-at
snprintf
stat
stat-macros
stat-size
stat-time
stdarg
stdbool
stddef
stdio
stdint
stdlib
stpcpy
strcasestr
strdup-posix
string
strndup
strtoull
strtoumax
sys_stat
sys_time
sys_wait
timespec
uname
unistd-safer
unlinkat
verify
version-etc
version-etc-fsf
warnings
wchar
wcwidth
xalloc
xalloc-die
xgetcwd
xstrtod
xstrtol
xstrtol-error
xstrtoumax
year2038-recommended
yesno
${maintainer_modules}
"
# Override bootstrap's defaults, with values consistent with
# 'import-gnulib.sh'
local_gl_dir='gnulib-local'
source_base=gl/lib
m4_base=gl/m4
# use 'libgnulib' instead of the default lib$package (=libfindutils)
# 'libgnulib' is mentioned in various 'Makefile.am' files.
gnulib_name=libgnulib
# Create 'gl/Makefile.am' which is mentioned in 'configure.ac'.
hack_gnulib_tool_makefile() {
cat > gl/Makefile.am <<EOF
# Copyright (C) 2006-2024 Free Software Foundation, Inc.
#
# This file is free software, distributed under the terms of the GNU
# General Public License. As a special exception to the GNU General
# Public License, this file may be distributed as part of a program
# that contains a configuration script generated by Automake, under
# the same distribution terms as the rest of that program.
#
# This file was generated by $0
#
SUBDIRS = lib
EXTRA_DIST = m4/gnulib-cache.m4
EOF
}
# after 'gnulib-tool' is done, create the 'gl/Makefile.am' to be backward
# compatible with 'import-gnulib.sh'.
bootstrap_post_import_hook() {
hack_gnulib_tool_makefile
}
# For compatibility with 'import-gnulib.sh', add gnulib's test directory.
# 'gnulib-tests/Makefile' is mentioned in 'configure.ac'
gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink"
# Additional xgettext options to use. Use "\\\newline" to break lines.
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
--from-code=UTF-8\\\
--flag=asprintf:2:c-format --flag=vasprintf:2:c-format\\\
--flag=asnprintf:3:c-format --flag=vasnprintf:3:c-format\\\
--flag=wrapf:1:c-format\\\
'
# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
# appears in configure.ac, exclude some unnecessary files.
# Without grep's -E option (not portable enough, pre-configure),
# the following test is ugly. Also, this depends on the existence
# of configure.ac, not the obsolescent-named configure.in. But if
# you're using this infrastructure, you should care about such things.
gettext_external=0
grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
gettext_external=1
grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
gettext_external=1
if test $gettext_external = 1; then
# Gettext supplies these files, but we don't need them since
# we don't have an intl subdirectory.
excluded_files='
m4/glibc2.m4
m4/intdiv0.m4
m4/lcmessage.m4
m4/lock.m4
m4/printf-posix.m4
m4/size_max.m4
m4/uintmax_t.m4
m4/ulonglong.m4
m4/visibility.m4
m4/xsize.m4
'
fi
# Build prerequisites
buildreq="\
autoconf 2.64
automake 1.11.2
autopoint 0.19.2
gettext 0.19.2
git 1.5.5
m4 -
makeinfo 6.1
texi2pdf 6.1
tar -
wget -
xz -
"