source: trunk/src/gcc/libiberty/configure.in@ 2015

Last change on this file since 2015 was 1392, checked in by bird, 21 years ago

This commit was generated by cvs2svn to compensate for changes in r1391,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 14.2 KB
Line 
1dnl Process this file with autoconf to produce a configure script
2
3AC_PREREQ(2.13)
4AC_INIT(pexecute.c)
5
6# This works around the fact that libtool configuration may change LD
7# for this particular configuration, but some shells, instead of
8# keeping the changes in LD private, export them just because LD is
9# exported. We don't use libtool yet, but some day we might, so...
10ORIGINAL_LD_FOR_MULTILIBS=$LD
11
12dnl We use these options to decide which functions to include.
13AC_ARG_WITH(target-subdir,
14[ --with-target-subdir=SUBDIR Configuring in a subdirectory for target])
15AC_ARG_WITH(build-subdir,
16[ --with-build-subdir=SUBDIR Configuring in a subdirectory for build])
17AC_ARG_WITH(cross-host,
18[ --with-cross-host=HOST Configuring with a cross compiler])
19AC_ARG_WITH(newlib,
20[ --with-newlib Configuring with newlib])
21
22if test "${srcdir}" = "."; then
23 if test -n "${with_build_subdir}"; then
24 libiberty_topdir="${srcdir}/../.."
25 with_target_subdir=
26 elif test -z "${with_target_subdir}"; then
27 libiberty_topdir="${srcdir}/.."
28 else
29 if test "${with_target_subdir}" != "."; then
30 libiberty_topdir="${srcdir}/${with_multisrctop}../.."
31 else
32 libiberty_topdir="${srcdir}/${with_multisrctop}.."
33 fi
34 fi
35else
36 libiberty_topdir="${srcdir}/.."
37fi
38AC_SUBST(libiberty_topdir)
39AC_CONFIG_AUX_DIR($libiberty_topdir)
40
41dnl Very limited version of automake's enable-maintainer-mode
42
43AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
44 dnl maintainer-mode is disabled by default
45 AC_ARG_ENABLE(maintainer-mode,
46[ --enable-maintainer-mode
47 enable make rules and dependencies not useful
48 (and sometimes confusing) to the casual installer],
49 maintainer_mode=$enableval,
50 maintainer_mode=no)
51
52AC_MSG_RESULT($maintainer_mode)
53
54if test "$maintainer_mode" = "yes"; then
55 MAINT=''
56 NOTMAINT='#'
57else
58 MAINT='#'
59 NOTMAINT=''
60fi
61AC_SUBST(MAINT)dnl
62AC_SUBST(NOTMAINT)dnl
63
64# Do we have a single-tree copy of texinfo? Even if we do, we can't
65# rely on it - libiberty is built before texinfo.
66AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
67if test "x$MAKEINFO" = "x"; then
68 MAKEINFO="@echo makeinfo missing; true"
69 BUILD_INFO=
70else
71 BUILD_INFO=info
72 case x"`$MAKEINFO --version | grep 'GNU texinfo'`" in
73 x*\ [[1-3]].* )
74 MAKEINFO="@echo $MAKEINFO is too old, 4.0 or newer required; true"
75 BUILD_INFO=
76 AC_MSG_WARN([
77*** Makeinfo is too old. Info documentation will not be built.])
78 ;;
79 esac
80fi
81AC_SUBST(MAKEINFO)
82AC_SUBST(BUILD_INFO)
83
84AC_CHECK_PROG(PERL, perl, perl, )
85if test x"$PERL" = x""; then
86 HAVE_PERL='#'
87else
88 HAVE_PERL=''
89fi
90AC_SUBST(HAVE_PERL)
91
92AC_CANONICAL_HOST
93
94dnl When we start using automake:
95dnl AM_INIT_AUTOMAKE(libiberty, 1.0)
96
97dnl These must be called before AM_PROG_LIBTOOL, because it may want
98dnl to call AC_CHECK_PROG.
99AC_CHECK_TOOL(AR, ar)
100AC_CHECK_TOOL(RANLIB, ranlib, :)
101
102LIB_AC_PROG_CC
103
104AC_PROG_CC_C_O
105# autoconf is lame and doesn't give us any substitution variable for this.
106if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
107 NO_MINUS_C_MINUS_O=yes
108else
109 OUTPUT_OPTION='-o $@'
110fi
111AC_SUBST(NO_MINUS_C_MINUS_O)
112AC_SUBST(OUTPUT_OPTION)
113
114AC_ISC_POSIX
115AC_C_CONST
116AC_C_INLINE
117
118dnl When we start using libtool:
119dnl Default to a non shared library. This may be overridden by the
120dnl configure option --enable-shared.
121dnl AM_DISABLE_SHARED
122
123dnl When we start using libtool:
124dnl AM_PROG_LIBTOOL
125
126dnl When we start using automake:
127dnl AM_CONFIG_HEADER(config.h:config.in)
128AC_CONFIG_HEADER(config.h:config.in)
129
130dnl When we start using automake:
131dnl AM_MAINTAINER_MODE
132dnl AC_EXEEXT
133
134dnl When we start using automake:
135dnl AM_PROG_INSTALL
136AC_PROG_INSTALL
137
138. ${srcdir}/config.table
139host_makefile_frag=${frag}
140AC_SUBST_FILE(host_makefile_frag)
141
142# It's OK to check for header files. Although the compiler may not be
143# able to link anything, it had better be able to at least compile
144# something.
145AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h)
146AC_HEADER_SYS_WAIT
147AC_HEADER_TIME
148
149libiberty_AC_DECLARE_ERRNO
150
151AC_CHECK_TYPE(uintptr_t, unsigned long)
152# Given the above check, we always have uintptr_t or a fallback
153# definition. So define HAVE_UINTPTR_T in case any imported code
154# relies on it.
155AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.])
156
157AC_TYPE_PID_T
158
159# This is the list of functions which libiberty will provide if they
160# are not available on the host.
161
162funcs="asprintf"
163funcs="$funcs atexit"
164funcs="$funcs basename"
165funcs="$funcs bcmp"
166funcs="$funcs bcopy"
167funcs="$funcs bsearch"
168funcs="$funcs bzero"
169funcs="$funcs calloc"
170funcs="$funcs clock"
171funcs="$funcs ffs"
172funcs="$funcs getcwd"
173funcs="$funcs getpagesize"
174funcs="$funcs index"
175funcs="$funcs insque"
176funcs="$funcs memchr"
177funcs="$funcs memcmp"
178funcs="$funcs memcpy"
179funcs="$funcs memmove"
180funcs="$funcs memset"
181funcs="$funcs mkstemps"
182funcs="$funcs putenv"
183funcs="$funcs random"
184funcs="$funcs rename"
185funcs="$funcs rindex"
186funcs="$funcs setenv"
187funcs="$funcs sigsetmask"
188funcs="$funcs strcasecmp"
189funcs="$funcs strchr"
190funcs="$funcs strdup"
191funcs="$funcs strncasecmp"
192funcs="$funcs strrchr"
193funcs="$funcs strstr"
194funcs="$funcs strtod"
195funcs="$funcs strtol"
196funcs="$funcs strtoul"
197funcs="$funcs tmpnam"
198funcs="$funcs vasprintf"
199funcs="$funcs vfprintf"
200funcs="$funcs vprintf"
201funcs="$funcs vsprintf"
202funcs="$funcs waitpid"
203
204# Also in the old function.def file: alloca, vfork, getopt.
205
206vars="sys_errlist sys_nerr sys_siglist"
207
208checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
209checkfuncs="$checkfuncs realpath canonicalize_file_name"
210checkfuncs="$checkfuncs pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl"
211
212# These are neither executed nor required, but they help keep
213# autoheader happy without adding a bunch of text to acconfig.h.
214if test "x" = "y"; then
215 AC_CHECK_FUNCS(asprintf atexit basename bcmp bcopy bsearch bzero calloc clock)
216 AC_CHECK_FUNCS(getcwd getpagesize index insque mkstemps memchr memcmp memcpy)
217 AC_CHECK_FUNCS(memmove memset putenv random rename rindex sigsetmask)
218 AC_CHECK_FUNCS(strcasecmp setenv strchr strdup strncasecmp strrchr strstr)
219 AC_CHECK_FUNCS(strtod strtol strtoul tmpnam vasprintf vfprintf vprintf)
220 AC_CHECK_FUNCS(vsprintf waitpid getrusage on_exit psignal strerror strsignal)
221 AC_CHECK_FUNCS(sysconf times sbrk gettimeofday ffs)
222 AC_CHECK_FUNCS(realpath canonicalize_file_name)
223 AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl)
224 AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
225 AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.])
226 AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
227fi
228
229# For each of these functions, if the host does not provide the
230# function we want to put FN.o in LIBOBJS, and if the host does
231# provide the function, we want to define HAVE_FN in config.h.
232
233setobjs=
234CHECK=
235target_header_dir=
236if test -n "${with_target_subdir}"; then
237
238 # We are being configured as a target library. AC_REPLACE_FUNCS
239 # may not work correctly, because the compiler may not be able to
240 # link executables. Note that we may still be being configured
241 # native.
242
243 # If we are being configured for newlib, we know which functions
244 # newlib provide and which ones we will be expected to provide.
245
246 if test "x${with_newlib}" = "xyes"; then
247 LIBOBJS="asprintf.o basename.o insque.o random.o strdup.o vasprintf.o"
248
249 for f in $funcs; do
250 case "$f" in
251 asprintf | basename | insque | random | strdup | vasprintf)
252 ;;
253 *)
254 n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
255 AC_DEFINE_UNQUOTED($n)
256 ;;
257 esac
258 done
259
260 # newlib doesnt provide any of the variables in $vars, so we
261 # dont have to check them here.
262
263 # Of the functions in $checkfuncs, newlib only has strerror.
264 AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
265
266 setobjs=yes
267
268 fi
269
270 # We may wish to install the target headers somewhere.
271 AC_ARG_ENABLE(install-libiberty,
272 [ --enable-install-libiberty Install headers for end users],
273 enable_install_libiberty=$enableval,
274 enable_install_libiberty=no)dnl
275
276 # Option parsed, now set things appropriately.
277 case x"$enable_install_libiberty" in
278 xyes|x)
279 target_header_dir=libiberty
280 ;;
281 xno)
282 target_header_dir=
283 ;;
284 *)
285 # This could be sanity-checked in various ways...
286 target_header_dir="${enable_install_libiberty}"
287 ;;
288 esac
289
290
291else
292
293 # Not a target library, so we set things up to run the test suite.
294 CHECK=check-cplus-dem
295
296fi
297
298AC_SUBST(CHECK)
299AC_SUBST(target_header_dir)
300
301case "${host}" in
302 *-*-cygwin* | *-*-mingw*)
303 AC_DEFINE_NOAUTOHEADER(HAVE_SYS_ERRLIST)
304 AC_DEFINE_NOAUTOHEADER(HAVE_SYS_NERR)
305 ;;
306esac
307
308if test -z "${setobjs}"; then
309 case "${host}" in
310
311 *-*-vxworks*)
312 # Handle VxWorks configuration specially, since on VxWorks the
313 # libraries are actually on the target board, not in the file
314 # system.
315 LIBOBJS="basename.o getpagesize.o insque.o random.o strcasecmp.o"
316 LIBOBJS="$LIBOBJS strncasecmp.o strdup.o vfork.o waitpid.o vasprintf.o"
317 for f in $funcs; do
318 case "$f" in
319 basename | getpagesize | insque | random | strcasecmp)
320 ;;
321 strncasecmp | strdup | vfork | waitpid | vasprintf)
322 ;;
323 *)
324 n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
325 AC_DEFINE_UNQUOTED($n)
326 ;;
327 esac
328 done
329
330 # VxWorks doesn't provide any of the variables in $vars, so we
331 # don't have to check them here.
332
333 # Of the functions in $checkfuncs, VxWorks only has strerror.
334 AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
335
336 setobjs=yes
337 ;;
338
339 esac
340fi
341
342if test -z "${setobjs}"; then
343
344 case "${host}" in
345
346 *-*-cygwin*)
347 # The Cygwin library actually uses a couple of files from
348 # libiberty when it is built. If we are building a native
349 # Cygwin, and we run the tests, we will appear to have these
350 # files. However, when we go on to build winsup, we will wind up
351 # with a library which does not have the files, since they should
352 # have come from libiberty.
353
354 # We handle this by removing the functions the winsup library
355 # provides from our shell variables, so that they appear to be
356 # missing.
357
358 # DJ - only if we're *building* cygwin, not just building *with* cygwin
359
360 if test -n "${with_target_subdir}"
361 then
362 funcs="`echo $funcs | sed -e 's/random//'`"
363 LIBOBJS="$LIBOBJS random.o"
364 vars="`echo $vars | sed -e 's/sys_siglist//'`"
365 checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`"
366 fi
367 ;;
368
369 *-*-mingw32*)
370 # Under mingw32, sys_nerr and sys_errlist exist, but they are
371 # macros, so the test below won't find them.
372 libiberty_cv_var_sys_nerr=yes
373 libiberty_cv_var_sys_errlist=yes
374 ;;
375
376 *-*-uwin*)
377 # Under some versions of uwin, vfork is notoriously buggy and the test
378 # can hang configure; on other versions, vfork exists just as a stub.
379 # FIXME: This should be removed once vfork in uwin's runtime is fixed.
380 ac_cv_func_vfork_works=no
381 # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
382 # macros (actually, these are imported from a DLL, but the end effect
383 # is the same), so the test below won't find them.
384 libiberty_cv_var_sys_nerr=yes
385 libiberty_cv_var_sys_errlist=yes
386 ;;
387
388 *-*-*vms*)
389 # Under VMS, vfork works very different than on Unix. The standard test
390 # won't work, and it isn't easily adaptable. It makes more sense to
391 # just force it.
392 ac_cv_func_vfork_works=yes
393 ;;
394
395 esac
396
397 # We haven't set the list of objects yet. Use the standard autoconf
398 # tests. This will only work if the compiler works.
399 AC_PROG_CC_WORKS
400 AC_REPLACE_FUNCS($funcs)
401 libiberty_AC_FUNC_C_ALLOCA
402 AC_FUNC_VFORK
403 if test $ac_cv_func_vfork_works = no; then
404 LIBOBJS="$LIBOBJS vfork.o"
405 fi
406 # We only need _doprnt if we might use it to implement v*printf.
407 if test $ac_cv_func_vprintf != yes \
408 || test $ac_cv_func_vfprintf != yes \
409 || test $ac_cv_func_vsprintf != yes; then
410 AC_REPLACE_FUNCS(_doprnt)
411 else
412 AC_CHECK_FUNCS(_doprnt)
413 fi
414
415 for v in $vars; do
416 AC_MSG_CHECKING([for $v])
417 AC_CACHE_VAL(libiberty_cv_var_$v,
418 [AC_TRY_LINK([int *p;], [extern int $v []; p = $v;],
419 [eval "libiberty_cv_var_$v=yes"],
420 [eval "libiberty_cv_var_$v=no"])])
421 if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then
422 AC_MSG_RESULT(yes)
423 n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
424 AC_DEFINE_UNQUOTED($n)
425 else
426 AC_MSG_RESULT(no)
427 fi
428 done
429
430 # special check for _system_configuration because AIX <4.3.2 do not
431 # contain the `physmem' member.
432 AC_MSG_CHECKING([for external symbol _system_configuration])
433 AC_TRY_COMPILE([#include <sys/systemcfg.h>],
434 [double x = _system_configuration.physmem;],
435 [AC_MSG_RESULT([yes])
436 AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
437 [Define if you have the _system_configuration variable.])],
438 [AC_MSG_RESULT([no])])
439
440 libiberty_NEED_DECLARATION(canonicalize_file_name)
441 AC_CHECK_FUNCS($checkfuncs)
442fi
443
444libiberty_AC_FUNC_STRNCMP
445
446# Install a library built with a cross compiler in $(tooldir) rather
447# than $(libdir).
448if test -z "${with_cross_host}"; then
449 INSTALL_DEST=libdir
450else
451 INSTALL_DEST=tooldir
452fi
453AC_SUBST(INSTALL_DEST)
454
455# We need multilib support, but only if configuring for the target.
456AC_OUTPUT(Makefile testsuite/Makefile,
457[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
458if test -n "$CONFIG_FILES"; then
459 if test -n "${with_build_subdir}" || test -n "${with_target_subdir}"; then
460 # FIXME: We shouldn't need to set ac_file
461 ac_file=Makefile
462 LD="${ORIGINAL_LD_FOR_MULTILIBS}"
463 . ${libiberty_topdir}/config-ml.in
464 fi
465fi],
466srcdir=${srcdir}
467host=${host}
468target=${target}
469with_target_subdir=${with_target_subdir}
470with_build_subdir=${with_build_subdir}
471with_multisubdir=${with_multisubdir}
472ac_configure_args="--enable-multilib ${ac_configure_args}"
473CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
474ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
475libiberty_topdir=${libiberty_topdir}
476)
Note: See TracBrowser for help on using the repository browser.