]> git.ipfire.org Git - thirdparty/bash.git/blob - configure.in
Imported from ../bash-3.2.48.tar.gz.
[thirdparty/bash.git] / configure.in
1 dnl
2 dnl Configure script for bash-3.2
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-2007 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.2, version 3.190])dnl
26
27 define(bashvers, 3.2)
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}/share/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_O=
377 SIGNAMES_H=lsignames.h
378
379 dnl load up the cross-building cache file -- add more cases and cache
380 dnl files as necessary
381
382 dnl Note that host and target machine are the same, and different than the
383 dnl build machine.
384 dnl Set SIGNAMES_H based on whether or not we're cross-compiling.
385
386 CROSS_COMPILE=
387 if test "x$cross_compiling" = "xyes"; then
388 case "${host}" in
389 *-cygwin*)
390 cross_cache=${srcdir}/cross-build/cygwin32.cache
391 ;;
392 *-mingw*)
393 cross_cache=${srcdir}/cross-build/cygwin32.cache
394 ;;
395 i[[3456]]86-*-beos*)
396 cross_cache=${srcdir}/cross-build/x86-beos.cache
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 SIGNAMES_O='signames.o'
407 CROSS_COMPILE='-DCROSS_COMPILING'
408 AC_SUBST(CROSS_COMPILE)
409 fi
410 AC_SUBST(SIGNAMES_H)
411 AC_SUBST(SIGNAMES_O)
412
413 if test -z "$CC_FOR_BUILD"; then
414 if test "x$cross_compiling" = "xno"; then
415 CC_FOR_BUILD='$(CC)'
416 else
417 CC_FOR_BUILD=gcc
418 fi
419 fi
420 AC_SUBST(CC_FOR_BUILD)
421
422 dnl END changes for cross-building
423
424 dnl We want these before the checks, so the checks can modify their values.
425 test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
426
427 dnl If we're using gcc and the user hasn't specified CFLAGS, add -O2 to CFLAGS.
428 test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
429
430 dnl handle options that alter how bash is compiled and linked
431 dnl these must come after the test for cc/gcc
432 if test "$opt_profiling" = "yes"; then
433 PROFILE_FLAGS=-pg
434 case "$host_os" in
435 solaris2*) ;;
436 *) opt_static_link=yes ;;
437 esac
438 DEBUG= MALLOC_DEBUG=
439 fi
440
441 if test "$opt_static_link" = yes; then
442 # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
443 if test -n "$GCC" || test "$ac_cv_prog_gcc" = "yes"; then
444 STATIC_LD="-static"
445 case "$host_os" in
446 solaris2*) ;;
447 *) LDFLAGS="$LDFLAGS -static" ;; # XXX experimental
448 esac
449 fi
450 fi
451
452 if test "X$cross_compiling" = "Xno"; then
453 CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
454 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
455 else
456 CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
457 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
458 fi
459
460 test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g"
461
462 AC_SUBST(CFLAGS)
463 AC_SUBST(CPPFLAGS)
464 AC_SUBST(LDFLAGS)
465 AC_SUBST(STATIC_LD)
466
467 AC_SUBST(CFLAGS_FOR_BUILD)
468 AC_SUBST(CPPFLAGS_FOR_BUILD)
469 AC_SUBST(LDFLAGS_FOR_BUILD)
470
471 AC_PROG_GCC_TRADITIONAL
472
473 dnl BEGIN READLINE and HISTORY LIBRARY SECTION
474 dnl prepare to allow bash to be linked against an already-installed readline
475
476 dnl first test that the readline version is new enough to link bash against
477 if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
478 then
479 # If the user specified --with-installed-readline=PREFIX and PREFIX
480 # is not `yes', set ac_cv_rl_prefix to PREFIX
481 test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
482
483 RL_LIB_READLINE_VERSION
484
485 case "$ac_cv_rl_version" in
486 5*|6*|7*|8*|9*) ;;
487 *) opt_with_installed_readline=no
488 AC_MSG_WARN(installed readline library is too old to be linked with bash)
489 AC_MSG_WARN(using private bash version)
490 ;;
491 esac
492 fi
493
494 TILDE_LIB=-ltilde
495 if test $opt_readline = yes; then
496 AC_DEFINE(READLINE)
497 if test "$opt_with_installed_readline" != "no" ; then
498 case "$opt_with_installed_readline" in
499 yes) RL_INCLUDE= ;;
500 *) case "$RL_INCLUDEDIR" in
501 /usr/include) ;;
502 *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
503 esac
504 ;;
505 esac
506 READLINE_DEP=
507 READLINE_LIB=-lreadline
508 # section for OS versions that don't allow unresolved symbols
509 # to be compiled into dynamic libraries.
510 case "$host_os" in
511 cygwin*) TILDE_LIB= ;;
512 esac
513 else
514 RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
515 READLINE_DEP='$(READLINE_LIBRARY)'
516 # section for OS versions that ship an older/broken version of
517 # readline as a standard dynamic library and don't allow a
518 # static version specified as -llibname to override the
519 # dynamic version
520 case "${host_os}" in
521 darwin[[89]]*) READLINE_LIB='${READLINE_LIBRARY}' ;;
522 *) READLINE_LIB=-lreadline ;;
523 esac
524 fi
525 else
526 RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
527 READLINE_LIB= READLINE_DEP=
528 fi
529 if test $opt_history = yes || test $opt_bang_history = yes; then
530 if test $opt_history = yes; then
531 AC_DEFINE(HISTORY)
532 fi
533 if test $opt_bang_history = yes; then
534 AC_DEFINE(BANG_HISTORY)
535 fi
536 if test "$opt_with_installed_readline" != "no"; then
537 HIST_LIBDIR=$RL_LIBDIR
538 HISTORY_DEP=
539 HISTORY_LIB=-lhistory
540 case "$opt_with_installed_readline" in
541 yes) RL_INCLUDE= ;;
542 *) case "$RL_INCLUDEDIR" in
543 /usr/include) ;;
544 *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
545 esac
546 ;;
547 esac
548 else
549 HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
550 HISTORY_DEP='$(HISTORY_LIBRARY)'
551 # section for OS versions that ship an older version of
552 # readline as a standard dynamic library and don't allow a
553 # static version specified as -llibname to override the
554 # dynamic version
555 case "${host_os}" in
556 darwin8*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
557 *) HISTORY_LIB=-lhistory ;;
558 esac
559 fi
560 else
561 HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
562 HISTORY_LIB= HISTORY_DEP=
563 fi
564 AC_SUBST(READLINE_LIB)
565 AC_SUBST(READLINE_DEP)
566 AC_SUBST(RL_LIBDIR)
567 AC_SUBST(RL_INCLUDEDIR)
568 AC_SUBST(RL_INCLUDE)
569 AC_SUBST(HISTORY_LIB)
570 AC_SUBST(HISTORY_DEP)
571 AC_SUBST(HIST_LIBDIR)
572 AC_SUBST(TILDE_LIB)
573
574 dnl END READLINE and HISTORY LIBRARY SECTION
575
576 dnl programs needed by the build and install process
577 AC_PROG_INSTALL
578 AC_CHECK_PROG(AR, ar, , ar)
579 dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
580 dnl This allows people to set it when running configure or make
581 test -n "$ARFLAGS" || ARFLAGS="cr"
582 AC_PROG_RANLIB
583 AC_PROG_YACC
584 AC_PROG_MAKE_SET
585
586 case "$host_os" in
587 opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
588 *) MAKE_SHELL=/bin/sh ;;
589 esac
590 AC_SUBST(MAKE_SHELL)
591
592 dnl this is similar to the expanded AC_PROG_RANLIB
593 if test x$SIZE = x; then
594 if test x$ac_tool_prefix = x; then
595 SIZE=size
596 else
597 SIZE=${ac_tool_prefix}size
598 save_IFS=$IFS ; IFS=:
599 size_found=0
600 for dir in $PATH; do
601 if test -x $dir/$SIZE ; then
602 size_found=1
603 break
604 fi
605 done
606 if test $size_found -eq 0; then
607 SIZE=:
608 fi
609 IFS=$save_IFS
610 fi
611 fi
612 AC_SUBST(SIZE)
613
614 dnl Turn on any extensions available in the GNU C library.
615 AC_DEFINE(_GNU_SOURCE, 1)
616
617 dnl C compiler characteristics
618 AC_C_CONST
619 AC_C_INLINE
620 AC_C_BIGENDIAN
621 AC_C_STRINGIZE
622 AC_C_LONG_DOUBLE
623 AC_C_PROTOTYPES
624 AC_C_CHAR_UNSIGNED
625
626 dnl initialize GNU gettext
627 AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
628
629 dnl header files
630 AC_HEADER_DIRENT
631 AC_HEADER_TIME
632
633 BASH_HEADER_INTTYPES
634
635 AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
636 memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
637 stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h)
638 AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
639 sys/resource.h sys/param.h sys/socket.h sys/stat.h \
640 sys/time.h sys/times.h sys/types.h sys/wait.h)
641 AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
642
643 dnl sys/ptem.h requires definitions from sys/stream.h on systems where it
644 dnl exists
645 AC_CHECK_HEADER(sys/ptem.h, , ,[[
646 #if HAVE_SYS_STREAM_H
647 # include <sys/stream.h>
648 #endif
649 ]])
650
651 dnl special checks for libc functions
652 AC_FUNC_ALLOCA
653 AC_FUNC_GETPGRP
654 AC_FUNC_SETVBUF_REVERSED
655 AC_FUNC_VPRINTF
656 AC_FUNC_STRCOLL
657
658 dnl if we're not using the bash malloc but require the C alloca, set things
659 dnl up to build a libmalloc.a containing only alloca.o
660
661 if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
662 MALLOC_TARGET=alloca
663 MALLOC_SRC=alloca.c
664
665 MALLOC_LIB='-lmalloc'
666 MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
667 MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
668 MALLOC_DEP='$(MALLOC_LIBRARY)'
669 fi
670
671 dnl if vprintf is not in libc, see if it's defined in stdio.h
672 if test "$ac_cv_func_vprintf" = no; then
673 AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
674 AC_EGREP_HEADER([[int[ ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
675 AC_MSG_RESULT($ac_cv_func_vprintf)
676 if test $ac_cv_func_vprintf = yes; then
677 AC_DEFINE(HAVE_VPRINTF)
678 fi
679 fi
680
681 if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
682 AC_LIBOBJ(vprint)
683 fi
684
685 dnl signal stuff
686 AC_TYPE_SIGNAL
687
688 dnl checks for certain version-specific system calls and libc functions
689 AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
690 AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
691 AC_CHECK_FUNC(isinf, AC_DEFINE(HAVE_ISINF_IN_LIBC))
692 AC_CHECK_FUNC(isnan, AC_DEFINE(HAVE_ISNAN_IN_LIBC))
693
694 dnl checks for missing libc functions
695 AC_CHECK_FUNC(mkfifo,AC_DEFINE(HAVE_MKFIFO),AC_DEFINE(MKFIFO_MISSING))
696
697 dnl checks for system calls
698 AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getgroups gethostname \
699 getpagesize getpeername getrlimit getrusage gettimeofday \
700 kill killpg lstat readlink sbrk select setdtablesize \
701 tcgetpgrp uname ulimit waitpid)
702 AC_REPLACE_FUNCS(rename)
703
704 dnl checks for c library functions
705 AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
706 getaddrinfo gethostbyname getservbyname getservent inet_aton \
707 memmove pathconf putenv raise regcomp regexec \
708 setenv setlinebuf setlocale setvbuf siginterrupt strchr \
709 sysconf tcgetattr times ttyname tzset unsetenv)
710
711 AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf)
712 AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
713 AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
714 AC_REPLACE_FUNCS(getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr)
715 AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
716
717 AC_CHECK_DECLS([confstr])
718 AC_CHECK_DECLS([printf])
719 AC_CHECK_DECLS([sbrk])
720 AC_CHECK_DECLS([setregid])
721 AC_CHECK_DECLS([strcpy])
722 AC_CHECK_DECLS([strsignal])
723
724 dnl Extra test to detect the horribly broken HP/UX 11.00 strtold(3)
725 AC_CHECK_DECLS([strtold], [
726 AC_MSG_CHECKING([for broken strtold])
727 AC_CACHE_VAL(bash_cv_strtold_broken,
728 [AC_TRY_COMPILE(
729 [#include <stdlib.h>],
730 [int main() { long double r; char *foo, bar; r = strtold(foo, &bar);}],
731 bash_cv_strtold_broken=no, bash_cv_strtold_broken=yes,
732 [AC_MSG_WARN(cannot check for broken strtold if cross-compiling, defaulting to no)])
733 ]
734 )
735 AC_MSG_RESULT($bash_cv_strtold_broken)
736 if test "$bash_cv_strtold_broken" = "yes" ; then
737 AC_DEFINE(STRTOLD_BROKEN)
738 fi
739 ])
740
741
742 BASH_CHECK_DECL(strtoimax)
743 BASH_CHECK_DECL(strtol)
744 BASH_CHECK_DECL(strtoll)
745 BASH_CHECK_DECL(strtoul)
746 BASH_CHECK_DECL(strtoull)
747 BASH_CHECK_DECL(strtoumax)
748
749 AC_FUNC_MKTIME
750
751 dnl
752 dnl Checks for lib/intl and related code (uses some of the output from
753 dnl AM_GNU_GETTEXT)
754 dnl
755
756 AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
757
758 dnl AC_FUNC_MALLOC
759 AC_FUNC_MMAP
760 AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
761 munmap stpcpy strcspn strdup])
762
763 INTL_DEP= INTL_INC= LIBINTL_H=
764 if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
765 INTL_DEP='${INTL_LIBDIR}/libintl.a'
766 INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
767 LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
768 fi
769 AC_SUBST(INTL_DEP)
770 AC_SUBST(INTL_INC)
771 AC_SUBST(LIBINTL_H)
772
773 dnl
774 dnl End of checks needed by files in lib/intl
775 dnl
776
777 BASH_CHECK_MULTIBYTE
778
779 dnl checks for the dynamic loading library functions in libc and libdl
780 if test "$opt_static_link" != yes; then
781 AC_CHECK_LIB(dl, dlopen)
782 AC_CHECK_FUNCS(dlopen dlclose dlsym)
783 fi
784
785 dnl this defines SYS_SIGLIST_DECLARED
786 AC_DECL_SYS_SIGLIST
787
788 dnl network functions -- check for inet_aton again
789 if test "$ac_cv_func_inet_aton" != 'yes'; then
790 BASH_FUNC_INET_ATON
791 fi
792
793 dnl libraries
794 dnl this is reportedly no longer necessary for irix[56].?
795 case "$host_os" in
796 irix4*) AC_CHECK_LIB(sun, getpwent) ;;
797 esac
798
799 dnl check for getpeername in the socket library only if it's not in libc
800 if test "$ac_cv_func_getpeername" = no; then
801 BASH_CHECK_LIB_SOCKET
802 fi
803 dnl check for gethostbyname in socket libraries if it's not in libc
804 if test "$ac_cv_func_gethostbyname" = no; then
805 BASH_FUNC_GETHOSTBYNAME
806 fi
807
808 dnl system types
809 AC_TYPE_GETGROUPS
810 AC_TYPE_OFF_T
811 AC_TYPE_MODE_T
812 AC_TYPE_UID_T
813 AC_TYPE_PID_T
814 AC_TYPE_SIZE_T
815 AC_CHECK_TYPE(ssize_t, int)
816 AC_CHECK_TYPE(time_t, long)
817
818 BASH_TYPE_LONG_LONG
819 BASH_TYPE_UNSIGNED_LONG_LONG
820
821 AC_TYPE_SIGNAL
822
823 AC_CHECK_SIZEOF(char, 1)
824 AC_CHECK_SIZEOF(short, 2)
825 AC_CHECK_SIZEOF(int, 4)
826 AC_CHECK_SIZEOF(long, 4)
827 AC_CHECK_SIZEOF(char *, 4)
828 AC_CHECK_SIZEOF(double, 8)
829 AC_CHECK_SIZEOF([long long], 8)
830
831 AC_CHECK_TYPE(u_int, [unsigned int])
832 AC_CHECK_TYPE(u_long, [unsigned long])
833
834 BASH_TYPE_BITS16_T
835 BASH_TYPE_U_BITS16_T
836 BASH_TYPE_BITS32_T
837 BASH_TYPE_U_BITS32_T
838 BASH_TYPE_BITS64_T
839
840 BASH_TYPE_PTRDIFF_T
841
842 dnl structures
843 AC_HEADER_STAT
844
845 dnl system services
846 AC_SYS_INTERPRETER
847 if test $ac_cv_sys_interpreter = yes; then
848 AC_DEFINE(HAVE_HASH_BANG_EXEC)
849 fi
850
851 dnl Miscellaneous Bash tests
852 if test "$ac_cv_func_lstat" = "no"; then
853 BASH_FUNC_LSTAT
854 fi
855
856 dnl behavior of system calls and library functions
857 BASH_FUNC_CTYPE_NONASCII
858 BASH_FUNC_DUP2_CLOEXEC_CHECK
859 BASH_SYS_PGRP_SYNC
860 BASH_SYS_SIGNAL_VINTAGE
861
862 dnl checking for the presence of certain library symbols
863 BASH_SYS_ERRLIST
864 BASH_SYS_SIGLIST
865 BASH_UNDER_SYS_SIGLIST
866
867 dnl various system types
868 BASH_TYPE_SIGHANDLER
869 BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
870 BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
871 BASH_CHECK_TYPE(quad_t, , long, HAVE_QUAD_T)
872 BASH_CHECK_TYPE(intmax_t, , $bash_cv_type_long_long)
873 BASH_CHECK_TYPE(uintmax_t, , $bash_cv_type_unsigned_long_long)
874 if test "$ac_cv_header_sys_socket_h" = "yes"; then
875 BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], int, HAVE_SOCKLEN_T)
876 fi
877 BASH_TYPE_RLIMIT
878
879 dnl presence and contents of structures used by system calls
880 BASH_STRUCT_TERMIOS_LDISC
881 BASH_STRUCT_TERMIO_LDISC
882 BASH_STRUCT_DIRENT_D_INO
883 BASH_STRUCT_DIRENT_D_FILENO
884 BASH_STRUCT_DIRENT_D_NAMLEN
885 BASH_STRUCT_WINSIZE
886 BASH_STRUCT_TIMEVAL
887 AC_CHECK_MEMBERS([struct stat.st_blocks])
888 AC_STRUCT_TM
889 AC_STRUCT_TIMEZONE
890 BASH_STRUCT_TIMEZONE
891
892 dnl presence and behavior of C library functions
893 BASH_FUNC_STRSIGNAL
894 BASH_FUNC_OPENDIR_CHECK
895 BASH_FUNC_ULIMIT_MAXFDS
896 BASH_FUNC_GETENV
897 if test "$ac_cv_func_getcwd" = "yes"; then
898 BASH_FUNC_GETCWD
899 fi
900 BASH_FUNC_POSIX_SETJMP
901 BASH_FUNC_STRCOLL
902
903 dnl If putenv or unsetenv is not present, set the right define so the
904 dnl prototype and declaration in lib/sh/getenv.c will be standard-conformant
905
906 if test "$ac_cv_func_putenv" = "yes"; then
907 BASH_FUNC_STD_PUTENV
908 else
909 AC_DEFINE(HAVE_STD_PUTENV)
910 fi
911 if test "$ac_cv_func_unsetenv" = "yes"; then
912 BASH_FUNC_STD_UNSETENV
913 else
914 AC_DEFINE(HAVE_STD_UNSETENV)
915 fi
916
917 BASH_FUNC_PRINTF_A_FORMAT
918
919 dnl presence and behavior of OS functions
920 BASH_SYS_REINSTALL_SIGHANDLERS
921 BASH_SYS_JOB_CONTROL_MISSING
922 BASH_SYS_NAMED_PIPES
923
924 dnl presence of certain CPP defines
925 AC_HEADER_TIOCGWINSZ
926 BASH_HAVE_TIOCSTAT
927 BASH_HAVE_FIONREAD
928
929 BASH_CHECK_WCONTINUED
930
931 dnl miscellaneous
932 BASH_CHECK_SPEED_T
933 BASH_CHECK_GETPW_FUNCS
934 BASH_CHECK_RTSIGS
935 BASH_CHECK_SYS_SIGLIST
936
937 dnl special checks
938 case "$host_os" in
939 hpux*) BASH_CHECK_KERNEL_RLIMIT ;;
940 esac
941
942 if test "$opt_readline" = yes; then
943 dnl yuck
944 case "$host_os" in
945 aix*) prefer_curses=yes ;;
946 esac
947 BASH_CHECK_LIB_TERMCAP
948 fi
949 AC_SUBST(TERMCAP_LIB)
950 AC_SUBST(TERMCAP_DEP)
951
952 BASH_CHECK_DEV_FD
953 BASH_CHECK_DEV_STDIN
954 BASH_SYS_DEFAULT_MAIL_DIR
955
956 if test "$bash_cv_job_control_missing" = missing; then
957 opt_job_control=no
958 fi
959
960 if test "$opt_job_control" = yes; then
961 AC_DEFINE(JOB_CONTROL)
962 JOBS_O=jobs.o
963 else
964 JOBS_O=nojobs.o
965 fi
966
967 AC_SUBST(JOBS_O)
968
969 dnl Defines that we want to propagate to the Makefiles in subdirectories,
970 dnl like glob and readline
971
972 LOCAL_DEFS=-DSHELL
973
974 dnl use this section to possibly define more cpp variables, specify local
975 dnl libraries, and specify any additional local cc flags
976 dnl
977 dnl this should really go away someday
978
979 case "${host_os}" in
980 sysv4.2*) AC_DEFINE(SVR4_2)
981 AC_DEFINE(SVR4) ;;
982 sysv4*) AC_DEFINE(SVR4) ;;
983 sysv5*) AC_DEFINE(SVR5) ;;
984 hpux9*) LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
985 hpux*) LOCAL_CFLAGS=-DHPUX ;;
986 dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
987 isc*) LOCAL_CFLAGS=-Disc386 ;;
988 rhapsody*) LOCAL_CFLAGS=-DRHAPSODY ;;
989 darwin*) LOCAL_CFLAGS=-DMACOSX ;;
990 sco3.2v5*) LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
991 sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
992 sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
993 sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
994 solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
995 solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
996 lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
997 linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
998 case "`uname -r`" in
999 2.[[456789]]*|3*) AC_DEFINE(PGRP_PIPE) ;;
1000 esac ;;
1001 *qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
1002 *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
1003 powerux*) LOCAL_LIBS="-lgen" ;;
1004 cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
1005 opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE" ;;
1006 esac
1007
1008 dnl Stanza for OS/compiler pair-specific flags
1009 case "${host_os}-${CC}" in
1010 aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
1011 aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl" ;;
1012 bsdi4*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
1013 esac
1014
1015 dnl FreeBSD-3.x can have either a.out or ELF
1016 case "${host_os}" in
1017 freebsd[[3-9]]*)
1018 if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
1019 LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
1020 fi ;;
1021 freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
1022 dragonfly*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
1023 esac
1024
1025 case "$host_cpu" in
1026 *cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
1027 esac
1028
1029 case "$host_cpu-$host_os" in
1030 ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
1031 esac
1032
1033 case "$host_cpu-$host_vendor-$host_os" in
1034 m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
1035 mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
1036 esac
1037
1038 #
1039 # Shared object configuration section. These values are generated by
1040 # ${srcdir}/support/shobj-conf
1041 #
1042 if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
1043 then
1044 AC_MSG_CHECKING(shared object configuration for loadable builtins)
1045 eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
1046 AC_SUBST(SHOBJ_CC)
1047 AC_SUBST(SHOBJ_CFLAGS)
1048 AC_SUBST(SHOBJ_LD)
1049 AC_SUBST(SHOBJ_LDFLAGS)
1050 AC_SUBST(SHOBJ_XLDFLAGS)
1051 AC_SUBST(SHOBJ_LIBS)
1052 AC_SUBST(SHOBJ_STATUS)
1053 AC_MSG_RESULT($SHOBJ_STATUS)
1054 fi
1055
1056 # try to create a directory tree if the source is elsewhere
1057 # this should be packaged into a script accessible via ${srcdir}/support
1058 case "$srcdir" in
1059 .) ;;
1060 *) for d in doc tests support lib examples; do # dirs
1061 test -d $d || mkdir $d
1062 done
1063 for ld in readline glob tilde malloc sh termcap; do # libdirs
1064 test -d lib/$ld || mkdir lib/$ld
1065 done
1066 test -d examples/loadables || mkdir examples/loadables # loadable builtins
1067 test -d examples/loadables/perl || mkdir examples/loadables/perl
1068 ;;
1069 esac
1070
1071 BUILD_DIR=`pwd`
1072 case "$BUILD_DIR" in
1073 *\ *) BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
1074 *) ;;
1075 esac
1076
1077 AC_SUBST(PROFILE_FLAGS)
1078
1079 AC_SUBST(incdir)
1080 AC_SUBST(BUILD_DIR)
1081
1082 AC_SUBST(YACC)
1083 AC_SUBST(AR)
1084 AC_SUBST(ARFLAGS)
1085
1086 AC_SUBST(BASHVERS)
1087 AC_SUBST(RELSTATUS)
1088 AC_SUBST(DEBUG)
1089 AC_SUBST(MALLOC_DEBUG)
1090
1091 AC_SUBST(host_cpu)
1092 AC_SUBST(host_vendor)
1093 AC_SUBST(host_os)
1094
1095 AC_SUBST(LOCAL_LIBS)
1096 AC_SUBST(LOCAL_CFLAGS)
1097 AC_SUBST(LOCAL_LDFLAGS)
1098 AC_SUBST(LOCAL_DEFS)
1099
1100 #AC_SUBST(ALLOCA_SOURCE)
1101 #AC_SUBST(ALLOCA_OBJECT)
1102
1103 AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
1104 lib/intl/Makefile \
1105 lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
1106 lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
1107 examples/loadables/Makefile examples/loadables/perl/Makefile \
1108 pathnames.h],
1109 [
1110 # Makefile uses this timestamp file to record whether config.h is up to date.
1111 echo timestamp > stamp-h
1112 ])