* configure.in, qthreads.m4: Display a message about how the
[bpt/guile.git] / aclocal.m4
1 dnl aclocal.m4 generated automatically by aclocal 1.3
2
3 dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
4 dnl This Makefile.in is free software; the Free Software Foundation
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.
12
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
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
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
149 AC_DEFINE(DLSYM_ADDS_USCORE) ], guile_cv_dlsym_adds_uscore=no,
150 guile_cv_dlsym_adds_uscore=no))
151
152 AC_MSG_RESULT($guile_cv_dlsym_adds_uscore)
153 fi
154 fi
155 ])
156
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:
164 dnl AM_INIT_AUTOMAKE(package,version, [no-define])
165
166 AC_DEFUN(AM_INIT_AUTOMAKE,
167 [AC_REQUIRE([AM_PROG_INSTALL])
168 PACKAGE=[$1]
169 AC_SUBST(PACKAGE)
170 VERSION=[$2]
171 AC_SUBST(VERSION)
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
176 ifelse([$3],,
177 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
178 AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
179 AC_REQUIRE([AM_SANITY_CHECK])
180 AC_REQUIRE([AC_ARG_PROGRAM])
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)
188 AC_REQUIRE([AC_PROG_MAKE_SET])])
189
190
191 # serial 1
192
193 AC_DEFUN(AM_PROG_INSTALL,
194 [AC_REQUIRE([AC_PROG_INSTALL])
195 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
196 AC_SUBST(INSTALL_SCRIPT)dnl
197 ])
198
199 #
200 # Check to make sure that the build environment is sane.
201 #
202
203 AC_DEFUN(AM_SANITY_CHECK,
204 [AC_MSG_CHECKING([whether build environment is sane])
205 # Just in case
206 sleep 1
207 echo timestamp > conftestfile
208 # Do `set' in a subshell so we don't clobber the current shell's
209 # arguments. Must try -L first in case configure is actually a
210 # symlink; some systems play weird games with the mod time of symlinks
211 # (eg FreeBSD returns the mod time of the symlink's containing
212 # directory).
213 if (
214 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
215 if test "[$]*" = "X"; then
216 # -L didn't work.
217 set X `ls -t $srcdir/configure conftestfile`
218 fi
219 if test "[$]*" != "X $srcdir/configure conftestfile" \
220 && test "[$]*" != "X conftestfile $srcdir/configure"; then
221
222 # If neither matched, then we have a broken ls. This can happen
223 # if, for instance, CONFIG_SHELL is bash and it inherits a
224 # broken ls alias from the environment. This has actually
225 # happened. Such a system could not be considered "sane".
226 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
227 alias in your environment])
228 fi
229
230 test "[$]2" = conftestfile
231 )
232 then
233 # Ok.
234 :
235 else
236 AC_MSG_ERROR([newly created file is older than distributed files!
237 Check your system clock])
238 fi
239 rm -f conftest*
240 AC_MSG_RESULT(yes)])
241
242 dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
243 dnl The program must properly implement --version.
244 AC_DEFUN(AM_MISSING_PROG,
245 [AC_MSG_CHECKING(for working $2)
246 # Run test in a subshell; some versions of sh will print an error if
247 # an executable is not found, even if stderr is redirected.
248 # Redirect stdin to placate older versions of autoconf. Sigh.
249 if ($2 --version) < /dev/null > /dev/null 2>&1; then
250 $1=$2
251 AC_MSG_RESULT(found)
252 else
253 $1="$3/missing $2"
254 AC_MSG_RESULT(missing)
255 fi
256 AC_SUBST($1)])
257
258 # Add --enable-maintainer-mode option to configure.
259 # From Jim Meyering
260
261 # serial 1
262
263 AC_DEFUN(AM_MAINTAINER_MODE,
264 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
265 dnl maintainer-mode is disabled by default
266 AC_ARG_ENABLE(maintainer-mode,
267 [ --enable-maintainer-mode enable make rules and dependencies not useful
268 (and sometimes confusing) to the casual installer],
269 USE_MAINTAINER_MODE=$enableval,
270 USE_MAINTAINER_MODE=no)
271 AC_MSG_RESULT($USE_MAINTAINER_MODE)
272 if test $USE_MAINTAINER_MODE = yes; then
273 MAINT=
274 else
275 MAINT='#M#'
276 fi
277 AC_SUBST(MAINT)dnl
278 ]
279 )
280
281 # Like AC_CONFIG_HEADER, but automatically create stamp file.
282
283 AC_DEFUN(AM_CONFIG_HEADER,
284 [AC_PREREQ([2.12])
285 AC_CONFIG_HEADER([$1])
286 dnl When config.status generates a header, we must update the stamp-h file.
287 dnl This file resides in the same directory as the config header
288 dnl that is generated. We must strip everything past the first ":",
289 dnl and everything past the last "/".
290 AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
291 ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
292 <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
293 <<am_indx=1
294 for am_file in <<$1>>; do
295 case " <<$>>CONFIG_HEADERS " in
296 *" <<$>>am_file "*<<)>>
297 echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
298 ;;
299 esac
300 am_indx=`expr "<<$>>am_indx" + 1`
301 done<<>>dnl>>)
302 changequote([,]))])
303
304
305 # serial 25 AM_PROG_LIBTOOL
306 AC_DEFUN(AM_PROG_LIBTOOL,
307 [AC_REQUIRE([AM_ENABLE_SHARED])dnl
308 AC_REQUIRE([AM_ENABLE_STATIC])dnl
309 AC_REQUIRE([AC_CANONICAL_HOST])dnl
310 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
311 AC_REQUIRE([AC_PROG_RANLIB])dnl
312 AC_REQUIRE([AC_PROG_CC])dnl
313 AC_REQUIRE([AM_PROG_LD])dnl
314 AC_REQUIRE([AM_PROG_NM])dnl
315 AC_REQUIRE([AC_PROG_LN_S])dnl
316 dnl
317 # Always use our own libtool.
318 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
319 AC_SUBST(LIBTOOL)dnl
320
321 # Check for any special flags to pass to ltconfig.
322 libtool_flags=
323 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
324 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
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.
331 case "$host" in
332 *-*-irix6*)
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*
349 ;;
350
351 *-*-sco3.2v5*)
352 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
353 CFLAGS="$CFLAGS -belf"
354 ;;
355
356 *-*-cygwin32*)
357 AM_SYS_LIBTOOL_CYGWIN32
358 ;;
359
360 esac
361
362 # Actually configure libtool. ac_aux_dir is where install-sh is found.
363 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
364 LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
365 DLLTOOL="$DLLTOOL" AS="$AS" \
366 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
367 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
368 || AC_MSG_ERROR([libtool configure failed])
369
370 # Redirect the config.log output again, so that the ltconfig log is not
371 # clobbered by the next message.
372 exec 5>>./config.log
373 ])
374
375 # AM_ENABLE_SHARED - implement the --enable-shared flag
376 # Usage: AM_ENABLE_SHARED[(DEFAULT)]
377 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
378 # `yes'.
379 AC_DEFUN(AM_ENABLE_SHARED,
380 [define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
381 AC_ARG_ENABLE(shared,
382 changequote(<<, >>)dnl
383 << --enable-shared[=PKGS] build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT],
384 changequote([, ])dnl
385 [p=${PACKAGE-default}
386 case "$enableval" in
387 yes) enable_shared=yes ;;
388 no) enable_shared=no ;;
389 *)
390 enable_shared=no
391 # Look at the argument we got. We use all the common list separators.
392 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
393 for pkg in $enableval; do
394 if test "X$pkg" = "X$p"; then
395 enable_shared=yes
396 fi
397 done
398 IFS="$ac_save_ifs"
399 ;;
400 esac],
401 enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
402 ])
403
404 # AM_DISABLE_SHARED - set the default shared flag to --disable-shared
405 AC_DEFUN(AM_DISABLE_SHARED,
406 [AM_ENABLE_SHARED(no)])
407
408 # AM_DISABLE_STATIC - set the default static flag to --disable-static
409 AC_DEFUN(AM_DISABLE_STATIC,
410 [AM_ENABLE_STATIC(no)])
411
412 # AM_ENABLE_STATIC - implement the --enable-static flag
413 # Usage: AM_ENABLE_STATIC[(DEFAULT)]
414 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
415 # `yes'.
416 AC_DEFUN(AM_ENABLE_STATIC,
417 [define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
418 AC_ARG_ENABLE(static,
419 changequote(<<, >>)dnl
420 << --enable-static[=PKGS] build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT],
421 changequote([, ])dnl
422 [p=${PACKAGE-default}
423 case "$enableval" in
424 yes) enable_static=yes ;;
425 no) enable_static=no ;;
426 *)
427 enable_static=no
428 # Look at the argument we got. We use all the common list separators.
429 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
430 for pkg in $enableval; do
431 if test "X$pkg" = "X$p"; then
432 enable_static=yes
433 fi
434 done
435 IFS="$ac_save_ifs"
436 ;;
437 esac],
438 enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
439 ])
440
441
442 # AM_PROG_LD - find the path to the GNU or non-GNU linker
443 AC_DEFUN(AM_PROG_LD,
444 [AC_ARG_WITH(gnu-ld,
445 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
446 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
447 AC_REQUIRE([AC_PROG_CC])
448 ac_prog=ld
449 if test "$ac_cv_prog_gcc" = yes; then
450 # Check if gcc -print-prog-name=ld gives a path.
451 AC_MSG_CHECKING([for ld used by GCC])
452 ac_prog=`($CC -print-prog-name=ld) 2>&5`
453 case "$ac_prog" in
454 # Accept absolute paths.
455 changequote(,)dnl
456 /* | [A-Za-z]:\\*)
457 changequote([,])dnl
458 test -z "$LD" && LD="$ac_prog"
459 ;;
460 "")
461 # If it fails, then pretend we aren't using GCC.
462 ac_prog=ld
463 ;;
464 *)
465 # If it is relative, then search for the first ld in PATH.
466 with_gnu_ld=unknown
467 ;;
468 esac
469 elif test "$with_gnu_ld" = yes; then
470 AC_MSG_CHECKING([for GNU ld])
471 else
472 AC_MSG_CHECKING([for non-GNU ld])
473 fi
474 AC_CACHE_VAL(ac_cv_path_LD,
475 [if test -z "$LD"; then
476 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
477 for ac_dir in $PATH; do
478 test -z "$ac_dir" && ac_dir=.
479 if test -f "$ac_dir/$ac_prog"; then
480 ac_cv_path_LD="$ac_dir/$ac_prog"
481 # Check to see if the program is GNU ld. I'd rather use --version,
482 # but apparently some GNU ld's only accept -v.
483 # Break only if it was the GNU/non-GNU ld that we prefer.
484 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
485 test "$with_gnu_ld" != no && break
486 else
487 test "$with_gnu_ld" != yes && break
488 fi
489 fi
490 done
491 IFS="$ac_save_ifs"
492 else
493 ac_cv_path_LD="$LD" # Let the user override the test with a path.
494 fi])
495 LD="$ac_cv_path_LD"
496 if test -n "$LD"; then
497 AC_MSG_RESULT($LD)
498 else
499 AC_MSG_RESULT(no)
500 fi
501 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
502 AC_SUBST(LD)
503 AM_PROG_LD_GNU
504 ])
505
506 AC_DEFUN(AM_PROG_LD_GNU,
507 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
508 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
509 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
510 ac_cv_prog_gnu_ld=yes
511 else
512 ac_cv_prog_gnu_ld=no
513 fi])
514 ])
515
516 # AM_PROG_NM - find the path to a BSD-compatible name lister
517 AC_DEFUN(AM_PROG_NM,
518 [AC_MSG_CHECKING([for BSD-compatible nm])
519 AC_CACHE_VAL(ac_cv_path_NM,
520 [if test -n "$NM"; then
521 # Let the user override the test.
522 ac_cv_path_NM="$NM"
523 else
524 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
525 for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
526 test -z "$ac_dir" && ac_dir=.
527 if test -f $ac_dir/nm; then
528 # Check to see if the nm accepts a BSD-compat flag.
529 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
530 # nm: unknown option "B" ignored
531 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
532 ac_cv_path_NM="$ac_dir/nm -B"
533 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
534 ac_cv_path_NM="$ac_dir/nm -p"
535 else
536 ac_cv_path_NM="$ac_dir/nm"
537 fi
538 break
539 fi
540 done
541 IFS="$ac_save_ifs"
542 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
543 fi])
544 NM="$ac_cv_path_NM"
545 AC_MSG_RESULT([$NM])
546 AC_SUBST(NM)
547 ])
548
549 # AM_SYS_LIBTOOL_CYGWIN32 - find tools needed on cygwin32
550 AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN32,
551 [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
552 AC_CHECK_TOOL(AS, as, false)
553 ])
554
555 dnl Autoconf macros for configuring the QuickThreads package
556
557 dnl QTHREADS_CONFIGURE configures the QuickThreads package. The QT
558 dnl sources should be in $srcdir/qt. If configuration succeeds, this
559 dnl macro creates the appropriate symlinks in the qt object directory,
560 dnl and sets the following variables, used in building libqthreads.a:
561 dnl QTHREAD_LTLIBS --- set to libqthreads.la if configuration
562 dnl succeeds, or the empty string if configuration fails.
563 dnl qtmd_h --- the name of the machine-dependent header file.
564 dnl
565 dnl It also sets the following variables, which describe how clients
566 dnl can link against libqthreads.a:
567 dnl THREAD_PACKAGE --- set to "QT" if configuration succeeds, or
568 dnl the empty string if configuration fails.
569 dnl THREAD_CPPFLAGS --- set to `-I' flags for thread header files
570 dnl THREAD_LIBS_LOCAL --- linker options for use in this source tree
571 dnl THREAD_LIBS_INSTALLED --- linker options for use after this package
572 dnl is installed
573 dnl It would be nice if all thread configuration packages for Guile
574 dnl followed the same conventions.
575 dnl
576 dnl All of the above variables will be substituted into Makefiles in
577 dnl the usual autoconf fashion.
578 dnl
579 dnl We distinguish between THREAD_LIBS_LOCAL and
580 dnl THREAD_LIBS_INSTALLED because the thread library might be in
581 dnl this tree, and be built using libtool. This means that:
582 dnl 1) when building other executables in this tree, one must
583 dnl pass the relative path to the ../libfoo.la file, but
584 dnl 2) once the whole package has been installed, users should
585 dnl link using -lfoo.
586 dnl Normally, we only care about the first case, but since the
587 dnl build-guile script needs to give users all the flags they need
588 dnl to link programs against guile, the GUILE_WITH_THREADS macro
589 dnl needs to supply the second piece of information as well.
590 dnl
591 dnl This whole thing is a little confused about what ought to be
592 dnl done in the top-level configure script, and what ought to be
593 dnl taken care of in the subdirectory. For example, qtmdc_lo and
594 dnl friends really ought not to be even mentioned in the top-level
595 dnl configure script, but here they are.
596
597 AC_DEFUN([QTHREADS_CONFIGURE],[
598 AC_REQUIRE([AC_PROG_LN_S])
599
600 AC_MSG_CHECKING(QuickThreads configuration)
601 # How can we refer to the qt source directory from within the qt build
602 # directory? For headers, we can rely on the fact that the qt src
603 # directory appears in the #include path.
604 qtsrcdir="`(cd $srcdir; pwd)`/qt"
605
606 changequote(,)dnl We use [ and ] in a regexp in the case
607
608 THREAD_PACKAGE=QT
609 case "$host" in
610 i[3456]86-*-*)
611 port_name=i386
612 qtmd_h=md/i386.h
613 qtmds_s=md/i386.s
614 qtmdc_c=md/null.c
615 qtdmdb_s=
616 ;;
617 mips-sgi-irix[56]*)
618 port_name=irix
619 qtmd_h=md/mips.h
620 qtmds_s=md/mips-irix5.s
621 qtmdc_c=md/null.c
622 qtdmdb_s=md/mips_b.s
623 ;;
624 mips-*-*)
625 port_name=mips
626 qtmd_h=md/mips.h
627 qtmds_s=md/mips.s
628 qtmdc_c=md/null.c
629 qtdmdb_s=md/mips_b.s
630 ;;
631 sparc-*-sunos*)
632 port_name=sparc-sunos
633 qtmd_h=md/sparc.h
634 qtmds_s=md/_sparc.s
635 qtmdc_c=md/null.c
636 qtdmdb_s=md/_sparc_b.s
637 ;;
638 sparc-*-*)
639 port_name=sparc
640 qtmd_h=md/sparc.h
641 qtmds_s=md/sparc.s
642 qtmdc_c=md/null.c
643 qtdmdb_s=md/sparc_b.s
644 ;;
645 alpha-*-*)
646 port_name=alpha
647 qtmd_h=md/axp.h
648 qtmds_s=md/axp.s
649 qtmdc_c=md/null.c
650 qtdmdb_s=md/axp_b.s
651 ;;
652 *)
653 echo "Unknown configuration; threads package disabled"
654 THREAD_PACKAGE=""
655 ;;
656 esac
657 changequote([, ])
658
659 # Did configuration succeed?
660 if test -n "$THREAD_PACKAGE"; then
661 AC_MSG_RESULT($port_name)
662 QTHREAD_LTLIBS=libqthreads.la
663 THREAD_CPPFLAGS="-I$qtsrcdir -I../qt"
664 THREAD_LIBS_LOCAL="../qt/libqthreads.la"
665 THREAD_LIBS_INSTALLED="-lqthreads"
666 else
667 AC_MSG_RESULT(none; disabled)
668 fi
669
670 AC_SUBST(QTHREAD_LTLIBS)
671 AC_SUBST(qtmd_h)
672 AC_SUBST(qtmds_s)
673 AC_SUBST(qtmdc_c)
674 AC_SUBST(qtdmdb_s)
675 AC_SUBST(THREAD_PACKAGE)
676 AC_SUBST(THREAD_CPPFLAGS)
677 AC_SUBST(THREAD_LIBS_LOCAL)
678 AC_SUBST(THREAD_LIBS_INSTALLED)
679 ])
680