2 dnl Configure script for bash-2.05
4 dnl report bugs to chet@po.cwru.edu
6 dnl Process this file with autoconf to produce a configure script.
8 dnl checks for version info
9 AC_REVISION([for Bash 2.05, version 2.90, from autoconf version] AC_ACVERSION)dnl
12 AC_CONFIG_HEADER(config.h)
14 dnl make sure we are using a recent autoconf version
17 dnl where to find install.sh, config.sub, and config.guess
18 AC_CONFIG_AUX_DIR(./support)
20 dnl canonicalize the host and os so we can do some tricky things before
24 dnl configure defaults
31 opt_with_installed_readline=no
35 dnl some systems should be configured without the bash malloc by default
36 dnl and some need a special compiler or loader
37 dnl look in the NOTES file for more
38 case "${host_cpu}-${host_os}" in
39 alpha*-*) opt_bash_malloc=no ;; # alpha running osf/1 or linux
40 *[[Cc]]ray*-*) opt_bash_malloc=no ;; # Crays
41 *-osf1*) opt_bash_malloc=no ;; # other osf/1 machines
42 sparc-svr4*) opt_bash_malloc=no ;; # sparc SVR4, SVR4.2
43 sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
44 mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
45 m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
46 sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
47 #*-freebsd*) opt_bash_malloc=no ;; # they claim it's better
48 *-aix*) opt_bash_malloc=no ;; # AIX machines
49 *-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
50 *-macos*) opt_bash_malloc=no ;; # Apple MacOS X
51 *-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
52 *-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
53 *-dgux*) opt_bash_malloc=no ;; # DG/UX machines
54 *-qnx*) opt_bash_malloc=no ;; # QNX 4.2
55 *-machten4) opt_bash_malloc=no ;; # MachTen 4.x
56 *-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
57 *-beos*) opt_bash_malloc=no ;; # they say it's suitable
58 *-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
59 *-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
62 dnl arguments to configure
64 AC_ARG_WITH(afs, --with-afs if you are running AFS, opt_afs=$withval)
65 AC_ARG_WITH(bash-malloc, --with-bash-malloc use the Bash version of malloc,opt_bash_malloc=$withval)
66 AC_ARG_WITH(curses, --with-curses use the curses library instead of the termcap library,opt_curses=$withval)
67 AC_ARG_WITH(glibc-malloc, --with-glibc-malloc use the GNU C library version of malloc,opt_glibc_malloc=$withval)
68 AC_ARG_WITH(gnu-malloc, --with-gnu-malloc synonym for --with-bash-malloc,opt_bash_malloc=$withval)
69 AC_ARG_WITH(installed-readline, --with-installed-readline use a version of the readline library that is already installed, opt_with_installed_readline=$withval)
70 AC_ARG_WITH(purecov, --with-purecov configure to postprocess with pure coverage, opt_purecov=$withval)
71 AC_ARG_WITH(purify, --with-purify configure to postprocess with purify, opt_purify=$withval)
73 dnl test for glibc malloc first because it can override the default
74 if test "$opt_glibc_malloc" = yes; then
77 elif test "$opt_bash_malloc" = yes; then
80 AC_DEFINE(USING_BASH_MALLOC)
82 MALLOC_TARGET=stubmalloc
86 if test "$opt_purify" = yes; then
92 if test "$opt_purecov" = yes; then
93 PURIFY="${PURIFY}purecov"
96 if test "$opt_afs" = yes; then
100 if test "$opt_curses" = yes; then
104 dnl optional shell features in config.h.in
105 opt_minimal_config=no
114 opt_process_subst=yes
115 opt_prompt_decoding=yes
118 opt_array_variables=yes
120 opt_extended_glob=yes
121 opt_brace_expansion=yes
122 opt_disabled_builtins=no
123 opt_command_timing=yes
126 opt_arith_for_command=yes
130 dnl options that affect how bash is compiled and linked
134 dnl argument parsing for optional features
135 AC_ARG_ENABLE(minimal-config, --enable-minimal-config a minimal sh-like configuration, opt_minimal_config=$enableval)
137 dnl a minimal configuration turns everything off, but features can be
138 dnl added individually
139 if test $opt_minimal_config = yes; then
140 opt_job_control=no opt_alias=no opt_readline=no
141 opt_history=no opt_bang_history=no opt_dirstack=no
142 opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
143 opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
144 opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
145 opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
146 opt_net_redirs=no opt_progcomp=no
149 AC_ARG_ENABLE(alias, --enable-alias enable shell aliases, opt_alias=$enableval)
150 AC_ARG_ENABLE(arith-for-command, --enable-arith-for-command enable arithmetic for command, opt_arith_for_command=$enableval)
151 AC_ARG_ENABLE(array-variables, --enable-array-variables include shell array variables, opt_array_variables=$enableval)
152 AC_ARG_ENABLE(bang-history, --enable-bang-history turn on csh-style history substitution, opt_bang_history=$enableval)
153 AC_ARG_ENABLE(brace-expansion, --enable-brace-expansion include brace expansion, opt_brace_expansion=$enableval)
154 AC_ARG_ENABLE(command-timing, --enable-command-timing enable the time reserved word and command timing, opt_command_timing=$enableval)
155 AC_ARG_ENABLE(cond-command, --enable-cond-command enable the conditional command, opt_cond_command=$enableval)
156 AC_ARG_ENABLE(directory-stack, --enable-directory-stack enable builtins pushd/popd/dirs, opt_dirstack=$enableval)
157 AC_ARG_ENABLE(disabled-builtins, --enable-disabled-builtins allow disabled builtins to still be invoked, opt_disabled_builtins=$enableval)
158 AC_ARG_ENABLE(dparen-arithmetic, [--enable-dparen-arithmetic include ((...)) command], opt_dparen_arith=$enableval)
159 AC_ARG_ENABLE(extended-glob, --enable-extended-glob include ksh-style extended pattern matching, opt_extended_glob=$enableval)
160 AC_ARG_ENABLE(help-builtin, --enable-help-builtin include the help builtin, opt_help=$enableval)
161 AC_ARG_ENABLE(history, --enable-history turn on command history, opt_history=$enableval)
162 AC_ARG_ENABLE(job-control, --enable-job-control enable job control features, opt_job_control=$enableval)
163 AC_ARG_ENABLE(net-redirections, --enable-net-redirections enable /dev/tcp/host/port redirection, opt_net_redirs=$enableval)
164 AC_ARG_ENABLE(process-substitution, --enable-process-substitution enable process substitution, opt_process_subst=$enableval)
165 AC_ARG_ENABLE(progcomp, --enable-progcomp enable programmable completion and the complete builtin, opt_progcomp=$enableval)
166 AC_ARG_ENABLE(prompt-string-decoding, --enable-prompt-string-decoding turn on escape character decoding in prompts, opt_prompt_decoding=$enableval)
167 AC_ARG_ENABLE(readline, --enable-readline turn on command line editing, opt_readline=$enableval)
168 AC_ARG_ENABLE(restricted, --enable-restricted enable a restricted shell, opt_restricted=$enableval)
169 AC_ARG_ENABLE(select, --enable-select include select command, opt_select=$enableval)
170 AC_ARG_ENABLE(usg-echo-default, --enable-usg-echo-default a synonym for --enable-xpg-echo-default, opt_xpg_echo=$enableval)
171 AC_ARG_ENABLE(xpg-echo-default, --enable-xpg-echo-default make the echo builtin expand escape sequences by default, opt_xpg_echo=$enableval)
173 dnl options that alter how bash is compiled and linked
174 AC_ARG_ENABLE(profiling, --enable-profiling allow profiling with gprof, opt_profiling=$enableval)
175 AC_ARG_ENABLE(static-link, --enable-static-link [link bash statically, for use as a root shell], opt_static_link=$enableval)
177 dnl opt_job_control is handled later, after BASH_JOB_CONTROL_MISSING runs
179 dnl opt_readline and opt_history are handled later, because AC_PROG_CC needs
180 dnl to be run before we can check the version of an already-installed readline
183 if test $opt_alias = yes; then
186 if test $opt_dirstack = yes; then
187 AC_DEFINE(PUSHD_AND_POPD)
189 if test $opt_restricted = yes; then
190 AC_DEFINE(RESTRICTED_SHELL)
192 if test $opt_process_subst = yes; then
193 AC_DEFINE(PROCESS_SUBSTITUTION)
195 if test $opt_prompt_decoding = yes; then
196 AC_DEFINE(PROMPT_STRING_DECODE)
198 if test $opt_select = yes; then
199 AC_DEFINE(SELECT_COMMAND)
201 if test $opt_help = yes; then
202 AC_DEFINE(HELP_BUILTIN)
204 if test $opt_array_variables = yes; then
205 AC_DEFINE(ARRAY_VARS)
207 if test $opt_dparen_arith = yes; then
208 AC_DEFINE(DPAREN_ARITHMETIC)
210 if test $opt_brace_expansion = yes; then
211 AC_DEFINE(BRACE_EXPANSION)
213 if test $opt_disabled_builtins = yes; then
214 AC_DEFINE(DISABLED_BUILTINS)
216 if test $opt_command_timing = yes; then
217 AC_DEFINE(COMMAND_TIMING)
219 if test $opt_xpg_echo = yes ; then
220 AC_DEFINE(DEFAULT_ECHO_TO_XPG)
222 if test $opt_extended_glob = yes ; then
223 AC_DEFINE(EXTENDED_GLOB)
225 if test $opt_cond_command = yes ; then
226 AC_DEFINE(COND_COMMAND)
228 if test $opt_arith_for_command = yes; then
229 AC_DEFINE(ARITH_FOR_COMMAND)
231 if test $opt_net_redirs = yes; then
232 AC_DEFINE(NETWORK_REDIRECTIONS)
234 if test $opt_progcomp = yes; then
235 AC_DEFINE(PROGRAMMABLE_COMPLETION)
238 if test "$opt_minimal_config" = yes; then
239 TESTSCRIPT=run-minimal
244 dnl now substitute in the values generated by arguments
247 AC_SUBST(MALLOC_TARGET)
252 dnl Use GNU m4 macros to get the distribution and patchlevel information
253 dnl into configure without requiring the files to be distributed
255 esyscmd(cat _distribution)dnl
257 esyscmd(cat _patchlevel)dnl
259 echo "Beginning configuration for bash-$BASHVERS for ${host_cpu}-${host_vendor}-${host_os}"
261 dnl compilation checks
262 dnl AC_PROG_CC sets $cross_compiling to `yes' if cross-compiling for a
263 dnl different environment
265 BASH_LARGE_FILE_SUPPORT
267 dnl test for Unix variants
271 dnl test for non-Unix variants
276 dnl BEGIN changes for cross-building for cygwin and BeOS
278 SIGNAMES_H=lsignames.h
280 dnl load up the cross-building cache file -- add more cases and cache
281 dnl files as necessary
283 dnl Note that host and target machine are the same, and different than the
285 dnl Set SIGNAMES_H based on whether or not we're cross-compiling.
287 if test "x$cross_compiling" = "xyes"; then
290 cross_cache=${srcdir}/cross-build/cygwin32.cache
291 SIGNAMES_H='$(srcdir)/cross-build/win32sig.h'
294 cross_cache=${srcdir}/cross-build/x86-beos.cache
295 SIGNAMES_H='${srcdir}/cross-build/beos-sig.h'
297 *) echo "configure: cross-compiling for $host is not supported" >&2
300 if test -n "${cross_cache}" && test -r "${cross_cache}"; then
301 echo "loading cross-build cache file ${cross_cache}"
308 if test -z "$CC_FOR_BUILD"; then
309 if test "x$cross_compiling" = "xno"; then
315 AC_SUBST(CC_FOR_BUILD)
317 dnl END changes for cross-building
319 dnl We want these before the checks, so the checks can modify their values.
320 test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
322 dnl If we're using gcc and the user hasn't specified CFLAGS, add -O2 to CFLAGS.
323 test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
325 dnl handle options that alter how bash is compiled and linked
326 dnl these must come after the test for cc/gcc
327 if test "$opt_profiling" = "yes"; then
331 *) opt_static_link=yes ;;
335 if test "$opt_static_link" = yes; then
336 # if we're using gcc, add `-static' to LDFLAGS
337 if test -n "$GCC" || test "$ac_cv_prog_gcc" = "yes"; then
339 LDFLAGS="$LDFLAGS -static" # XXX experimental
348 AC_PROG_GCC_TRADITIONAL
350 dnl BEGIN READLINE and HISTORY LIBRARY SECTION
351 dnl prepare to allow bash to be linked against an already-installed readline
353 dnl first test that the readline version is new enough to link bash against
354 if test "$opt_readline" = yes && test "$opt_with_installed_readline" = "yes"
357 dnl we duplicate some work that's done later here so we can look in
358 dnl the correct directory for the readline library
360 if test -z "$TERMCAP_LIB" ; then
361 BASH_CHECK_LIB_TERMCAP
364 test "x$prefix" = xNONE && _rl_prefix=$ac_default_prefix || _rl_prefix=${prefix}
365 test "x$exec_prefix" = xNONE && _rl_exec_prefix=${_rl_prefix} || _rl_exec_prefix=${exec_prefix}
367 AC_MSG_CHECKING(version of installed readline library)
368 _rl_version=`exec_prefix=${_rl_exec_prefix} ${CONFIG_SHELL-/bin/sh} ${srcdir}/support/rlvers.sh -C "${CC}" -L ${libdir} -I ${includedir} -T ${TERMCAP_LIB}`
369 AC_MSG_RESULT($_rl_version)
371 case "$_rl_version" in
372 4.[[2-9]]*|5*|6*|7*|8*|9*) ;;
373 *) opt_with_installed_readline=no
374 AC_MSG_WARN(installed readline library is too old to be linked with bash)
375 AC_MSG_WARN(using private bash version)
378 unset _rl_version _rl_prefix _rl_exec_prefix
381 if test $opt_readline = yes; then
383 READLINE_LIB=-lreadline
384 if test "$opt_with_installed_readline" = "yes" ; then
385 RL_LIBDIR='$(libdir)'
387 RL_INCLUDE='-I$(includedir)'
389 RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
390 READLINE_DEP='$(READLINE_LIBRARY)'
393 RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
394 READLINE_LIB= READLINE_DEP=
396 if test $opt_history = yes || test $opt_bang_history = yes; then
397 if test $opt_history = yes; then
400 if test $opt_bang_history = yes; then
401 AC_DEFINE(BANG_HISTORY)
403 HISTORY_LIB=-lhistory
404 if test "$opt_with_installed_readline" = "yes"; then
405 HIST_LIBDIR='$(libdir)'
407 RL_INCLUDE='-I$(includedir)'
409 HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
410 HISTORY_DEP='$(HISTORY_LIBRARY)'
413 HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
414 HISTORY_LIB= HISTORY_DEP=
416 AC_SUBST(READLINE_LIB)
417 AC_SUBST(READLINE_DEP)
420 AC_SUBST(HISTORY_LIB)
421 AC_SUBST(HISTORY_DEP)
422 AC_SUBST(HIST_LIBDIR)
424 dnl END READLINE and HISTORY LIBRARY SECTION
426 dnl programs needed by the build and install process
428 AC_CHECK_PROG(AR, ar, ar)
429 dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
430 dnl This allows people to set it when running configure or make
431 test -n "$ARFLAGS" || ARFLAGS="cr"
437 opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
438 *) MAKE_SHELL=/bin/sh ;;
442 dnl special checks for libc functions
445 AC_FUNC_SETVBUF_REVERSED
450 dnl if vprintf is not in libc, see if it's defined in stdio.h
451 if test "$ac_cv_func_vprintf" = no; then
452 AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
453 AC_EGREP_HEADER([[int[ ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
454 AC_MSG_RESULT($ac_cv_func_vprintf)
455 if test $ac_cv_func_vprintf = yes; then
456 AC_DEFINE(HAVE_VPRINTF)
463 dnl checks for certain version-specific system calls and libc functions
464 AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
465 AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
467 dnl checks for missing libc functions
468 AC_CHECK_FUNC(mkfifo,AC_DEFINE(HAVE_MKFIFO),AC_DEFINE(MKFIFO_MISSING))
470 dnl checks for system calls
471 AC_CHECK_FUNCS(dup2 select getdtablesize getgroups gethostname \
472 setdtablesize getpagesize killpg lstat getpeername sbrk \
473 getrlimit getrusage gettimeofday waitpid tcgetpgrp \
476 dnl checks for c library functions
477 AC_CHECK_FUNCS(bcopy bzero confstr getcwd strcasecmp setenv putenv \
478 setlinebuf setlocale strchr strerror strtod strtol \
479 strtoul tcgetattr uname sysconf ulimit times tzset \
480 siginterrupt memmove ttyname gethostbyname getservbyname \
481 inet_aton strpbrk setvbuf pathconf)
483 dnl checks for locale functions
484 AC_CHECK_HEADERS(libintl.h)
485 AC_CHECK_FUNCS(gettext textdomain bindtextdomain)
487 dnl check for GNU libintl if gettext/textdomain/bindtextdomain
488 dnl are not found in libc
489 if test "$ac_cv_func_bindtextdomain" = "no"; then
490 AC_CHECK_LIB(intl,bindtextdomain)
491 if test "$ac_cv_lib_intl" = "yes"; then
492 AC_CHECK_FUNCS(gettext textdomain bindtextdomain)
496 dnl checks for the dynamic loading library functions in libc and libdl
497 if test "$opt_static_link" != yes; then
498 AC_CHECK_LIB(dl, dlopen)
499 AC_CHECK_FUNCS(dlopen dlclose dlsym)
502 dnl this defines SYS_SIGLIST_DECLARED
509 AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
510 memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
512 AC_CHECK_HEADERS(sys/ptem.h sys/pte.h sys/stream.h sys/select.h sys/file.h \
513 sys/resource.h sys/param.h sys/socket.h \
514 sys/time.h sys/times.h sys/wait.h)
515 AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
517 dnl network functions -- check for inet_aton again
518 if test "$ac_cv_func_inet_aton" != 'yes'; then
523 dnl this is reportedly no longer necessary for irix[56].?
525 irix4*) AC_CHECK_LIB(sun, getpwent) ;;
528 dnl check for getpeername in the socket library only if it's not in libc
529 if test "$ac_cv_func_getpeername" = no; then
532 dnl check for gethostbyname in socket libraries if it's not in libc
533 if test "$ac_cv_func_gethostbyname" = no; then
534 BASH_FUNC_GETHOSTBYNAME
544 AC_CHECK_TYPE(time_t, long)
548 AC_CHECK_SIZEOF(char, 1)
549 AC_CHECK_SIZEOF(short, 2)
550 AC_CHECK_SIZEOF(int, 4)
551 AC_CHECK_SIZEOF(long, 4)
552 AC_CHECK_SIZEOF(char *, 4)
553 AC_CHECK_SIZEOF(double, 8)
555 AC_CHECK_TYPE(u_int, unsigned int)
556 AC_CHECK_TYPE(u_long, unsigned long)
569 dnl C compiler characteristics
574 if test $ac_cv_sys_interpreter = yes; then
575 AC_DEFINE(HAVE_HASH_BANG_EXEC)
577 dnl we use NO_READ_RESTART_ON_SIGNAL
578 AC_SYS_RESTARTABLE_SYSCALLS
580 dnl Miscellaneous Bash tests
581 if test "$ac_cv_func_lstat" = "no"; then
585 dnl behavior of system calls and library functions
586 BASH_DUP2_CLOEXEC_CHECK
590 if test "$ac_cv_sys_restartable_syscalls" = "no"; then
591 BASH_SYS_RESTARTABLE_SYSCALLS
594 dnl checking for the presence of certain library symbols
597 BASH_UNDER_SYS_SIGLIST
599 dnl various system types
601 BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
602 BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
603 BASH_CHECK_TYPE(quad_t, , long, HAVE_QUAD_T)
606 dnl presence and contents of structures used by system calls
607 BASH_STRUCT_TERMIOS_LDISC
608 BASH_STRUCT_TERMIO_LDISC
609 BASH_STRUCT_DIRENT_D_INO
610 BASH_STRUCT_DIRENT_D_FILENO
614 dnl presence and behavior of C library functions
616 BASH_FUNC_OPENDIR_CHECK
618 BASH_FUNC_ULIMIT_MAXFDS
621 BASH_FUNC_SBRK_DECLARED
622 BASH_FUNC_POSIX_SETJMP
625 dnl presence and behavior of OS functions
626 BASH_REINSTALL_SIGHANDLERS
627 BASH_JOB_CONTROL_MISSING
630 dnl presence of certain CPP defines
637 BASH_CHECK_GETPW_FUNCS
642 hpux*) BASH_KERNEL_RLIMIT_CHECK ;;
645 if test "$opt_readline" = yes; then
648 aix*) prefer_curses=yes ;;
650 BASH_CHECK_LIB_TERMCAP
652 AC_SUBST(TERMCAP_LIB)
653 AC_SUBST(TERMCAP_DEP)
657 BASH_DEFAULT_MAIL_DIR
659 if test "$bash_cv_job_control_missing" = missing; then
663 if test "$opt_job_control" = yes; then
664 AC_DEFINE(JOB_CONTROL)
672 dnl Defines that we want to propagate to the Makefiles in subdirectories,
673 dnl like glob and readline
677 dnl use this section to possibly define more cpp variables, specify local
678 dnl libraries, and specify any additional local cc flags
680 dnl this should really go away someday
683 sysv4.2*) AC_DEFINE(SVR4_2)
685 sysv4*) AC_DEFINE(SVR4) ;;
686 sysv5*) AC_DEFINE(SVR5) ;;
687 hpux9*) LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
688 hpux*) LOCAL_CFLAGS=-DHPUX ;;
689 dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
690 isc*) LOCAL_CFLAGS=-Disc386 ;;
691 rhapsody*) LOCAL_CFLAGS=-DRHAPSODY ;;
692 sco3.2v5*) LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DNO_MEMSCRAMBLE -DPATH_MAX=1024" ;;
693 sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DNO_MEMSCRAMBLE -DPATH_MAX=1024" ;;
694 sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
695 sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
696 solaris2.5*) LOCAL_CFLAGS=-DSunOS5 ;;
697 lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
698 linux*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
699 *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s -lunix -lncurses" ;;
700 powerux*) LOCAL_LIBS="-lgen" ;;
701 cygwin*) LOCAL_LIBS="-luser32" ;;
702 opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG" ;;
705 dnl Stanza for OS/compiler pair-specific flags
706 case "${host_os}-${CC}" in
707 aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
708 aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl" ;;
709 bsdi4*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
712 dnl FreeBSD-3.x can have either a.out or ELF
715 if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
716 LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
718 freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
722 *cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
725 case "$host_cpu-$host_os" in
726 ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
729 case "$host_cpu-$host_vendor-$host_os" in
730 m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
731 mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
735 # Shared object configuration section. These values are generated by
736 # ${srcdir}/support/shobj-conf
738 if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
740 AC_MSG_CHECKING(shared object configuration for loadable builtins)
741 eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
743 AC_SUBST(SHOBJ_CFLAGS)
745 AC_SUBST(SHOBJ_LDFLAGS)
746 AC_SUBST(SHOBJ_XLDFLAGS)
748 AC_SUBST(SHOBJ_STATUS)
749 AC_MSG_RESULT($SHOBJ_STATUS)
752 # try to create a directory tree if the source is elsewhere
753 # this should be packaged into a script accessible via ${srcdir}/support
756 *) for d in doc tests support lib examples; do # dirs
757 test -d $d || mkdir $d
759 for ld in readline glob tilde malloc sh termcap; do # libdirs
760 test -d lib/$ld || mkdir lib/$ld
762 test -d examples/loadables || mkdir examples/loadables # loadable builtins
763 test -d examples/loadables/perl || mkdir examples/loadables/perl
769 AC_SUBST(PROFILE_FLAGS)
782 AC_SUBST(host_vendor)
786 AC_SUBST(LOCAL_CFLAGS)
787 AC_SUBST(LOCAL_LDFLAGS)
790 #AC_SUBST(ALLOCA_SOURCE)
791 #AC_SUBST(ALLOCA_OBJECT)
793 AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
794 lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
795 lib/tilde/Makefile doc/Makefile support/Makefile \
796 examples/loadables/Makefile examples/loadables/perl/Makefile],
798 # Makefile uses this timestamp file to record whether config.h is up to date.
799 echo timestamp > stamp-h