OSDN Git Service

Fix typos in previous.
[pf3gnuchains/gcc-fork.git] / libjava / libltdl / acinclude.m4
1 ## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
2 ## Copyright (C) 1996-1999,2000 Free Software Foundation, Inc.
3 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
4 ##
5 ## This program is free software; you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation; either version 2 of the License, or
8 ## (at your option) any later version.
9 ##
10 ## This program is distributed in the hope that it will be useful, but
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 ## General Public License for more details.
14 ##
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program; if not, write to the Free Software
17 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 ##
19 ## As a special exception to the GNU General Public License, if you
20 ## distribute this file as part of a program that contains a
21 ## configuration script generated by Autoconf, you may include it under
22 ## the same distribution terms that you use for the rest of that program.
23
24 # serial 45 AC_PROG_LIBTOOL
25 AC_DEFUN(AC_PROG_LIBTOOL,[AC_REQUIRE([_AC_PROG_LIBTOOL])
26 dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
27 dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
28   AC_PROVIDE_IFELSE([AC_PROG_CXX],
29     [AC_LIBTOOL_CXX],
30     [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
31 ])])
32
33 dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
34 dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
35 dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
36   AC_PROVIDE_IFELSE([AC_PROG_GCJ],
37     [AC_LIBTOOL_GCJ],
38     [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
39         [AC_LIBTOOL_GCJ],
40         [ifdef([AC_PROG_GCJ],
41                [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
42 ])])
43          ifdef([A][M_PROG_GCJ],
44                [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
45 ])])])])])
46
47 AC_DEFUN(_AC_PROG_LIBTOOL,
48 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
49 AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
50 AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
51
52 # Save cache, so that ltconfig can load it
53 AC_CACHE_SAVE
54
55 # Actually configure libtool.  ac_aux_dir is where install-sh is found.
56 AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
57 MAGIC="$MAGIC" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
58 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
59 AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
60 objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
61 deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
62 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
63 $libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
64 || AC_MSG_ERROR([libtool configure failed])
65
66 # Reload cache, that may have been modified by ltconfig
67 AC_CACHE_LOAD
68
69 # This can be used to rebuild libtool when needed
70 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
71
72 # Always use our own libtool.
73 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
74 AC_SUBST(LIBTOOL)dnl
75
76 # Redirect the config.log output again, so that the ltconfig log is not
77 # clobbered by the next message.
78 exec 5>>./config.log
79 ])
80
81 AC_DEFUN(AC_LIBTOOL_SETUP,
82 [AC_PREREQ(2.13)dnl
83 AC_REQUIRE([AC_ENABLE_SHARED])dnl
84 AC_REQUIRE([AC_ENABLE_STATIC])dnl
85 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
86 AC_REQUIRE([AC_CANONICAL_HOST])dnl
87 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
88 AC_REQUIRE([AC_PROG_CC])dnl
89 AC_REQUIRE([AC_PROG_LD])dnl
90 AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
91 AC_REQUIRE([AC_PROG_NM])dnl
92 AC_REQUIRE([AC_PROG_LN_S])dnl
93 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
94 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
95 AC_REQUIRE([AC_OBJEXT])dnl
96 AC_REQUIRE([AC_EXEEXT])dnl
97 dnl
98
99 # Only perform the check for file, if the check method requires it
100 case "$deplibs_check_method" in
101 file_magic*)
102   if test "$file_magic_cmd" = '${MAGIC}'; then
103     AC_PATH_MAGIC
104   fi
105   ;;
106 esac
107
108 AC_CHECK_TOOL(RANLIB, ranlib, :)
109 AC_CHECK_TOOL(STRIP, strip, :)
110
111 # Check for any special flags to pass to ltconfig.
112 libtool_flags="--cache-file=$cache_file"
113 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
114 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
115 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
116 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
117 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
118 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
119 [libtool_flags="$libtool_flags --enable-dlopen"])
120 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
121 [libtool_flags="$libtool_flags --enable-win32-dll"])
122 AC_ARG_ENABLE(libtool-lock,
123   [  --disable-libtool-lock  avoid locking (might break parallel builds)])
124 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
125 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
126
127 AC_ARG_WITH(pic,
128   [  --with-pic              try to use only PIC/non-PIC objects [default=use both]],
129      pic_mode="$withval", pic_mode=default)
130 test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
131 test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
132
133 # Some flags need to be propagated to the compiler or linker for good
134 # libtool support.
135 case "$host" in
136 *-*-irix6*)
137   # Find out which ABI we are using.
138   echo '[#]line __oline__ "configure"' > conftest.$ac_ext
139   if AC_TRY_EVAL(ac_compile); then
140     case "`/usr/bin/file conftest.o`" in
141     *32-bit*)
142       LD="${LD-ld} -32"
143       ;;
144     *N32*)
145       LD="${LD-ld} -n32"
146       ;;
147     *64-bit*)
148       LD="${LD-ld} -64"
149       ;;
150     esac
151   fi
152   rm -rf conftest*
153   ;;
154
155 *-*-sco3.2v5*)
156   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
157   SAVE_CFLAGS="$CFLAGS"
158   CFLAGS="$CFLAGS -belf"
159   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
160     [AC_LANG_SAVE
161      AC_LANG_C
162      AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
163      AC_LANG_RESTORE])
164   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
165     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
166     CFLAGS="$SAVE_CFLAGS"
167   fi
168   ;;
169
170 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
171 [*-*-cygwin* | *-*-mingw*)
172   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
173   AC_CHECK_TOOL(AS, as, false)
174   AC_CHECK_TOOL(OBJDUMP, objdump, false)
175
176   # recent cygwin and mingw systems supply a stub DllMain which the user
177   # can override, but on older systems we have to supply one
178   AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
179     [AC_TRY_LINK([],
180       [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
181       DllMain (0, 0, 0);],
182       [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
183
184   case "$host/$CC" in
185   *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
186     # old mingw systems require "-dll" to link a DLL, while more recent ones
187     # require "-mdll"
188     SAVE_CFLAGS="$CFLAGS"
189     CFLAGS="$CFLAGS -mdll"
190     AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
191       [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
192     CFLAGS="$SAVE_CFLAGS" ;;
193   *-*-cygwin*)
194     # cygwin systems need to pass --dll to the linker, and not link
195     # crt.o which will require a WinMain@16 definition.
196     lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
197   esac
198   ;;
199   ])
200 esac
201 ])
202
203 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
204 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
205
206 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
207 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
208
209 # AC_ENABLE_SHARED - implement the --enable-shared flag
210 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
211 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
212 #   `yes'.
213 AC_DEFUN(AC_ENABLE_SHARED, [dnl
214 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
215 AC_ARG_ENABLE(shared,
216 changequote(<<, >>)dnl
217 <<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
218 changequote([, ])dnl
219 [p=${PACKAGE-default}
220 case "$enableval" in
221 yes) enable_shared=yes ;;
222 no) enable_shared=no ;;
223 *)
224   enable_shared=no
225   # Look at the argument we got.  We use all the common list separators.
226   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
227   for pkg in $enableval; do
228     if test "X$pkg" = "X$p"; then
229       enable_shared=yes
230     fi
231   done
232   IFS="$ac_save_ifs"
233   ;;
234 esac],
235 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
236 ])
237
238 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
239 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
240 AC_ENABLE_SHARED(no)])
241
242 # AC_ENABLE_STATIC - implement the --enable-static flag
243 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
244 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
245 #   `yes'.
246 AC_DEFUN(AC_ENABLE_STATIC, [dnl
247 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
248 AC_ARG_ENABLE(static,
249 changequote(<<, >>)dnl
250 <<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
251 changequote([, ])dnl
252 [p=${PACKAGE-default}
253 case "$enableval" in
254 yes) enable_static=yes ;;
255 no) enable_static=no ;;
256 *)
257   enable_static=no
258   # Look at the argument we got.  We use all the common list separators.
259   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
260   for pkg in $enableval; do
261     if test "X$pkg" = "X$p"; then
262       enable_static=yes
263     fi
264   done
265   IFS="$ac_save_ifs"
266   ;;
267 esac],
268 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
269 ])
270
271 # AC_DISABLE_STATIC - set the default static flag to --disable-static
272 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
273 AC_ENABLE_STATIC(no)])
274
275
276 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
277 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
278 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
279 #   `yes'.
280 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
281 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
282 AC_ARG_ENABLE(fast-install,
283 changequote(<<, >>)dnl
284 <<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
285 changequote([, ])dnl
286 [p=${PACKAGE-default}
287 case "$enableval" in
288 yes) enable_fast_install=yes ;;
289 no) enable_fast_install=no ;;
290 *)
291   enable_fast_install=no
292   # Look at the argument we got.  We use all the common list separators.
293   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
294   for pkg in $enableval; do
295     if test "X$pkg" = "X$p"; then
296       enable_fast_install=yes
297     fi
298   done
299   IFS="$ac_save_ifs"
300   ;;
301 esac],
302 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
303 ])
304
305 # AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
306 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
307 AC_ENABLE_FAST_INSTALL(no)])
308
309 # AC_LIBTOOL_PICMODE - implement the --with-pic flag
310 # Usage: AC_LIBTOOL_PICMODE[(MODE)]
311 #   Where MODE is either `yes' or `no'.  If omitted, it defaults to
312 #   `both'.
313 AC_DEFUN(AC_LIBTOOL_PICMODE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
314 pic_mode=ifelse($#,1,$1,default)])
315
316
317 # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
318 AC_DEFUN(AC_PATH_TOOL_PREFIX,
319 [AC_MSG_CHECKING([for $1])
320 AC_CACHE_VAL(lt_cv_path_MAGIC,
321 [case "$MAGIC" in
322   /*)
323   lt_cv_path_MAGIC="$MAGIC" # Let the user override the test with a path.
324   ;;
325   ?:/*)
326   ac_cv_path_MAGIC="$MAGIC" # Let the user override the test with a dos path.
327   ;;
328   *)
329   ac_save_MAGIC="$MAGIC"
330   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
331 dnl $ac_dummy forces splitting on constant user-supplied paths.
332 dnl POSIX.2 word splitting is done only on the output of word expansions,
333 dnl not every word.  This closes a longstanding sh security hole.
334   ac_dummy="ifelse([$2], , $PATH, [$2])"
335   for ac_dir in $ac_dummy; do
336     test -z "$ac_dir" && ac_dir=.
337     if test -f $ac_dir/$1; then
338       lt_cv_path_MAGIC="$ac_dir/$1"
339       if test -n "$file_magic_test_file"; then
340         case "$deplibs_check_method" in
341         "file_magic "*)
342           file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
343           MAGIC="$lt_cv_path_MAGIC"
344           if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
345             egrep "$file_magic_regex" > /dev/null; then
346             :
347           else
348             cat <<EOF 1>&2
349
350 *** Warning: the command libtool uses to detect shared libraries,
351 *** $file_magic_cmd, produces output that libtool cannot recognize.
352 *** The result is that libtool may fail to recognize shared libraries
353 *** as such.  This will affect the creation of libtool libraries that
354 *** depend on shared libraries, but programs linked with such libtool
355 *** libraries will work regardless of this problem.  Nevertheless, you
356 *** may want to report the problem to your system manager and/or to
357 *** bug-libtool@gnu.org
358
359 EOF
360           fi ;;
361         esac
362       fi
363       break
364     fi
365   done
366   IFS="$ac_save_ifs"
367   MAGIC="$ac_save_MAGIC"
368   ;;
369 esac])
370 MAGIC="$lt_cv_path_MAGIC"
371 if test -n "$MAGIC"; then
372   AC_MSG_RESULT($MAGIC)
373 else
374   AC_MSG_RESULT(no)
375 fi
376 ])
377
378
379 # AC_PATH_MAGIC - find a file program which can recognise a shared library
380 AC_DEFUN(AC_PATH_MAGIC,
381 [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
382 AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
383 if test -z "$lt_cv_path_MAGIC"; then
384   if test -n "$ac_tool_prefix"; then
385     AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
386   else
387     MAGIC=:
388   fi
389 fi
390 ])
391
392
393 # AC_PROG_LD - find the path to the GNU or non-GNU linker
394 AC_DEFUN(AC_PROG_LD,
395 [AC_ARG_WITH(gnu-ld,
396 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
397 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
398 AC_REQUIRE([AC_PROG_CC])dnl
399 AC_REQUIRE([AC_CANONICAL_HOST])dnl
400 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
401 ac_prog=ld
402 if test "$ac_cv_prog_gcc" = yes; then
403   # Check if gcc -print-prog-name=ld gives a path.
404   AC_MSG_CHECKING([for ld used by GCC])
405   case $host in
406   *-*-mingw*)
407     # gcc leaves a trailing carriage return which upsets mingw
408     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
409   *)
410     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
411   esac
412   case "$ac_prog" in
413     # Accept absolute paths.
414 changequote(,)dnl
415     [\\/]* | [A-Za-z]:[\\/]*)
416       re_direlt='/[^/][^/]*/\.\./'
417 changequote([,])dnl
418       # Canonicalize the path of ld
419       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
420       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
421         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
422       done
423       test -z "$LD" && LD="$ac_prog"
424       ;;
425   "")
426     # If it fails, then pretend we aren't using GCC.
427     ac_prog=ld
428     ;;
429   *)
430     # If it is relative, then search for the first ld in PATH.
431     with_gnu_ld=unknown
432     ;;
433   esac
434 elif test "$with_gnu_ld" = yes; then
435   AC_MSG_CHECKING([for GNU ld])
436 else
437   AC_MSG_CHECKING([for non-GNU ld])
438 fi
439 AC_CACHE_VAL(ac_cv_path_LD,
440 [if test -z "$LD"; then
441   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
442   for ac_dir in $PATH; do
443     test -z "$ac_dir" && ac_dir=.
444     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
445       ac_cv_path_LD="$ac_dir/$ac_prog"
446       # Check to see if the program is GNU ld.  I'd rather use --version,
447       # but apparently some GNU ld's only accept -v.
448       # Break only if it was the GNU/non-GNU ld that we prefer.
449       if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
450         test "$with_gnu_ld" != no && break
451       else
452         test "$with_gnu_ld" != yes && break
453       fi
454     fi
455   done
456   IFS="$ac_save_ifs"
457 else
458   ac_cv_path_LD="$LD" # Let the user override the test with a path.
459 fi])
460 LD="$ac_cv_path_LD"
461 if test -n "$LD"; then
462   AC_MSG_RESULT($LD)
463 else
464   AC_MSG_RESULT(no)
465 fi
466 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
467 AC_PROG_LD_GNU
468 ])
469
470 AC_DEFUN(AC_PROG_LD_GNU,
471 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
472 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
473 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
474   ac_cv_prog_gnu_ld=yes
475 else
476   ac_cv_prog_gnu_ld=no
477 fi])
478 with_gnu_ld=$ac_cv_prog_gnu_ld
479 ])
480
481 # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
482 #   -- PORTME Some linkers may need a different reload flag.
483 AC_DEFUN(AC_PROG_LD_RELOAD_FLAG,
484 [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
485 [lt_cv_ld_reload_flag='-r'])
486 reload_flag=$lt_cv_ld_reload_flag
487 test -n "$reload_flag" && reload_flag=" $reload_flag"
488 ])
489
490 # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
491 #  -- PORTME fill in with the dynamic library characteristics
492 AC_DEFUN(AC_DEPLIBS_CHECK_METHOD,
493 [AC_CACHE_CHECK([how to recognise dependant libraries],
494 lt_cv_deplibs_check_method,
495 [lt_cv_file_magic_cmd='${MAGIC}'
496 lt_cv_file_magic_test_file=
497 lt_cv_deplibs_check_method='unknown'
498 # Need to set the preceding variable on all platforms that support
499 # interlibrary dependencies.
500 # 'none' -- dependencies not supported.
501 # `unknown' -- same as none, but documents that we really don't know.
502 # 'pass_all' -- all dependencies passed with no checks.
503 # 'test_compile' -- check by making test program.
504 # 'file_magic [regex]' -- check by looking for files in library path
505 # which responds to the $file_magic_cmd with a given egrep regex.
506 # If you have `file' or equivalent on your system and you're not sure
507 # whether `pass_all' will *always* work, you probably want this one.
508
509 case "$host_os" in
510 aix4*)
511   lt_cv_deplibs_check_method=pass_all
512   ;;
513
514 beos*)
515   lt_cv_deplibs_check_method=pass_all
516   ;;
517
518 bsdi4*)
519   changequote(,)dnl
520   lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
521   changequote([, ])dnl
522   lt_cv_file_magic_cmd='/usr/bin/file -L'
523   lt_cv_file_magic_test_file=/shlib/libc.so
524   ;;
525
526 cygwin* | mingw*)
527   lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
528   lt_cv_file_magic_cmd='${OBJDUMP} -f'
529   ;;
530
531 freebsd* )
532   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
533     case "$host_cpu" in
534     i*86 )
535       # Not sure whether the presence of OpenBSD here was a mistake.
536       # Let's accept both of them until this is cleared up.
537       changequote(,)dnl
538       lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
539       changequote([, ])dnl
540       lt_cv_file_magic_cmd=/usr/bin/file
541       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
542       ;;
543     esac
544   else
545     lt_cv_deplibs_check_method=pass_all
546   fi
547   ;;
548
549 gnu*)
550   lt_cv_deplibs_check_method=pass_all
551   ;;
552
553 hpux10.20*)
554   # TODO:  Does this work for hpux-11 too?
555   lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
556   lt_cv_file_magic_cmd=/usr/bin/file
557   lt_cv_file_magic_test_file=/usr/lib/libc.sl
558   ;;
559
560 irix5* | irix6*)
561   case "$host_os" in
562   irix5*)
563     # this will be overridden with pass_all, but let us keep it just in case
564     lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
565     ;;
566   *)
567     case "$LD" in
568     *-32|*"-32 ") libmagic=32-bit;;
569     *-n32|*"-n32 ") libmagic=N32;;
570     *-64|*"-64 ") libmagic=64-bit;;
571     *) libmagic=never-match;;
572     esac
573     # this will be overridden with pass_all, but let us keep it just in case
574     changequote(,)dnl
575     lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
576     changequote([, ])dnl
577     ;;
578   esac
579   lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
580   lt_cv_deplibs_check_method=pass_all
581   ;;
582
583 # This must be Linux ELF.
584 linux-gnu*)
585   case "$host_cpu" in
586   alpha* | i*86 | powerpc* | sparc* | ia64* )
587     lt_cv_deplibs_check_method=pass_all ;;
588   *)
589     # glibc up to 2.1.1 does not perform some relocations on ARM
590     changequote(,)dnl
591     lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
592     changequote([, ])dnl
593   esac
594   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
595   ;;
596
597 netbsd*)
598   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then :
599   else
600     changequote(,)dnl
601     lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
602     changequote([, ])dnl
603     lt_cv_file_magic_cmd='/usr/bin/file -L'
604     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
605   fi
606   ;;
607
608 osf3* | osf4* | osf5*)
609   # this will be overridden with pass_all, but let us keep it just in case
610   lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
611   lt_cv_file_magic_test_file=/shlib/libc.so
612   lt_cv_deplibs_check_method=pass_all
613   ;;
614
615 sco3.2v5*)
616   lt_cv_deplibs_check_method=pass_all
617   ;;
618
619 solaris*)
620   lt_cv_deplibs_check_method=pass_all
621   lt_cv_file_magic_test_file=/lib/libc.so
622   ;;
623
624 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
625   case "$host_vendor" in
626   ncr)
627     lt_cv_deplibs_check_method=pass_all
628     ;;
629   motorola)
630     changequote(,)dnl
631     lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
632     changequote([, ])dnl
633     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
634     ;;
635   esac
636   ;;
637 esac
638 ])
639 file_magic_cmd=$lt_cv_file_magic_cmd
640 deplibs_check_method=$lt_cv_deplibs_check_method
641 ])
642
643
644 # AC_PROG_NM - find the path to a BSD-compatible name lister
645 AC_DEFUN(AC_PROG_NM,
646 [AC_MSG_CHECKING([for BSD-compatible nm])
647 AC_CACHE_VAL(ac_cv_path_NM,
648 [if test -n "$NM"; then
649   # Let the user override the test.
650   ac_cv_path_NM="$NM"
651 else
652   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
653   for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
654     test -z "$ac_dir" && ac_dir=.
655     tmp_nm=$ac_dir/${ac_tool_prefix}nm
656     if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
657       # Check to see if the nm accepts a BSD-compat flag.
658       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
659       #   nm: unknown option "B" ignored
660       # Tru64's nm complains that /dev/null is an invalid object file
661       if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
662         ac_cv_path_NM="$tmp_nm -B"
663         break
664       elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
665         ac_cv_path_NM="$tmp_nm -p"
666         break
667       else
668         ac_cv_path_NM=${ac_cv_path_NM="$tmp_nm"} # keep the first match, but
669         continue # so that we can try to find one that supports BSD flags
670       fi
671     fi
672   done
673   IFS="$ac_save_ifs"
674   test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
675 fi])
676 NM="$ac_cv_path_NM"
677 AC_MSG_RESULT([$NM])
678 ])
679
680 # AC_CHECK_LIBM - check for math library
681 AC_DEFUN(AC_CHECK_LIBM,
682 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
683 LIBM=
684 case "$host" in
685 *-*-beos* | *-*-cygwin*)
686   # These system don't have libm
687   ;;
688 *-ncr-sysv4.3*)
689   AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
690   AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
691   ;;
692 *)
693   AC_CHECK_LIB(m, main, LIBM="-lm")
694   ;;
695 esac
696 ])
697
698 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
699 # the libltdl convenience library and INCLTDL to the include flags for
700 # the libltdl header and adds --enable-ltdl-convenience to the
701 # configure arguments.  Note that LIBLTDL and INCLTDL are not
702 # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
703 # provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
704 # with '${top_builddir}/' and INCLTDL will be prefixed with
705 # '${top_srcdir}/' (note the single quotes!).  If your package is not
706 # flat and you're not using automake, define top_builddir and
707 # top_srcdir appropriately in the Makefiles.
708 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
709   case "$enable_ltdl_convenience" in
710   no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
711   "") enable_ltdl_convenience=yes
712       ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
713   esac
714   LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
715   INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
716 ])
717
718 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
719 # the libltdl installable library and INCLTDL to the include flags for
720 # the libltdl header and adds --enable-ltdl-install to the configure
721 # arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
722 # AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
723 # libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
724 # be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
725 # with '${top_srcdir}/' (note the single quotes!).  If your package is
726 # not flat and you're not using automake, define top_builddir and
727 # top_srcdir appropriately in the Makefiles.
728 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
729 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
730   AC_CHECK_LIB(ltdl, main,
731   [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
732   [if test x"$enable_ltdl_install" = xno; then
733      AC_MSG_WARN([libltdl not installed, but installation disabled])
734    else
735      enable_ltdl_install=yes
736    fi
737   ])
738   if test x"$enable_ltdl_install" = x"yes"; then
739     ac_configure_args="$ac_configure_args --enable-ltdl-install"
740     LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
741     INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
742   else
743     ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
744     LIBLTDL="-lltdl"
745     INCLTDL=
746   fi
747 ])
748
749 # If this macro is not defined by Autoconf, define it here.
750 ifdef([AC_PROVIDE_IFELSE],
751       [],
752       [define([AC_PROVIDE_IFELSE],
753               [ifdef([AC_PROVIDE_$1],
754                      [$2], [$3])])])
755
756 # AC_LIBTOOL_CXX - enable support for C++ libraries
757 AC_DEFUN(AC_LIBTOOL_CXX,[AC_REQUIRE([_AC_LIBTOOL_CXX])])
758 AC_DEFUN(_AC_LIBTOOL_CXX,
759 [AC_REQUIRE([AC_PROG_LIBTOOL])
760 AC_REQUIRE([AC_PROG_CXX])
761 AC_REQUIRE([AC_PROG_CXXCPP])
762 LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
763 lt_save_CC="$CC"
764 lt_save_CFLAGS="$CFLAGS"
765 dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
766 dnl is set to the C++ compiler.
767 AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
768 MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
769 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
770 AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
771 objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
772 deplibs_check_method="$deplibs_check_method" \
773 file_magic_cmd="$file_magic_cmd" \
774 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
775 --build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
776 || AC_MSG_ERROR([libtool tag configuration failed])
777 CC="$lt_save_CC"
778 CFLAGS="$lt_save_CFLAGS"
779
780 # Redirect the config.log output again, so that the ltconfig log is not
781 # clobbered by the next message.
782 exec 5>>./config.log
783 ])
784
785 # AC_LIBTOOL_GCJ - enable support for GCJ libraries
786 AC_DEFUN(AC_LIBTOOL_GCJ,[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
787 AC_DEFUN(_AC_LIBTOOL_GCJ,
788 [AC_REQUIRE([AC_PROG_LIBTOOL])
789 AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
790   [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
791     [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
792        [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
793          [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])
794 LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
795 lt_save_CC="$CC"
796 lt_save_CFLAGS="$CFLAGS"
797 dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
798 dnl is set to the C++ compiler.
799 AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="" \
800 MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
801 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
802 AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
803 objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
804 deplibs_check_method="$deplibs_check_method" \
805 file_magic_cmd="$file_magic_cmd" \
806 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
807 --build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
808 || AC_MSG_ERROR([libtool tag configuration failed])
809 CC="$lt_save_CC"
810 CFLAGS="$lt_save_CFLAGS"
811
812 # Redirect the config.log output again, so that the ltconfig log is not
813 # clobbered by the next message.
814 exec 5>>./config.log
815 ])
816
817 dnl old names
818 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
819 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
820 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
821 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
822 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
823 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
824 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
825
826 dnl This is just to silence aclocal about the macro not being used
827 ifelse([AC_DISABLE_FAST_INSTALL])dnl
828
829 AC_DEFUN([LT_AC_PROG_GCJ],[
830   AC_CHECK_TOOL(GCJ, gcj, no)
831   test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
832   AC_SUBST(GCJFLAGS)
833 ])
834 ## ltdl.m4 - Configure ltdl for the target system. -*-Shell-script-*-
835 ## Copyright (C) 1999-2000 Free Software Foundation, Inc.
836 ##
837 ## This program is free software; you can redistribute it and/or modify
838 ## it under the terms of the GNU General Public License as published by
839 ## the Free Software Foundation; either version 2 of the License, or
840 ## (at your option) any later version.
841 ##
842 ## This program is distributed in the hope that it will be useful, but
843 ## WITHOUT ANY WARRANTY; without even the implied warranty of
844 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
845 ## General Public License for more details.
846 ##
847 ## You should have received a copy of the GNU General Public License
848 ## along with this program; if not, write to the Free Software
849 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
850 ##
851 ## As a special exception to the GNU General Public License, if you
852 ## distribute this file as part of a program that contains a
853 ## configuration script generated by Autoconf, you may include it under
854 ## the same distribution terms that you use for the rest of that program.
855
856 # serial 1 AC_LIB_LTDL
857
858 AC_DEFUN(AC_LIB_LTDL,
859 [AC_PREREQ(2.13)dnl
860 AC_REQUIRE([AC_PROG_CC])dnl
861 AC_REQUIRE([AC_C_CONST])dnl
862 AC_REQUIRE([AC_C_INLINE])dnl
863
864 dnl AC_LIB_LTDL must perform all the checks necessary for compilation
865 dnl of the ltdl objects -- including compiler checks (above) and header
866 dnl checks (below).
867 AC_REQUIRE([AC_HEADER_STDC])dnl
868
869 AC_CHECK_HEADERS(malloc.h memory.h stdlib.h stdio.h ctype.h dlfcn.h dl.h dld.h)
870 AC_CHECK_HEADERS(string.h strings.h, break)
871 AC_CHECK_FUNCS(strchr index, break)
872 AC_CHECK_FUNCS(strrchr rindex, break)
873 AC_CHECK_FUNCS(strcmp)
874
875 AC_REQUIRE([AC_LTDL_ENABLE_INSTALL])dnl
876 AC_REQUIRE([AC_LTDL_SHLIBEXT])dnl
877 AC_REQUIRE([AC_LTDL_SHLIBPATH])dnl
878 AC_REQUIRE([AC_LTDL_SYSSEARCHPATH])dnl
879 AC_REQUIRE([AC_LTDL_OBJDIR])dnl
880 AC_REQUIRE([AC_LTDL_DLPREOPEN])dnl
881 AC_REQUIRE([AC_LTDL_DLLIB])dnl
882 AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl
883 ])
884
885 AC_DEFUN(AC_LTDL_ENABLE_INSTALL,
886 [AC_ARG_ENABLE(ltdl-install,
887 [  --enable-ltdl-install   install libltdl])
888
889 AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
890 AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
891 ])])
892
893
894 AC_DEFUN(AC_LTDL_SNARF_CONFIG,
895 [# Read the libtool configuration
896 rm -f conftest
897 ./libtool --config > conftest
898 . ./conftest
899 rm -f conftest
900 ])
901
902 AC_DEFUN(AC_LTDL_SHLIBEXT,
903 [AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
904 AC_CACHE_CHECK([which extension is used for shared libraries],
905   libltdl_cv_shlibext, [dnl
906 (
907   last=
908   for spec in $library_names_spec; do
909     last="$spec"
910   done
911 changequote(, )
912   echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest
913 changequote([, ])
914 )
915 libltdl_cv_shlibext=`cat conftest`
916 rm -f conftest
917 ])
918 if test -n "$libltdl_cv_shlibext"; then
919   AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
920     [Define to the extension used for shared libraries, say, ".so". ])
921 fi
922 ])
923
924 AC_DEFUN(AC_LTDL_SHLIBPATH,
925 [AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
926 AC_CACHE_CHECK([which variable specifies run-time library path],
927   libltdl_cv_shlibpath_var, [libltdl_cv_shlibpath_var="$shlibpath_var"])
928 if test -n "$libltdl_cv_shlibpath_var"; then
929   AC_DEFINE_UNQUOTED(LTDL_SHLIBPATH_VAR, "$libltdl_cv_shlibpath_var",
930     [Define to the name of the environment variable that determines the dynamic library search path. ])
931 fi
932 ])
933
934 AC_DEFUN(AC_LTDL_SYSSEARCHPATH,
935 [AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl
936 AC_CACHE_CHECK([for the default library search path],
937   libltdl_cv_sys_search_path, [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"])
938 if test -n "$libltdl_cv_sys_search_path"; then
939   case "$host" in
940   *-*-mingw*) pathsep=";" ;;
941   *) pathsep=":" ;;
942   esac
943   sys_search_path=
944   for dir in $libltdl_cv_sys_search_path; do
945     if test -z "$sys_search_path"; then
946       sys_search_path="$dir"
947     else
948       sys_search_path="$sys_search_path$pathsep$dir"
949     fi
950   done
951   AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path",
952     [Define to the system default library search path. ])
953 fi
954 ])
955
956 AC_DEFUN(AC_LTDL_OBJDIR,
957 [AC_CACHE_CHECK([for objdir],
958   libltdl_cv_objdir, [libltdl_cv_objdir="$objdir"
959 if test -n "$objdir"; then
960   :
961 else
962   rm -f .libs 2>/dev/null
963   mkdir .libs 2>/dev/null
964   if test -d .libs; then
965     libltdl_cv_objdir=.libs
966   else
967     # MS-DOS does not allow filenames that begin with a dot.
968     libltdl_cv_objdir=_libs
969   fi
970 rmdir .libs 2>/dev/null
971 fi])
972 AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/",
973   [Define to the sub-directory in which libtool stores uninstalled libraries. ])
974 ])
975
976 AC_DEFUN(AC_LTDL_DLPREOPEN,
977 [AC_REQUIRE([AC_LTDL_GLOBAL_SYMBOL_PIPE])dnl
978 AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
979        libltdl_cv_preloaded_symbols, [dnl
980   if test -n "$global_symbol_pipe"; then
981     libltdl_cv_preloaded_symbols=yes
982   else
983     libltdl_cv_preloaded_symbols=no
984   fi
985 ])
986 if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then
987   AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1,
988     [Define if libtool can extract symbol lists from object files. ])
989 fi
990 ])
991
992 AC_DEFUN(AC_LTDL_DLLIB,
993 [LIBADD_DL=
994 AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
995    [Define if you have the libdl library or equivalent. ]) LIBADD_DL="-ldl"],
996 [AC_CHECK_FUNC(dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
997    [Define if you have the libdl library or equivalent.])],
998 [AC_CHECK_LIB(svld, dlopen, [AC_DEFINE(HAVE_LIBDL, 1,
999    [Define if you have the libdl library or equivalent.]) LIBADD_DL="-lsvld"]
1000 )])])
1001 AC_CHECK_FUNC(shl_load, [AC_DEFINE(HAVE_SHL_LOAD, 1,
1002    [Define if you have the shl_load function.])],
1003 [AC_CHECK_LIB(dld, shl_load,
1004   [AC_DEFINE(HAVE_SHL_LOAD, 1,
1005      [Define if you have the shl_load function.])
1006    LIBADD_DL="$LIBADD_DL -ldld"])
1007 ])
1008 AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD, 1,
1009   [Define if you have the GNU dld library.])dnl
1010 test "x$ac_cv_lib_dld_shl_load" = yes || LIBADD_DL="$LIBADD_DL -ldld"])
1011 AC_SUBST(LIBADD_DL)
1012
1013 if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then
1014  LIBS_SAVE="$LIBS"
1015  LIBS="$LIBS $LIBADD_DL"
1016  AC_CHECK_FUNCS(dlerror)
1017  LIBS="$LIBS_SAVE"
1018 fi
1019 ])
1020
1021 AC_DEFUN(AC_LTDL_GLOBAL_SYMBOL_PIPE,
1022 [dnl Check for command to grab the raw symbol name followed
1023 dnl by C symbol name from nm.
1024 AC_REQUIRE([AC_CANONICAL_HOST])dnl
1025 AC_REQUIRE([AC_PROG_NM])dnl
1026 # Check for command to grab the raw symbol name followed by C symbol from nm.
1027 AC_MSG_CHECKING([command to parse $NM output])
1028 AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe,
1029 [# These are sane defaults that work on at least a few old systems.
1030 # {They come from Ultrix.  What could be older than Ultrix?!! ;)}
1031
1032 changequote(,)dnl
1033 # Character class describing NM global symbol codes.
1034 ac_symcode='[BCDEGRST]'
1035
1036 # Regexp to match symbols that can be accessed directly from C.
1037 ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
1038
1039 # Transform the above into a raw symbol and a C symbol.
1040 ac_symxfrm='\1 \2\3 \3'
1041
1042 # Transform an extracted symbol line into a proper C declaration
1043 ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
1044
1045 # Define system-specific variables.
1046 case "$host_os" in
1047 aix*)
1048   ac_symcode='[BCDT]'
1049   ;;
1050 cygwin* | mingw*)
1051   ac_symcode='[ABCDGISTW]'
1052   ;;
1053 hpux*)
1054   ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
1055   ;;
1056 irix*)
1057   ac_symcode='[BCDEGRST]'
1058   ;;
1059 solaris*)
1060   ac_symcode='[BDT]'
1061   ;;
1062 esac
1063
1064 # If we're using GNU nm, then use its standard symbol codes.
1065 if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
1066   ac_symcode='[ABCDGISTW]'
1067 fi
1068 changequote([,])dnl
1069
1070 # Try without a prefix undercore, then with it.
1071 for ac_symprfx in "" "_"; do
1072
1073   ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[       ]\($ac_symcode\)[       ][      ]*\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'"
1074
1075   # Check to see that the pipe works correctly.
1076   ac_pipe_works=no
1077   rm -f conftest.$ac_ext
1078   cat > conftest.$ac_ext <<EOF
1079 #ifdef __cplusplus
1080 extern "C" {
1081 #endif
1082 char nm_test_var;
1083 void nm_test_func(){}
1084 #ifdef __cplusplus
1085 }
1086 #endif
1087 int main(){nm_test_var='a';nm_test_func;return 0;}
1088 EOF
1089
1090   if AC_TRY_EVAL(ac_compile); then
1091     # Now try to grab the symbols.
1092     ac_nlist=conftest.nm
1093
1094     if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
1095
1096       # Try sorting and uniquifying the output.
1097       if sort "$ac_nlist" | uniq > "$ac_nlist"T; then
1098         mv -f "$ac_nlist"T "$ac_nlist"
1099       else
1100         rm -f "$ac_nlist"T
1101       fi
1102
1103       # Make sure that we snagged all the symbols we need.
1104       if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then
1105         if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then
1106           cat <<EOF > conftest.c
1107 #ifdef __cplusplus
1108 extern "C" {
1109 #endif
1110
1111 EOF
1112           # Now generate the symbol file.
1113           eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c'
1114
1115           cat <<EOF >> conftest.c
1116 #if defined (__STDC__) && __STDC__
1117 # define lt_ptr_t void *
1118 #else
1119 # define lt_ptr_t char *
1120 # define const
1121 #endif
1122
1123 /* The mapping between symbol names and symbols. */
1124 const struct {
1125   const char *name;
1126   lt_ptr_t address;
1127 }
1128 changequote(,)dnl
1129 lt_preloaded_symbols[] =
1130 changequote([,])dnl
1131 {
1132 EOF
1133         sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c
1134         cat <<\EOF >> conftest.c
1135   {0, (lt_ptr_t) 0}
1136 };
1137
1138 #ifdef __cplusplus
1139 }
1140 #endif
1141 EOF
1142           # Now try linking the two files.
1143           mv conftest.$ac_objext conftstm.$ac_objext
1144           ac_save_LIBS="$LIBS"
1145           ac_save_CFLAGS="$CFLAGS"
1146           LIBS="conftstm.$ac_objext"
1147           CFLAGS="$CFLAGS$no_builtin_flag"
1148           if AC_TRY_EVAL(ac_link) && test -s conftest; then
1149             ac_pipe_works=yes
1150           else
1151             echo "configure: failed program was:" >&AC_FD_CC
1152             cat conftest.c >&AC_FD_CC
1153           fi
1154           LIBS="$ac_save_LIBS"
1155           CFLAGS="$ac_save_CFLAGS"
1156         else
1157           echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
1158         fi
1159       else
1160         echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC
1161       fi
1162     else
1163       echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
1164     fi
1165   else
1166     echo "$progname: failed program was:" >&AC_FD_CC
1167     cat conftest.c >&AC_FD_CC
1168   fi
1169   rm -rf conftest* conftst*
1170
1171   # Do not use the global_symbol_pipe unless it works.
1172   if test "$ac_pipe_works" = yes; then
1173     if test x"$ac_symprfx" = x"_"; then
1174       ac_cv_sys_symbol_underscore=yes
1175     else
1176       ac_cv_sys_symbol_underscore=no
1177     fi
1178     break
1179   else
1180     ac_cv_sys_global_symbol_pipe=
1181   fi
1182 done
1183 ])
1184
1185 ac_result=yes
1186 if test -z "$ac_cv_sys_global_symbol_pipe"; then
1187    ac_result=no
1188 fi
1189 AC_MSG_RESULT($ac_result)
1190 ])
1191
1192 AC_DEFUN(AC_LTDL_SYMBOL_USCORE,
1193 [dnl does the compiler prefix global symbols with an underscore?
1194 AC_REQUIRE([AC_LTDL_GLOBAL_SYMBOL_PIPE])dnl
1195 AC_MSG_CHECKING([for _ prefix in compiled symbols])
1196 AC_CACHE_VAL(ac_cv_sys_symbol_underscore,
1197 [ac_cv_sys_symbol_underscore=no
1198 cat > conftest.$ac_ext <<EOF
1199 void nm_test_func(){}
1200 int main(){nm_test_func;return 0;}
1201 EOF
1202 if AC_TRY_EVAL(ac_compile); then
1203   # Now try to grab the symbols.
1204   ac_nlist=conftest.nm
1205   if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
1206     # See whether the symbols have a leading underscore.
1207     if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
1208       ac_cv_sys_symbol_underscore=yes
1209     else
1210       if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
1211         :
1212       else
1213         echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
1214       fi
1215     fi
1216   else
1217     echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
1218   fi
1219 else
1220   echo "configure: failed program was:" >&AC_FD_CC
1221   cat conftest.c >&AC_FD_CC
1222 fi
1223 rm -rf conftest*
1224 ])
1225 AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
1226 AC_LTDL_DLSYM_USCORE
1227 ])
1228
1229 AC_DEFUN(AC_LTDL_DLSYM_USCORE,
1230 [AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl
1231 if test x"$ac_cv_sys_symbol_underscore" = xyes; then
1232   if test x"$ac_cv_func_dlopen" = xyes ||
1233      test x"$ac_cv_lib_dl_dlopen" = xyes ; then
1234         AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
1235                 libltdl_cv_need_uscore, [dnl
1236                 AC_TRY_RUN([
1237 #if HAVE_DLFCN_H
1238 #include <dlfcn.h>
1239 #endif
1240
1241 #include <stdio.h>
1242
1243 #ifdef RTLD_GLOBAL
1244 # define LTDL_GLOBAL    RTLD_GLOBAL
1245 #else
1246 # ifdef DL_GLOBAL
1247 #  define LTDL_GLOBAL   DL_GLOBAL
1248 # else
1249 #  define LTDL_GLOBAL   0
1250 # endif
1251 #endif
1252
1253 /* We may have to define LTDL_LAZY_OR_NOW in the command line if we
1254    find out it does not work in some platform. */
1255 #ifndef LTDL_LAZY_OR_NOW
1256 # ifdef RTLD_LAZY
1257 #  define LTDL_LAZY_OR_NOW      RTLD_LAZY
1258 # else
1259 #  ifdef DL_LAZY
1260 #   define LTDL_LAZY_OR_NOW     DL_LAZY
1261 #  else
1262 #   ifdef RTLD_NOW
1263 #    define LTDL_LAZY_OR_NOW    RTLD_NOW
1264 #   else
1265 #    ifdef DL_NOW
1266 #     define LTDL_LAZY_OR_NOW   DL_NOW
1267 #    else
1268 #     define LTDL_LAZY_OR_NOW   0
1269 #    endif
1270 #   endif
1271 #  endif
1272 # endif
1273 #endif
1274
1275 fnord() { int i=42;}
1276 main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
1277     if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
1278                if(ptr1 && !ptr2) { dlclose(self); exit(0); } } exit(1); }
1279 ],      libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
1280         libltdl_cv_need_uscore=cross
1281 )])
1282   fi
1283 fi
1284
1285 if test x"$libltdl_cv_need_uscore" = xyes; then
1286   AC_DEFINE(NEED_USCORE, 1,
1287     [Define if dlsym() requires a leading underscode in symbol names. ])
1288 fi
1289 ])