Commit | Line | Data |
---|---|---|
9bd368c0 | 1 | dnl aclocal.m4 generated automatically by aclocal 1.4 |
5aadf8c1 | 2 | |
9bd368c0 MD |
3 | dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. |
4 | dnl This file is free software; the Free Software Foundation | |
5aadf8c1 MG |
5 | dnl gives unlimited permission to copy and/or distribute it, |
6 | dnl with or without modifications, as long as this notice is preserved. | |
7 | ||
8 | dnl This program is distributed in the hope that it will be useful, | |
9 | dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without | |
10 | dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A | |
11 | dnl PARTICULAR PURPOSE. | |
ebf50833 | 12 | |
3a629497 JB |
13 | dnl On the NeXT, #including <utime.h> doesn't give you a definition for |
14 | dnl struct utime, unless you #define _POSIX_SOURCE. | |
15 | ||
16 | AC_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 | |
25 | struct 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 | ||
36 | dnl | |
37 | dnl Apparently, at CMU they have a weird version of libc.h that is | |
38 | dnl installed in /usr/local/include and conflicts with unistd.h. | |
39 | dnl In these situations, we should not #include libc.h. | |
40 | dnl This test arranges to #define LIBC_H_WITH_UNISTD_H iff libc.h is | |
41 | dnl present on the system, and is safe to #include. | |
42 | dnl | |
43 | AC_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 | ||
75 | dnl This is needed when we want to check for the same function repeatedly | |
76 | dnl with other parameters, such as libraries, varying. | |
77 | dnl | |
78 | dnl GUILE_NAMED_CHECK_FUNC(FUNCTION, TESTNAME, | |
79 | dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) | |
80 | AC_DEFUN(GUILE_NAMED_CHECK_FUNC, | |
81 | [AC_MSG_CHECKING([for $1]) | |
82 | AC_CACHE_VAL(ac_cv_func_$1_$2, | |
83 | [AC_TRY_LINK( | |
84 | dnl Don't include <ctype.h> because on OSF/1 3.0 it includes <sys/types.h> | |
85 | dnl which includes <sys/select.h> which contains a prototype for | |
86 | dnl 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 | |
92 | extern "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. */ | |
97 | char $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) | |
103 | choke me | |
104 | #else | |
105 | $1(); | |
106 | #endif | |
107 | ], eval "ac_cv_func_$1_$2=yes", eval "ac_cv_func_$1_$2=no")]) | |
108 | if eval "test \"`echo '$ac_cv_func_'$1'_'$2`\" = yes"; then | |
109 | AC_MSG_RESULT(yes) | |
110 | ifelse([$3], , :, [$3]) | |
111 | else | |
112 | AC_MSG_RESULT(no) | |
113 | ifelse([$4], , , [$4 | |
114 | ])dnl | |
115 | fi | |
116 | ]) | |
117 | ||
db1e65d5 TP |
118 | |
119 | ||
120 | dnl Check checks whether dlsym (if present) requires a leading underscore. | |
121 | dnl Written by Dan Hagerty <hag@ai.mit.edu> for scsh-0.5.0. | |
122 | AC_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> | |
144 | fnord() { int i=42;} | |
145 | main() { 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 | ||
163 | dnl Usage: | |
1dc9c5b0 | 164 | dnl AM_INIT_AUTOMAKE(package,version, [no-define]) |
733943b9 TT |
165 | |
166 | AC_DEFUN(AM_INIT_AUTOMAKE, | |
9bd368c0 | 167 | [AC_REQUIRE([AC_PROG_INSTALL]) |
733943b9 TT |
168 | PACKAGE=[$1] |
169 | AC_SUBST(PACKAGE) | |
733943b9 TT |
170 | VERSION=[$2] |
171 | AC_SUBST(VERSION) | |
c7b6463e JB |
172 | dnl test to see if srcdir already configured |
173 | if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then | |
174 | AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) | |
175 | fi | |
1dc9c5b0 | 176 | ifelse([$3],, |
9bd368c0 MD |
177 | AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) |
178 | AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) | |
341eaef0 GH |
179 | AC_REQUIRE([AM_SANITY_CHECK]) |
180 | AC_REQUIRE([AC_ARG_PROGRAM]) | |
1dc9c5b0 JB |
181 | dnl FIXME This is truly gross. |
182 | missing_dir=`cd $ac_aux_dir && pwd` | |
183 | AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) | |
184 | AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) | |
185 | AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) | |
186 | AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) | |
187 | AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) | |
341eaef0 | 188 | AC_REQUIRE([AC_PROG_MAKE_SET])]) |
733943b9 | 189 | |
733943b9 TT |
190 | # |
191 | # Check to make sure that the build environment is sane. | |
192 | # | |
193 | ||
194 | AC_DEFUN(AM_SANITY_CHECK, | |
195 | [AC_MSG_CHECKING([whether build environment is sane]) | |
1dc9c5b0 JB |
196 | # Just in case |
197 | sleep 1 | |
733943b9 | 198 | echo 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). | |
204 | if ( | |
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 | |
218 | alias in your environment]) | |
219 | fi | |
220 | ||
1dc9c5b0 JB |
221 | test "[$]2" = conftestfile |
222 | ) | |
733943b9 TT |
223 | then |
224 | # Ok. | |
225 | : | |
226 | else | |
227 | AC_MSG_ERROR([newly created file is older than distributed files! | |
228 | Check your system clock]) | |
229 | fi | |
230 | rm -f conftest* | |
231 | AC_MSG_RESULT(yes)]) | |
232 | ||
1dc9c5b0 JB |
233 | dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) |
234 | dnl The program must properly implement --version. | |
235 | AC_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. |
240 | if ($2 --version) < /dev/null > /dev/null 2>&1; then | |
1dc9c5b0 JB |
241 | $1=$2 |
242 | AC_MSG_RESULT(found) | |
243 | else | |
244 | $1="$3/missing $2" | |
245 | AC_MSG_RESULT(missing) | |
246 | fi | |
247 | AC_SUBST($1)]) | |
248 | ||
15ae1bee MD |
249 | # Add --enable-maintainer-mode option to configure. |
250 | # From Jim Meyering | |
251 | ||
252 | # serial 1 | |
253 | ||
254 | AC_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 | ||
271 | AC_DEFUN(AM_CONDITIONAL, | |
272 | [AC_SUBST($1_TRUE) | |
273 | AC_SUBST($1_FALSE) | |
274 | if $2; then | |
275 | $1_TRUE= | |
276 | $1_FALSE='#' | |
277 | else | |
278 | $1_TRUE='#' | |
279 | $1_FALSE= | |
280 | fi]) | |
281 | ||
3a629497 JB |
282 | # Like AC_CONFIG_HEADER, but automatically create stamp file. |
283 | ||
284 | AC_DEFUN(AM_CONFIG_HEADER, | |
285 | [AC_PREREQ([2.12]) | |
286 | AC_CONFIG_HEADER([$1]) | |
287 | dnl When config.status generates a header, we must update the stamp-h file. | |
288 | dnl This file resides in the same directory as the config header | |
289 | dnl that is generated. We must strip everything past the first ":", | |
290 | dnl and everything past the last "/". | |
291 | AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl | |
c7b6463e JB |
292 | ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, |
293 | <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, | |
294 | <<am_indx=1 | |
295 | for 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` | |
302 | done<<>>dnl>>) | |
3a629497 JB |
303 | changequote([,]))]) |
304 | ||
5aadf8c1 | 305 | |
6c951427 GH |
306 | # serial 25 AM_PROG_LIBTOOL |
307 | AC_DEFUN(AM_PROG_LIBTOOL, | |
308 | [AC_REQUIRE([AM_ENABLE_SHARED])dnl | |
309 | AC_REQUIRE([AM_ENABLE_STATIC])dnl | |
5798fd97 MD |
310 | AC_REQUIRE([AC_CANONICAL_HOST])dnl |
311 | AC_REQUIRE([AC_PROG_RANLIB])dnl | |
312 | AC_REQUIRE([AC_PROG_CC])dnl | |
6c951427 GH |
313 | AC_REQUIRE([AM_PROG_LD])dnl |
314 | AC_REQUIRE([AM_PROG_NM])dnl | |
5798fd97 MD |
315 | AC_REQUIRE([AC_PROG_LN_S])dnl |
316 | dnl | |
6c951427 GH |
317 | # Always use our own libtool. |
318 | LIBTOOL='$(SHELL) $(top_builddir)/libtool' | |
319 | AC_SUBST(LIBTOOL)dnl | |
5aadf8c1 | 320 | |
5798fd97 | 321 | # Check for any special flags to pass to ltconfig. |
6c951427 | 322 | libtool_flags= |
5798fd97 MD |
323 | test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" |
324 | test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" | |
5aadf8c1 MG |
325 | test "$silent" = yes && libtool_flags="$libtool_flags --silent" |
326 | test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" | |
327 | test "$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 | 331 | case "$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 | 355 | esac |
5aadf8c1 | 356 | |
6c951427 GH |
357 | # Actually configure libtool. ac_aux_dir is where install-sh is found. |
358 | CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ | |
359 | LD="$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. | |
366 | exec 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 |
373 | AC_DEFUN(AM_ENABLE_SHARED, |
374 | [define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl | |
5798fd97 MD |
375 | AC_ARG_ENABLE(shared, |
376 | changequote(<<, >>)dnl | |
6c951427 | 377 | << --enable-shared[=PKGS] build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT], |
5798fd97 | 378 | changequote([, ])dnl |
5798fd97 MD |
379 | [p=${PACKAGE-default} |
380 | case "$enableval" in | |
381 | yes) enable_shared=yes ;; | |
382 | no) 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 | ;; | |
394 | esac], | |
6c951427 | 395 | enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl |
5798fd97 MD |
396 | ]) |
397 | ||
6c951427 GH |
398 | # AM_DISABLE_SHARED - set the default shared flag to --disable-shared |
399 | AC_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 |
403 | AC_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 |
410 | AC_DEFUN(AM_ENABLE_STATIC, |
411 | [define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl | |
5798fd97 MD |
412 | AC_ARG_ENABLE(static, |
413 | changequote(<<, >>)dnl | |
6c951427 | 414 | << --enable-static[=PKGS] build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT], |
5798fd97 | 415 | changequote([, ])dnl |
5798fd97 MD |
416 | [p=${PACKAGE-default} |
417 | case "$enableval" in | |
418 | yes) enable_static=yes ;; | |
419 | no) 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 | ;; | |
431 | esac], | |
6c951427 | 432 | enable_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 |
437 | AC_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]], | |
440 | test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) | |
6c951427 | 441 | AC_REQUIRE([AC_PROG_CC]) |
5aadf8c1 MG |
442 | ac_prog=ld |
443 | if 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 | 449 | changequote(,)dnl |
6c951427 | 450 | /* | [A-Za-z]:\\*) |
3668b8c7 | 451 | changequote([,])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 | |
463 | elif test "$with_gnu_ld" = yes; then | |
464 | AC_MSG_CHECKING([for GNU ld]) | |
465 | else | |
466 | AC_MSG_CHECKING([for non-GNU ld]) | |
467 | fi | |
468 | AC_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" | |
486 | else | |
487 | ac_cv_path_LD="$LD" # Let the user override the test with a path. | |
488 | fi]) | |
489 | LD="$ac_cv_path_LD" | |
490 | if test -n "$LD"; then | |
491 | AC_MSG_RESULT($LD) | |
492 | else | |
493 | AC_MSG_RESULT(no) | |
494 | fi | |
495 | test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | |
496 | AC_SUBST(LD) | |
6c951427 | 497 | AM_PROG_LD_GNU |
5aadf8c1 MG |
498 | ]) |
499 | ||
6c951427 | 500 | AC_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. | |
503 | if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then | |
504 | ac_cv_prog_gnu_ld=yes | |
505 | else | |
506 | ac_cv_prog_gnu_ld=no | |
507 | fi]) | |
508 | ]) | |
509 | ||
6c951427 GH |
510 | # AM_PROG_NM - find the path to a BSD-compatible name lister |
511 | AC_DEFUN(AM_PROG_NM, | |
5aadf8c1 MG |
512 | [AC_MSG_CHECKING([for BSD-compatible nm]) |
513 | AC_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" | |
517 | else | |
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 | 537 | fi]) |
5aadf8c1 MG |
538 | NM="$ac_cv_path_NM" |
539 | AC_MSG_RESULT([$NM]) | |
540 | AC_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 | ||
561 | AC_DEFUN(AM_PROG_CC_STDC, | |
562 | [AC_REQUIRE([AC_PROG_CC]) | |
563 | AC_BEFORE([$0], [AC_C_INLINE]) | |
564 | AC_BEFORE([$0], [AC_C_CONST]) | |
565 | dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require | |
566 | dnl a magic option to avoid problems with ANSI preprocessor commands | |
567 | dnl like #elif. | |
568 | dnl FIXME: can't do this because then AC_AIX won't work due to a | |
569 | dnl circular dependency. | |
570 | dnl AC_BEFORE([$0], [AC_PROG_CPP]) | |
571 | AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) | |
572 | AC_CACHE_VAL(am_cv_prog_cc_stdc, | |
573 | [am_cv_prog_cc_stdc=no | |
574 | ac_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__ | |
581 | for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" | |
582 | do | |
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. */ | |
590 | struct buf { int x; }; | |
591 | FILE * (*rcsopen) (struct buf *, struct stat *, int); | |
592 | static char *e (p, i) | |
593 | char **p; | |
594 | int i; | |
595 | { | |
596 | return p[i]; | |
597 | } | |
598 | static 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 | } | |
607 | int test (int i, double x); | |
608 | struct s1 {int (*f) (int a);}; | |
609 | struct s2 {int (*f) (double a);}; | |
610 | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | |
611 | int argc; | |
612 | char **argv; | |
613 | ], [ | |
614 | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | |
615 | ], | |
616 | [am_cv_prog_cc_stdc="$ac_arg"; break]) | |
617 | done | |
618 | CC="$ac_save_CC" | |
619 | ]) | |
620 | if test -z "$am_cv_prog_cc_stdc"; then | |
621 | AC_MSG_RESULT([none needed]) | |
622 | else | |
623 | AC_MSG_RESULT($am_cv_prog_cc_stdc) | |
624 | fi | |
625 | case "x$am_cv_prog_cc_stdc" in | |
626 | x|xno) ;; | |
627 | *) CC="$CC $am_cv_prog_cc_stdc" ;; | |
628 | esac | |
629 | ]) | |
630 | ||
539c89a1 | 631 | dnl Autoconf macros for configuring the QuickThreads package |
3668b8c7 MD |
632 | dnl Jim Blandy <jimb@red-bean.com> --- July 1998 |
633 | dnl | |
634 | dnl Copyright (C) 1998 Free Software Foundation, Inc. | |
635 | dnl | |
636 | dnl This file is part of GUILE. | |
637 | dnl | |
638 | dnl GUILE is free software; you can redistribute it and/or modify | |
639 | dnl it under the terms of the GNU General Public License as | |
640 | dnl published by the Free Software Foundation; either version 2, or | |
641 | dnl (at your option) any later version. | |
642 | dnl | |
643 | dnl GUILE is distributed in the hope that it will be useful, but | |
644 | dnl WITHOUT ANY WARRANTY; without even the implied warranty of | |
645 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
646 | dnl GNU General Public License for more details. | |
647 | dnl | |
648 | dnl You should have received a copy of the GNU General Public | |
649 | dnl License along with GUILE; see the file COPYING. If not, write | |
650 | dnl to the Free Software Foundation, Inc., 59 Temple Place, Suite | |
651 | dnl 330, Boston, MA 02111-1307 USA | |
652 | ||
653 | ||
539c89a1 JB |
654 | |
655 | dnl QTHREADS_CONFIGURE configures the QuickThreads package. The QT | |
656 | dnl sources should be in $srcdir/qt. If configuration succeeds, this | |
657 | dnl macro creates the appropriate symlinks in the qt object directory, | |
658 | dnl and sets the following variables, used in building libqthreads.a: | |
659 | dnl QTHREAD_LTLIBS --- set to libqthreads.la if configuration | |
660 | dnl succeeds, or the empty string if configuration fails. | |
47521807 JB |
661 | dnl qtmd_h, qtmds_s, qtmdc_c, qtdmdb_s --- the names of the machine- |
662 | dnl dependent source files. | |
663 | dnl qthread_asflags --- flags to pass to the compiler when processing | |
664 | dnl assembly-language files. | |
3a629497 | 665 | dnl |
539c89a1 JB |
666 | dnl It also sets the following variables, which describe how clients |
667 | dnl can link against libqthreads.a: | |
668 | dnl THREAD_PACKAGE --- set to "QT" if configuration succeeds, or | |
669 | dnl the empty string if configuration fails. | |
670 | dnl THREAD_CPPFLAGS --- set to `-I' flags for thread header files | |
671 | dnl THREAD_LIBS_LOCAL --- linker options for use in this source tree | |
672 | dnl THREAD_LIBS_INSTALLED --- linker options for use after this package | |
673 | dnl is installed | |
674 | dnl It would be nice if all thread configuration packages for Guile | |
675 | dnl followed the same conventions. | |
3a629497 | 676 | dnl |
539c89a1 JB |
677 | dnl All of the above variables will be substituted into Makefiles in |
678 | dnl the usual autoconf fashion. | |
3a629497 | 679 | dnl |
539c89a1 JB |
680 | dnl We distinguish between THREAD_LIBS_LOCAL and |
681 | dnl THREAD_LIBS_INSTALLED because the thread library might be in | |
682 | dnl this tree, and be built using libtool. This means that: | |
683 | dnl 1) when building other executables in this tree, one must | |
684 | dnl pass the relative path to the ../libfoo.la file, but | |
685 | dnl 2) once the whole package has been installed, users should | |
686 | dnl link using -lfoo. | |
687 | dnl Normally, we only care about the first case, but since the | |
bcc695e3 | 688 | dnl guile-config script needs to give users all the flags they need |
539c89a1 JB |
689 | dnl to link programs against guile, the GUILE_WITH_THREADS macro |
690 | dnl needs to supply the second piece of information as well. | |
3a629497 | 691 | dnl |
539c89a1 JB |
692 | dnl This whole thing is a little confused about what ought to be |
693 | dnl done in the top-level configure script, and what ought to be | |
47521807 | 694 | dnl taken care of in the subdirectory. For example, qtmds_s and |
539c89a1 JB |
695 | dnl friends really ought not to be even mentioned in the top-level |
696 | dnl configure script, but here they are. | |
697 | ||
698 | AC_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 |