*** empty log message ***
[bpt/guile.git] / aclocal.m4
CommitLineData
9bd368c0 1dnl aclocal.m4 generated automatically by aclocal 1.4
5aadf8c1 2
9bd368c0
MD
3dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
4dnl This file is free software; the Free Software Foundation
5aadf8c1
MG
5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved.
7
8dnl This program is distributed in the hope that it will be useful,
9dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
10dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11dnl PARTICULAR PURPOSE.
ebf50833 12
3a629497
JB
13dnl On the NeXT, #including <utime.h> doesn't give you a definition for
14dnl struct utime, unless you #define _POSIX_SOURCE.
15
16AC_DEFUN(GUILE_STRUCT_UTIMBUF, [
17 AC_CACHE_CHECK([whether we need POSIX to get struct utimbuf],
18 guile_cv_struct_utimbuf_needs_posix,
19 [AC_TRY_CPP([
20#ifdef __EMX__
21#include <sys/utime.h>
22#else
23#include <utime.h>
24#endif
25struct utime blah;
26],
27 guile_cv_struct_utimbuf_needs_posix=no,
28 guile_cv_struct_utimbuf_needs_posix=yes)])
29 if test "$guile_cv_struct_utimbuf_needs_posix" = yes; then
30 AC_DEFINE(UTIMBUF_NEEDS_POSIX)
31 fi])
32
33
34
35
36dnl
37dnl Apparently, at CMU they have a weird version of libc.h that is
38dnl installed in /usr/local/include and conflicts with unistd.h.
39dnl In these situations, we should not #include libc.h.
40dnl This test arranges to #define LIBC_H_WITH_UNISTD_H iff libc.h is
41dnl present on the system, and is safe to #include.
42dnl
43AC_DEFUN([GUILE_HEADER_LIBC_WITH_UNISTD],
44 [
45 AC_CHECK_HEADERS(libc.h unistd.h)
46 AC_CACHE_CHECK(
47 "whether libc.h and unistd.h can be included together",
48 guile_cv_header_libc_with_unistd,
49 [
50 if test "$ac_cv_header_libc_h" = "no"; then
51 guile_cv_header_libc_with_unistd="no"
52 elif test "$ac_cv_header_unistd.h" = "no"; then
53 guile_cv_header_libc_with_unistd="yes"
54 else
55 AC_TRY_COMPILE(
56 [
57# include <libc.h>
58# include <unistd.h>
59 ],
60 [],
61 [guile_cv_header_libc_with_unistd=yes],
62 [guile_cv_header_libc_with_unistd=no]
63 )
64 fi
65 ]
66 )
67 if test "$guile_cv_header_libc_with_unistd" = yes; then
68 AC_DEFINE(LIBC_H_WITH_UNISTD_H)
69 fi
70 ]
71)
72
0b89e78e
MD
73
74
75dnl This is needed when we want to check for the same function repeatedly
76dnl with other parameters, such as libraries, varying.
77dnl
78dnl GUILE_NAMED_CHECK_FUNC(FUNCTION, TESTNAME,
79dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
80AC_DEFUN(GUILE_NAMED_CHECK_FUNC,
81[AC_MSG_CHECKING([for $1])
82AC_CACHE_VAL(ac_cv_func_$1_$2,
83[AC_TRY_LINK(
84dnl Don't include <ctype.h> because on OSF/1 3.0 it includes <sys/types.h>
85dnl which includes <sys/select.h> which contains a prototype for
86dnl select. Similarly for bzero.
87[/* System header to define __stub macros and hopefully few prototypes,
88 which can conflict with char $1(); below. */
89#include <assert.h>
90/* Override any gcc2 internal prototype to avoid an error. */
91]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
92extern "C"
93#endif
94])dnl
95[/* We use char because int might match the return type of a gcc2
96 builtin and then its argument prototype would still apply. */
97char $1();
98], [
99/* The GNU C library defines this for functions which it implements
100 to always fail with ENOSYS. Some functions are actually named
101 something starting with __ and the normal name is an alias. */
102#if defined (__stub_$1) || defined (__stub___$1)
103choke me
104#else
105$1();
106#endif
107], eval "ac_cv_func_$1_$2=yes", eval "ac_cv_func_$1_$2=no")])
108if eval "test \"`echo '$ac_cv_func_'$1'_'$2`\" = yes"; then
109 AC_MSG_RESULT(yes)
110 ifelse([$3], , :, [$3])
111else
112 AC_MSG_RESULT(no)
113ifelse([$4], , , [$4
114])dnl
115fi
116])
117
db1e65d5
TP
118
119
120dnl Check checks whether dlsym (if present) requires a leading underscore.
121dnl Written by Dan Hagerty <hag@ai.mit.edu> for scsh-0.5.0.
122AC_DEFUN(GUILE_DLSYM_USCORE, [
123 AC_MSG_CHECKING(for underscore before symbols)
124 AC_CACHE_VAL(guile_cv_uscore,[
125 echo "main(){int i=1;}
126 fnord(){int i=23; int ltuae=42;}" > conftest.c
127 ${CC} conftest.c > /dev/null
128 if (nm a.out | grep _fnord) > /dev/null; then
129 guile_cv_uscore=yes
130 else
131 guile_cv_uscore=no
132 fi])
133 AC_MSG_RESULT($guile_cv_uscore)
134 rm -f conftest.c a.out
135
136 if test $guile_cv_uscore = yes; then
137 AC_DEFINE(USCORE)
138
139 if test $ac_cv_func_dlopen = yes -o $ac_cv_lib_dl_dlopen = yes ; then
140 AC_MSG_CHECKING(whether dlsym always adds an underscore for us)
141 AC_CACHE_VAL(guile_cv_dlsym_adds_uscore,AC_TRY_RUN( [
142#include <dlfcn.h>
143#include <stdio.h>
144fnord() { int i=42;}
145main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
146 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
147 if(ptr1 && !ptr2) exit(0); } exit(1); }
148], [guile_cv_dlsym_adds_uscore=yes
5aadf8c1
MG
149 AC_DEFINE(DLSYM_ADDS_USCORE) ], guile_cv_dlsym_adds_uscore=no,
150 guile_cv_dlsym_adds_uscore=no))
db1e65d5
TP
151
152 AC_MSG_RESULT($guile_cv_dlsym_adds_uscore)
153 fi
154 fi
155])
156
733943b9
TT
157# Do all the work for Automake. This macro actually does too much --
158# some checks are only needed if your package does certain things.
159# But this isn't really a big deal.
160
161# serial 1
162
163dnl Usage:
1dc9c5b0 164dnl AM_INIT_AUTOMAKE(package,version, [no-define])
733943b9
TT
165
166AC_DEFUN(AM_INIT_AUTOMAKE,
9bd368c0 167[AC_REQUIRE([AC_PROG_INSTALL])
733943b9
TT
168PACKAGE=[$1]
169AC_SUBST(PACKAGE)
733943b9
TT
170VERSION=[$2]
171AC_SUBST(VERSION)
c7b6463e
JB
172dnl test to see if srcdir already configured
173if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
174 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
175fi
1dc9c5b0 176ifelse([$3],,
9bd368c0
MD
177AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
178AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
341eaef0
GH
179AC_REQUIRE([AM_SANITY_CHECK])
180AC_REQUIRE([AC_ARG_PROGRAM])
1dc9c5b0
JB
181dnl FIXME This is truly gross.
182missing_dir=`cd $ac_aux_dir && pwd`
183AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
184AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
185AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
186AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
187AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
341eaef0 188AC_REQUIRE([AC_PROG_MAKE_SET])])
733943b9 189
733943b9
TT
190#
191# Check to make sure that the build environment is sane.
192#
193
194AC_DEFUN(AM_SANITY_CHECK,
195[AC_MSG_CHECKING([whether build environment is sane])
1dc9c5b0
JB
196# Just in case
197sleep 1
733943b9 198echo timestamp > conftestfile
1dc9c5b0
JB
199# Do `set' in a subshell so we don't clobber the current shell's
200# arguments. Must try -L first in case configure is actually a
201# symlink; some systems play weird games with the mod time of symlinks
202# (eg FreeBSD returns the mod time of the symlink's containing
203# directory).
204if (
205 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
5aadf8c1 206 if test "[$]*" = "X"; then
1dc9c5b0
JB
207 # -L didn't work.
208 set X `ls -t $srcdir/configure conftestfile`
209 fi
341eaef0
GH
210 if test "[$]*" != "X $srcdir/configure conftestfile" \
211 && test "[$]*" != "X conftestfile $srcdir/configure"; then
212
213 # If neither matched, then we have a broken ls. This can happen
214 # if, for instance, CONFIG_SHELL is bash and it inherits a
215 # broken ls alias from the environment. This has actually
216 # happened. Such a system could not be considered "sane".
217 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
218alias in your environment])
219 fi
220
1dc9c5b0
JB
221 test "[$]2" = conftestfile
222 )
733943b9
TT
223then
224 # Ok.
225 :
226else
227 AC_MSG_ERROR([newly created file is older than distributed files!
228Check your system clock])
229fi
230rm -f conftest*
231AC_MSG_RESULT(yes)])
232
1dc9c5b0
JB
233dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
234dnl The program must properly implement --version.
235AC_DEFUN(AM_MISSING_PROG,
236[AC_MSG_CHECKING(for working $2)
237# Run test in a subshell; some versions of sh will print an error if
238# an executable is not found, even if stderr is redirected.
c7b6463e
JB
239# Redirect stdin to placate older versions of autoconf. Sigh.
240if ($2 --version) < /dev/null > /dev/null 2>&1; then
1dc9c5b0
JB
241 $1=$2
242 AC_MSG_RESULT(found)
243else
244 $1="$3/missing $2"
245 AC_MSG_RESULT(missing)
246fi
247AC_SUBST($1)])
248
15ae1bee
MD
249# Add --enable-maintainer-mode option to configure.
250# From Jim Meyering
251
252# serial 1
253
254AC_DEFUN(AM_MAINTAINER_MODE,
255[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
256 dnl maintainer-mode is disabled by default
257 AC_ARG_ENABLE(maintainer-mode,
258[ --enable-maintainer-mode enable make rules and dependencies not useful
259 (and sometimes confusing) to the casual installer],
260 USE_MAINTAINER_MODE=$enableval,
261 USE_MAINTAINER_MODE=no)
262 AC_MSG_RESULT($USE_MAINTAINER_MODE)
9bd368c0
MD
263 AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
264 MAINT=$MAINTAINER_MODE_TRUE
15ae1bee
MD
265 AC_SUBST(MAINT)dnl
266]
267)
268
9bd368c0
MD
269# Define a conditional.
270
271AC_DEFUN(AM_CONDITIONAL,
272[AC_SUBST($1_TRUE)
273AC_SUBST($1_FALSE)
274if $2; then
275 $1_TRUE=
276 $1_FALSE='#'
277else
278 $1_TRUE='#'
279 $1_FALSE=
280fi])
281
3a629497
JB
282# Like AC_CONFIG_HEADER, but automatically create stamp file.
283
284AC_DEFUN(AM_CONFIG_HEADER,
285[AC_PREREQ([2.12])
286AC_CONFIG_HEADER([$1])
287dnl When config.status generates a header, we must update the stamp-h file.
288dnl This file resides in the same directory as the config header
289dnl that is generated. We must strip everything past the first ":",
290dnl and everything past the last "/".
291AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
c7b6463e
JB
292ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
293<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
294<<am_indx=1
295for am_file in <<$1>>; do
296 case " <<$>>CONFIG_HEADERS " in
297 *" <<$>>am_file "*<<)>>
298 echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
299 ;;
300 esac
301 am_indx=`expr "<<$>>am_indx" + 1`
302done<<>>dnl>>)
3a629497
JB
303changequote([,]))])
304
5aadf8c1 305
6c951427
GH
306# serial 25 AM_PROG_LIBTOOL
307AC_DEFUN(AM_PROG_LIBTOOL,
308[AC_REQUIRE([AM_ENABLE_SHARED])dnl
309AC_REQUIRE([AM_ENABLE_STATIC])dnl
5798fd97
MD
310AC_REQUIRE([AC_CANONICAL_HOST])dnl
311AC_REQUIRE([AC_PROG_RANLIB])dnl
312AC_REQUIRE([AC_PROG_CC])dnl
6c951427
GH
313AC_REQUIRE([AM_PROG_LD])dnl
314AC_REQUIRE([AM_PROG_NM])dnl
5798fd97
MD
315AC_REQUIRE([AC_PROG_LN_S])dnl
316dnl
6c951427
GH
317# Always use our own libtool.
318LIBTOOL='$(SHELL) $(top_builddir)/libtool'
319AC_SUBST(LIBTOOL)dnl
5aadf8c1 320
5798fd97 321# Check for any special flags to pass to ltconfig.
6c951427 322libtool_flags=
5798fd97
MD
323test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
324test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
5aadf8c1
MG
325test "$silent" = yes && libtool_flags="$libtool_flags --silent"
326test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
327test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
328
329# Some flags need to be propagated to the compiler or linker for good
330# libtool support.
5798fd97 331case "$host" in
5aadf8c1 332*-*-irix6*)
5798fd97
MD
333 # Find out which ABI we are using.
334 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
335 if AC_TRY_EVAL(ac_compile); then
336 case "`/usr/bin/file conftest.o`" in
337 *32-bit*)
338 LD="${LD-ld} -32"
339 ;;
340 *N32*)
341 LD="${LD-ld} -n32"
342 ;;
343 *64-bit*)
344 LD="${LD-ld} -64"
345 ;;
346 esac
347 fi
348 rm -rf conftest*
5aadf8c1
MG
349 ;;
350
351*-*-sco3.2v5*)
352 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
353 CFLAGS="$CFLAGS -belf"
3668b8c7 354 ;;
5798fd97 355esac
5aadf8c1 356
6c951427
GH
357# Actually configure libtool. ac_aux_dir is where install-sh is found.
358CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
359LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
360${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
361$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
362|| AC_MSG_ERROR([libtool configure failed])
3668b8c7 363
6c951427
GH
364# Redirect the config.log output again, so that the ltconfig log is not
365# clobbered by the next message.
366exec 5>>./config.log
5aadf8c1
MG
367])
368
6c951427
GH
369# AM_ENABLE_SHARED - implement the --enable-shared flag
370# Usage: AM_ENABLE_SHARED[(DEFAULT)]
5798fd97
MD
371# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
372# `yes'.
6c951427
GH
373AC_DEFUN(AM_ENABLE_SHARED,
374[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
5798fd97
MD
375AC_ARG_ENABLE(shared,
376changequote(<<, >>)dnl
6c951427 377<< --enable-shared[=PKGS] build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT],
5798fd97 378changequote([, ])dnl
5798fd97
MD
379[p=${PACKAGE-default}
380case "$enableval" in
381yes) enable_shared=yes ;;
382no) enable_shared=no ;;
383*)
384 enable_shared=no
385 # Look at the argument we got. We use all the common list separators.
386 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
387 for pkg in $enableval; do
388 if test "X$pkg" = "X$p"; then
389 enable_shared=yes
390 fi
391 done
392 IFS="$ac_save_ifs"
393 ;;
394esac],
6c951427 395enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
5798fd97
MD
396])
397
6c951427
GH
398# AM_DISABLE_SHARED - set the default shared flag to --disable-shared
399AC_DEFUN(AM_DISABLE_SHARED,
400[AM_ENABLE_SHARED(no)])
5798fd97 401
6c951427
GH
402# AM_DISABLE_STATIC - set the default static flag to --disable-static
403AC_DEFUN(AM_DISABLE_STATIC,
404[AM_ENABLE_STATIC(no)])
405
406# AM_ENABLE_STATIC - implement the --enable-static flag
407# Usage: AM_ENABLE_STATIC[(DEFAULT)]
5798fd97
MD
408# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
409# `yes'.
6c951427
GH
410AC_DEFUN(AM_ENABLE_STATIC,
411[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
5798fd97
MD
412AC_ARG_ENABLE(static,
413changequote(<<, >>)dnl
6c951427 414<< --enable-static[=PKGS] build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT],
5798fd97 415changequote([, ])dnl
5798fd97
MD
416[p=${PACKAGE-default}
417case "$enableval" in
418yes) enable_static=yes ;;
419no) enable_static=no ;;
420*)
421 enable_static=no
422 # Look at the argument we got. We use all the common list separators.
423 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
424 for pkg in $enableval; do
425 if test "X$pkg" = "X$p"; then
426 enable_static=yes
427 fi
428 done
429 IFS="$ac_save_ifs"
430 ;;
431esac],
6c951427 432enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
3668b8c7
MD
433])
434
3668b8c7 435
6c951427
GH
436# AM_PROG_LD - find the path to the GNU or non-GNU linker
437AC_DEFUN(AM_PROG_LD,
5aadf8c1
MG
438[AC_ARG_WITH(gnu-ld,
439[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
440test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
6c951427 441AC_REQUIRE([AC_PROG_CC])
5aadf8c1
MG
442ac_prog=ld
443if test "$ac_cv_prog_gcc" = yes; then
444 # Check if gcc -print-prog-name=ld gives a path.
445 AC_MSG_CHECKING([for ld used by GCC])
446 ac_prog=`($CC -print-prog-name=ld) 2>&5`
447 case "$ac_prog" in
6c951427 448 # Accept absolute paths.
3668b8c7 449changequote(,)dnl
6c951427 450 /* | [A-Za-z]:\\*)
3668b8c7 451changequote([,])dnl
6c951427
GH
452 test -z "$LD" && LD="$ac_prog"
453 ;;
5aadf8c1
MG
454 "")
455 # If it fails, then pretend we aren't using GCC.
456 ac_prog=ld
457 ;;
458 *)
459 # If it is relative, then search for the first ld in PATH.
460 with_gnu_ld=unknown
461 ;;
462 esac
463elif test "$with_gnu_ld" = yes; then
464 AC_MSG_CHECKING([for GNU ld])
465else
466 AC_MSG_CHECKING([for non-GNU ld])
467fi
468AC_CACHE_VAL(ac_cv_path_LD,
469[if test -z "$LD"; then
470 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
471 for ac_dir in $PATH; do
472 test -z "$ac_dir" && ac_dir=.
473 if test -f "$ac_dir/$ac_prog"; then
474 ac_cv_path_LD="$ac_dir/$ac_prog"
475 # Check to see if the program is GNU ld. I'd rather use --version,
476 # but apparently some GNU ld's only accept -v.
477 # Break only if it was the GNU/non-GNU ld that we prefer.
478 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
479 test "$with_gnu_ld" != no && break
480 else
6c951427 481 test "$with_gnu_ld" != yes && break
5aadf8c1
MG
482 fi
483 fi
484 done
485 IFS="$ac_save_ifs"
486else
487 ac_cv_path_LD="$LD" # Let the user override the test with a path.
488fi])
489LD="$ac_cv_path_LD"
490if test -n "$LD"; then
491 AC_MSG_RESULT($LD)
492else
493 AC_MSG_RESULT(no)
494fi
495test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
496AC_SUBST(LD)
6c951427 497AM_PROG_LD_GNU
5aadf8c1
MG
498])
499
6c951427 500AC_DEFUN(AM_PROG_LD_GNU,
5aadf8c1
MG
501[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
502[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
503if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
504 ac_cv_prog_gnu_ld=yes
505else
506 ac_cv_prog_gnu_ld=no
507fi])
508])
509
6c951427
GH
510# AM_PROG_NM - find the path to a BSD-compatible name lister
511AC_DEFUN(AM_PROG_NM,
5aadf8c1
MG
512[AC_MSG_CHECKING([for BSD-compatible nm])
513AC_CACHE_VAL(ac_cv_path_NM,
3668b8c7
MD
514[if test -n "$NM"; then
515 # Let the user override the test.
516 ac_cv_path_NM="$NM"
517else
5aadf8c1 518 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
6c951427 519 for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
5798fd97 520 test -z "$ac_dir" && ac_dir=.
5aadf8c1
MG
521 if test -f $ac_dir/nm; then
522 # Check to see if the nm accepts a BSD-compat flag.
5798fd97
MD
523 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
524 # nm: unknown option "B" ignored
525 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
6c951427 526 ac_cv_path_NM="$ac_dir/nm -B"
5798fd97 527 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
6c951427 528 ac_cv_path_NM="$ac_dir/nm -p"
5aadf8c1 529 else
6c951427 530 ac_cv_path_NM="$ac_dir/nm"
5aadf8c1 531 fi
6c951427 532 break
5aadf8c1
MG
533 fi
534 done
535 IFS="$ac_save_ifs"
536 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
3668b8c7 537fi])
5aadf8c1
MG
538NM="$ac_cv_path_NM"
539AC_MSG_RESULT([$NM])
540AC_SUBST(NM)
541])
542
e40ffcb6
JB
543
544# serial 1
545
546# @defmac AC_PROG_CC_STDC
547# @maindex PROG_CC_STDC
548# @ovindex CC
549# If the C compiler in not in ANSI C mode by default, try to add an option
550# to output variable @code{CC} to make it so. This macro tries various
551# options that select ANSI C on some system or another. It considers the
552# compiler to be in ANSI C mode if it handles function prototypes correctly.
553#
554# If you use this macro, you should check after calling it whether the C
555# compiler has been set to accept ANSI C; if not, the shell variable
556# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
557# code in ANSI C, you can make an un-ANSIfied copy of it by using the
558# program @code{ansi2knr}, which comes with Ghostscript.
559# @end defmac
560
561AC_DEFUN(AM_PROG_CC_STDC,
562[AC_REQUIRE([AC_PROG_CC])
563AC_BEFORE([$0], [AC_C_INLINE])
564AC_BEFORE([$0], [AC_C_CONST])
565dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
566dnl a magic option to avoid problems with ANSI preprocessor commands
567dnl like #elif.
568dnl FIXME: can't do this because then AC_AIX won't work due to a
569dnl circular dependency.
570dnl AC_BEFORE([$0], [AC_PROG_CPP])
571AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
572AC_CACHE_VAL(am_cv_prog_cc_stdc,
573[am_cv_prog_cc_stdc=no
574ac_save_CC="$CC"
575# Don't try gcc -ansi; that turns off useful extensions and
576# breaks some systems' header files.
577# AIX -qlanglvl=ansi
578# Ultrix and OSF/1 -std1
579# HP-UX -Aa -D_HPUX_SOURCE
580# SVR4 -Xc -D__EXTENSIONS__
581for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
582do
583 CC="$ac_save_CC $ac_arg"
584 AC_TRY_COMPILE(
585[#include <stdarg.h>
586#include <stdio.h>
587#include <sys/types.h>
588#include <sys/stat.h>
589/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
590struct buf { int x; };
591FILE * (*rcsopen) (struct buf *, struct stat *, int);
592static char *e (p, i)
593 char **p;
594 int i;
595{
596 return p[i];
597}
598static char *f (char * (*g) (char **, int), char **p, ...)
599{
600 char *s;
601 va_list v;
602 va_start (v,p);
603 s = g (p, va_arg (v,int));
604 va_end (v);
605 return s;
606}
607int test (int i, double x);
608struct s1 {int (*f) (int a);};
609struct s2 {int (*f) (double a);};
610int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
611int argc;
612char **argv;
613], [
614return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
615],
616[am_cv_prog_cc_stdc="$ac_arg"; break])
617done
618CC="$ac_save_CC"
619])
620if test -z "$am_cv_prog_cc_stdc"; then
621 AC_MSG_RESULT([none needed])
622else
623 AC_MSG_RESULT($am_cv_prog_cc_stdc)
624fi
625case "x$am_cv_prog_cc_stdc" in
626 x|xno) ;;
627 *) CC="$CC $am_cv_prog_cc_stdc" ;;
628esac
629])
630
539c89a1 631dnl Autoconf macros for configuring the QuickThreads package
3668b8c7
MD
632dnl Jim Blandy <jimb@red-bean.com> --- July 1998
633dnl
634dnl Copyright (C) 1998 Free Software Foundation, Inc.
635dnl
636dnl This file is part of GUILE.
637dnl
638dnl GUILE is free software; you can redistribute it and/or modify
639dnl it under the terms of the GNU General Public License as
640dnl published by the Free Software Foundation; either version 2, or
641dnl (at your option) any later version.
642dnl
643dnl GUILE is distributed in the hope that it will be useful, but
644dnl WITHOUT ANY WARRANTY; without even the implied warranty of
645dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
646dnl GNU General Public License for more details.
647dnl
648dnl You should have received a copy of the GNU General Public
649dnl License along with GUILE; see the file COPYING. If not, write
650dnl to the Free Software Foundation, Inc., 59 Temple Place, Suite
651dnl 330, Boston, MA 02111-1307 USA
652
653
539c89a1
JB
654
655dnl QTHREADS_CONFIGURE configures the QuickThreads package. The QT
656dnl sources should be in $srcdir/qt. If configuration succeeds, this
657dnl macro creates the appropriate symlinks in the qt object directory,
658dnl and sets the following variables, used in building libqthreads.a:
659dnl QTHREAD_LTLIBS --- set to libqthreads.la if configuration
660dnl succeeds, or the empty string if configuration fails.
47521807
JB
661dnl qtmd_h, qtmds_s, qtmdc_c, qtdmdb_s --- the names of the machine-
662dnl dependent source files.
663dnl qthread_asflags --- flags to pass to the compiler when processing
664dnl assembly-language files.
3a629497 665dnl
539c89a1
JB
666dnl It also sets the following variables, which describe how clients
667dnl can link against libqthreads.a:
668dnl THREAD_PACKAGE --- set to "QT" if configuration succeeds, or
669dnl the empty string if configuration fails.
670dnl THREAD_CPPFLAGS --- set to `-I' flags for thread header files
671dnl THREAD_LIBS_LOCAL --- linker options for use in this source tree
672dnl THREAD_LIBS_INSTALLED --- linker options for use after this package
673dnl is installed
674dnl It would be nice if all thread configuration packages for Guile
675dnl followed the same conventions.
3a629497 676dnl
539c89a1
JB
677dnl All of the above variables will be substituted into Makefiles in
678dnl the usual autoconf fashion.
3a629497 679dnl
539c89a1
JB
680dnl We distinguish between THREAD_LIBS_LOCAL and
681dnl THREAD_LIBS_INSTALLED because the thread library might be in
682dnl this tree, and be built using libtool. This means that:
683dnl 1) when building other executables in this tree, one must
684dnl pass the relative path to the ../libfoo.la file, but
685dnl 2) once the whole package has been installed, users should
686dnl link using -lfoo.
687dnl Normally, we only care about the first case, but since the
bcc695e3 688dnl guile-config script needs to give users all the flags they need
539c89a1
JB
689dnl to link programs against guile, the GUILE_WITH_THREADS macro
690dnl needs to supply the second piece of information as well.
3a629497 691dnl
539c89a1
JB
692dnl This whole thing is a little confused about what ought to be
693dnl done in the top-level configure script, and what ought to be
47521807 694dnl taken care of in the subdirectory. For example, qtmds_s and
539c89a1
JB
695dnl friends really ought not to be even mentioned in the top-level
696dnl configure script, but here they are.
697
698AC_DEFUN([QTHREADS_CONFIGURE],[
7bc24529 699 AC_REQUIRE([AC_PROG_LN_S])
539c89a1 700
b8f08e26 701 AC_MSG_CHECKING(QuickThreads configuration)
539c89a1
JB
702 # How can we refer to the qt source directory from within the qt build
703 # directory? For headers, we can rely on the fact that the qt src
704 # directory appears in the #include path.
705 qtsrcdir="`(cd $srcdir; pwd)`/qt"
706
707 changequote(,)dnl We use [ and ] in a regexp in the case
708
709 THREAD_PACKAGE=QT
47521807 710 qthread_asflags=''
539c89a1
JB
711 case "$host" in
712 i[3456]86-*-*)
b8f08e26 713 port_name=i386
539c89a1
JB
714 qtmd_h=md/i386.h
715 qtmds_s=md/i386.s
716 qtmdc_c=md/null.c
717 qtdmdb_s=
47521807
JB
718 case "$host" in
719 *-*-netbsd* )
720 ## NetBSD needs to be told to pass the assembly code through
721 ## the C preprocessor. Other GCC installations seem to do
722 ## this by default, but NetBSD's doesn't. We could get the
723 ## same effect by giving the file a name ending with .S
724 ## instead of .s, but I don't see how to tell automake to do
725 ## that.
726 qthread_asflags='-x assembler-with-cpp'
727 ;;
728 esac
539c89a1
JB
729 ;;
730 mips-sgi-irix[56]*)
b8f08e26 731 port_name=irix
539c89a1
JB
732 qtmd_h=md/mips.h
733 qtmds_s=md/mips-irix5.s
734 qtmdc_c=md/null.c
735 qtdmdb_s=md/mips_b.s
736 ;;
737 mips-*-*)
b8f08e26 738 port_name=mips
539c89a1
JB
739 qtmd_h=md/mips.h
740 qtmds_s=md/mips.s
741 qtmdc_c=md/null.c
742 qtdmdb_s=md/mips_b.s
743 ;;
744 sparc-*-sunos*)
b8f08e26 745 port_name=sparc-sunos
539c89a1
JB
746 qtmd_h=md/sparc.h
747 qtmds_s=md/_sparc.s
748 qtmdc_c=md/null.c
749 qtdmdb_s=md/_sparc_b.s
750 ;;
751 sparc-*-*)
b8f08e26 752 port_name=sparc
539c89a1
JB
753 qtmd_h=md/sparc.h
754 qtmds_s=md/sparc.s
755 qtmdc_c=md/null.c
756 qtdmdb_s=md/sparc_b.s
757 ;;
758 alpha-*-*)
b8f08e26 759 port_name=alpha
539c89a1
JB
760 qtmd_h=md/axp.h
761 qtmds_s=md/axp.s
762 qtmdc_c=md/null.c
763 qtdmdb_s=md/axp_b.s
764 ;;
765 *)
766 echo "Unknown configuration; threads package disabled"
767 THREAD_PACKAGE=""
768 ;;
769 esac
770 changequote([, ])
771
772 # Did configuration succeed?
773 if test -n "$THREAD_PACKAGE"; then
b8f08e26 774 AC_MSG_RESULT($port_name)
539c89a1
JB
775 QTHREAD_LTLIBS=libqthreads.la
776 THREAD_CPPFLAGS="-I$qtsrcdir -I../qt"
777 THREAD_LIBS_LOCAL="../qt/libqthreads.la"
778 THREAD_LIBS_INSTALLED="-lqthreads"
b8f08e26
MD
779 else
780 AC_MSG_RESULT(none; disabled)
3a629497 781 fi
539c89a1
JB
782
783 AC_SUBST(QTHREAD_LTLIBS)
784 AC_SUBST(qtmd_h)
785 AC_SUBST(qtmds_s)
786 AC_SUBST(qtmdc_c)
787 AC_SUBST(qtdmdb_s)
47521807 788 AC_SUBST(qthread_asflags)
539c89a1
JB
789 AC_SUBST(THREAD_PACKAGE)
790 AC_SUBST(THREAD_CPPFLAGS)
791 AC_SUBST(THREAD_LIBS_LOCAL)
792 AC_SUBST(THREAD_LIBS_INSTALLED)
3a629497
JB
793])
794