aboutsummaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
authorJari Aalto <jari.aalto@cante.net>1996-12-23 17:02:34 +0000
committerJari Aalto <jari.aalto@cante.net>2009-09-12 16:46:49 +0000
commitccc6cda312fea9f0468ee65b8f368e9653e1380b (patch)
treeb059878adcfd876c4acb8030deda1eeb918c7e75 /configure.in
parent726f63884db0132f01745f1fb4465e6621088ccf (diff)
downloadandroid_external_bash-ccc6cda312fea9f0468ee65b8f368e9653e1380b.tar.gz
android_external_bash-ccc6cda312fea9f0468ee65b8f368e9653e1380b.tar.bz2
android_external_bash-ccc6cda312fea9f0468ee65b8f368e9653e1380b.zip
Imported from ../bash-2.0.tar.gz.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in462
1 files changed, 462 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..62d1e51
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,462 @@
+dnl
+dnl Configure script for bash-2.0
+dnl
+dnl report bugs to chet@po.cwru.edu
+dnl
+dnl Process this file with autoconf to produce a configure script.
+dnl checks for version info
+AC_REVISION([for Bash 2.0, version 1.14, from autoconf version] AC_ACVERSION)dnl
+
+AC_INIT(shell.h)
+AC_CONFIG_HEADER(config.h)
+
+dnl make sure we are using a recent autoconf version
+AC_PREREQ(2.8)
+
+dnl where to find install.sh, config.sub, and config.guess
+AC_CONFIG_AUX_DIR(./support)
+
+dnl canonicalize the host and os so we can do some tricky things before
+dnl parsing options
+AC_CANONICAL_HOST
+
+dnl configure defaults
+opt_gnu_malloc=yes
+opt_glibc_malloc=no
+opt_purify=no
+opt_afs=no
+
+dnl some systems should be configured without gnu malloc by default
+dnl and some need a special compiler or loader
+dnl look in the NOTES file for more
+case "${host_cpu}-${host_os}" in
+alpha-*) opt_gnu_malloc=no ;; # alpha running osf/1 or linux
+*cray*-*) opt_gnu_malloc=no ;; # Crays
+*-osf1*) opt_gnu_malloc=no ;; # other osf/1 machines
+sparc-svr4*) opt_gnu_malloc=no ;; # sparc SVR4, SVR4.2
+sparc-netbsd*) opt_gnu_malloc=no ;; # needs 8-byte alignment
+sparc-linux*) opt_gnu_malloc=no ;; # sparc running linux; requires ELF
+*-aix*) opt_gnu_malloc=no ;; # AIX machines
+*-nextstep*) opt_gnu_malloc=no ;; # NeXT machines running NeXTstep
+*-dgux*) opt_gnu_malloc=no ;; # DG/UX machines
+*-qnx) opt_gnu_malloc=no ;; # QNX 4.2
+*-bsdi2.1) opt_gnu_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
+esac
+
+dnl arguments to configure
+dnl packages
+AC_ARG_WITH(gnu-malloc, --with-gnu-malloc use the GNU version of malloc,opt_gnu_malloc=$withval)
+AC_ARG_WITH(glibc-malloc, --with-glibc-malloc use the GNU C library version of malloc,opt_glibc_malloc=$withval)
+AC_ARG_WITH(purify, --with-purify configure to postprocess with purify, opt_purify=$withval)
+AC_ARG_WITH(afs, --with-afs if you are running AFS, opt_afs=$withval)
+
+dnl test for glibc malloc first because it can override the default
+if test "$opt_glibc_malloc" = yes; then
+ MALLOC=gmalloc.o MALLOC_SRC='$(ALLOC_LIBSRC)/gmalloc.c'
+elif test "$opt_gnu_malloc" = yes; then
+ MALLOC=malloc.o MALLOC_SRC='$(ALLOC_LIBSRC)/malloc.c'
+else
+ MALLOC= MALLOC_SRC=
+fi
+
+if test "$opt_purify" = yes; then
+ PURIFY=purify
+else
+ PURIFY=
+fi
+
+if test "$opt_afs" = yes; then
+ AC_DEFINE(AFS)
+fi
+
+dnl optional shell features in config.h.in
+opt_minimal_config=no
+
+opt_job_control=yes
+opt_alias=yes
+opt_readline=yes
+opt_history=yes
+opt_bang_history=yes
+opt_dirstack=yes
+opt_restricted=yes
+opt_process_subst=yes
+opt_prompt_decoding=yes
+opt_select=yes
+opt_help=yes
+opt_array_variables=yes
+opt_dparen_arith=yes
+opt_brace_expansion=yes
+opt_disabled_builtins=no
+opt_command_timing=yes
+opt_usg_echo=no
+
+dnl argument parsing for optional features
+AC_ARG_ENABLE(minimal-config, --enable-minimal-config a minimal sh-like configuration, opt_minimal_config=$enableval)
+
+dnl a minimal configuration turns everything off, but features can be
+dnl added individually
+if test $opt_minimal_config = yes; then
+ opt_job_control=no opt_alias=no opt_readline=no
+ opt_history=no opt_bang_history=no opt_dirstack=no
+ opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
+ opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
+ opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
+fi
+
+AC_ARG_ENABLE(job-control, --enable-job-control enable job control features, opt_job_control=$enableval)
+AC_ARG_ENABLE(alias, --enable-alias enable shell aliases, opt_alias=$enableval)
+AC_ARG_ENABLE(readline, --enable-readline turn on command line editing, opt_readline=$enableval)
+AC_ARG_ENABLE(history, --enable-history turn on command history, opt_history=$enableval)
+AC_ARG_ENABLE(bang-history, --enable-bang-history turn on csh-style history substitution, opt_bang_history=$enableval)
+AC_ARG_ENABLE(directory-stack, --enable-directory-stack enable builtins pushd/popd/dirs, opt_dirstack=$enableval)
+AC_ARG_ENABLE(restricted, --enable-restricted enable a restricted shell, opt_restricted=$enableval)
+AC_ARG_ENABLE(process-substitution, --enable-process-substitution enable process substitution, opt_process_subst=$enableval)
+AC_ARG_ENABLE(prompt-string-decoding, --enable-prompt-string-decoding turn on escape character decoding in prompts, opt_prompt_decoding=$enableval)
+AC_ARG_ENABLE(select, --enable-select include select command, opt_select=$enableval)
+AC_ARG_ENABLE(help-builtin, --enable-help-builtin include the help builtin, opt_help=$enableval)
+AC_ARG_ENABLE(array-variables, --enable-array-variables include shell array variables, opt_array_variables=$enableval)
+AC_ARG_ENABLE(dparen-arithmetic, [--enable-dparen-arithmetic include ((...)) command], opt_dparen_arith=$enableval)
+AC_ARG_ENABLE(brace-expansion, --enable-brace-expansion include brace expansion, opt_brace_expansion=$enableval)
+AC_ARG_ENABLE(disabled-builtins, --enable-disabled-builtins allow disabled builtins to still be invoked, opt_disabled_builtins=$enableval)
+AC_ARG_ENABLE(command-timing, --enable-command-timing enable the time reserved word and command timing, opt_command_timing=$enableval)
+AC_ARG_ENABLE(usg-echo-default, --enable-usg-echo-default make the echo builtin expand escape sequences by default, opt_usg_echo=$enableval)
+
+dnl opt_job_control is handled later, after BASH_JOB_CONTROL_MISSING runs
+
+if test $opt_alias = yes; then
+AC_DEFINE(ALIAS)
+fi
+if test $opt_readline = yes; then
+AC_DEFINE(READLINE)
+READLINE_LIB=-lreadline
+READLINE_DEP='$(READLINE_LIBRARY)'
+else
+READLINE_LIB= READLINE_DEP=
+fi
+if test $opt_history = yes; then
+AC_DEFINE(HISTORY)
+HISTORY_LIB=-lhistory
+HISTORY_DEP='$(HISTORY_LIBRARY)'
+else
+HISTORY_LIB= HISTORY_DEP=
+fi
+if test $opt_bang_history = yes; then
+AC_DEFINE(BANG_HISTORY)
+HISTORY_LIB=-lhistory
+HISTORY_DEP='$(HISTORY_LIBRARY)'
+else
+HISTORY_LIB= HISTORY_DEP=
+fi
+if test $opt_dirstack = yes; then
+AC_DEFINE(PUSHD_AND_POPD)
+fi
+if test $opt_restricted = yes; then
+AC_DEFINE(RESTRICTED_SHELL)
+fi
+if test $opt_process_subst = yes; then
+AC_DEFINE(PROCESS_SUBSTITUTION)
+fi
+if test $opt_prompt_decoding = yes; then
+AC_DEFINE(PROMPT_STRING_DECODE)
+fi
+if test $opt_select = yes; then
+AC_DEFINE(SELECT_COMMAND)
+fi
+if test $opt_help = yes; then
+AC_DEFINE(HELP_BUILTIN)
+fi
+if test $opt_array_variables = yes; then
+AC_DEFINE(ARRAY_VARS)
+fi
+if test $opt_dparen_arith = yes; then
+AC_DEFINE(DPAREN_ARITHMETIC)
+fi
+if test $opt_brace_expansion = yes; then
+AC_DEFINE(BRACE_EXPANSION)
+fi
+if test $opt_disabled_builtins = yes; then
+AC_DEFINE(DISABLED_BUILTINS)
+fi
+if test $opt_command_timing = yes; then
+AC_DEFINE(COMMAND_TIMING)
+fi
+if test $opt_usg_echo = yes ; then
+AC_DEFINE(DEFAULT_ECHO_TO_USG)
+fi
+
+dnl now substitute in the values generated by arguments
+AC_SUBST(PURIFY)
+AC_SUBST(MALLOC)
+AC_SUBST(MALLOC_SRC)
+AC_SUBST(READLINE_LIB)
+AC_SUBST(READLINE_DEP)
+AC_SUBST(HISTORY_LIB)
+AC_SUBST(HISTORY_DEP)
+
+echo "Beginning configuration for bash-2.0"
+
+dnl compilation checks
+AC_PROG_CC
+AC_ISC_POSIX
+AC_MINIX
+
+dnl See whether cc works at all
+BASH_CC_WORKS
+
+dnl We want these before the checks, so the checks can modify their values.
+test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
+
+dnl If we're using gcc and the user hasn't specified CFLAGS, add -O2 to CFLAGS.
+test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
+
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+
+AC_PROG_GCC_TRADITIONAL
+
+dnl programs needed by the build and install process
+AC_PROG_INSTALL
+AC_CHECK_PROG(AR, ar, ar)
+AC_PROG_RANLIB
+AC_PROG_YACC
+AC_PROG_MAKE_SET
+
+dnl special checks for libc functions
+AC_FUNC_ALLOCA
+AC_FUNC_GETPGRP
+AC_FUNC_SETVBUF_REVERSED
+AC_FUNC_VPRINTF
+AC_FUNC_WAIT3
+AC_FUNC_STRCOLL
+
+dnl if vprintf is not in libc, see if it's defined in stdio.h
+if test "$ac_cv_func_vprintf" = no; then
+ AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
+ AC_EGREP_HEADER([[int[ ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
+ AC_MSG_RESULT($ac_cv_func_vprintf)
+ if test $ac_cv_func_vprintf = yes; then
+ AC_DEFINE(HAVE_VPRINTF)
+ fi
+fi
+
+dnl signal stuff
+AC_RETSIGTYPE
+
+dnl checks for certain version-specific system calls and libc functions
+AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
+AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
+
+dnl checks for missing libc functions
+AC_CHECK_FUNC(mkfifo,AC_DEFINE(HAVE_MKFIFO),AC_DEFINE(MKFIFO_MISSING))
+
+dnl checks for system calls
+AC_CHECK_FUNCS(dup2 select getdtablesize getgroups gethostname \
+ setdtablesize getpagesize killpg lstat getpeername \
+ getrlimit getrusage gettimeofday waitpid tcgetpgrp)
+
+dnl checks for c library functions
+AC_CHECK_FUNCS(bcopy bzero confstr getcwd strcasecmp setenv putenv \
+ setlinebuf setlocale strchr strerror tcgetattr uname \
+ sysconf ulimit times tzset siginterrupt memmove)
+
+dnl checks for locale functions
+AC_CHECK_HEADERS(libintl.h)
+AC_CHECK_FUNCS(gettext textdomain bindtextdomain)
+
+dnl check for GNU libintl if gettext/textdomain/bindtextdomain
+dnl are not found in libc
+if test "$ac_cv_func_bindtextdomain" = "no"; then
+ AC_CHECK_LIB(intl,bindtextdomain)
+ if test "$ac_cv_lib_intl" = "yes"; then
+ AC_CHECK_FUNCS(gettext textdomain bindtextdomain)
+ fi
+fi
+
+dnl checks for the dynamic loading library functions in libc and libdl
+AC_CHECK_LIB(dl, dlopen)
+AC_CHECK_FUNCS(dlopen dlclose dlsym)
+
+dnl this defines SYS_SIGLIST_DECLARED
+AC_DECL_SYS_SIGLIST
+
+dnl header files
+AC_HEADER_DIRENT
+AC_HEADER_TIME
+
+AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
+ memory.h locale.h termcap.h termio.h termios.h)
+AC_CHECK_HEADERS(sys/ptem.h sys/pte.h sys/stream.h sys/select.h sys/file.h \
+ sys/resource.h sys/param.h sys/socket.h \
+ sys/time.h sys/times.h sys/wait.h)
+
+dnl libraries
+dnl this is reportedly no longer necessary for irix[56].?
+dnl AC_CHECK_LIB(sun, getpwent)
+BASH_CHECK_SOCKLIB
+
+dnl system types
+AC_TYPE_GETGROUPS
+AC_TYPE_OFF_T
+AC_TYPE_MODE_T
+AC_TYPE_UID_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_CHECK_TYPE(time_t, long)
+
+AC_TYPE_SIGNAL
+
+dnl structures
+AC_HEADER_STAT
+AC_HEADER_EGREP(struct timeval, sys/time.h, bash_cv_struct_timeval=yes, )
+if test -z "$bash_cv_struct_timeval"; then
+AC_HEADER_EGREP(struct timeval, time.h, bash_cv_struct_timeval=yes, bash_cv_struct_timeval=no)
+fi
+if test $bash_cv_struct_timeval = yes; then
+AC_DEFINE(HAVE_TIMEVAL)
+fi
+
+dnl C compiler characteristics
+AC_C_BIGENDIAN
+
+dnl system services
+AC_SYS_INTERPRETER
+if test $ac_cv_sys_interpreter = yes; then
+AC_DEFINE(HAVE_HASH_BANG_EXEC)
+fi
+dnl we use NO_READ_RESTART_ON_SIGNAL
+AC_SYS_RESTARTABLE_SYSCALLS
+
+dnl Miscellaneous Bash tests
+if test "$ac_cv_func_lstat" = "no"; then
+BASH_FUNC_LSTAT
+fi
+
+BASH_DUP2_CLOEXEC_CHECK
+BASH_PGRP_SYNC
+BASH_SYS_ERRLIST
+BASH_SYS_SIGLIST
+BASH_UNDER_SYS_SIGLIST
+BASH_SIGNAL_CHECK
+BASH_TYPE_SIGHANDLER
+BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
+BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
+BASH_CHECK_TYPE(quad_t, , long, HAVE_QUAD_T)
+BASH_RLIMIT_TYPE
+BASH_STRUCT_TERMIOS_LDISC
+BASH_STRUCT_TERMIO_LDISC
+BASH_STRUCT_DIRENT_D_INO
+BASH_FUNC_STRSIGNAL
+BASH_FUNC_OPENDIR_CHECK
+BASH_FUNC_PRINTF
+BASH_FUNC_ULIMIT_MAXFDS
+BASH_FUNC_GETENV
+BASH_FUNC_GETCWD
+BASH_FUNC_SBRK_DECLARED
+BASH_FUNC_POSIX_SETJMP
+BASH_REINSTALL_SIGHANDLERS
+BASH_JOB_CONTROL_MISSING
+BASH_SYS_NAMED_PIPES
+BASH_HAVE_TIOCGWINSZ
+BASH_HAVE_TIOCSTAT
+BASH_HAVE_FIONREAD
+BASH_CHECK_GETPW_FUNCS
+BASH_CHECK_DEV_FD
+
+case "$host_os" in
+hpux*) BASH_KERNEL_RLIMIT_CHECK ;;
+esac
+
+if test "$opt_readline" = yes; then
+BASH_CHECK_LIB_TERMCAP
+fi
+AC_SUBST(TERMCAP_LIB)
+AC_SUBST(TERMCAP_DEP)
+
+dnl special checks
+BASH_DEFAULT_MAIL_DIR
+
+if test "$bash_cv_job_control_missing" = missing; then
+ opt_job_control=no
+fi
+
+if test "$opt_job_control" = yes; then
+AC_DEFINE(JOB_CONTROL)
+JOBS_O=jobs.o
+else
+JOBS_O=nojobs.o
+fi
+
+AC_SUBST(JOBS_O)
+
+dnl use this section to possibly define more cpp variables, specify local
+dnl libraries, and specify any additional local cc flags
+dnl
+dnl this should really go away someday
+
+case "$host_os" in
+sysv4.2) AC_DEFINE(SVR4_2)
+ AC_DEFINE(SVR4) ;;
+sysv4*) AC_DEFINE(SVR4) ;;
+hpux*) LOCAL_CFLAGS=-DHPUX ;;
+dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
+isc*) LOCAL_CFLAGS=-Disc386;;
+sco3.2v5*) LOCAL_CFLAGS="-DWAITPID_BROKEN -DNO_MEMSCRAMBLE -DPATH_MAX=1024" ;;
+sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DNO_MEMSCRAMBLE -DPATH_MAX=1024" ;;
+sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
+sunos4*) LOCAL_CFLAGS=-DSunOS4;;
+linux*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl";;# allow dynamic loading
+esac
+
+case "$host_cpu" in
+*cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
+esac
+
+case "$host_cpu-$host_os" in
+ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
+esac
+
+case "$host_cpu-$host_vendor-$host_os" in
+m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
+mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
+esac
+
+# try to create a directory tree if the source is elsewhere
+# this should be packaged into a script accessible via ${srcdir}/support
+case "$srcdir" in
+.) ;;
+*) for d in doc tests support lib ; do # dirs
+ test -d $d || mkdir $d
+ done
+ for ld in readline glob tilde malloc termcap; do # libdirs
+ test -d lib/$ld || mkdir lib/$ld
+ done
+ ;;
+esac
+
+BUILD_DIR=`pwd`
+
+AC_SUBST(incdir)
+AC_SUBST(BUILD_DIR)
+
+AC_SUBST(YACC)
+AC_SUBST(AR)
+
+AC_SUBST(host_cpu)
+AC_SUBST(host_os)
+
+AC_SUBST(LOCAL_LIBS)
+AC_SUBST(LOCAL_CFLAGS)
+AC_SUBST(LOCAL_LDFLAGS)
+
+AC_SUBST(ALLOCA_SOURCE)
+AC_SUBST(ALLOCA_OBJECT)
+
+AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+ lib/malloc/Makefile lib/termcap/Makefile lib/tilde/Makefile \
+ doc/Makefile],
+[
+# Makefile uses this timestamp file to record whether config.h is up to date.
+echo timestamp > stamp-h
+])