Fix corrupted .eh_frame section with LTO and --gc-sections.
[platform/upstream/binutils.git] / readline / configure.in
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.
7
8 # Copyright (C) 1987-2009 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 3 of the License, or
13 #   (at your option) 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, see <http://www.gnu.org/licenses/>.
22
23 AC_REVISION([for Readline 6.2, version 2.67])
24
25 m4_include([../config/override.m4])
26
27 AC_INIT(readline, 6.2, bug-readline@gnu.org)
28
29 dnl make sure we are using a recent autoconf version
30 AC_PREREQ(2.50)
31
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)
37
38 dnl update the value of RL_READLINE_VERSION in readline.h when this changes
39 LIBVERSION=6.2
40
41 AC_CANONICAL_HOST
42 AC_CANONICAL_BUILD
43
44 dnl configure defaults
45 opt_curses=no
46 opt_purify=no
47
48 dnl arguments to configure
49 AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
50 AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval)
51
52 if test "$opt_curses" = "yes"; then
53         prefer_curses=yes
54 fi
55
56 if test "$opt_purify" = yes; then
57         PURIFY="purify"
58 else
59         PURIFY=
60 fi
61
62 dnl option parsing for optional features
63 opt_multibyte=yes
64 opt_static_libs=yes
65 opt_shared_libs=no
66
67 AC_ARG_ENABLE(multibyte, AC_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval)
68 dnl AC_ARG_ENABLE(shared, AC_HELP_STRING([--enable-shared], [build shared libraries [[default=YES]]]), opt_shared_libs=$enableval)
69 AC_ARG_ENABLE(static, AC_HELP_STRING([--enable-static], [build static libraries [[default=YES]]]), opt_static_libs=$enableval)
70
71 if test $opt_multibyte = no; then
72 AC_DEFINE(NO_MULTIBYTE_SUPPORT)
73 fi
74
75 dnl load up the cross-building cache file -- add more cases and cache
76 dnl files as necessary
77
78 dnl Note that host and target machine are the same, and different than the
79 dnl build machine.
80
81 CROSS_COMPILE=
82 if test "x$cross_compiling" = "xyes"; then
83     case "${host}" in
84     *-cygwin*)
85         cross_cache=${srcdir}/cross-build/cygwin.cache
86         ;;
87     *-mingw*)
88         cross_cache=${srcdir}/cross-build/mingw.cache
89         ;;
90     i[[3456]]86-*-beos*)
91         cross_cache=${srcdir}/cross-build/x86-beos.cache
92         ;;
93     *)  echo "configure: cross-compiling for $host is not supported" >&2
94         ;;
95     esac
96     if test -n "${cross_cache}" && test -r "${cross_cache}"; then
97         echo "loading cross-build cache file ${cross_cache}"
98         . ${cross_cache}
99     fi
100     unset cross_cache
101     CROSS_COMPILE='-DCROSS_COMPILING'
102     AC_SUBST(CROSS_COMPILE)
103 fi
104
105 echo ""
106 echo "Beginning configuration for readline-$LIBVERSION for ${host_cpu}-${host_vendor}-${host_os}"
107 echo ""
108
109 # We want these before the checks, so the checks can modify their values.
110 test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
111
112 AC_PROG_MAKE_SET
113 AC_PROG_CC
114 dnl AC_AIX
115 AC_MINIX
116
117 # If we're using gcc and the user hasn't specified CFLAGS, add -O to CFLAGS.
118 test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O"
119
120 AC_PROG_GCC_TRADITIONAL
121 AC_PROG_INSTALL
122 AC_CHECK_PROG(AR, ar, , ar)
123 dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
124 dnl This allows people to set it when running configure or make
125 test -n "$ARFLAGS" || ARFLAGS="cr"
126 AC_PROG_RANLIB
127
128 MAKE_SHELL=/bin/sh
129 AC_SUBST(MAKE_SHELL)
130
131 AC_C_CONST
132 AC_C_PROTOTYPES
133 AC_C_CHAR_UNSIGNED
134 AC_C_VOLATILE
135
136 AC_TYPE_SIGNAL
137
138 AC_TYPE_SIZE_T
139 AC_CHECK_TYPE(ssize_t, int)
140
141 AC_HEADER_STDC
142
143 AC_HEADER_STAT
144 AC_HEADER_DIRENT
145
146 AC_CHECK_FUNCS(fcntl kill lstat)
147 AC_CHECK_FUNCS(memmove putenv select setenv setlocale \
148                 strcasecmp strpbrk tcgetattr vsnprintf)
149 AC_CHECK_FUNCS(isascii isxdigit)
150 AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
151
152 AC_FUNC_STRCOLL
153
154 AC_CHECK_HEADERS(fcntl.h unistd.h stdlib.h varargs.h stdarg.h string.h strings.h \
155                 limits.h locale.h pwd.h memory.h termcap.h termios.h termio.h)
156 AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h)
157
158 AC_CHECK_HEADERS(sys/ptem.h,,,
159 [[
160 #if HAVE_SYS_STREAM_H
161 #  include <sys/stream.h>
162 #endif
163 ]])
164
165 AC_SYS_LARGEFILE
166
167 BASH_SYS_SIGNAL_VINTAGE
168 BASH_SYS_REINSTALL_SIGHANDLERS
169
170 BASH_FUNC_POSIX_SETJMP
171 BASH_FUNC_LSTAT
172 BASH_FUNC_STRCOLL
173 BASH_FUNC_CTYPE_NONASCII
174
175 BASH_CHECK_GETPW_FUNCS
176
177 AC_HEADER_TIOCGWINSZ
178
179 BASH_TYPE_SIG_ATOMIC_T
180 BASH_TYPE_SIGHANDLER
181
182 BASH_HAVE_TIOCSTAT
183 BASH_HAVE_FIONREAD
184 BASH_CHECK_SPEED_T
185 BASH_STRUCT_WINSIZE
186 BASH_STRUCT_DIRENT_D_INO
187 BASH_STRUCT_DIRENT_D_FILENO
188
189 dnl yuck
190 case "$host_os" in
191 aix*)   prefer_curses=yes ;;
192 esac
193 BASH_CHECK_LIB_TERMCAP
194 if test "$TERMCAP_LIB" = "./lib/termcap/libtermcap.a"; then
195         if test "$prefer_curses" = yes; then
196                 TERMCAP_LIB=-lcurses
197         else
198                 TERMCAP_LIB=-ltermcap   #default
199         fi
200 fi
201
202 BASH_CHECK_MULTIBYTE
203
204 case "$host_cpu" in
205 *cray*) LOCAL_CFLAGS=-DCRAY ;;
206 *s390*) LOCAL_CFLAGS=-fsigned-char ;;
207 esac
208
209 case "$host_os" in
210 isc*)   LOCAL_CFLAGS=-Disc386 ;;
211 esac
212
213 # shared library configuration section
214 #
215 # Shared object configuration section.  These values are generated by
216 # ${srcdir}/support/shobj-conf
217 #
218 if test -f ${srcdir}/support/shobj-conf; then
219         AC_MSG_CHECKING(configuration for building shared libraries)
220         eval `TERMCAP_LIB=$TERMCAP_LIB ${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}`
221
222 #       case "$SHLIB_LIBS" in
223 #       *curses*|*termcap*|*termlib*)   ;;
224 #       *)                      SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;;
225 #       esac
226         
227         AC_SUBST(SHOBJ_CC)
228         AC_SUBST(SHOBJ_CFLAGS)
229         AC_SUBST(SHOBJ_LD)
230         AC_SUBST(SHOBJ_LDFLAGS)
231         AC_SUBST(SHOBJ_XLDFLAGS)
232         AC_SUBST(SHOBJ_LIBS)
233         AC_SUBST(SHOBJ_STATUS)
234         AC_SUBST(SHLIB_STATUS)
235         AC_SUBST(SHLIB_XLDFLAGS)
236         AC_SUBST(SHLIB_DOT)
237         AC_SUBST(SHLIB_LIBPREF)
238         AC_SUBST(SHLIB_LIBSUFF)
239         AC_SUBST(SHLIB_LIBVERSION)
240         AC_SUBST(SHLIB_DLLVERSION)
241         AC_SUBST(SHLIB_LIBS)
242         AC_MSG_RESULT($SHLIB_STATUS)
243
244         # SHLIB_STATUS is either `supported' or `unsupported'.  If it's
245         # `unsupported', turn off any default shared library building
246         if test "$SHLIB_STATUS" = 'unsupported'; then
247                 opt_shared_libs=no
248         fi
249
250         # shared library versioning
251         # quoted for m4 so I can use character classes
252         SHLIB_MAJOR=[`expr "$LIBVERSION" : '\([0-9]\)\..*'`]
253         SHLIB_MINOR=[`expr "$LIBVERSION" : '[0-9]\.\([0-9]\).*'`]
254         AC_SUBST(SHLIB_MAJOR)
255         AC_SUBST(SHLIB_MINOR)
256 fi
257
258 if test "$opt_static_libs" = "yes"; then
259         STATIC_TARGET=static
260         STATIC_INSTALL_TARGET=install-static
261 fi
262 if test "$opt_shared_libs" = "yes"; then
263         SHARED_TARGET=shared
264         SHARED_INSTALL_TARGET=install-shared
265 fi
266
267 AC_SUBST(STATIC_TARGET)
268 AC_SUBST(SHARED_TARGET)
269 AC_SUBST(STATIC_INSTALL_TARGET)
270 AC_SUBST(SHARED_INSTALL_TARGET)
271
272 case "$build_os" in
273 msdosdjgpp*)    BUILD_DIR=`pwd.exe` ;;  # to prevent //d/path/file
274 *)              BUILD_DIR=`pwd` ;;
275 esac
276
277 case "$BUILD_DIR" in
278 *\ *)   BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
279 *)      ;;
280 esac
281
282 AC_SUBST(PURIFY)
283 AC_SUBST(BUILD_DIR)
284
285 AC_SUBST(CFLAGS)
286 AC_SUBST(LOCAL_CFLAGS)
287 AC_SUBST(LOCAL_LDFLAGS)
288 AC_SUBST(LOCAL_DEFS)
289
290 AC_SUBST(AR)
291 AC_SUBST(ARFLAGS)
292
293 AC_SUBST(host_cpu)
294 AC_SUBST(host_os)
295
296 AC_SUBST(LIBVERSION)
297
298 AC_SUBST(TERMCAP_LIB)
299
300 AC_OUTPUT([Makefile doc/Makefile examples/Makefile shlib/Makefile],
301 [
302 # Makefile uses this timestamp file to record whether config.h is up to date.
303 echo > stamp-h
304 ])