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