2 dnl Configure script for bash-5.2
4 dnl report bugs to chet@po.cwru.edu
6 dnl Process this file with autoconf to produce a configure script.
8 # Copyright (C) 1987-2022 Free Software Foundation, Inc.
11 # This program is free software: you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13 # the Free Software Foundation, either version 3 of the License, or
14 # (at your option) any later version.
16 # This program is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 # GNU General Public License for more details.
21 # You should have received a copy of the GNU General Public License
22 # along with this program. If not, see <http://www.gnu.org/licenses/>.
24 AC_REVISION([for Bash 5.2, version 5.046])dnl
27 define(relstatus, release)
29 AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
31 dnl make sure we are using a recent autoconf version
34 AC_CONFIG_SRCDIR(shell.h)
35 dnl where to find install.sh, config.sub, and config.guess
36 AC_CONFIG_AUX_DIR(./support)
37 AC_CONFIG_HEADERS(config.h)
39 dnl checks for version info
43 dnl defaults for debug settings
45 alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
46 *) DEBUG= MALLOC_DEBUG= ;;
49 dnl canonicalize the host and os so we can do some tricky things before
54 dnl configure defaults
58 opt_with_installed_readline=no
62 dnl some systems should be configured without the bash malloc by default
63 dnl and some need a special compiler or loader
64 dnl look in the NOTES file for more
65 case "${host_cpu}-${host_os}" in
66 # mostly obsolete platforms
67 alpha*-*) opt_bash_malloc=no ;; # alpha running osf/1 or linux
68 *[[Cc]]ray*-*) opt_bash_malloc=no ;; # Crays
69 *-osf1*) opt_bash_malloc=no ;; # other osf/1 machines
70 *-dgux*) opt_bash_malloc=no ;; # DG/UX machines
71 sparc-svr4*) opt_bash_malloc=no ;; # sparc SVR4, SVR4.2
72 m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
73 *-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
74 *-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
75 *-beos*) opt_bash_malloc=no ;; # they say it's suitable
76 # These need additional investigation
77 sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
78 *-aix*) opt_bash_malloc=no ;; # AIX machines
79 *-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
80 # These lack a working sbrk(2)
81 aarch64-freebsd*) opt_bash_malloc=no ;;
82 riscv*-freebsd*) opt_bash_malloc=no ;;
83 # Mach-derived systems have a ton of extra malloc functions and lack sbrk(2)
84 *-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
85 *-openstep*) opt_bash_malloc=no ;; # i386/Sparc/HP machines running Openstep
86 *-macos*) opt_bash_malloc=no ;; # Apple MacOS X
87 *-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
88 *-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
89 *-machten4) opt_bash_malloc=no ;; # MachTen 4.x
90 # Niche or non-mainstream-shell-user systems
91 *-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX [67].x
92 *-nsk*) opt_bash_malloc=no ;; # HP NonStop
93 *-haiku*) opt_bash_malloc=no ;; # Haiku OS
94 *-genode*) opt_bash_malloc=no ;; # Genode has no sbrk
97 # memory scrambling on free()
99 sco3.2v5*|sco3.2v4*) opt_memscramble=no ;;
100 *) opt_memscramble=yes ;;
104 dnl macros for the bash debugger
107 AC_ARG_VAR(DEBUGGER_START_FILE, [location of bash debugger initialization file])
109 dnl arguments to configure
111 AC_ARG_WITH(afs, AS_HELP_STRING([--with-afs], [if you are running AFS]), opt_afs=$withval)
112 AC_ARG_WITH(bash-malloc, AS_HELP_STRING([--with-bash-malloc], [use the Bash version of malloc]), opt_bash_malloc=$withval)
113 AC_ARG_WITH(curses, AS_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
114 AC_ARG_WITH(gnu-malloc, AS_HELP_STRING([--with-gnu-malloc], [synonym for --with-bash-malloc]), opt_bash_malloc=$withval)
115 AC_ARG_WITH(installed-readline, AS_HELP_STRING([--with-installed-readline], [use a version of the readline library that is already installed]), opt_with_installed_readline=$withval)
117 if test "$opt_bash_malloc" = yes; then
121 MALLOC_LIB='-lmalloc'
122 MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
123 MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
124 MALLOC_DEP='$(MALLOC_LIBRARY)'
126 AC_DEFINE(USING_BASH_MALLOC)
134 if test "$opt_afs" = yes; then
138 if test "$opt_curses" = yes; then
142 if test -z "${DEBUGGER_START_FILE}"; then
143 DEBUGGER_START_FILE='${datadir}/bashdb/bashdb-main.inc'
146 dnl optional shell features in config.h.in
147 opt_minimal_config=no
156 opt_process_subst=yes
157 opt_prompt_decoding=yes
160 opt_array_variables=yes
162 opt_extended_glob=yes
163 opt_brace_expansion=yes
164 opt_disabled_builtins=no
165 opt_command_timing=yes
171 opt_arith_for_command=yes
177 opt_single_longdoc_strings=yes
178 opt_casemod_attrs=yes
179 opt_casemod_expansions=yes
180 opt_extglob_default=no
181 opt_dircomplete_expand_default=no
182 opt_globascii_default=yes
183 opt_function_import=yes
184 opt_dev_fd_stat_broken=no
185 opt_alt_array_impl=no
186 opt_translatable_strings=yes
188 dnl modified by alternate array implementation option
191 dnl options that affect how bash is compiled and linked
195 dnl argument parsing for optional features
196 AC_ARG_ENABLE(minimal-config, AS_HELP_STRING([--enable-minimal-config], [a minimal sh-like configuration]), opt_minimal_config=$enableval)
198 dnl a minimal configuration turns everything off, but features can be
199 dnl added individually
200 if test $opt_minimal_config = yes; then
201 opt_job_control=no opt_alias=no opt_readline=no
202 opt_history=no opt_bang_history=no opt_dirstack=no
203 opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
204 opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
205 opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
206 opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
207 opt_net_redirs=no opt_progcomp=no opt_separate_help=no
208 opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
209 opt_casemod_attrs=no opt_casemod_expansions=no opt_extglob_default=no
210 opt_translatable_strings=no
211 opt_globascii_default=yes
214 AC_ARG_ENABLE(alias, AS_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
215 AC_ARG_ENABLE(alt-array-implementation, AS_HELP_STRING([--enable-alt-array-implementation], [enable an alternate array implementation that optimizes speed at the cost of space]), opt_alt_array_impl=$enableval)
216 AC_ARG_ENABLE(arith-for-command, AS_HELP_STRING([--enable-arith-for-command], [enable arithmetic for command]), opt_arith_for_command=$enableval)
217 AC_ARG_ENABLE(array-variables, AS_HELP_STRING([--enable-array-variables], [include shell array variables]), opt_array_variables=$enableval)
218 AC_ARG_ENABLE(bang-history, AS_HELP_STRING([--enable-bang-history], [turn on csh-style history substitution]), opt_bang_history=$enableval)
219 AC_ARG_ENABLE(brace-expansion, AS_HELP_STRING([--enable-brace-expansion], [include brace expansion]), opt_brace_expansion=$enableval)
220 AC_ARG_ENABLE(casemod-attributes, AS_HELP_STRING([--enable-casemod-attributes], [include case-modifying variable attributes]), opt_casemod_attrs=$enableval)
221 AC_ARG_ENABLE(casemod-expansions, AS_HELP_STRING([--enable-casemod-expansions], [include case-modifying word expansions]), opt_casemod_expansions=$enableval)
222 AC_ARG_ENABLE(command-timing, AS_HELP_STRING([--enable-command-timing], [enable the time reserved word and command timing]), opt_command_timing=$enableval)
223 AC_ARG_ENABLE(cond-command, AS_HELP_STRING([--enable-cond-command], [enable the conditional command]), opt_cond_command=$enableval)
224 AC_ARG_ENABLE(cond-regexp, AS_HELP_STRING([--enable-cond-regexp], [enable extended regular expression matching in conditional commands]), opt_cond_regexp=$enableval)
225 AC_ARG_ENABLE(coprocesses, AS_HELP_STRING([--enable-coprocesses], [enable coprocess support and the coproc reserved word]), opt_coproc=$enableval)
226 AC_ARG_ENABLE(debugger, AS_HELP_STRING([--enable-debugger], [enable support for bash debugger]), opt_debugger=$enableval)
227 AC_ARG_ENABLE(dev-fd-stat-broken, AS_HELP_STRING([--enable-dev-fd-stat-broken], [enable this option if stat on /dev/fd/N and fstat on file descriptor N don't return the same results]), opt_dev_fd_stat_broken=$enableval)
228 AC_ARG_ENABLE(direxpand-default, AS_HELP_STRING([--enable-direxpand-default], [enable the direxpand shell option by default]), opt_dircomplete_expand_default=$enableval)
229 AC_ARG_ENABLE(directory-stack, AS_HELP_STRING([--enable-directory-stack], [enable builtins pushd/popd/dirs]), opt_dirstack=$enableval)
230 AC_ARG_ENABLE(disabled-builtins, AS_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
231 AC_ARG_ENABLE(dparen-arithmetic, AS_HELP_STRING([--enable-dparen-arithmetic], [include ((...)) command]), opt_dparen_arith=$enableval)
232 AC_ARG_ENABLE(extended-glob, AS_HELP_STRING([--enable-extended-glob], [include ksh-style extended pattern matching]), opt_extended_glob=$enableval)
233 AC_ARG_ENABLE(extended-glob-default, AS_HELP_STRING([--enable-extended-glob-default], [force extended pattern matching to be enabled by default]), opt_extglob_default=$enableval)
234 AC_ARG_ENABLE(function-import, AS_HELP_STRING([--enable-function-import], [allow bash to import exported function definitions by default]), opt_function_import=$enableval)
235 AC_ARG_ENABLE(glob-asciiranges-default, AS_HELP_STRING([--enable-glob-asciiranges-default], [force bracket range expressions in pattern matching to use the C locale by default]), opt_globascii_default=$enableval)
236 AC_ARG_ENABLE(help-builtin, AS_HELP_STRING([--enable-help-builtin], [include the help builtin]), opt_help=$enableval)
237 AC_ARG_ENABLE(history, AS_HELP_STRING([--enable-history], [turn on command history]), opt_history=$enableval)
238 AC_ARG_ENABLE(job-control, AS_HELP_STRING([--enable-job-control], [enable job control features]), opt_job_control=$enableval)
239 AC_ARG_ENABLE(multibyte, AS_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval)
240 AC_ARG_ENABLE(net-redirections, AS_HELP_STRING([--enable-net-redirections], [enable /dev/tcp/host/port redirection]), opt_net_redirs=$enableval)
241 AC_ARG_ENABLE(process-substitution, AS_HELP_STRING([--enable-process-substitution], [enable process substitution]), opt_process_subst=$enableval)
242 AC_ARG_ENABLE(progcomp, AS_HELP_STRING([--enable-progcomp], [enable programmable completion and the complete builtin]), opt_progcomp=$enableval)
243 AC_ARG_ENABLE(prompt-string-decoding, AS_HELP_STRING([--enable-prompt-string-decoding], [turn on escape character decoding in prompts]), opt_prompt_decoding=$enableval)
244 AC_ARG_ENABLE(readline, AS_HELP_STRING([--enable-readline], [turn on command line editing]), opt_readline=$enableval)
245 AC_ARG_ENABLE(restricted, AS_HELP_STRING([--enable-restricted], [enable a restricted shell]), opt_restricted=$enableval)
246 AC_ARG_ENABLE(select, AS_HELP_STRING([--enable-select], [include select command]), opt_select=$enableval)
247 AC_ARG_ENABLE(separate-helpfiles, AS_HELP_STRING([--enable-separate-helpfiles], [use external files for help builtin documentation]), opt_separate_help=$enableval)
248 AC_ARG_ENABLE(single-help-strings, AS_HELP_STRING([--enable-single-help-strings], [store help documentation as a single string to ease translation]), opt_single_longdoc_strings=$enableval)
249 AC_ARG_ENABLE(strict-posix-default, AS_HELP_STRING([--enable-strict-posix-default], [configure bash to be posix-conformant by default]), opt_strict_posix=$enableval)
250 AC_ARG_ENABLE(translatable-strings, AS_HELP_STRING([--enable-translatable-strings], [include support for $"..." translatable strings]), opt_translatable_strings=$enableval)
251 AC_ARG_ENABLE(usg-echo-default, AS_HELP_STRING([--enable-usg-echo-default], [a synonym for --enable-xpg-echo-default]), opt_xpg_echo=$enableval)
252 AC_ARG_ENABLE(xpg-echo-default, AS_HELP_STRING([--enable-xpg-echo-default], [make the echo builtin expand escape sequences by default]), opt_xpg_echo=$enableval)
254 dnl options that alter how bash is compiled and linked
255 AC_ARG_ENABLE(mem-scramble, AS_HELP_STRING([--enable-mem-scramble], [scramble memory on calls to malloc and free]), opt_memscramble=$enableval)
256 AC_ARG_ENABLE(profiling, AS_HELP_STRING([--enable-profiling], [allow profiling with gprof]), opt_profiling=$enableval)
257 AC_ARG_ENABLE(static-link, AS_HELP_STRING([--enable-static-link], [link bash statically, for use as a root shell]), opt_static_link=$enableval)
259 dnl So-called `precious' variables
260 AC_ARG_VAR([CC_FOR_BUILD], [C compiler used when compiling binaries used only at build time])
261 AC_ARG_VAR([CFLAGS_FOR_BUILD], [Compilation options (CFLAGS) used when compiling binaries used only at build time])
262 AC_ARG_VAR([LDFLAGS_FOR_BUILD], [Linker options (LDFLAGS) used when compiling binaries used only at build time])
263 AC_ARG_VAR([CPPFLAGS_FOR_BUILD], [C preprocessor options (CPPFLAGS) used when compiling binaries used only at build time])
265 dnl opt_job_control is handled later, after BASH_JOB_CONTROL_MISSING runs
267 dnl opt_readline and opt_history are handled later, because AC_PROG_CC needs
268 dnl to be run before we can check the version of an already-installed readline
271 if test $opt_alias = yes; then
274 if test $opt_dirstack = yes; then
275 AC_DEFINE(PUSHD_AND_POPD)
277 if test $opt_restricted = yes; then
278 AC_DEFINE(RESTRICTED_SHELL)
280 if test $opt_process_subst = yes; then
281 AC_DEFINE(PROCESS_SUBSTITUTION)
283 if test $opt_prompt_decoding = yes; then
284 AC_DEFINE(PROMPT_STRING_DECODE)
286 if test $opt_select = yes; then
287 AC_DEFINE(SELECT_COMMAND)
289 if test $opt_help = yes; then
290 AC_DEFINE(HELP_BUILTIN)
292 if test $opt_array_variables = yes; then
293 AC_DEFINE(ARRAY_VARS)
295 if test $opt_dparen_arith = yes; then
296 AC_DEFINE(DPAREN_ARITHMETIC)
298 if test $opt_brace_expansion = yes; then
299 AC_DEFINE(BRACE_EXPANSION)
301 if test $opt_disabled_builtins = yes; then
302 AC_DEFINE(DISABLED_BUILTINS)
304 if test $opt_command_timing = yes; then
305 AC_DEFINE(COMMAND_TIMING)
307 if test $opt_xpg_echo = yes ; then
308 AC_DEFINE(DEFAULT_ECHO_TO_XPG)
310 if test $opt_strict_posix = yes; then
311 AC_DEFINE(STRICT_POSIX)
313 if test $opt_extended_glob = yes ; then
314 AC_DEFINE(EXTENDED_GLOB)
316 if test $opt_extglob_default = yes; then
317 AC_DEFINE(EXTGLOB_DEFAULT, 1)
319 AC_DEFINE(EXTGLOB_DEFAULT, 0)
321 if test $opt_cond_command = yes ; then
322 AC_DEFINE(COND_COMMAND)
324 if test $opt_cond_regexp = yes ; then
325 AC_DEFINE(COND_REGEXP)
327 if test $opt_coproc = yes; then
328 AC_DEFINE(COPROCESS_SUPPORT)
330 if test $opt_arith_for_command = yes; then
331 AC_DEFINE(ARITH_FOR_COMMAND)
333 if test $opt_net_redirs = yes; then
334 AC_DEFINE(NETWORK_REDIRECTIONS)
336 if test $opt_progcomp = yes; then
337 AC_DEFINE(PROGRAMMABLE_COMPLETION)
339 if test $opt_multibyte = no; then
340 AC_DEFINE(NO_MULTIBYTE_SUPPORT)
342 if test $opt_debugger = yes; then
345 if test $opt_casemod_attrs = yes; then
346 AC_DEFINE(CASEMOD_ATTRS)
348 if test $opt_casemod_expansions = yes; then
349 AC_DEFINE(CASEMOD_EXPANSIONS)
351 if test $opt_dircomplete_expand_default = yes; then
352 AC_DEFINE(DIRCOMPLETE_EXPAND_DEFAULT)
354 if test $opt_globascii_default = yes; then
355 AC_DEFINE(GLOBASCII_DEFAULT, 1)
357 AC_DEFINE(GLOBASCII_DEFAULT, 0)
359 if test $opt_function_import = yes; then
360 AC_DEFINE(FUNCTION_IMPORT)
362 if test $opt_dev_fd_stat_broken = yes; then
363 AC_DEFINE(DEV_FD_STAT_BROKEN)
365 if test $opt_alt_array_impl = yes; then
366 AC_DEFINE(ALT_ARRAY_IMPLEMENTATION)
369 if test $opt_translatable_strings = yes; then
370 AC_DEFINE(TRANSLATABLE_STRINGS)
373 if test $opt_memscramble = yes; then
374 AC_DEFINE(MEMSCRAMBLE)
377 if test "$opt_minimal_config" = yes; then
378 TESTSCRIPT=run-minimal
383 HELPDIR= HELPDIRDEFINE= HELPINSTALL= HELPFILES_TARGET=
384 if test "$opt_separate_help" != no; then
385 if test "$opt_separate_help" = "yes" ; then
386 HELPDIR='${datadir}/bash/helpfiles'
388 HELPDIR=$opt_separate_help
390 HELPDIRDEFINE='-H ${HELPDIR}'
391 HELPINSTALL='install-help'
392 HELPFILES_TARGET='helpdoc'
395 if test "$opt_single_longdoc_strings" != "yes"; then
399 dnl now substitute in the values generated by arguments
401 AC_SUBST(MALLOC_TARGET)
405 AC_SUBST(MALLOC_LIBRARY)
406 AC_SUBST(MALLOC_LDFLAGS)
414 AC_SUBST(HELPDIRDEFINE)
415 AC_SUBST(HELPINSTALL)
416 AC_SUBST(HELPFILES_TARGET)
417 AC_SUBST(HELPSTRINGS)
419 dnl We want these before the checks, so the checks can modify their values.
420 if test -z "$CFLAGS"; then
425 echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}"
428 dnl compilation checks
429 dnl AC_PROG_CC sets $cross_compiling to `yes' if cross-compiling for a
430 dnl different environment
433 if test -n "$want_auto_cflags"; then
434 AUTO_CFLAGS="-g ${GCC:+-O2}"
435 AUTO_LDFLAGS="-g ${GCC:+-O2}"
436 # STYLE_CFLAGS="${GCC:+-Wno-parentheses} ${GCC:+-Wno-format-security} ${GCC:+-Wno-tautological-constant-out-of-range-compare}"
437 STYLE_CFLAGS="${GCC:+-Wno-parentheses} ${GCC:+-Wno-format-security}"
439 AUTO_CFLAGS= AUTO_LDFLAGS= STYLE_CFLAGS=
442 dnl test for Unix variants
443 AC_USE_SYSTEM_EXTENSIONS
446 dnl BEGIN changes for cross-building (currently cygwin, minGW, and
450 SIGNAMES_H=lsignames.h
452 dnl load up the cross-building cache file -- add more cases and cache
453 dnl files as necessary
455 dnl Note that host and target machine are the same, and different than the
457 dnl Set SIGNAMES_H based on whether or not we're cross-compiling.
460 if test "x$cross_compiling" = "xyes"; then
463 cross_cache=${srcdir}/cross-build/cygwin32.cache
466 cross_cache=${srcdir}/cross-build/cygwin32.cache
469 cross_cache=${srcdir}/cross-build/x86-beos.cache
472 cross_cache=${srcdir}/cross-build/qnx.cache
474 *) echo "configure: cross-compiling for $host is not supported" >&2
477 if test -n "${cross_cache}" && test -r "${cross_cache}"; then
478 echo "loading cross-build cache file ${cross_cache}"
482 SIGNAMES_O='signames.o'
483 CROSS_COMPILE='-DCROSS_COMPILING'
484 AC_SUBST(CROSS_COMPILE)
489 dnl END changes for cross-building
492 CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
493 # LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"} # XXX
495 dnl handle options that alter how bash is compiled and linked
496 dnl these must come after the test for cc/gcc
497 if test "$opt_profiling" = "yes"; then
500 solaris2*|linux*|darwin*) ;;
501 *) opt_static_link=yes ;;
509 if test "$opt_static_link" = yes; then
512 # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
513 if test "$GCC" = "yes"; then
517 *) LDFLAGS="$LDFLAGS -static" ;; # XXX experimental
522 # set the appropriate make variables for building the "build tools"
523 # modify defaults based on whether or not we are cross compiling, since the
524 # options for the target host may not be appropriate for the build host
525 if test "X$cross_compiling" = "Xno"; then
526 CC_FOR_BUILD=${CC_FOR_BUILD-'$(CC)'}
527 CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"} # XXX - should it be '$(CPPFLAGS)'
528 if test X"$opt_profiling" = Xyes; then
529 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(BASE_LDFLAGS)'}
531 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
533 # CFLAGS set above to default value if not passed in environment
534 if test -n "$want_auto_cflags" ; then
535 CFLAGS_FOR_BUILD="${CFLAGS}"
536 BASE_CFLAGS_FOR_BUILD="${CFLAGS}"
538 # passed in environment
539 CFLAGS_FOR_BUILD=${CFLAGS-'$(CFLAGS)'}
540 BASE_CFLAGS_FOR_BUILD=${CFLAGS-'$(CFLAGS)'}
542 LIBS_FOR_BUILD=${LIBS_FOR_BUILD-'$(LIBS)'}
544 CC_FOR_BUILD=${CC_FOR_BUILD-"gcc"}
545 CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
546 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
547 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD="-g"}
548 BASE_CFLAGS_FOR_BUILD=${BASE_CFLAGS_FOR_BUILD="-g"}
549 LIBS_FOR_BUILD=${LIBS_FOR_BUILD-""}
557 AC_SUBST(CC_FOR_BUILD)
558 AC_SUBST(CFLAGS_FOR_BUILD)
559 AC_SUBST(BASE_CFLAGS_FOR_BUILD)
560 AC_SUBST(STYLE_CFLAGS)
561 AC_SUBST(CPPFLAGS_FOR_BUILD)
562 AC_SUBST(LDFLAGS_FOR_BUILD)
563 AC_SUBST(LIBS_FOR_BUILD)
565 AC_PROG_GCC_TRADITIONAL
567 dnl BEGIN READLINE and HISTORY LIBRARY SECTION
568 dnl prepare to allow bash to be linked against an already-installed readline
570 dnl first test that the readline version is new enough to link bash against
571 if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
573 # If the user specified --with-installed-readline=PREFIX and PREFIX
574 # is not `yes', set ac_cv_rl_prefix to PREFIX
575 test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
577 RL_LIB_READLINE_VERSION
579 case "$ac_cv_rl_version" in
581 *) opt_with_installed_readline=no
582 AC_MSG_WARN([installed readline library is too old to be linked with bash])
583 AC_MSG_WARN([using private bash version])
589 if test $opt_readline = yes; then
591 if test "$opt_with_installed_readline" != "no" ; then
592 case "$opt_with_installed_readline" in
594 *) case "$RL_INCLUDEDIR" in
596 *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
601 READLINE_LIB=-lreadline
602 # section for OS versions that don't allow unresolved symbols
603 # to be compiled into dynamic libraries.
605 cygwin*) TILDE_LIB= ;;
608 RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
609 READLINE_DEP='$(READLINE_LIBRARY)'
610 # section for OS versions that ship an older/broken version of
611 # readline as a standard dynamic library and don't allow a
612 # static version specified as -llibname to override the
615 darwin[[89]]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
616 *) READLINE_LIB=-lreadline ;;
620 RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
621 READLINE_LIB= READLINE_DEP=
623 if test $opt_history = yes || test $opt_bang_history = yes; then
624 if test $opt_history = yes; then
627 if test $opt_bang_history = yes; then
628 AC_DEFINE(BANG_HISTORY)
630 if test "$opt_with_installed_readline" != "no"; then
631 HIST_LIBDIR=$RL_LIBDIR
633 HISTORY_LIB=-lhistory
634 case "$opt_with_installed_readline" in
636 *) case "$RL_INCLUDEDIR" in
638 *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
643 HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
644 HISTORY_DEP='$(HISTORY_LIBRARY)'
645 # section for OS versions that ship an older version of
646 # readline as a standard dynamic library and don't allow a
647 # static version specified as -llibname to override the
650 darwin[[89]]*|darwin10*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
651 *) HISTORY_LIB=-lhistory ;;
655 HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
656 HISTORY_LIB= HISTORY_DEP=
658 AC_SUBST(READLINE_LIB)
659 AC_SUBST(READLINE_DEP)
661 AC_SUBST(RL_INCLUDEDIR)
663 AC_SUBST(HISTORY_LIB)
664 AC_SUBST(HISTORY_DEP)
665 AC_SUBST(HIST_LIBDIR)
668 dnl END READLINE and HISTORY LIBRARY SECTION
670 dnl programs needed by the build and install process
672 AC_CHECK_TOOL(AR, ar)
673 dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
674 dnl This allows people to set it when running configure or make
675 test -n "$ARFLAGS" || ARFLAGS="cr"
680 case "$ac_cv_prog_YACC" in
682 *) AC_MSG_WARN([bison not available; needed to process parse.y]) ;;
686 opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
687 *) MAKE_SHELL=/bin/sh ;;
691 dnl this is similar to the expanded AC_PROG_RANLIB
692 if test x$SIZE = x; then
693 if test x$ac_tool_prefix = x; then
696 SIZE=${ac_tool_prefix}size
697 save_IFS=$IFS ; IFS=:
700 if test -x $dir/$SIZE ; then
705 if test $size_found -eq 0; then
713 m4_include([m4/stat-time.m4])
714 m4_include([m4/timespec.m4])
716 m4_include([m4/strtoimax.m4])
718 dnl include files for gettext
720 m4_include([m4/codeset.m4])
721 m4_include([m4/extern-inline.m4])
722 m4_include([m4/fcntl-o.m4])
723 m4_include([m4/gettext.m4])
724 m4_include([m4/glibc2.m4])
725 m4_include([m4/glibc21.m4])
726 m4_include([m4/host-cpu-c-abi.m4])
727 m4_include([m4/iconv.m4])
728 m4_include([m4/intdiv0.m4])
729 m4_include([m4/intl.m4])
730 m4_include([m4/intlmacosx.m4])
731 m4_include([m4/intl-thread-locale.m4])
732 m4_include([m4/intmax.m4])
733 m4_include([m4/inttypes-pri.m4])
734 m4_include([m4/inttypes.m4])
735 m4_include([m4/inttypes_h.m4])
736 m4_include([m4/lcmessage.m4])
737 m4_include([m4/lib-ld.m4])
738 m4_include([m4/lib-link.m4])
739 m4_include([m4/lib-prefix.m4])
740 m4_include([m4/lock.m4])
741 m4_include([m4/nls.m4])
742 m4_include([m4/po.m4])
743 m4_include([m4/printf-posix.m4])
744 m4_include([m4/progtest.m4])
745 m4_include([m4/pthread_rwlock_rdlock.m4])
746 m4_include([m4/size_max.m4])
747 m4_include([m4/stdint_h.m4])
748 m4_include([m4/threadlib.m4])
749 m4_include([m4/uintmax_t.m4])
750 m4_include([m4/ulonglong.m4])
751 m4_include([m4/visibility.m4])
752 m4_include([m4/wchar_t.m4])
753 m4_include([m4/wint_t.m4])
754 m4_include([m4/xsize.m4])
756 dnl C compiler characteristics
767 dnl initialize GNU gettext
768 BASH_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
776 AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
777 memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
778 stdbool.h stddef.h stdint.h netdb.h pwd.h grp.h strings.h \
779 regex.h syslog.h ulimit.h)
780 AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h sys/ioctl.h \
781 sys/mman.h sys/param.h sys/random.h sys/socket.h sys/stat.h \
782 sys/time.h sys/times.h sys/types.h sys/wait.h)
783 AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
785 dnl sys/ptem.h requires definitions from sys/stream.h on systems where it
787 AC_CHECK_HEADER(sys/ptem.h, , ,[[
788 #if HAVE_SYS_STREAM_H
789 # include <sys/stream.h>
793 dnl SunOS 4 needs to include <sys/time.h> before <sys/resource.h> to compile
794 dnl autoconf complains about presence but inability to compile
795 AC_CHECK_HEADER(sys/resource.h, AC_DEFINE(HAVE_SYS_RESOURCE_H), [], [[
797 # include <sys/time.h>
801 dnl special checks for libc functions
808 dnl if we're not using the bash malloc but require the C alloca, set things
809 dnl up to build a libmalloc.a containing only alloca.o
811 if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
815 MALLOC_LIB='-lmalloc'
816 MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
817 MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
818 MALLOC_DEP='$(MALLOC_LIBRARY)'
821 dnl if vprintf is not in libc, see if it's defined in stdio.h
822 if test "$ac_cv_func_vprintf" = no; then
823 AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
824 AC_EGREP_HEADER([[int[ ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
825 AC_MSG_RESULT($ac_cv_func_vprintf)
826 if test $ac_cv_func_vprintf = yes; then
827 AC_DEFINE(HAVE_VPRINTF)
831 if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
835 dnl checks for certain version-specific system calls and libc functions
836 AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
837 AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
839 dnl checks for missing libc functions
840 AC_CHECK_FUNC(mkfifo, AC_DEFINE(HAVE_MKFIFO), AC_DEFINE(MKFIFO_MISSING))
842 dnl checks for system calls
843 AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getentropy getgroups \
844 gethostname getpagesize getpeername getrandom getrlimit \
845 getrusage gettimeofday kill killpg lstat pselect readlink \
846 select setdtablesize setitimer tcgetpgrp uname ulimit waitpid)
847 AC_REPLACE_FUNCS(rename)
849 dnl checks for c library functions
850 AC_CHECK_FUNCS(bcopy bzero confstr faccessat fnmatch \
851 getaddrinfo gethostbyname getservbyname getservent inet_aton \
852 imaxdiv memmove pathconf putenv raise random regcomp regexec \
853 setenv setlinebuf setlocale setvbuf siginterrupt strchr \
854 sysconf syslog tcgetattr times ttyname tzset unsetenv)
856 AC_CHECK_FUNCS(vasprintf asprintf)
857 AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
858 AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
859 AC_CHECK_FUNCS(mkstemp mkdtemp)
860 AC_CHECK_FUNCS(arc4random)
862 AC_REPLACE_FUNCS(getcwd memset)
863 AC_REPLACE_FUNCS(strcasecmp strcasestr strerror strftime strnlen strpbrk strstr)
864 AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoumax)
865 AC_REPLACE_FUNCS(dprintf)
866 AC_REPLACE_FUNCS(strchrnul)
867 AC_REPLACE_FUNCS(strdup)
869 AC_CHECK_HEADERS(libaudit.h)
870 AC_CHECK_DECLS([AUDIT_USER_TTY],,, [[#include <linux/audit.h>]])
872 AC_CHECK_DECLS([confstr])
873 AC_CHECK_DECLS([printf])
874 AC_CHECK_DECLS([sbrk])
875 AC_CHECK_DECLS([setregid])
876 AC_CHECK_DECLS([strcpy])
877 AC_CHECK_DECLS([strsignal])
879 AC_CHECK_FUNCS(setresuid setresgid)
881 dnl Extra test to detect the horribly broken HP/UX 11.00 strtold(3)
882 AC_CHECK_DECLS([strtold], [
883 AC_MSG_CHECKING([for broken strtold])
884 AC_CACHE_VAL(bash_cv_strtold_broken,
887 [[#include <stdlib.h>]],
888 [[long double r; char *foo, bar; r = strtold(foo, &bar);]]
890 [bash_cv_strtold_broken=no],[bash_cv_strtold_broken=yes])
893 AC_MSG_RESULT($bash_cv_strtold_broken)
894 if test "$bash_cv_strtold_broken" = "yes" ; then
895 AC_DEFINE(STRTOLD_BROKEN)
899 AC_CHECK_DECLS(strtol)
900 AC_CHECK_DECLS(strtoll)
901 AC_CHECK_DECLS(strtoul)
902 AC_CHECK_DECLS(strtoull)
903 AC_CHECK_DECLS(strtoumax)
908 dnl Checks for lib/intl and related code (uses some of the output from
909 dnl BASH_GNU_GETTEXT)
912 AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
916 AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
917 munmap mremap stpcpy strcspn])
919 INTL_DEP= INTL_INC= LIBINTL_H=
920 if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
921 INTL_DEP='${INTL_LIBDIR}/libintl.a'
922 INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
923 LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
930 dnl End of checks needed by files in lib/intl
935 dnl checks for the dynamic loading library functions in libc and libdl
936 if test "$opt_static_link" != yes; then
937 AC_CHECK_LIB(dl, dlopen)
938 AC_CHECK_FUNCS(dlopen dlclose dlsym)
941 dnl network functions -- check for inet_aton again
942 if test "$ac_cv_func_inet_aton" != 'yes'; then
947 dnl this is reportedly no longer necessary for irix[56].?
949 irix4*) AC_CHECK_LIB(sun, getpwent) ;;
952 dnl check for getpeername in the socket library only if it's not in libc
953 if test "$ac_cv_func_getpeername" = no; then
954 BASH_CHECK_LIB_SOCKET
956 dnl check for gethostbyname in socket libraries if it's not in libc
957 if test "$ac_cv_func_gethostbyname" = no; then
958 BASH_FUNC_GETHOSTBYNAME
970 AC_CHECK_TYPE(ssize_t, int)
971 AC_CHECK_TYPE(time_t, long)
973 AC_TYPE_LONG_LONG_INT
974 AC_TYPE_UNSIGNED_LONG_LONG_INT
976 BASH_TYPE_SIG_ATOMIC_T
978 AC_CHECK_SIZEOF(char, 1)
979 AC_CHECK_SIZEOF(short, 2)
980 AC_CHECK_SIZEOF(int, 4)
981 AC_CHECK_SIZEOF(long, 4)
982 AC_CHECK_SIZEOF(char *, 4)
983 AC_CHECK_SIZEOF(size_t, 4)
984 AC_CHECK_SIZEOF(double, 8)
985 AC_CHECK_SIZEOF([long long], 8)
987 AC_CHECK_TYPE(u_int, [unsigned int])
988 AC_CHECK_TYPE(u_long, [unsigned long])
1003 if test $ac_cv_sys_interpreter = yes; then
1004 AC_DEFINE(HAVE_HASH_BANG_EXEC)
1007 dnl Miscellaneous Bash tests
1008 if test "$ac_cv_func_lstat" = "no"; then
1012 dnl behavior of system calls and library functions
1013 BASH_FUNC_DUP2_CLOEXEC_CHECK
1015 BASH_SYS_SIGNAL_VINTAGE
1017 dnl checking for the presence of certain library symbols
1020 BASH_UNDER_SYS_SIGLIST
1022 dnl various system types
1023 BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
1024 BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
1025 if test "$ac_cv_header_sys_socket_h" = "yes"; then
1026 BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], [unsigned int], HAVE_SOCKLEN_T)
1029 AC_CHECK_TYPE(quad_t, AC_DEFINE([HAVE_QUAD_T], [1]), [], )
1035 AC_CHECK_SIZEOF(intmax_t, 8)
1037 dnl presence and contents of structures used by system calls
1038 BASH_STRUCT_TERMIOS_LDISC
1039 BASH_STRUCT_TERMIO_LDISC
1040 BASH_STRUCT_DIRENT_D_INO
1041 BASH_STRUCT_DIRENT_D_FILENO
1042 BASH_STRUCT_DIRENT_D_NAMLEN
1045 AC_CHECK_MEMBERS([struct stat.st_blocks])
1048 BASH_STRUCT_TIMEZONE
1050 BASH_STRUCT_WEXITSTATUS_OFFSET
1052 BASH_CHECK_TYPE_STRUCT_TIMESPEC
1055 dnl checks for system calls
1058 dnl presence and behavior of C library functions
1060 BASH_FUNC_OPENDIR_CHECK
1061 BASH_FUNC_ULIMIT_MAXFDS
1064 if test "$ac_cv_func_getcwd" = "yes"; then
1067 BASH_FUNC_POSIX_SETJMP
1074 dnl If putenv or unsetenv is not present, set the right define so the
1075 dnl prototype and declaration in lib/sh/getenv.c will be standard-conformant
1077 if test "$ac_cv_func_putenv" = "yes"; then
1078 BASH_FUNC_STD_PUTENV
1080 AC_DEFINE(HAVE_STD_PUTENV)
1082 if test "$ac_cv_func_unsetenv" = "yes"; then
1083 BASH_FUNC_STD_UNSETENV
1085 AC_DEFINE(HAVE_STD_UNSETENV)
1088 BASH_FUNC_PRINTF_A_FORMAT
1090 BASH_FUNC_FNMATCH_EQUIV_FALLBACK
1092 dnl presence and behavior of OS functions
1093 BASH_SYS_REINSTALL_SIGHANDLERS
1094 BASH_SYS_JOB_CONTROL_MISSING
1095 BASH_SYS_NAMED_PIPES
1097 dnl presence of certain CPP defines
1098 AC_HEADER_TIOCGWINSZ
1102 BASH_CHECK_WCONTINUED
1106 BASH_CHECK_GETPW_FUNCS
1108 BASH_CHECK_SYS_SIGLIST
1112 hpux*) BASH_CHECK_KERNEL_RLIMIT ;;
1115 if test "$opt_readline" = yes; then
1118 aix*) prefer_curses=yes ;;
1120 BASH_CHECK_LIB_TERMCAP
1122 AC_SUBST(TERMCAP_LIB)
1123 AC_SUBST(TERMCAP_DEP)
1126 BASH_CHECK_DEV_STDIN
1127 BASH_SYS_DEFAULT_MAIL_DIR
1129 if test "$bash_cv_job_control_missing" = missing; then
1133 if test "$opt_job_control" = yes; then
1134 AC_DEFINE(JOB_CONTROL)
1142 dnl Defines that we want to propagate to the Makefiles in subdirectories,
1143 dnl like glob and readline
1147 dnl use this section to possibly define more cpp variables, specify local
1148 dnl libraries, and specify any additional local cc or ld flags
1150 dnl most of these are really old; this should really go away someday
1152 case "${host_os}" in
1153 sysv4.2*) AC_DEFINE(SVR4_2)
1155 sysv4*) AC_DEFINE(SVR4) ;;
1156 sysv5*) AC_DEFINE(SVR5) ;;
1157 hpux9*) LOCAL_CFLAGS="-DHPUX9 -DHPUX -DTGETENT_BROKEN -DTGETFLAG_BROKEN" ;;
1158 hpux*) LOCAL_CFLAGS="-DHPUX -DTGETENT_BROKEN -DTGETFLAG_BROKEN" ;;
1159 dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
1160 isc*) LOCAL_CFLAGS=-Disc386 ;;
1161 rhapsody*) LOCAL_CFLAGS=-DRHAPSODY ;;
1162 darwin*) LOCAL_CFLAGS=-DMACOSX ;;
1163 sco3.2v5*) LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
1164 sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
1165 sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
1166 sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
1167 solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
1168 solaris2.8*) LOCAL_CFLAGS=-DSOLARIS ;;
1169 solaris2.9*) LOCAL_CFLAGS=-DSOLARIS ;;
1170 solaris2.10*) LOCAL_CFLAGS=-DSOLARIS ;;
1171 solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
1172 lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
1173 linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
1174 case "`uname -r`" in
1175 1.*|2.[[0123]]*) : ;;
1176 *) AC_DEFINE(PGRP_PIPE) ;;
1178 netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
1179 freebsd*|midnightbsd*) LOCAL_CFLAGS='-DHEREDOC_PIPESIZE=4096' ;;
1180 *qnx[[67]]*) LOCAL_LIBS="-lncurses" ;;
1181 *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
1182 powerux*) LOCAL_LIBS="-lgen" ;;
1183 cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
1184 opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE -D_ALL_SOURCE -DRECYCLES_PIDS" ;;
1185 *openstep*) LOCAL_CFLAGS="-D__APPLE_CC__" ;;
1188 dnl Stanza for OS/compiler pair-specific flags
1189 case "${host_os}-${CC}" in
1190 aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
1191 aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl" ;;
1192 bsdi4*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
1193 bsdi5*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
1194 hpux11*-gcc*) LOCAL_LDFLAGS="-Wl,-E" ;; # allow dynamic loading
1197 dnl FreeBSD-3.x can have either a.out or ELF
1198 case "${host_os}" in
1200 if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
1201 LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
1203 freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
1204 dragonfly*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
1205 midnightbsd*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
1209 *cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
1212 case "$host_cpu-$host_os" in
1213 ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
1216 case "$host_cpu-$host_vendor-$host_os" in
1217 m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
1218 mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
1221 # turn off paren warnings in gcc
1222 #CFLAGS="$CFLAGS ${STYLE_CFLAGS}"
1225 # Shared object configuration section. These values are generated by
1226 # ${srcdir}/support/shobj-conf
1228 if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
1230 AC_MSG_CHECKING(shared object configuration for loadable builtins)
1231 eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
1233 AC_SUBST(SHOBJ_CFLAGS)
1235 AC_SUBST(SHOBJ_LDFLAGS)
1236 AC_SUBST(SHOBJ_XLDFLAGS)
1237 AC_SUBST(SHOBJ_LIBS)
1238 AC_SUBST(SHOBJ_STATUS)
1239 AC_MSG_RESULT($SHOBJ_STATUS)
1241 SHOBJ_STATUS=unsupported
1242 AC_SUBST(SHOBJ_STATUS)
1245 # try to create a directory tree if the source is elsewhere
1246 # this should be packaged into a script accessible via ${srcdir}/support
1249 *) for d in doc tests support lib examples; do # dirs
1250 test -d $d || mkdir $d
1252 for ld in readline glob tilde malloc sh termcap; do # libdirs
1253 test -d lib/$ld || mkdir lib/$ld
1255 test -d examples/loadables || mkdir examples/loadables # loadable builtins
1256 test -d examples/loadables/perl || mkdir examples/loadables/perl
1261 case "$BUILD_DIR" in
1262 *\ *) BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
1266 if test -z "$localedir"; then
1267 localedir='${datarootdir}/locale'
1269 if test -z "$datarootdir"; then
1270 datarootdir='${prefix}/share'
1273 AC_SUBST(PROFILE_FLAGS)
1278 # Some versions of autoconf don't substitute these automatically
1279 AC_SUBST(datarootdir)
1282 # directory where we install dynamically loadable builtins
1283 if test -z "$loadablesdir"; then
1284 loadablesdir='${libdir}/bash'
1286 AC_SUBST(loadablesdir)
1287 if test -z "$headersdir"; then
1288 headersdir='$(includedir)/$(PACKAGE_NAME)'
1290 AC_SUBST(headersdir)
1299 AC_SUBST(MALLOC_DEBUG)
1302 AC_SUBST(host_vendor)
1305 AC_SUBST(LOCAL_LIBS)
1306 AC_SUBST(LOCAL_CFLAGS)
1307 AC_SUBST(LOCAL_LDFLAGS)
1308 AC_SUBST(LOCAL_DEFS)
1310 #AC_SUBST(ALLOCA_SOURCE)
1311 #AC_SUBST(ALLOCA_OBJECT)
1313 AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile \
1314 lib/glob/Makefile lib/intl/Makefile \
1315 lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
1316 lib/tilde/Makefile doc/Makefile support/Makefile \
1317 po/Makefile.in examples/loadables/Makefile \
1318 examples/loadables/Makefile.inc \
1319 examples/loadables/Makefile.sample \
1320 examples/loadables/perl/Makefile \
1321 support/bash.pc support/bashbug.sh])
1323 dnl Makefile uses this timestamp file to record whether config.h is up to date.
1324 AC_CONFIG_COMMANDS([stamp-h], [echo timestamp > stamp-h])