Imported from ../bash-3.1.tar.gz.
[platform/upstream/bash.git] / configure.in
1 dnl
2 dnl Configure script for bash-3.1
3 dnl
4 dnl report bugs to chet@po.cwru.edu
5 dnl
6 dnl Process this file with autoconf to produce a configure script.
7
8 # Copyright (C) 1987-2005 Free Software Foundation, Inc.
9
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2, or (at your option)
13 # any later version.
14
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
23 # 02111-1307, USA.
24
25 AC_REVISION([for Bash 3.1, version 3.183])dnl
26
27 define(bashvers, 3.1)
28 define(relstatus, release)
29
30 AC_INIT(bash, bashvers-relstatus, bug-bash@gnu.org)
31
32 dnl make sure we are using a recent autoconf version
33 AC_PREREQ(2.50)
34
35 AC_CONFIG_SRCDIR(shell.h)
36 dnl where to find install.sh, config.sub, and config.guess
37 AC_CONFIG_AUX_DIR(./support)
38 AC_CONFIG_HEADERS(config.h)
39
40 dnl checks for version info
41 BASHVERS=bashvers
42 RELSTATUS=relstatus
43
44 dnl defaults for debug settings
45 case "$RELSTATUS" in
46 alp*|bet*|dev*|rc*)     DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
47 *)      DEBUG= MALLOC_DEBUG= ;;
48 esac
49
50 dnl canonicalize the host and os so we can do some tricky things before
51 dnl parsing options
52 AC_CANONICAL_HOST
53
54 dnl configure defaults
55 opt_bash_malloc=yes
56 opt_purify=no
57 opt_purecov=no
58 opt_afs=no
59 opt_curses=no
60 opt_with_installed_readline=no
61
62 #htmldir=
63
64 dnl some systems should be configured without the bash malloc by default
65 dnl and some need a special compiler or loader
66 dnl look in the NOTES file for more
67 case "${host_cpu}-${host_os}" in
68 alpha*-*)       opt_bash_malloc=no ;;   # alpha running osf/1 or linux
69 *[[Cc]]ray*-*)  opt_bash_malloc=no ;;   # Crays
70 *-osf1*)        opt_bash_malloc=no ;;   # other osf/1 machines
71 sparc-svr4*)    opt_bash_malloc=no ;;   # sparc SVR4, SVR4.2
72 sparc-netbsd*)  opt_bash_malloc=no ;;   # needs 8-byte alignment
73 mips-irix6*)    opt_bash_malloc=no ;;   # needs 8-byte alignment
74 m68k-sysv)      opt_bash_malloc=no ;;   # fixes file descriptor leak in closedir
75 sparc-linux*)   opt_bash_malloc=no ;;   # sparc running linux; requires ELF
76 #*-freebsd*-gnu)        opt_bash_malloc=no ;;   # there's some undetermined problem here
77 #*-freebsd*)    opt_bash_malloc=no ;;   # they claim it's better; I disagree
78 *-openbsd*)     opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
79 *-aix*)         opt_bash_malloc=no ;;   # AIX machines
80 *-nextstep*)    opt_bash_malloc=no ;;   # NeXT machines running NeXTstep
81 *-macos*)       opt_bash_malloc=no ;;   # Apple MacOS X
82 *-rhapsody*)    opt_bash_malloc=no ;;   # Apple Rhapsody (MacOS X)
83 *-darwin*)      opt_bash_malloc=no ;;   # Apple Darwin (MacOS X)
84 *-dgux*)        opt_bash_malloc=no ;;   # DG/UX machines
85 *-qnx*)         opt_bash_malloc=no ;;   # QNX 4.2, QNX 6.x
86 *-machten4)     opt_bash_malloc=no ;;   # MachTen 4.x
87 *-bsdi2.1|*-bsdi3.?)    opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
88 *-beos*)        opt_bash_malloc=no ;;   # they say it's suitable
89 *-cygwin*)      opt_bash_malloc=no ;;   # Cygnus's CYGWIN environment
90 *-opennt*|*-interix*)   opt_bash_malloc=no ;;   # Interix, now owned by Microsoft
91 esac
92
93 # memory scrambling on free()
94 case "${host_os}" in
95 sco3.2v5*|sco3.2v4*)    opt_memscramble=no ;;
96 *)                      opt_memscramble=yes ;;
97 esac
98
99 dnl
100 dnl macros for the bash debugger
101 dnl
102 AM_PATH_LISPDIR
103 AC_ARG_VAR(DEBUGGER_START_FILE, [location of bash debugger initialization file])
104
105 dnl arguments to configure
106 dnl packages
107 AC_ARG_WITH(afs, AC_HELP_STRING([--with-afs], [if you are running AFS]), opt_afs=$withval)
108 AC_ARG_WITH(bash-malloc, AC_HELP_STRING([--with-bash-malloc], [use the Bash version of malloc]), opt_bash_malloc=$withval)
109 AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
110 AC_ARG_WITH(gnu-malloc, AC_HELP_STRING([--with-gnu-malloc], [synonym for --with-bash-malloc]), opt_bash_malloc=$withval)
111 AC_ARG_WITH(installed-readline, AC_HELP_STRING([--with-installed-readline], [use a version of the readline library that is already installed]), opt_with_installed_readline=$withval)
112 AC_ARG_WITH(purecov, AC_HELP_STRING([--with-purecov], [configure to postprocess with pure coverage]), opt_purecov=$withval)
113 AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval)
114
115 if test "$opt_bash_malloc" = yes; then
116         MALLOC_TARGET=malloc
117         MALLOC_SRC=malloc.c
118
119         MALLOC_LIB='-lmalloc'
120         MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
121         MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
122         MALLOC_DEP='$(MALLOC_LIBRARY)'
123
124         AC_DEFINE(USING_BASH_MALLOC)
125 else
126         MALLOC_LIB=
127         MALLOC_LIBRARY=
128         MALLOC_LDFLAGS=
129         MALLOC_DEP=     
130 fi
131
132 if test "$opt_purify" = yes; then
133         PURIFY="purify "
134         AC_DEFINE(DISABLE_MALLOC_WRAPPERS)
135 else
136         PURIFY=
137 fi
138
139 if test "$opt_purecov" = yes; then
140         PURIFY="${PURIFY}purecov"
141 fi
142
143 if test "$opt_afs" = yes; then
144         AC_DEFINE(AFS)
145 fi
146
147 if test "$opt_curses" = yes; then
148         prefer_curses=yes
149 fi
150
151 if test -z "${DEBUGGER_START_FILE}"; then
152         DEBUGGER_START_FILE=${ac_default_prefix}/lib/bashdb/bashdb-main.inc
153 fi
154
155 dnl optional shell features in config.h.in
156 opt_minimal_config=no
157
158 opt_job_control=yes
159 opt_alias=yes
160 opt_readline=yes
161 opt_history=yes
162 opt_bang_history=yes
163 opt_dirstack=yes
164 opt_restricted=yes
165 opt_process_subst=yes
166 opt_prompt_decoding=yes
167 opt_select=yes
168 opt_help=yes
169 opt_array_variables=yes
170 opt_dparen_arith=yes
171 opt_extended_glob=yes
172 opt_brace_expansion=yes
173 opt_disabled_builtins=no
174 opt_command_timing=yes
175 opt_xpg_echo=no
176 opt_strict_posix=no
177 opt_cond_command=yes
178 opt_cond_regexp=yes
179 opt_arith_for_command=yes
180 opt_net_redirs=yes
181 opt_progcomp=yes
182 opt_separate_help=no
183 opt_multibyte=yes
184 opt_debugger=yes
185 opt_single_longdoc_strings=yes
186
187 dnl options that affect how bash is compiled and linked
188 opt_static_link=no
189 opt_profiling=no
190
191 dnl argument parsing for optional features
192 AC_ARG_ENABLE(minimal-config, AC_HELP_STRING([--enable-minimal-config], [a minimal sh-like configuration]), opt_minimal_config=$enableval)
193
194 dnl a minimal configuration turns everything off, but features can be
195 dnl added individually
196 if test $opt_minimal_config = yes; then
197         opt_job_control=no opt_alias=no opt_readline=no
198         opt_history=no opt_bang_history=no opt_dirstack=no
199         opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
200         opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
201         opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
202         opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
203         opt_net_redirs=no opt_progcomp=no opt_separate_help=no
204         opt_multibyte=yes opt_cond_regexp=no
205 fi
206
207 AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
208 AC_ARG_ENABLE(arith-for-command, AC_HELP_STRING([--enable-arith-for-command], [enable arithmetic for command]), opt_arith_for_command=$enableval)
209 AC_ARG_ENABLE(array-variables, AC_HELP_STRING([--enable-array-variables], [include shell array variables]), opt_array_variables=$enableval)
210 AC_ARG_ENABLE(bang-history, AC_HELP_STRING([--enable-bang-history], [turn on csh-style history substitution]), opt_bang_history=$enableval)
211 AC_ARG_ENABLE(brace-expansion, AC_HELP_STRING([--enable-brace-expansion], [include brace expansion]), opt_brace_expansion=$enableval)
212 AC_ARG_ENABLE(command-timing, AC_HELP_STRING([--enable-command-timing], [enable the time reserved word and command timing]), opt_command_timing=$enableval)
213 AC_ARG_ENABLE(cond-command, AC_HELP_STRING([--enable-cond-command], [enable the conditional command]), opt_cond_command=$enableval)
214 AC_ARG_ENABLE(cond-regexp, AC_HELP_STRING([--enable-cond-regexp], [enable extgended regular expression matching in conditional commands]), opt_cond_regexp=$enableval)
215 AC_ARG_ENABLE(debugger, AC_HELP_STRING([--enable-debugger], [enable support for bash debugger]), opt_debugger=$enableval)
216 AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enable builtins pushd/popd/dirs]), opt_dirstack=$enableval)
217 AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
218 AC_ARG_ENABLE(dparen-arithmetic, AC_HELP_STRING([--enable-dparen-arithmetic], [include ((...)) command]), opt_dparen_arith=$enableval)
219 AC_ARG_ENABLE(extended-glob, AC_HELP_STRING([--enable-extended-glob], [include ksh-style extended pattern matching]), opt_extended_glob=$enableval)
220 AC_ARG_ENABLE(help-builtin, AC_HELP_STRING([--enable-help-builtin], [include the help builtin]), opt_help=$enableval)
221 AC_ARG_ENABLE(history, AC_HELP_STRING([--enable-history], [turn on command history]), opt_history=$enableval)
222 AC_ARG_ENABLE(job-control, AC_HELP_STRING([--enable-job-control], [enable job control features]), opt_job_control=$enableval)
223 AC_ARG_ENABLE(multibyte, AC_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval)
224 AC_ARG_ENABLE(net-redirections, AC_HELP_STRING([--enable-net-redirections], [enable /dev/tcp/host/port redirection]), opt_net_redirs=$enableval)
225 AC_ARG_ENABLE(process-substitution, AC_HELP_STRING([--enable-process-substitution], [enable process substitution]), opt_process_subst=$enableval)
226 AC_ARG_ENABLE(progcomp, AC_HELP_STRING([--enable-progcomp], [enable programmable completion and the complete builtin]), opt_progcomp=$enableval)
227 AC_ARG_ENABLE(prompt-string-decoding, AC_HELP_STRING([--enable-prompt-string-decoding], [turn on escape character decoding in prompts]), opt_prompt_decoding=$enableval)
228 AC_ARG_ENABLE(readline, AC_HELP_STRING([--enable-readline], [turn on command line editing]), opt_readline=$enableval)
229 AC_ARG_ENABLE(restricted, AC_HELP_STRING([--enable-restricted], [enable a restricted shell]), opt_restricted=$enableval)
230 AC_ARG_ENABLE(select, AC_HELP_STRING([--enable-select], [include select command]), opt_select=$enableval)
231 AC_ARG_ENABLE(separate-helpfiles, AC_HELP_STRING([--enable-separate-helpfiles], [use external files for help builtin documentation]), opt_separate_help=$enableval)
232 AC_ARG_ENABLE(single-help-strings, AC_HELP_STRING([--enable-single-help-strings], [store help documentation as a single string to ease translation]), opt_single_longdoc_strings=$enableval)
233 AC_ARG_ENABLE(strict-posix-default, AC_HELP_STRING([--enable-strict-posix-default], [configure bash to be posix-conformant by default]), opt_strict_posix=$enableval)
234 AC_ARG_ENABLE(usg-echo-default, AC_HELP_STRING([--enable-usg-echo-default], [a synonym for --enable-xpg-echo-default]), opt_xpg_echo=$enableval)
235 AC_ARG_ENABLE(xpg-echo-default, AC_HELP_STRING([--enable-xpg-echo-default], [make the echo builtin expand escape sequences by default]), opt_xpg_echo=$enableval)
236
237 dnl options that alter how bash is compiled and linked
238 AC_ARG_ENABLE(mem-scramble, AC_HELP_STRING([--enable-mem-scramble], [scramble memory on calls to malloc and free]), opt_memscramble=$enableval)
239 AC_ARG_ENABLE(profiling, AC_HELP_STRING([--enable-profiling], [allow profiling with gprof]), opt_profiling=$enableval)
240 AC_ARG_ENABLE(static-link, AC_HELP_STRING([--enable-static-link], [link bash statically, for use as a root shell]), opt_static_link=$enableval)
241
242 dnl opt_job_control is handled later, after BASH_JOB_CONTROL_MISSING runs
243
244 dnl opt_readline and opt_history are handled later, because AC_PROG_CC needs
245 dnl to be run before we can check the version of an already-installed readline
246 dnl library
247
248 if test $opt_alias = yes; then
249 AC_DEFINE(ALIAS)
250 fi
251 if test $opt_dirstack = yes; then
252 AC_DEFINE(PUSHD_AND_POPD)
253 fi
254 if test $opt_restricted = yes; then
255 AC_DEFINE(RESTRICTED_SHELL)
256 fi
257 if test $opt_process_subst = yes; then
258 AC_DEFINE(PROCESS_SUBSTITUTION)
259 fi
260 if test $opt_prompt_decoding = yes; then
261 AC_DEFINE(PROMPT_STRING_DECODE)
262 fi
263 if test $opt_select = yes; then
264 AC_DEFINE(SELECT_COMMAND)
265 fi
266 if test $opt_help = yes; then
267 AC_DEFINE(HELP_BUILTIN)
268 fi
269 if test $opt_array_variables = yes; then
270 AC_DEFINE(ARRAY_VARS)
271 fi
272 if test $opt_dparen_arith = yes; then
273 AC_DEFINE(DPAREN_ARITHMETIC)
274 fi
275 if test $opt_brace_expansion = yes; then
276 AC_DEFINE(BRACE_EXPANSION)
277 fi
278 if test $opt_disabled_builtins = yes; then
279 AC_DEFINE(DISABLED_BUILTINS)
280 fi
281 if test $opt_command_timing = yes; then
282 AC_DEFINE(COMMAND_TIMING)
283 fi
284 if test $opt_xpg_echo = yes ; then
285 AC_DEFINE(DEFAULT_ECHO_TO_XPG)
286 fi
287 if test $opt_strict_posix = yes; then
288 AC_DEFINE(STRICT_POSIX)
289 fi
290 if test $opt_extended_glob = yes ; then
291 AC_DEFINE(EXTENDED_GLOB)
292 fi
293 if test $opt_cond_command = yes ; then
294 AC_DEFINE(COND_COMMAND)
295 fi
296 if test $opt_cond_regexp = yes ; then
297 AC_DEFINE(COND_REGEXP)
298 fi
299 if test $opt_arith_for_command = yes; then
300 AC_DEFINE(ARITH_FOR_COMMAND)
301 fi
302 if test $opt_net_redirs = yes; then
303 AC_DEFINE(NETWORK_REDIRECTIONS)
304 fi
305 if test $opt_progcomp = yes; then
306 AC_DEFINE(PROGRAMMABLE_COMPLETION)
307 fi
308 if test $opt_multibyte = no; then
309 AC_DEFINE(NO_MULTIBYTE_SUPPORT)
310 fi
311 if test $opt_debugger = yes; then
312 AC_DEFINE(DEBUGGER)
313 fi
314
315 if test $opt_memscramble = yes; then
316 AC_DEFINE(MEMSCRAMBLE)
317 fi
318
319 if test "$opt_minimal_config" = yes; then
320         TESTSCRIPT=run-minimal
321 else
322         TESTSCRIPT=run-all
323 fi
324
325 HELPDIR= HELPDIRDEFINE= HELPINSTALL=
326 if test "$opt_separate_help" != no; then
327         if test "$opt_separate_help" = "yes" ; then
328                 HELPDIR='${datadir}/bash'
329         else
330                 HELPDIR=$opt_separate_help
331         fi
332         HELPDIRDEFINE='-H ${HELPDIR}'
333         HELPINSTALL='install-help'
334 fi
335 HELPSTRINGS=
336 if test "$opt_single_longdoc_strings" != "yes"; then
337         HELPSTRINGS='-S'
338 fi
339
340 dnl now substitute in the values generated by arguments
341 AC_SUBST(TESTSCRIPT)
342 AC_SUBST(PURIFY)
343 AC_SUBST(MALLOC_TARGET)
344 AC_SUBST(MALLOC_SRC)
345
346 AC_SUBST(MALLOC_LIB)
347 AC_SUBST(MALLOC_LIBRARY)
348 AC_SUBST(MALLOC_LDFLAGS)
349 AC_SUBST(MALLOC_DEP)
350
351 AC_SUBST(htmldir)
352
353 AC_SUBST(HELPDIR)
354 AC_SUBST(HELPDIRDEFINE)
355 AC_SUBST(HELPINSTALL)
356 AC_SUBST(HELPSTRINGS)
357
358 echo ""
359 echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}"
360 echo ""
361
362 dnl compilation checks
363 dnl AC_PROG_CC sets $cross_compiling to `yes' if cross-compiling for a
364 dnl different environment
365 AC_PROG_CC
366
367 dnl test for Unix variants
368 AC_ISC_POSIX
369 AC_MINIX
370
371 AC_SYS_LARGEFILE
372
373 dnl BEGIN changes for cross-building (currently cygwin, minGW, and
374 dnl (obsolete) BeOS)
375
376 SIGNAMES_H=lsignames.h
377
378 dnl load up the cross-building cache file -- add more cases and cache
379 dnl files as necessary
380
381 dnl Note that host and target machine are the same, and different than the
382 dnl build machine.
383 dnl Set SIGNAMES_H based on whether or not we're cross-compiling.
384
385 if test "x$cross_compiling" = "xyes"; then
386     case "${host}" in
387     *-cygwin*)
388         cross_cache=${srcdir}/cross-build/cygwin32.cache
389         SIGNAMES_H='$(srcdir)/cross-build/win32sig.h'
390         ;;
391     *-mingw*)
392         cross_cache=${srcdir}/cross-build/cygwin32.cache
393         ;;
394     i[[3456]]86-*-beos*)
395         cross_cache=${srcdir}/cross-build/x86-beos.cache
396         SIGNAMES_H='${srcdir}/cross-build/beos-sig.h'
397         ;;
398     *)  echo "configure: cross-compiling for $host is not supported" >&2
399         ;;
400     esac
401     if test -n "${cross_cache}" && test -r "${cross_cache}"; then
402         echo "loading cross-build cache file ${cross_cache}"
403         . ${cross_cache}
404     fi
405     unset cross_cache
406     CROSS_COMPILE='-DCROSS_COMPILING'
407     AC_SUBST(CROSS_COMPILE)
408 fi
409 AC_SUBST(SIGNAMES_H)
410
411 if test -z "$CC_FOR_BUILD"; then
412     if test "x$cross_compiling" = "xno"; then
413         CC_FOR_BUILD='$(CC)'
414     else
415         CC_FOR_BUILD=gcc
416     fi
417 fi
418 AC_SUBST(CC_FOR_BUILD)
419
420 dnl END changes for cross-building
421
422 dnl We want these before the checks, so the checks can modify their values.
423 test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
424
425 dnl If we're using gcc and the user hasn't specified CFLAGS, add -O2 to CFLAGS.
426 test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
427
428 dnl handle options that alter how bash is compiled and linked
429 dnl these must come after the test for cc/gcc
430 if test "$opt_profiling" = "yes"; then
431         PROFILE_FLAGS=-pg
432         case "$host_os" in
433         solaris2*)      ;;
434         *)              opt_static_link=yes ;;
435         esac
436         DEBUG= MALLOC_DEBUG=
437 fi
438
439 if test "$opt_static_link" = yes; then
440         # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
441         if test -n "$GCC" || test "$ac_cv_prog_gcc" = "yes"; then
442                 STATIC_LD="-static" 
443                 case "$host_os" in
444                 solaris2*)      ;;
445                 *)              LDFLAGS="$LDFLAGS -static" ;;   # XXX experimental
446                 esac
447         fi
448 fi
449
450 if test "X$cross_compiling" = "Xno"; then
451         CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
452         LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
453 else
454         CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
455         LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
456 fi
457
458 test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g"
459
460 AC_SUBST(CFLAGS)
461 AC_SUBST(CPPFLAGS)
462 AC_SUBST(LDFLAGS)
463 AC_SUBST(STATIC_LD)
464
465 AC_SUBST(CFLAGS_FOR_BUILD)
466 AC_SUBST(CPPFLAGS_FOR_BUILD)
467 AC_SUBST(LDFLAGS_FOR_BUILD)
468
469 AC_PROG_GCC_TRADITIONAL
470
471 dnl BEGIN READLINE and HISTORY LIBRARY SECTION
472 dnl prepare to allow bash to be linked against an already-installed readline
473
474 dnl first test that the readline version is new enough to link bash against
475 if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
476 then
477         # If the user specified --with-installed-readline=PREFIX and PREFIX
478         # is not `yes', set ac_cv_rl_prefix to PREFIX
479         test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
480
481         RL_LIB_READLINE_VERSION
482
483         case "$ac_cv_rl_version" in
484         5*|6*|7*|8*|9*) ;;
485         *)      opt_with_installed_readline=no 
486                 AC_MSG_WARN(installed readline library is too old to be linked with bash)
487                 AC_MSG_WARN(using private bash version)
488                 ;;
489         esac
490 fi
491
492 TILDE_LIB=-ltilde
493 if test $opt_readline = yes; then
494         AC_DEFINE(READLINE)
495         if test "$opt_with_installed_readline" != "no" ; then
496                 case "$opt_with_installed_readline" in
497                 yes)    RL_INCLUDE= ;;
498                 *)      case "$RL_INCLUDEDIR" in
499                         /usr/include)   ;;
500                         *)              RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
501                         esac
502                         ;;
503                 esac
504                 READLINE_DEP=
505                 READLINE_LIB=-lreadline
506                 # section for OS versions that don't allow unresolved symbols
507                 # to be compiled into dynamic libraries.
508                 case "$host_os" in
509                 cygwin*)        TILDE_LIB= ;;
510                 esac
511         else
512                 RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
513                 READLINE_DEP='$(READLINE_LIBRARY)'
514                 # section for OS versions that ship an older/broken version of
515                 # readline as a standard dynamic library and don't allow a
516                 # static version specified as -llibname to override the
517                 # dynamic version
518                 case "${host_os}" in
519                 darwin8*)       READLINE_LIB='${READLINE_LIBRARY}' ;;
520                 *)              READLINE_LIB=-lreadline ;;
521                 esac
522         fi
523 else
524         RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
525         READLINE_LIB= READLINE_DEP=
526 fi
527 if test $opt_history = yes || test $opt_bang_history = yes; then
528         if test $opt_history = yes; then
529                 AC_DEFINE(HISTORY)
530         fi
531         if test $opt_bang_history = yes; then
532                 AC_DEFINE(BANG_HISTORY)
533         fi
534         if test "$opt_with_installed_readline" != "no"; then
535                 HIST_LIBDIR=$RL_LIBDIR
536                 HISTORY_DEP=
537                 HISTORY_LIB=-lhistory
538                 case "$opt_with_installed_readline" in
539                 yes)    RL_INCLUDE= ;;
540                 *)      case "$RL_INCLUDEDIR" in
541                         /usr/include)   ;;
542                         *)              RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
543                         esac
544                         ;;
545                 esac
546         else
547                 HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
548                 HISTORY_DEP='$(HISTORY_LIBRARY)'
549                 # section for OS versions that ship an older version of
550                 # readline as a standard dynamic library and don't allow a
551                 # static version specified as -llibname to override the
552                 # dynamic version
553                 case "${host_os}" in
554                 darwin8*)       HISTORY_LIB='${HISTORY_LIBRARY}' ;;
555                 *)              HISTORY_LIB=-lhistory ;;
556                 esac
557         fi
558 else
559         HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
560         HISTORY_LIB= HISTORY_DEP=
561 fi
562 AC_SUBST(READLINE_LIB)
563 AC_SUBST(READLINE_DEP)
564 AC_SUBST(RL_LIBDIR)
565 AC_SUBST(RL_INCLUDEDIR)
566 AC_SUBST(RL_INCLUDE)
567 AC_SUBST(HISTORY_LIB)
568 AC_SUBST(HISTORY_DEP)
569 AC_SUBST(HIST_LIBDIR)
570 AC_SUBST(TILDE_LIB)
571
572 dnl END READLINE and HISTORY LIBRARY SECTION
573
574 dnl programs needed by the build and install process
575 AC_PROG_INSTALL
576 AC_CHECK_PROG(AR, ar, , ar)
577 dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
578 dnl This allows people to set it when running configure or make
579 test -n "$ARFLAGS" || ARFLAGS="cr"
580 AC_PROG_RANLIB
581 AC_PROG_YACC
582 AC_PROG_MAKE_SET
583
584 case "$host_os" in
585 opennt*|interix*)       MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
586 *)                      MAKE_SHELL=/bin/sh ;;
587 esac
588 AC_SUBST(MAKE_SHELL)
589
590 dnl this is similar to the expanded AC_PROG_RANLIB
591 if test x$SIZE = x; then
592         if test x$ac_tool_prefix = x; then
593                 SIZE=size
594         else
595                 SIZE=${ac_tool_prefix}size
596                 save_IFS=$IFS ; IFS=:
597                 size_found=0
598                 for dir in $PATH; do
599                         if test -x $dir/$SIZE ; then
600                                 size_found=1
601                                 break
602                         fi
603                 done
604                 if test $size_found -eq 0; then
605                         SIZE=:
606                 fi
607                 IFS=$save_IFS
608         fi
609 fi
610 AC_SUBST(SIZE)
611
612 dnl Turn on any extensions available in the GNU C library.
613 AC_DEFINE(_GNU_SOURCE, 1)
614
615 dnl C compiler characteristics
616 AC_C_CONST
617 AC_C_INLINE
618 AC_C_BIGENDIAN
619 AC_C_STRINGIZE
620 AC_C_LONG_DOUBLE
621 AC_C_PROTOTYPES
622 AC_C_CHAR_UNSIGNED
623
624 dnl initialize GNU gettext
625 AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
626
627 dnl header files
628 AC_HEADER_DIRENT
629 AC_HEADER_TIME
630
631 BASH_HEADER_INTTYPES
632
633 AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
634                  memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
635                  stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h)
636 AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
637                  sys/resource.h sys/param.h sys/socket.h sys/stat.h \
638                  sys/time.h sys/times.h sys/types.h sys/wait.h)
639 AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
640
641 dnl sys/ptem.h requires definitions from sys/stream.h on systems where it
642 dnl exists
643 AC_CHECK_HEADER(sys/ptem.h, , ,[[
644 #if HAVE_SYS_STREAM_H
645 #  include <sys/stream.h>
646 #endif
647 ]])
648
649 dnl special checks for libc functions
650 AC_FUNC_ALLOCA
651 AC_FUNC_GETPGRP
652 AC_FUNC_SETVBUF_REVERSED
653 AC_FUNC_VPRINTF
654 AC_FUNC_STRCOLL
655
656 dnl if we're not using the bash malloc but require the C alloca, set things
657 dnl up to build a libmalloc.a containing only alloca.o
658
659 if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
660         MALLOC_TARGET=alloca
661         MALLOC_SRC=alloca.c
662
663         MALLOC_LIB='-lmalloc'
664         MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
665         MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
666         MALLOC_DEP='$(MALLOC_LIBRARY)'
667 fi
668
669 dnl if vprintf is not in libc, see if it's defined in stdio.h
670 if test "$ac_cv_func_vprintf" = no; then
671     AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
672     AC_EGREP_HEADER([[int[      ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
673     AC_MSG_RESULT($ac_cv_func_vprintf)
674     if test $ac_cv_func_vprintf = yes; then
675         AC_DEFINE(HAVE_VPRINTF)
676     fi
677 fi
678
679 if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
680   AC_LIBOBJ(vprint)
681 fi
682
683 dnl signal stuff
684 AC_TYPE_SIGNAL
685
686 dnl checks for certain version-specific system calls and libc functions
687 AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
688 AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
689 AC_CHECK_FUNC(isinf, AC_DEFINE(HAVE_ISINF_IN_LIBC))
690
691 dnl checks for missing libc functions
692 AC_CHECK_FUNC(mkfifo,AC_DEFINE(HAVE_MKFIFO),AC_DEFINE(MKFIFO_MISSING))
693
694 dnl checks for system calls
695 AC_CHECK_FUNCS(dup2 fcntl getdtablesize getgroups gethostname getpagesize \
696                 getpeername getrlimit getrusage gettimeofday kill killpg \
697                 lstat readlink sbrk select setdtablesize tcgetpgrp uname \
698                 ulimit waitpid)
699 AC_REPLACE_FUNCS(rename)
700
701 dnl checks for c library functions
702 AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
703                 getaddrinfo gethostbyname getservbyname getservent inet_aton \
704                 memmove pathconf putenv raise regcomp regexec \
705                 setenv setlinebuf setlocale setvbuf siginterrupt strchr \
706                 sysconf tcgetattr times ttyname tzset unsetenv)
707
708 AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf)
709 AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
710 AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
711 AC_REPLACE_FUNCS(getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr)
712 AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
713
714 AC_CHECK_DECLS([confstr])
715 AC_CHECK_DECLS([printf])
716 AC_CHECK_DECLS([sbrk])
717 AC_CHECK_DECLS([strcpy])
718 AC_CHECK_DECLS([strsignal])
719
720 dnl Extra test to detect the horribly broken HP/UX 11.00 strtold(3)
721 AC_CHECK_DECLS([strtold], [
722     AC_MSG_CHECKING([for broken strtold])
723     AC_CACHE_VAL(bash_cv_strtold_broken,
724         [AC_TRY_COMPILE(
725             [#include <stdlib.h>],
726             [int main() { long double r; char *foo, bar; r = strtold(foo, &bar);}],
727             bash_cv_strtold_broken=no, bash_cv_strtold_broken=yes,
728             [AC_MSG_WARN(cannot check for broken strtold if cross-compiling, defaulting to no)])
729         ]
730     )
731     AC_MSG_RESULT($bash_cv_strtold_broken)
732     if test "$bash_cv_strtold_broken" = "yes" ; then
733         AC_DEFINE(STRTOLD_BROKEN)
734     fi
735 ])
736     
737
738 BASH_CHECK_DECL(strtoimax)
739 BASH_CHECK_DECL(strtol)
740 BASH_CHECK_DECL(strtoll)
741 BASH_CHECK_DECL(strtoul)
742 BASH_CHECK_DECL(strtoull)
743 BASH_CHECK_DECL(strtoumax)
744
745 AC_FUNC_MKTIME
746
747 dnl
748 dnl Checks for lib/intl and related code (uses some of the output from
749 dnl AM_GNU_GETTEXT)
750 dnl
751
752 AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
753
754 dnl AC_FUNC_MALLOC
755 AC_FUNC_MMAP
756 AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
757                 munmap stpcpy strcspn strdup])
758
759 INTL_DEP= INTL_INC= LIBINTL_H=
760 if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
761         INTL_DEP='${INTL_LIBDIR}/libintl.a'
762         INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
763         LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
764 fi
765 AC_SUBST(INTL_DEP)
766 AC_SUBST(INTL_INC)
767 AC_SUBST(LIBINTL_H)
768
769 dnl
770 dnl End of checks needed by files in lib/intl
771 dnl
772
773 BASH_CHECK_MULTIBYTE
774
775 dnl checks for the dynamic loading library functions in libc and libdl
776 if test "$opt_static_link" != yes; then
777 AC_CHECK_LIB(dl, dlopen)
778 AC_CHECK_FUNCS(dlopen dlclose dlsym)
779 fi
780
781 dnl this defines SYS_SIGLIST_DECLARED
782 AC_DECL_SYS_SIGLIST
783
784 dnl network functions -- check for inet_aton again
785 if test "$ac_cv_func_inet_aton" != 'yes'; then
786 BASH_FUNC_INET_ATON
787 fi
788
789 dnl libraries
790 dnl this is reportedly no longer necessary for irix[56].?
791 case "$host_os" in
792 irix4*) AC_CHECK_LIB(sun, getpwent) ;;
793 esac
794
795 dnl check for getpeername in the socket library only if it's not in libc
796 if test "$ac_cv_func_getpeername" = no; then
797         BASH_CHECK_LIB_SOCKET
798 fi
799 dnl check for gethostbyname in socket libraries if it's not in libc
800 if test "$ac_cv_func_gethostbyname" = no; then
801         BASH_FUNC_GETHOSTBYNAME
802 fi
803
804 dnl system types
805 AC_TYPE_GETGROUPS
806 AC_TYPE_OFF_T
807 AC_TYPE_MODE_T
808 AC_TYPE_UID_T
809 AC_TYPE_PID_T
810 AC_TYPE_SIZE_T
811 AC_CHECK_TYPE(ssize_t, int)
812 AC_CHECK_TYPE(time_t, long)
813
814 BASH_TYPE_LONG_LONG
815 BASH_TYPE_UNSIGNED_LONG_LONG
816
817 AC_TYPE_SIGNAL
818
819 AC_CHECK_SIZEOF(char, 1)
820 AC_CHECK_SIZEOF(short, 2)
821 AC_CHECK_SIZEOF(int, 4)
822 AC_CHECK_SIZEOF(long, 4)
823 AC_CHECK_SIZEOF(char *, 4)
824 AC_CHECK_SIZEOF(double, 8)
825 AC_CHECK_SIZEOF([long long], 8)
826
827 AC_CHECK_TYPE(u_int, [unsigned int])
828 AC_CHECK_TYPE(u_long, [unsigned long])
829
830 BASH_TYPE_BITS16_T
831 BASH_TYPE_U_BITS16_T
832 BASH_TYPE_BITS32_T
833 BASH_TYPE_U_BITS32_T
834 BASH_TYPE_BITS64_T
835
836 BASH_TYPE_PTRDIFF_T
837
838 dnl structures
839 AC_HEADER_STAT
840
841 dnl system services
842 AC_SYS_INTERPRETER
843 if test $ac_cv_sys_interpreter = yes; then
844 AC_DEFINE(HAVE_HASH_BANG_EXEC)
845 fi
846
847 dnl Miscellaneous Bash tests
848 if test "$ac_cv_func_lstat" = "no"; then
849 BASH_FUNC_LSTAT
850 fi
851
852 dnl behavior of system calls and library functions
853 BASH_FUNC_CTYPE_NONASCII
854 BASH_FUNC_DUP2_CLOEXEC_CHECK
855 BASH_SYS_PGRP_SYNC
856 BASH_SYS_SIGNAL_VINTAGE
857
858 dnl checking for the presence of certain library symbols
859 BASH_SYS_ERRLIST
860 BASH_SYS_SIGLIST
861 BASH_UNDER_SYS_SIGLIST
862
863 dnl various system types
864 BASH_TYPE_SIGHANDLER
865 BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
866 BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
867 BASH_CHECK_TYPE(quad_t, , long, HAVE_QUAD_T)
868 BASH_CHECK_TYPE(intmax_t, , $bash_cv_type_long_long)
869 BASH_CHECK_TYPE(uintmax_t, , $bash_cv_type_unsigned_long_long)
870 if test "$ac_cv_header_sys_socket_h" = "yes"; then
871 BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], int, HAVE_SOCKLEN_T)
872 fi
873 BASH_TYPE_RLIMIT
874
875 dnl presence and contents of structures used by system calls
876 BASH_STRUCT_TERMIOS_LDISC
877 BASH_STRUCT_TERMIO_LDISC
878 BASH_STRUCT_DIRENT_D_INO
879 BASH_STRUCT_DIRENT_D_FILENO
880 BASH_STRUCT_DIRENT_D_NAMLEN
881 BASH_STRUCT_WINSIZE
882 BASH_STRUCT_TIMEVAL
883 AC_CHECK_MEMBERS([struct stat.st_blocks])
884 AC_STRUCT_TM
885 AC_STRUCT_TIMEZONE
886 BASH_STRUCT_TIMEZONE
887
888 dnl presence and behavior of C library functions
889 BASH_FUNC_STRSIGNAL
890 BASH_FUNC_OPENDIR_CHECK
891 BASH_FUNC_ULIMIT_MAXFDS
892 BASH_FUNC_GETENV
893 if test "$ac_cv_func_getcwd" = "yes"; then
894 BASH_FUNC_GETCWD
895 fi
896 BASH_FUNC_POSIX_SETJMP
897 BASH_FUNC_STRCOLL
898
899 dnl If putenv or unsetenv is not present, set the right define so the
900 dnl prototype and declaration in lib/sh/getenv.c will be standard-conformant
901
902 if test "$ac_cv_func_putenv" = "yes"; then
903 BASH_FUNC_STD_PUTENV
904 else
905 AC_DEFINE(HAVE_STD_PUTENV)
906 fi
907 if test "$ac_cv_func_unsetenv" = "yes"; then
908 BASH_FUNC_STD_UNSETENV
909 else
910 AC_DEFINE(HAVE_STD_UNSETENV)
911 fi
912
913 BASH_FUNC_PRINTF_A_FORMAT
914
915 dnl presence and behavior of OS functions
916 BASH_SYS_REINSTALL_SIGHANDLERS
917 BASH_SYS_JOB_CONTROL_MISSING
918 BASH_SYS_NAMED_PIPES
919
920 dnl presence of certain CPP defines
921 AC_HEADER_TIOCGWINSZ
922 BASH_HAVE_TIOCSTAT
923 BASH_HAVE_FIONREAD
924
925 BASH_CHECK_WCONTINUED
926
927 dnl miscellaneous
928 BASH_CHECK_SPEED_T
929 BASH_CHECK_GETPW_FUNCS
930 BASH_CHECK_RTSIGS
931 BASH_CHECK_SYS_SIGLIST
932
933 dnl special checks
934 case "$host_os" in
935 hpux*)  BASH_CHECK_KERNEL_RLIMIT ;;
936 esac
937
938 if test "$opt_readline" = yes; then
939 dnl yuck
940 case "$host_os" in
941 aix*)   prefer_curses=yes ;;
942 esac
943 BASH_CHECK_LIB_TERMCAP
944 fi
945 AC_SUBST(TERMCAP_LIB)
946 AC_SUBST(TERMCAP_DEP)
947
948 BASH_CHECK_DEV_FD
949 BASH_CHECK_DEV_STDIN
950 BASH_SYS_DEFAULT_MAIL_DIR
951
952 if test "$bash_cv_job_control_missing" = missing; then
953         opt_job_control=no
954 fi
955
956 if test "$opt_job_control" = yes; then
957 AC_DEFINE(JOB_CONTROL)
958 JOBS_O=jobs.o
959 else
960 JOBS_O=nojobs.o
961 fi
962
963 AC_SUBST(JOBS_O)
964
965 dnl Defines that we want to propagate to the Makefiles in subdirectories,
966 dnl like glob and readline
967
968 LOCAL_DEFS=-DSHELL
969
970 dnl use this section to possibly define more cpp variables, specify local
971 dnl libraries, and specify any additional local cc flags
972 dnl
973 dnl this should really go away someday
974
975 case "${host_os}" in
976 sysv4.2*)       AC_DEFINE(SVR4_2)
977                 AC_DEFINE(SVR4) ;;
978 sysv4*)         AC_DEFINE(SVR4) ;;
979 sysv5*)         AC_DEFINE(SVR5) ;;
980 hpux9*)         LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
981 hpux*)          LOCAL_CFLAGS=-DHPUX ;;
982 dgux*)          LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
983 isc*)           LOCAL_CFLAGS=-Disc386 ;;
984 rhapsody*)      LOCAL_CFLAGS=-DRHAPSODY ;;
985 darwin*)        LOCAL_CFLAGS=-DMACOSX ;;
986 sco3.2v5*)      LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
987 sco3.2v4*)      LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
988 sco3.2*)        LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
989 sunos4*)        LOCAL_CFLAGS=-DSunOS4 ;;
990 solaris2.5*)    LOCAL_CFLAGS=-DSunOS5 ;;
991 lynxos*)        LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
992 linux*)         LOCAL_LDFLAGS=-rdynamic          # allow dynamic loading
993                 case "`uname -r`" in
994                 2.[[456789]]*|3*)       AC_DEFINE(PGRP_PIPE) ;;
995                 esac ;;
996 *qnx6*)         LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
997 *qnx*)          LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
998 powerux*)       LOCAL_LIBS="-lgen" ;;
999 cygwin*)        LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
1000 opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE" ;;
1001 esac
1002
1003 dnl Stanza for OS/compiler pair-specific flags
1004 case "${host_os}-${CC}" in
1005 aix4.2*-*gcc*)  LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
1006 aix4.2*)        LOCAL_LDFLAGS="-bexpall -brtl" ;;
1007 bsdi4*-*gcc*)   LOCAL_LDFLAGS="-rdynamic" ;;    # allow dynamic loading, like Linux
1008 esac
1009
1010 dnl FreeBSD-3.x can have either a.out or ELF
1011 case "${host_os}" in
1012 freebsd[[3-9]]*)
1013                 if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
1014                         LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
1015                 fi ;;
1016 freebsdelf*)    LOCAL_LDFLAGS=-rdynamic ;;      # allow dynamic loading
1017 dragonfly*)     LOCAL_LDFLAGS=-rdynamic ;;      # allow dynamic loading
1018 esac
1019
1020 case "$host_cpu" in
1021 *cray*)         LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
1022 esac
1023
1024 case "$host_cpu-$host_os" in
1025 ibmrt-*bsd4*)   LOCAL_CFLAGS="-ma -U__STDC__" ;;
1026 esac
1027
1028 case "$host_cpu-$host_vendor-$host_os" in
1029 m88k-motorola-sysv3)    LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
1030 mips-pyramid-sysv4)     LOCAL_CFLAGS=-Xa ;;
1031 esac
1032
1033 #
1034 # Shared object configuration section.  These values are generated by
1035 # ${srcdir}/support/shobj-conf
1036 #
1037 if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
1038 then
1039         AC_MSG_CHECKING(shared object configuration for loadable builtins)
1040         eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
1041         AC_SUBST(SHOBJ_CC)
1042         AC_SUBST(SHOBJ_CFLAGS)
1043         AC_SUBST(SHOBJ_LD)
1044         AC_SUBST(SHOBJ_LDFLAGS)
1045         AC_SUBST(SHOBJ_XLDFLAGS)
1046         AC_SUBST(SHOBJ_LIBS)
1047         AC_SUBST(SHOBJ_STATUS)
1048         AC_MSG_RESULT($SHOBJ_STATUS)
1049 fi
1050
1051 # try to create a directory tree if the source is elsewhere
1052 # this should be packaged into a script accessible via ${srcdir}/support
1053 case "$srcdir" in
1054 .)      ;;
1055 *)      for d in doc tests support lib examples; do     # dirs
1056                 test -d $d || mkdir $d
1057         done
1058         for ld in readline glob tilde malloc sh termcap; do     # libdirs
1059                 test -d lib/$ld || mkdir lib/$ld
1060         done
1061         test -d examples/loadables || mkdir examples/loadables  # loadable builtins
1062         test -d examples/loadables/perl || mkdir examples/loadables/perl
1063         ;;
1064 esac
1065
1066 BUILD_DIR=`pwd`
1067 case "$BUILD_DIR" in
1068 *\ *)   BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
1069 *)      ;;
1070 esac
1071
1072 AC_SUBST(PROFILE_FLAGS)
1073
1074 AC_SUBST(incdir)
1075 AC_SUBST(BUILD_DIR)
1076
1077 AC_SUBST(YACC)
1078 AC_SUBST(AR)
1079 AC_SUBST(ARFLAGS)
1080
1081 AC_SUBST(BASHVERS)
1082 AC_SUBST(RELSTATUS)
1083 AC_SUBST(DEBUG)
1084 AC_SUBST(MALLOC_DEBUG)
1085
1086 AC_SUBST(host_cpu)
1087 AC_SUBST(host_vendor)
1088 AC_SUBST(host_os)
1089
1090 AC_SUBST(LOCAL_LIBS)
1091 AC_SUBST(LOCAL_CFLAGS)
1092 AC_SUBST(LOCAL_LDFLAGS)
1093 AC_SUBST(LOCAL_DEFS)
1094
1095 #AC_SUBST(ALLOCA_SOURCE)
1096 #AC_SUBST(ALLOCA_OBJECT)
1097
1098 AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
1099           lib/intl/Makefile \
1100           lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
1101           lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
1102           examples/loadables/Makefile examples/loadables/perl/Makefile \
1103           pathnames.h],
1104 [
1105 # Makefile uses this timestamp file to record whether config.h is up to date.
1106 echo timestamp > stamp-h
1107 ])