bootstrap.conf 6.3 KB

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