Update
[gdb.git] / readline / configure.in
blobfbab795eb9530abaa2f06ba69f6953842328a8be
1 dnl
2 dnl Configure script for readline library
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.
8 # Copyright (C) 1987-2005 Free Software Foundation, Inc.
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.
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.
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.
25 AC_REVISION([for Readline 5.1, version 2.59])
27 AC_INIT(readline, 5.1-release, bug-readline@gnu.org)
29 dnl make sure we are using a recent autoconf version
30 AC_PREREQ(2.50)
32 AC_CONFIG_SRCDIR(readline.h)
33 dnl GDB LOCAL
34 dnl AC_CONFIG_AUX_DIR(./support)
35 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
36 AC_CONFIG_HEADERS(config.h)
38 dnl update the value of RL_READLINE_VERSION in readline.h when this changes
39 LIBVERSION=5.1
41 AC_CANONICAL_HOST
43 dnl configure defaults
44 opt_curses=no
45 opt_purify=no
47 dnl arguments to configure
48 AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
49 AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval)
51 if test "$opt_curses" = "yes"; then
52         prefer_curses=yes
55 if test "$opt_purify" = yes; then
56         PURIFY="purify"
57 else
58         PURIFY=
61 dnl option parsing for optional features
62 opt_multibyte=yes
63 opt_static_libs=yes
64 opt_shared_libs=no
66 AC_ARG_ENABLE(multibyte, AC_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval)
67 dnl AC_ARG_ENABLE(shared, AC_HELP_STRING([--enable-shared], [build shared libraries [[default=YES]]]), opt_shared_libs=$enableval)
68 AC_ARG_ENABLE(static, AC_HELP_STRING([--enable-static], [build static libraries [[default=YES]]]), opt_static_libs=$enableval)
70 if test $opt_multibyte = no; then
71 AC_DEFINE(NO_MULTIBYTE_SUPPORT)
74 dnl load up the cross-building cache file -- add more cases and cache
75 dnl files as necessary
77 dnl Note that host and target machine are the same, and different than the
78 dnl build machine.
80 CROSS_COMPILE=
81 if test "x$cross_compiling" = "xyes"; then
82     case "${host}" in
83     *-cygwin*)
84         cross_cache=${srcdir}/cross-build/cygwin.cache
85         ;;
86     *-mingw*)
87         cross_cache=${srcdir}/cross-build/mingw.cache
88         ;;
89     i[[3456]]86-*-beos*)
90         cross_cache=${srcdir}/cross-build/x86-beos.cache
91         ;;
92     *)  echo "configure: cross-compiling for $host is not supported" >&2
93         ;;
94     esac
95     if test -n "${cross_cache}" && test -r "${cross_cache}"; then
96         echo "loading cross-build cache file ${cross_cache}"
97         . ${cross_cache}
98     fi
99     unset cross_cache
100     CROSS_COMPILE='-DCROSS_COMPILING'
101     AC_SUBST(CROSS_COMPILE)
104 echo ""
105 echo "Beginning configuration for readline-$LIBVERSION for ${host_cpu}-${host_vendor}-${host_os}"
106 echo ""
108 # We want these before the checks, so the checks can modify their values.
109 test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
111 AC_PROG_MAKE_SET
112 AC_PROG_CC
113 dnl AC_AIX
114 AC_MINIX
116 dnl BEGIN changes for CYGNUS cross-building for Cygwin
117 dnl NOTE: Some of these changes may no longer be necessary.
119 dnl load up the cross-building cache file -- add more cases and cache
120 dnl files as necessary
121 if test "x$cross_compiling" = "xyes"; then
122     case "${host}" in
123     *-cygwin*)
124         cross_cache=${srcdir}/cross-build/cygwin.cache
125         LOCAL_CFLAGS="$LOCAL_CFLAGS -I${srcdir}/../libtermcap"
126         ;;
127    *-mingw32*)  
128         cross_cache=${srcdir}/cross-build/mingw.cache
129         ;;
130     *)  echo "configure: cross-compiling for a non-cygwin target is not supported" >&2
131         ;;
132     esac
134     if test "x$cross_cache" != "x"; then
135         if test -r "${cross_cache}"; then
136             echo "loading cross-build cache file ${cross_cache}"
137             . ${cross_cache}
138         fi
139         unset cross_cache
140     fi
143 if test -z "$CC_FOR_BUILD"; then
144     if test "x$cross_compiling" = "xno"; then
145         CC_FOR_BUILD='$(CC)'
146     else
147         CC_FOR_BUILD=gcc
148     fi
150 AC_SUBST(CC_FOR_BUILD)
152 dnl END changes for CYGNUS cross-building for Cygwin
154 # If we're using gcc and the user hasn't specified CFLAGS, add -O to CFLAGS.
155 test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O"
157 AC_PROG_GCC_TRADITIONAL
158 AC_PROG_INSTALL
159 AC_CHECK_PROG(AR, ar, , ar)
160 dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
161 dnl This allows people to set it when running configure or make
162 test -n "$ARFLAGS" || ARFLAGS="cr"
163 AC_PROG_RANLIB
165 MAKE_SHELL=/bin/sh
166 AC_SUBST(MAKE_SHELL)
168 AC_C_CONST
169 AC_C_PROTOTYPES
170 AC_C_CHAR_UNSIGNED
172 AC_TYPE_SIGNAL
174 AC_TYPE_SIZE_T
175 AC_CHECK_TYPE(ssize_t, int)
177 AC_HEADER_STDC
179 AC_HEADER_STAT
180 AC_HEADER_DIRENT
182 AC_CHECK_FUNCS(fcntl kill lstat)
183 AC_CHECK_FUNCS(memmove putenv select setenv setlocale \
184                 strcasecmp strpbrk tcgetattr vsnprintf)
185 AC_CHECK_FUNCS(isascii isxdigit)
186 AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
188 AC_FUNC_STRCOLL
190 AC_CHECK_HEADERS(fcntl.h unistd.h stdlib.h varargs.h stdarg.h string.h strings.h \
191                 limits.h locale.h pwd.h memory.h termcap.h termios.h termio.h)
192 AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h)
194 AC_CHECK_HEADERS(sys/ptem.h,,,
196 #if HAVE_SYS_STREAM_H
197 #  include <sys/stream.h>
198 #endif
201 BASH_SYS_SIGNAL_VINTAGE
202 BASH_SYS_REINSTALL_SIGHANDLERS
204 BASH_FUNC_POSIX_SETJMP
205 BASH_FUNC_LSTAT
206 BASH_FUNC_STRCOLL
207 BASH_FUNC_CTYPE_NONASCII
209 BASH_CHECK_GETPW_FUNCS
211 AC_HEADER_TIOCGWINSZ
213 BASH_TYPE_SIGHANDLER
214 BASH_HAVE_TIOCSTAT
215 BASH_HAVE_FIONREAD
216 BASH_CHECK_SPEED_T
217 BASH_STRUCT_WINSIZE
218 BASH_STRUCT_DIRENT_D_INO
219 BASH_STRUCT_DIRENT_D_FILENO
221 dnl yuck
222 case "$host_os" in
223 aix*)   prefer_curses=yes ;;
224 esac
225 BASH_CHECK_LIB_TERMCAP
226 if test "$TERMCAP_LIB" = "./lib/termcap/libtermcap.a"; then
227         if test "$prefer_curses" = yes; then
228                 TERMCAP_LIB=-lcurses
229         else
230                 TERMCAP_LIB=-ltermcap   #default
231         fi
234 BASH_CHECK_MULTIBYTE
236 case "$host_cpu" in
237 *cray*) LOCAL_CFLAGS=-DCRAY ;;
238 *s390*) LOCAL_CFLAGS=-fsigned-char ;;
239 esac
241 case "$host_os" in
242 isc*)   LOCAL_CFLAGS=-Disc386 ;;
243 esac
245 # shared library configuration section
247 # Shared object configuration section.  These values are generated by
248 # ${srcdir}/support/shobj-conf
250 if test -f ${srcdir}/support/shobj-conf; then
251         AC_MSG_CHECKING(configuration for building shared libraries)
252         eval `TERMCAP_LIB=$TERMCAP_LIB ${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}`
254 #       case "$SHLIB_LIBS" in
255 #       *curses*|*termcap*|*termlib*)   ;;
256 #       *)                      SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;;
257 #       esac
258         
259         AC_SUBST(SHOBJ_CC)
260         AC_SUBST(SHOBJ_CFLAGS)
261         AC_SUBST(SHOBJ_LD)
262         AC_SUBST(SHOBJ_LDFLAGS)
263         AC_SUBST(SHOBJ_XLDFLAGS)
264         AC_SUBST(SHOBJ_LIBS)
265         AC_SUBST(SHOBJ_STATUS)
266         AC_SUBST(SHLIB_STATUS)
267         AC_SUBST(SHLIB_XLDFLAGS)
268         AC_SUBST(SHLIB_DOT)
269         AC_SUBST(SHLIB_LIBPREF)
270         AC_SUBST(SHLIB_LIBSUFF)
271         AC_SUBST(SHLIB_LIBVERSION)
272         AC_SUBST(SHLIB_DLLVERSION)
273         AC_SUBST(SHLIB_LIBS)
274         AC_MSG_RESULT($SHLIB_STATUS)
276         # SHLIB_STATUS is either `supported' or `unsupported'.  If it's
277         # `unsupported', turn off any default shared library building
278         if test "$SHLIB_STATUS" = 'unsupported'; then
279                 opt_shared_libs=no
280         fi
282         # shared library versioning
283         # quoted for m4 so I can use character classes
284         SHLIB_MAJOR=[`expr "$LIBVERSION" : '\([0-9]\)\..*'`]
285         SHLIB_MINOR=[`expr "$LIBVERSION" : '[0-9]\.\([0-9]\).*'`]
286         AC_SUBST(SHLIB_MAJOR)
287         AC_SUBST(SHLIB_MINOR)
290 if test "$opt_static_libs" = "yes"; then
291         STATIC_TARGET=static
292         STATIC_INSTALL_TARGET=install-static
294 if test "$opt_shared_libs" = "yes"; then
295         SHARED_TARGET=shared
296         SHARED_INSTALL_TARGET=install-shared
299 AC_SUBST(STATIC_TARGET)
300 AC_SUBST(SHARED_TARGET)
301 AC_SUBST(STATIC_INSTALL_TARGET)
302 AC_SUBST(SHARED_INSTALL_TARGET)
304 case "$host_os" in
305 msdosdjgpp*)    BUILD_DIR=`pwd.exe` ;;  # to prevent //d/path/file
306 *)              BUILD_DIR=`pwd` ;;
307 esac
309 case "$BUILD_DIR" in
310 *\ *)   BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
311 *)      ;;
312 esac
314 AC_SUBST(PURIFY)
315 AC_SUBST(BUILD_DIR)
317 AC_SUBST(CFLAGS)
318 AC_SUBST(LOCAL_CFLAGS)
319 AC_SUBST(LOCAL_LDFLAGS)
320 AC_SUBST(LOCAL_DEFS)
322 AC_SUBST(AR)
323 AC_SUBST(ARFLAGS)
325 AC_SUBST(host_cpu)
326 AC_SUBST(host_os)
328 AC_SUBST(LIBVERSION)
330 AC_SUBST(TERMCAP_LIB)
332 AC_OUTPUT([Makefile doc/Makefile examples/Makefile shlib/Makefile],
334 # Makefile uses this timestamp file to record whether config.h is up to date.
335 echo > stamp-h