0
|
1 dnl Process this file with autoconf to produce a configure script
|
|
2
|
|
3 AC_PREREQ(2.59)
|
|
4 AC_INIT
|
|
5 AC_CONFIG_SRCDIR([xmalloc.c])
|
|
6
|
|
7 # This works around the fact that libtool configuration may change LD
|
|
8 # for this particular configuration, but some shells, instead of
|
|
9 # keeping the changes in LD private, export them just because LD is
|
|
10 # exported. We don't use libtool yet, but some day we might, so...
|
|
11 ORIGINAL_LD_FOR_MULTILIBS=$LD
|
|
12
|
|
13 dnl We use these options to decide which functions to include.
|
|
14 AC_ARG_WITH(target-subdir,
|
|
15 [ --with-target-subdir=SUBDIR Configuring in a subdirectory for target])
|
|
16 AC_ARG_WITH(build-subdir,
|
|
17 [ --with-build-subdir=SUBDIR Configuring in a subdirectory for build])
|
|
18 AC_ARG_WITH(cross-host,
|
|
19 [ --with-cross-host=HOST Configuring with a cross compiler])
|
|
20 AC_ARG_WITH(newlib,
|
|
21 [ --with-newlib Configuring with newlib])
|
|
22
|
|
23 if test "${srcdir}" = "."; then
|
|
24 if test -n "${with_build_subdir}"; then
|
|
25 libiberty_topdir="${srcdir}/../.."
|
|
26 with_target_subdir=
|
|
27 elif test -z "${with_target_subdir}"; then
|
|
28 libiberty_topdir="${srcdir}/.."
|
|
29 else
|
|
30 if test "${with_target_subdir}" != "."; then
|
|
31 libiberty_topdir="${srcdir}/${with_multisrctop}../.."
|
|
32 else
|
|
33 libiberty_topdir="${srcdir}/${with_multisrctop}.."
|
|
34 fi
|
|
35 fi
|
|
36 else
|
|
37 libiberty_topdir="${srcdir}/.."
|
|
38 fi
|
|
39 AC_SUBST(libiberty_topdir)
|
|
40 AC_CONFIG_AUX_DIR($libiberty_topdir)
|
|
41
|
|
42 dnl Very limited version of automake's enable-maintainer-mode
|
|
43
|
|
44 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
45 dnl maintainer-mode is disabled by default
|
|
46 AC_ARG_ENABLE(maintainer-mode,
|
|
47 [ --enable-maintainer-mode
|
|
48 enable make rules and dependencies not useful
|
|
49 (and sometimes confusing) to the casual installer],
|
|
50 maintainer_mode=$enableval,
|
|
51 maintainer_mode=no)
|
|
52
|
|
53 AC_MSG_RESULT($maintainer_mode)
|
|
54
|
|
55 if test "$maintainer_mode" = "yes"; then
|
|
56 MAINT=''
|
|
57 NOTMAINT='#'
|
|
58 else
|
|
59 MAINT='#'
|
|
60 NOTMAINT=''
|
|
61 fi
|
|
62 AC_SUBST(MAINT)dnl
|
|
63 AC_SUBST(NOTMAINT)dnl
|
|
64
|
|
65 # Do we have a single-tree copy of texinfo? Even if we do, we can't
|
|
66 # rely on it - libiberty is built before texinfo.
|
|
67 AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
|
|
68 if test "x$MAKEINFO" = "x"; then
|
|
69 MAKEINFO="@echo makeinfo missing; true"
|
|
70 BUILD_INFO=
|
|
71 else
|
|
72 BUILD_INFO=info
|
|
73 case "$MAKEINFO" in
|
|
74 */missing\ makeinfo*)
|
|
75 BUILD_INFO=
|
|
76 AC_MSG_WARN([
|
|
77 *** Makeinfo is missing. Info documentation will not be built.])
|
|
78 ;;
|
|
79 *)
|
|
80 case x"`$MAKEINFO --version | grep 'GNU texinfo'`" in
|
|
81 x*\ [[1-3]].* )
|
|
82 MAKEINFO="@echo $MAKEINFO is too old, 4.0 or newer required; true"
|
|
83 BUILD_INFO=
|
|
84 AC_MSG_WARN([
|
|
85 *** Makeinfo is too old. Info documentation will not be built.])
|
|
86 ;;
|
|
87 esac
|
|
88 ;;
|
|
89 esac
|
|
90 fi
|
|
91 AC_SUBST(MAKEINFO)
|
|
92 AC_SUBST(BUILD_INFO)
|
|
93
|
|
94 AC_CHECK_PROG(PERL, perl, perl, )
|
|
95 if test x"$PERL" = x""; then
|
|
96 HAVE_PERL='#'
|
|
97 else
|
|
98 HAVE_PERL=''
|
|
99 fi
|
|
100 AC_SUBST(HAVE_PERL)
|
|
101
|
|
102 AC_CANONICAL_HOST
|
|
103
|
|
104 dnl When we start using automake:
|
|
105 dnl AM_INIT_AUTOMAKE(libiberty, 1.0)
|
|
106
|
|
107 dnl These must be called before AM_PROG_LIBTOOL, because it may want
|
|
108 dnl to call AC_CHECK_PROG.
|
|
109 AC_CHECK_TOOL(AR, ar)
|
|
110 AC_CHECK_TOOL(RANLIB, ranlib, :)
|
|
111
|
|
112 dnl When switching to automake, replace the following with AM_ENABLE_MULTILIB.
|
|
113 # Add --enable-multilib to configure.
|
|
114 # Default to --enable-multilib
|
|
115 AC_ARG_ENABLE(multilib,
|
|
116 [ --enable-multilib build many library versions (default)],
|
|
117 [case "$enableval" in
|
|
118 yes) multilib=yes ;;
|
|
119 no) multilib=no ;;
|
|
120 *) AC_MSG_ERROR([bad value $enableval for multilib option]) ;;
|
|
121 esac],
|
|
122 [multilib=yes])
|
|
123
|
|
124 # Even if the default multilib is not a cross compilation,
|
|
125 # it may be that some of the other multilibs are.
|
|
126 if test $cross_compiling = no && test $multilib = yes \
|
|
127 && test "x${with_multisubdir}" != x ; then
|
|
128 cross_compiling=maybe
|
|
129 fi
|
|
130
|
|
131 GCC_NO_EXECUTABLES
|
|
132 AC_PROG_CC
|
|
133 AC_SYS_LARGEFILE
|
|
134 AC_PROG_CPP_WERROR
|
|
135
|
|
136 ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wc++-compat \
|
|
137 -Wstrict-prototypes], [ac_libiberty_warn_cflags])
|
|
138 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([], [ac_libiberty_warn_cflags])
|
|
139
|
|
140 AC_PROG_CC_C_O
|
|
141 # autoconf is lame and doesn't give us any substitution variable for this.
|
|
142 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
|
|
143 NO_MINUS_C_MINUS_O=yes
|
|
144 else
|
|
145 OUTPUT_OPTION='-o $@'
|
|
146 fi
|
|
147 AC_SUBST(NO_MINUS_C_MINUS_O)
|
|
148 AC_SUBST(OUTPUT_OPTION)
|
|
149
|
|
150 AC_C_CONST
|
|
151 AC_C_INLINE
|
|
152 AC_C_BIGENDIAN
|
|
153
|
|
154 dnl When we start using libtool:
|
|
155 dnl Default to a non shared library. This may be overridden by the
|
|
156 dnl configure option --enable-shared.
|
|
157 dnl AM_DISABLE_SHARED
|
|
158
|
|
159 dnl When we start using libtool:
|
|
160 dnl AM_PROG_LIBTOOL
|
|
161
|
|
162 dnl When we start using automake:
|
|
163 dnl AM_CONFIG_HEADER(config.h:config.in)
|
|
164 AC_CONFIG_HEADER(config.h:config.in)
|
|
165
|
|
166 dnl When we start using automake:
|
|
167 dnl AM_MAINTAINER_MODE
|
|
168 dnl AC_EXEEXT
|
|
169
|
|
170 dnl When we start using automake:
|
|
171 dnl AM_PROG_INSTALL
|
|
172 AC_PROG_INSTALL
|
|
173
|
|
174 # Don't build the shared library for build.
|
|
175 if [[ -n "${with_build_subdir}" ]]; then
|
|
176 enable_shared=no
|
|
177 fi
|
|
178
|
|
179 frag=
|
|
180 case "${host}" in
|
|
181 rs6000-ibm-aix3.1 | rs6000-ibm-aix)
|
|
182 frag=mh-aix ;;
|
|
183 *-*-cxux7*) frag=mh-cxux7 ;;
|
|
184 *-*-freebsd2.1.*) frag=mh-fbsd21 ;;
|
|
185 *-*-freebsd2.2.[[012]]) frag=mh-fbsd21 ;;
|
|
186 i370-*-opened*) frag=mh-openedition ;;
|
|
187 i[[34567]]86-*-windows*) frag=mh-windows ;;
|
|
188 esac
|
|
189
|
|
190 if [[ -n "${frag}" ]]; then
|
|
191 frag=${libiberty_topdir}/libiberty/config/$frag
|
|
192 fi
|
|
193
|
|
194 # If they didn't specify --enable-shared, don't generate shared libs.
|
|
195 case "${enable_shared}" in
|
|
196 yes) shared=yes ;;
|
|
197 no) shared=no ;;
|
|
198 "") shared=no ;;
|
|
199 *) shared=yes ;;
|
|
200 esac
|
|
201 if [[ "${shared}" = "yes" ]]; then
|
|
202 case "${host}" in
|
|
203 *-*-cygwin*) ;;
|
|
204 alpha*-*-linux*) PICFLAG=-fPIC ;;
|
|
205 arm*-*-*) PICFLAG=-fPIC ;;
|
|
206 hppa*-*-*) PICFLAG=-fPIC ;;
|
|
207 i370-*-*) PICFLAG=-fPIC ;;
|
|
208 ia64-*-*) PICFLAG=-fpic ;;
|
|
209 i[[34567]]86-*-* | x86_64-*-*)
|
|
210 PICFLAG=-fpic ;;
|
|
211 m68k-*-*) PICFLAG=-fpic ;;
|
|
212 mips*-*-linux*) PICFLAG=-fPIC ;;
|
|
213 powerpc*-*-aix*) ;;
|
|
214 powerpc*-*-*) PICFLAG=-fPIC ;;
|
|
215 sparc*-*-*) case "${CFLAGS}" in
|
|
216 *-fpic* ) PICFLAG=-fpic ;;
|
|
217 * ) PICFLAG=-fPIC ;;
|
|
218 esac ;;
|
|
219 s390*-*-*) PICFLAG=-fpic ;;
|
|
220 esac
|
|
221 fi
|
|
222 AC_SUBST(PICFLAG)
|
|
223
|
|
224 echo "# Warning: this fragment is automatically generated" > temp-frag
|
|
225
|
|
226 if [[ -n "${frag}" ]] && [[ -f "${frag}" ]]; then
|
|
227 echo "Appending ${frag} to xhost-mkfrag"
|
|
228 echo "# Following fragment copied from ${frag}" >> temp-frag
|
|
229 cat ${frag} >> temp-frag
|
|
230 fi
|
|
231
|
|
232 # record if we want to build shared libs.
|
|
233 if [[ "${shared}" = "yes" ]]; then
|
|
234 echo enable_shared = yes >> temp-frag
|
|
235 else
|
|
236 echo enable_shared = no >> temp-frag
|
|
237 fi
|
|
238
|
|
239 frag=xhost-mkfrag
|
|
240 ${CONFIG_SHELL-/bin/sh} ${libiberty_topdir}/move-if-change temp-frag xhost-mkfrag
|
|
241
|
|
242 host_makefile_frag=${frag}
|
|
243 AC_SUBST_FILE(host_makefile_frag)
|
|
244
|
|
245 # It's OK to check for header files. Although the compiler may not be
|
|
246 # able to link anything, it had better be able to at least compile
|
|
247 # something.
|
|
248 AC_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 stdint.h stdio_ext.h)
|
|
249 AC_HEADER_SYS_WAIT
|
|
250 AC_HEADER_TIME
|
|
251
|
|
252 libiberty_AC_DECLARE_ERRNO
|
|
253
|
|
254 # Determine the size of an int for struct fibnode.
|
|
255 AC_CHECK_SIZEOF([int])
|
|
256
|
|
257 AC_CHECK_TYPE(uintptr_t, unsigned long)
|
|
258
|
|
259 # Look for a 64-bit type.
|
|
260 AC_MSG_CHECKING([for a 64-bit type])
|
|
261 AC_CACHE_VAL(liberty_cv_uint64,
|
|
262 [AC_TRY_COMPILE(
|
|
263 [#ifdef HAVE_STDINT_H
|
|
264 #include <stdint.h>
|
|
265 #endif],
|
|
266 [extern uint64_t foo;],
|
|
267 liberty_cv_uint64=uint64_t,
|
|
268 [AC_TRY_COMPILE(
|
|
269 [#ifdef HAVE_LIMITS_H
|
|
270 #include <limits.h>
|
|
271 #endif
|
|
272 #ifndef CHAR_BIT
|
|
273 #define CHAR_BIT 8
|
|
274 #endif],
|
|
275 [extern char foo[sizeof(long) * CHAR_BIT >= 64 ? 1 : -1];],
|
|
276 liberty_cv_uint64="unsigned long",
|
|
277 [AC_TRY_COMPILE(
|
|
278 [#ifdef HAVE_LIMITS_H
|
|
279 #include <limits.h>
|
|
280 #endif
|
|
281 #ifndef CHAR_BIT
|
|
282 #define CHAR_BIT 8
|
|
283 #endif],
|
|
284 [extern char foo[sizeof(long long) * CHAR_BIT >= 64 ? 1 : -1];],
|
|
285 liberty_cv_uint64="unsigned long long", liberty_cv_uint64=none)])])])
|
|
286 AC_MSG_RESULT($liberty_cv_uint64)
|
|
287 if test "$liberty_cv_uint64" != none; then
|
|
288 AC_DEFINE_UNQUOTED(UNSIGNED_64BIT_TYPE, $liberty_cv_uint64,
|
|
289 [Define to an unsigned 64-bit type available in the compiler.])
|
|
290 fi
|
|
291
|
|
292 # Given the above check, we always have uintptr_t or a fallback
|
|
293 # definition. So define HAVE_UINTPTR_T in case any imported code
|
|
294 # relies on it.
|
|
295 AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.])
|
|
296
|
|
297 AC_TYPE_PID_T
|
|
298
|
|
299 # This is the list of functions which libiberty will provide if they
|
|
300 # are not available on the host.
|
|
301
|
|
302 funcs="asprintf"
|
|
303 funcs="$funcs atexit"
|
|
304 funcs="$funcs basename"
|
|
305 funcs="$funcs bcmp"
|
|
306 funcs="$funcs bcopy"
|
|
307 funcs="$funcs bsearch"
|
|
308 funcs="$funcs bzero"
|
|
309 funcs="$funcs calloc"
|
|
310 funcs="$funcs clock"
|
|
311 funcs="$funcs ffs"
|
|
312 funcs="$funcs getcwd"
|
|
313 funcs="$funcs getpagesize"
|
|
314 funcs="$funcs gettimeofday"
|
|
315 funcs="$funcs index"
|
|
316 funcs="$funcs insque"
|
|
317 funcs="$funcs memchr"
|
|
318 funcs="$funcs memcmp"
|
|
319 funcs="$funcs memcpy"
|
|
320 funcs="$funcs memmove"
|
|
321 funcs="$funcs mempcpy"
|
|
322 funcs="$funcs memset"
|
|
323 funcs="$funcs mkstemps"
|
|
324 funcs="$funcs putenv"
|
|
325 funcs="$funcs random"
|
|
326 funcs="$funcs rename"
|
|
327 funcs="$funcs rindex"
|
|
328 funcs="$funcs setenv"
|
|
329 funcs="$funcs snprintf"
|
|
330 funcs="$funcs sigsetmask"
|
|
331 funcs="$funcs stpcpy"
|
|
332 funcs="$funcs stpncpy"
|
|
333 funcs="$funcs strcasecmp"
|
|
334 funcs="$funcs strchr"
|
|
335 funcs="$funcs strdup"
|
|
336 funcs="$funcs strncasecmp"
|
|
337 funcs="$funcs strndup"
|
|
338 funcs="$funcs strrchr"
|
|
339 funcs="$funcs strstr"
|
|
340 funcs="$funcs strtod"
|
|
341 funcs="$funcs strtol"
|
|
342 funcs="$funcs strtoul"
|
|
343 funcs="$funcs strverscmp"
|
|
344 funcs="$funcs tmpnam"
|
|
345 funcs="$funcs vasprintf"
|
|
346 funcs="$funcs vfprintf"
|
|
347 funcs="$funcs vprintf"
|
|
348 funcs="$funcs vsnprintf"
|
|
349 funcs="$funcs vsprintf"
|
|
350 funcs="$funcs waitpid"
|
|
351
|
|
352 # Also in the old function.def file: alloca, vfork, getopt.
|
|
353
|
|
354 vars="sys_errlist sys_nerr sys_siglist"
|
|
355
|
|
356 checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
|
|
357 checkfuncs="$checkfuncs realpath canonicalize_file_name pstat_getstatic pstat_getdynamic sysmp"
|
|
358 checkfuncs="$checkfuncs getsysinfo table sysctl wait3 wait4 __fsetlocking"
|
|
359
|
|
360 # These are neither executed nor required, but they help keep
|
|
361 # autoheader happy without adding a bunch of text to acconfig.h.
|
|
362 if test "x" = "y"; then
|
|
363 AC_CHECK_FUNCS(asprintf atexit basename bcmp bcopy bsearch bzero calloc clock \
|
|
364 getcwd getpagesize gettimeofday index insque mkstemps memchr memcmp memcpy \
|
|
365 memmove mempcpy memset putenv random rename rindex sigsetmask \
|
|
366 strcasecmp setenv stpcpy stpncpy strchr strdup strncasecmp strndup strrchr strstr \
|
|
367 strtod strtol strtoul strverscmp tmpnam vasprintf vfprintf vprintf \
|
|
368 vsprintf waitpid getrusage on_exit psignal strerror strsignal \
|
|
369 sysconf times sbrk gettimeofday ffs snprintf vsnprintf \
|
|
370 pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl wait3 wait4 \
|
|
371 realpath canonicalize_file_name __fsetlocking)
|
|
372 AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf])
|
|
373 AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
|
|
374 AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.])
|
|
375 AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
|
|
376 fi
|
|
377
|
|
378 # For each of these functions, if the host does not provide the
|
|
379 # function we want to put FN.o in LIBOBJS, and if the host does
|
|
380 # provide the function, we want to define HAVE_FN in config.h.
|
|
381
|
|
382 setobjs=
|
|
383 CHECK=
|
|
384 target_header_dir=
|
|
385 if test -n "${with_target_subdir}"; then
|
|
386
|
|
387 # We are being configured as a target library. AC_REPLACE_FUNCS
|
|
388 # may not work correctly, because the compiler may not be able to
|
|
389 # link executables. Note that we may still be being configured
|
|
390 # native.
|
|
391
|
|
392 # If we are being configured for newlib, we know which functions
|
|
393 # newlib provide and which ones we will be expected to provide.
|
|
394
|
|
395 if test "x${with_newlib}" = "xyes"; then
|
|
396 AC_LIBOBJ([asprintf])
|
|
397 AC_LIBOBJ([basename])
|
|
398 AC_LIBOBJ([insque])
|
|
399 AC_LIBOBJ([random])
|
|
400 AC_LIBOBJ([strdup])
|
|
401 AC_LIBOBJ([vasprintf])
|
|
402
|
|
403 for f in $funcs; do
|
|
404 case "$f" in
|
|
405 asprintf | basename | insque | random | strdup | vasprintf)
|
|
406 ;;
|
|
407 *)
|
|
408 n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
409 AC_DEFINE_UNQUOTED($n)
|
|
410 ;;
|
|
411 esac
|
|
412 done
|
|
413
|
|
414 # newlib doesnt provide any of the variables in $vars, so we
|
|
415 # dont have to check them here.
|
|
416
|
|
417 # Of the functions in $checkfuncs, newlib only has strerror.
|
|
418 AC_DEFINE(HAVE_STRERROR)
|
|
419
|
|
420 setobjs=yes
|
|
421
|
|
422 fi
|
|
423
|
|
424 # If we are being configured for Mingw, we know which functions
|
|
425 # Mingw provides and which ones we will be expected to provide.
|
|
426
|
|
427 case "${host}" in
|
|
428 *-*-mingw*)
|
|
429 AC_LIBOBJ([asprintf])
|
|
430 AC_LIBOBJ([basename])
|
|
431 AC_LIBOBJ([bcmp])
|
|
432 AC_LIBOBJ([bcopy])
|
|
433 AC_LIBOBJ([bzero])
|
|
434 AC_LIBOBJ([clock])
|
|
435 AC_LIBOBJ([ffs])
|
|
436 AC_LIBOBJ([getpagesize])
|
|
437 AC_LIBOBJ([index])
|
|
438 AC_LIBOBJ([insque])
|
|
439 AC_LIBOBJ([mempcpy])
|
|
440 AC_LIBOBJ([mkstemps])
|
|
441 AC_LIBOBJ([random])
|
|
442 AC_LIBOBJ([rindex])
|
|
443 AC_LIBOBJ([sigsetmask])
|
|
444 AC_LIBOBJ([stpcpy])
|
|
445 AC_LIBOBJ([stpncpy])
|
|
446 AC_LIBOBJ([strndup])
|
|
447 AC_LIBOBJ([strverscmp])
|
|
448 AC_LIBOBJ([vasprintf])
|
|
449 AC_LIBOBJ([waitpid])
|
|
450
|
|
451 for f in $funcs; do
|
|
452 case "$f" in
|
|
453 asprintf | basename | bcmp | bcopy | bzero | clock | ffs | getpagesize | index | insque | mempcpy | mkstemps | random | rindex | sigsetmask | stpcpy | stpncpy | strdup | strndup | strverscmp | vasprintf | waitpid)
|
|
454 ;;
|
|
455 *)
|
|
456 n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
457 AC_DEFINE_UNQUOTED($n)
|
|
458 ;;
|
|
459 esac
|
|
460 done
|
|
461
|
|
462 # Mingw doesnt provide any of the variables in $vars, so we
|
|
463 # dont have to check them here.
|
|
464
|
|
465 # Of the functions in $checkfuncs, Mingw only has strerror.
|
|
466 AC_DEFINE(HAVE_STRERROR)
|
|
467
|
|
468 setobjs=yes
|
|
469 ;;
|
|
470
|
|
471 esac
|
|
472
|
|
473 # We may wish to install the target headers somewhere.
|
|
474 AC_ARG_ENABLE(install-libiberty,
|
|
475 [ --enable-install-libiberty Install headers for end users],
|
|
476 enable_install_libiberty=$enableval,
|
|
477 enable_install_libiberty=no)dnl
|
|
478
|
|
479 # Option parsed, now set things appropriately.
|
|
480 case x"$enable_install_libiberty" in
|
|
481 xyes|x)
|
|
482 target_header_dir=libiberty
|
|
483 ;;
|
|
484 xno)
|
|
485 target_header_dir=
|
|
486 ;;
|
|
487 *)
|
|
488 # This could be sanity-checked in various ways...
|
|
489 target_header_dir="${enable_install_libiberty}"
|
|
490 ;;
|
|
491 esac
|
|
492
|
|
493
|
|
494 else
|
|
495
|
|
496 # Not a target library, so we set things up to run the test suite.
|
|
497 CHECK=really-check
|
|
498
|
|
499 fi
|
|
500
|
|
501 AC_SUBST(CHECK)
|
|
502 AC_SUBST(target_header_dir)
|
|
503
|
|
504 case "${host}" in
|
|
505 *-*-cygwin* | *-*-mingw*)
|
|
506 AC_DEFINE(HAVE_SYS_ERRLIST)
|
|
507 AC_DEFINE(HAVE_SYS_NERR)
|
|
508 ;;
|
|
509 esac
|
|
510
|
|
511 if test -z "${setobjs}"; then
|
|
512 case "${host}" in
|
|
513
|
|
514 *-*-vxworks*)
|
|
515 # Handle VxWorks configuration specially, since on VxWorks the
|
|
516 # libraries are actually on the target board, not in the file
|
|
517 # system.
|
|
518 AC_LIBOBJ([basename])
|
|
519 AC_LIBOBJ([getpagesize])
|
|
520 AC_LIBOBJ([insque])
|
|
521 AC_LIBOBJ([random])
|
|
522 AC_LIBOBJ([strcasecmp])
|
|
523 AC_LIBOBJ([strncasecmp])
|
|
524 AC_LIBOBJ([strdup])
|
|
525 AC_LIBOBJ([vfork])
|
|
526 AC_LIBOBJ([waitpid])
|
|
527 AC_LIBOBJ([vasprintf])
|
|
528 for f in $funcs; do
|
|
529 case "$f" in
|
|
530 basename | getpagesize | insque | random | strcasecmp)
|
|
531 ;;
|
|
532 strncasecmp | strdup | vfork | waitpid | vasprintf)
|
|
533 ;;
|
|
534 *)
|
|
535 n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
536 AC_DEFINE_UNQUOTED($n)
|
|
537 ;;
|
|
538 esac
|
|
539 done
|
|
540
|
|
541 # VxWorks doesn't provide any of the variables in $vars, so we
|
|
542 # don't have to check them here.
|
|
543
|
|
544 # Of the functions in $checkfuncs, VxWorks only has strerror.
|
|
545 AC_DEFINE(HAVE_STRERROR)
|
|
546
|
|
547 setobjs=yes
|
|
548 ;;
|
|
549
|
|
550 *-*-msdosdjgpp)
|
|
551 for f in atexit basename bcmp bcopy bsearch bzero calloc clock ffs \
|
|
552 getcwd getpagesize getrusage gettimeofday \
|
|
553 index insque memchr memcmp memcpy memmove memset psignal \
|
|
554 putenv random rename rindex sbrk setenv stpcpy strcasecmp \
|
|
555 strchr strdup strerror strncasecmp strrchr strstr strtod \
|
|
556 strtol strtoul sysconf times tmpnam vfprintf vprintf \
|
|
557 vsprintf waitpid
|
|
558 do
|
|
559 n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
560 AC_DEFINE_UNQUOTED($n)
|
|
561 done
|
|
562
|
|
563
|
|
564 setobjs=yes
|
|
565 ;;
|
|
566
|
|
567 esac
|
|
568 fi
|
|
569
|
|
570 if test -z "${setobjs}"; then
|
|
571
|
|
572 case "${host}" in
|
|
573
|
|
574 *-*-mingw32*)
|
|
575 # Under mingw32, sys_nerr and sys_errlist exist, but they are
|
|
576 # macros, so the test below won't find them.
|
|
577 libiberty_cv_var_sys_nerr=yes
|
|
578 libiberty_cv_var_sys_errlist=yes
|
|
579 ;;
|
|
580
|
|
581 *-*-msdosdjgpp*)
|
|
582 # vfork and fork are stubs.
|
|
583 ac_cv_func_vfork_works=no
|
|
584 ;;
|
|
585
|
|
586 *-*-uwin*)
|
|
587 # Under some versions of uwin, vfork is notoriously buggy and the test
|
|
588 # can hang configure; on other versions, vfork exists just as a stub.
|
|
589 # FIXME: This should be removed once vfork in uwin's runtime is fixed.
|
|
590 ac_cv_func_vfork_works=no
|
|
591 # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
|
|
592 # macros (actually, these are imported from a DLL, but the end effect
|
|
593 # is the same), so the test below won't find them.
|
|
594 libiberty_cv_var_sys_nerr=yes
|
|
595 libiberty_cv_var_sys_errlist=yes
|
|
596 ;;
|
|
597
|
|
598 *-*-*vms*)
|
|
599 # Under VMS, vfork works very different than on Unix. The standard test
|
|
600 # won't work, and it isn't easily adaptable. It makes more sense to
|
|
601 # just force it.
|
|
602 ac_cv_func_vfork_works=yes
|
|
603 ;;
|
|
604
|
|
605 esac
|
|
606
|
|
607 # We haven't set the list of objects yet. Use the standard autoconf
|
|
608 # tests. This will only work if the compiler works.
|
|
609 AC_ISC_POSIX
|
|
610 AC_REPLACE_FUNCS($funcs)
|
|
611 libiberty_AC_FUNC_C_ALLOCA
|
|
612 AC_FUNC_FORK
|
|
613 if test $ac_cv_func_vfork_works = no; then
|
|
614 AC_LIBOBJ([vfork])
|
|
615 fi
|
|
616 # We only need _doprnt if we might use it to implement v*printf.
|
|
617 if test $ac_cv_func_vprintf != yes \
|
|
618 || test $ac_cv_func_vfprintf != yes \
|
|
619 || test $ac_cv_func_vsprintf != yes; then
|
|
620 AC_REPLACE_FUNCS(_doprnt)
|
|
621 else
|
|
622 AC_CHECK_FUNCS(_doprnt)
|
|
623 fi
|
|
624
|
|
625 for v in $vars; do
|
|
626 AC_MSG_CHECKING([for $v])
|
|
627 AC_CACHE_VAL(libiberty_cv_var_$v,
|
|
628 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])],
|
|
629 [eval "libiberty_cv_var_$v=yes"],
|
|
630 [eval "libiberty_cv_var_$v=no"])])
|
|
631 if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then
|
|
632 AC_MSG_RESULT(yes)
|
|
633 n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
|
634 AC_DEFINE_UNQUOTED($n)
|
|
635 else
|
|
636 AC_MSG_RESULT(no)
|
|
637 fi
|
|
638 done
|
|
639
|
|
640 # special check for _system_configuration because AIX <4.3.2 do not
|
|
641 # contain the `physmem' member.
|
|
642 AC_MSG_CHECKING([for external symbol _system_configuration])
|
|
643 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/systemcfg.h>]],
|
|
644 [[double x = _system_configuration.physmem;]])],
|
|
645 [AC_MSG_RESULT([yes])
|
|
646 AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
|
|
647 [Define if you have the _system_configuration variable.])],
|
|
648 [AC_MSG_RESULT([no])])
|
|
649
|
|
650 AC_CHECK_FUNCS($checkfuncs)
|
|
651 AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf])
|
|
652 AC_CHECK_DECLS([calloc, getenv, getopt, malloc, realloc, sbrk])
|
|
653 AC_CHECK_DECLS([strverscmp])
|
|
654 libiberty_NEED_DECLARATION(canonicalize_file_name)
|
|
655 fi
|
|
656
|
|
657 # Figure out which version of pexecute to use.
|
|
658 case "${host}" in
|
|
659 *-*-mingw* | *-*-winnt*) pexecute=./pex-win32.o ;;
|
|
660 *-*-msdosdjgpp*) pexecute=./pex-djgpp.o ;;
|
|
661 *-*-msdos*) pexecute=./pex-msdos.o ;;
|
|
662 *) pexecute=./pex-unix.o ;;
|
|
663 esac
|
|
664 AC_SUBST(pexecute)
|
|
665
|
|
666 libiberty_AC_FUNC_STRNCMP
|
|
667
|
|
668 # Install a library built with a cross compiler in $(tooldir) rather
|
|
669 # than $(libdir).
|
|
670 if test -z "${with_cross_host}"; then
|
|
671 INSTALL_DEST=libdir
|
|
672 else
|
|
673 INSTALL_DEST=tooldir
|
|
674 fi
|
|
675 AC_SUBST(INSTALL_DEST)
|
|
676
|
|
677 m4_pattern_allow(LIBOBJS)
|
|
678 L=""
|
|
679 for l in x $LIBOBJS; do
|
|
680 case $l in
|
|
681 x) ;;
|
|
682 *) L="$L ./$l" ;;
|
|
683 esac
|
|
684 done
|
|
685 LIBOBJS="$L"
|
|
686
|
|
687 dnl Required by html and install-html
|
|
688 AC_SUBST(datarootdir)
|
|
689 AC_SUBST(docdir)
|
|
690 AC_SUBST(htmldir)
|
|
691
|
|
692 # We need multilib support, but only if configuring for the target.
|
|
693 AC_CONFIG_FILES([Makefile testsuite/Makefile])
|
|
694 AC_CONFIG_COMMANDS([default],
|
|
695 [[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
|
|
696 if test -n "$CONFIG_FILES"; then
|
|
697 if test -n "${with_target_subdir}"; then
|
|
698 # FIXME: We shouldn't need to set ac_file
|
|
699 ac_file=Makefile
|
|
700 LD="${ORIGINAL_LD_FOR_MULTILIBS}"
|
|
701 . ${libiberty_topdir}/config-ml.in
|
|
702 fi
|
|
703 fi]],
|
|
704 [[srcdir=${srcdir}
|
|
705 host=${host}
|
|
706 target=${target}
|
|
707 with_target_subdir=${with_target_subdir}
|
|
708 with_multisubdir=${with_multisubdir}
|
|
709 ac_configure_args="--enable-multilib ${ac_configure_args}"
|
|
710 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
|
|
711 ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
|
|
712 libiberty_topdir=${libiberty_topdir}
|
|
713 ]])
|
|
714 AC_OUTPUT
|