]>
Commit | Line | Data |
---|---|---|
4f4caf92 AO |
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 | changequote(,)dnl | |
536 | lt_cv_deplibs_check_method=='file_magic OpenBSD/i[3-9]86 demand paged shared library' | |
537 | changequote([, ])dnl | |
538 | lt_cv_file_magic_cmd=/usr/bin/file | |
539 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | |
540 | ;; | |
541 | esac | |
542 | else | |
543 | lt_cv_deplibs_check_method=pass_all | |
544 | fi | |
545 | ;; | |
546 | ||
547 | gnu*) | |
548 | lt_cv_deplibs_check_method=pass_all | |
549 | ;; | |
550 | ||
551 | hpux10.20*) | |
552 | # TODO: Does this work for hpux-11 too? | |
553 | lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' | |
554 | lt_cv_file_magic_cmd=/usr/bin/file | |
555 | lt_cv_file_magic_test_file=/usr/lib/libc.sl | |
556 | ;; | |
557 | ||
558 | irix5* | irix6*) | |
559 | case "$host_os" in | |
560 | irix5*) | |
561 | # this will be overridden with pass_all, but let us keep it just in case | |
562 | lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" | |
563 | ;; | |
564 | *) | |
565 | case "$LD" in | |
566 | *-32|*"-32 ") libmagic=32-bit;; | |
567 | *-n32|*"-n32 ") libmagic=N32;; | |
568 | *-64|*"-64 ") libmagic=64-bit;; | |
569 | *) libmagic=never-match;; | |
570 | esac | |
571 | # this will be overridden with pass_all, but let us keep it just in case | |
572 | changequote(,)dnl | |
573 | lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" | |
574 | changequote([, ])dnl | |
575 | ;; | |
576 | esac | |
577 | lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` | |
578 | lt_cv_deplibs_check_method=pass_all | |
579 | ;; | |
580 | ||
581 | # This must be Linux ELF. | |
582 | linux-gnu*) | |
583 | case "$host_cpu" in | |
584 | alpha* | i*86 | powerpc* | sparc* | ia64* ) | |
585 | lt_cv_deplibs_check_method=pass_all ;; | |
586 | *) | |
587 | # glibc up to 2.1.1 does not perform some relocations on ARM | |
588 | changequote(,)dnl | |
589 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; | |
590 | changequote([, ])dnl | |
591 | esac | |
592 | lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` | |
593 | ;; | |
594 | ||
595 | netbsd*) | |
596 | if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then : | |
597 | else | |
598 | changequote(,)dnl | |
599 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' | |
600 | changequote([, ])dnl | |
601 | lt_cv_file_magic_cmd='/usr/bin/file -L' | |
602 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | |
603 | fi | |
604 | ;; | |
605 | ||
606 | osf3* | osf4* | osf5*) | |
607 | # this will be overridden with pass_all, but let us keep it just in case | |
608 | lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' | |
609 | lt_cv_file_magic_test_file=/shlib/libc.so | |
610 | lt_cv_deplibs_check_method=pass_all | |
611 | ;; | |
612 | ||
613 | sco3.2v5*) | |
614 | lt_cv_deplibs_check_method=pass_all | |
615 | ;; | |
616 | ||
617 | solaris*) | |
618 | lt_cv_deplibs_check_method=pass_all | |
619 | lt_cv_file_magic_test_file=/lib/libc.so | |
620 | ;; | |
621 | ||
622 | sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | |
623 | case "$host_vendor" in | |
624 | ncr) | |
625 | lt_cv_deplibs_check_method=pass_all | |
626 | ;; | |
627 | motorola) | |
628 | changequote(,)dnl | |
629 | 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]' | |
630 | changequote([, ])dnl | |
631 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | |
632 | ;; | |
633 | esac | |
634 | ;; | |
635 | esac | |
636 | ]) | |
637 | file_magic_cmd=$lt_cv_file_magic_cmd | |
638 | deplibs_check_method=$lt_cv_deplibs_check_method | |
639 | ]) | |
640 | ||
641 | ||
642 | # AC_PROG_NM - find the path to a BSD-compatible name lister | |
643 | AC_DEFUN(AC_PROG_NM, | |
644 | [AC_MSG_CHECKING([for BSD-compatible nm]) | |
645 | AC_CACHE_VAL(ac_cv_path_NM, | |
646 | [if test -n "$NM"; then | |
647 | # Let the user override the test. | |
648 | ac_cv_path_NM="$NM" | |
649 | else | |
650 | IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | |
651 | for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do | |
652 | test -z "$ac_dir" && ac_dir=. | |
653 | tmp_nm=$ac_dir/${ac_tool_prefix}nm | |
654 | if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then | |
655 | # Check to see if the nm accepts a BSD-compat flag. | |
656 | # Adding the `sed 1q' prevents false positives on HP-UX, which says: | |
657 | # nm: unknown option "B" ignored | |
658 | if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then | |
659 | ac_cv_path_NM="$tmp_nm -B" | |
660 | break | |
661 | elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then | |
662 | ac_cv_path_NM="$tmp_nm -p" | |
663 | break | |
664 | else | |
665 | ac_cv_path_NM=${ac_cv_path_NM="$tmp_nm"} # keep the first match, but | |
666 | continue # so that we can try to find one that supports BSD flags | |
667 | fi | |
668 | fi | |
669 | done | |
670 | IFS="$ac_save_ifs" | |
671 | test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm | |
672 | fi]) | |
673 | NM="$ac_cv_path_NM" | |
674 | AC_MSG_RESULT([$NM]) | |
675 | ]) | |
676 | ||
677 | # AC_CHECK_LIBM - check for math library | |
678 | AC_DEFUN(AC_CHECK_LIBM, | |
679 | [AC_REQUIRE([AC_CANONICAL_HOST])dnl | |
680 | LIBM= | |
681 | case "$host" in | |
682 | *-*-beos* | *-*-cygwin*) | |
683 | # These system don't have libm | |
684 | ;; | |
685 | *-ncr-sysv4.3*) | |
686 | AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") | |
687 | AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") | |
688 | ;; | |
689 | *) | |
690 | AC_CHECK_LIB(m, main, LIBM="-lm") | |
691 | ;; | |
692 | esac | |
693 | ]) | |
694 | ||
695 | # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for | |
696 | # the libltdl convenience library and INCLTDL to the include flags for | |
697 | # the libltdl header and adds --enable-ltdl-convenience to the | |
698 | # configure arguments. Note that LIBLTDL and INCLTDL are not | |
699 | # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not | |
700 | # provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed | |
701 | # with '${top_builddir}/' and INCLTDL will be prefixed with | |
702 | # '${top_srcdir}/' (note the single quotes!). If your package is not | |
703 | # flat and you're not using automake, define top_builddir and | |
704 | # top_srcdir appropriately in the Makefiles. | |
705 | AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | |
706 | case "$enable_ltdl_convenience" in | |
707 | no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; | |
708 | "") enable_ltdl_convenience=yes | |
709 | ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; | |
710 | esac | |
711 | LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la | |
712 | INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) | |
713 | ]) | |
714 | ||
715 | # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for | |
716 | # the libltdl installable library and INCLTDL to the include flags for | |
717 | # the libltdl header and adds --enable-ltdl-install to the configure | |
718 | # arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is | |
719 | # AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed | |
720 | # libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will | |
721 | # be prefixed with '${top_builddir}/' and INCLTDL will be prefixed | |
722 | # with '${top_srcdir}/' (note the single quotes!). If your package is | |
723 | # not flat and you're not using automake, define top_builddir and | |
724 | # top_srcdir appropriately in the Makefiles. | |
725 | # In the future, this macro may have to be called after AC_PROG_LIBTOOL. | |
726 | AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | |
727 | AC_CHECK_LIB(ltdl, main, | |
728 | [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], | |
729 | [if test x"$enable_ltdl_install" = xno; then | |
730 | AC_MSG_WARN([libltdl not installed, but installation disabled]) | |
731 | else | |
732 | enable_ltdl_install=yes | |
733 | fi | |
734 | ]) | |
735 | if test x"$enable_ltdl_install" = x"yes"; then | |
736 | ac_configure_args="$ac_configure_args --enable-ltdl-install" | |
737 | LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la | |
738 | INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) | |
739 | else | |
740 | ac_configure_args="$ac_configure_args --enable-ltdl-install=no" | |
741 | LIBLTDL="-lltdl" | |
742 | INCLTDL= | |
743 | fi | |
744 | ]) | |
745 | ||
746 | # If this macro is not defined by Autoconf, define it here. | |
747 | ifdef([AC_PROVIDE_IFELSE], | |
748 | [], | |
749 | [define([AC_PROVIDE_IFELSE], | |
750 | [ifdef([AC_PROVIDE_$1], | |
751 | [$2], [$3])])]) | |
752 | ||
753 | # AC_LIBTOOL_CXX - enable support for C++ libraries | |
754 | AC_DEFUN(AC_LIBTOOL_CXX,[AC_REQUIRE([_AC_LIBTOOL_CXX])]) | |
755 | AC_DEFUN(_AC_LIBTOOL_CXX, | |
756 | [AC_REQUIRE([AC_PROG_LIBTOOL]) | |
757 | AC_REQUIRE([AC_PROG_CXX]) | |
758 | AC_REQUIRE([AC_PROG_CXXCPP]) | |
759 | LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh" | |
760 | lt_save_CC="$CC" | |
761 | lt_save_CFLAGS="$CFLAGS" | |
762 | dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC | |
763 | dnl is set to the C++ compiler. | |
764 | AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \ | |
765 | MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ | |
766 | LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ | |
767 | AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ | |
768 | objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ | |
769 | deplibs_check_method="$deplibs_check_method" \ | |
770 | file_magic_cmd="$file_magic_cmd" \ | |
771 | ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \ | |
772 | --build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \ | |
773 | || AC_MSG_ERROR([libtool tag configuration failed]) | |
774 | CC="$lt_save_CC" | |
775 | CFLAGS="$lt_save_CFLAGS" | |
776 | ||
777 | # Redirect the config.log output again, so that the ltconfig log is not | |
778 | # clobbered by the next message. | |
779 | exec 5>>./config.log | |
780 | ]) | |
781 | ||
782 | # AC_LIBTOOL_GCJ - enable support for GCJ libraries | |
783 | AC_DEFUN(AC_LIBTOOL_GCJ,[AC_REQUIRE([_AC_LIBTOOL_GCJ])]) | |
784 | AC_DEFUN(_AC_LIBTOOL_GCJ, | |
785 | [AC_REQUIRE([AC_PROG_LIBTOOL]) | |
786 | AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], | |
787 | [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], | |
788 | [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], | |
789 | [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], | |
790 | [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])]) | |
791 | LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh" | |
792 | lt_save_CC="$CC" | |
793 | lt_save_CFLAGS="$CFLAGS" | |
794 | dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC | |
795 | dnl is set to the C++ compiler. | |
796 | AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="" \ | |
797 | MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ | |
798 | LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ | |
799 | AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ | |
800 | objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ | |
801 | deplibs_check_method="$deplibs_check_method" \ | |
802 | file_magic_cmd="$file_magic_cmd" \ | |
803 | ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \ | |
804 | --build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \ | |
805 | || AC_MSG_ERROR([libtool tag configuration failed]) | |
806 | CC="$lt_save_CC" | |
807 | CFLAGS="$lt_save_CFLAGS" | |
808 | ||
809 | # Redirect the config.log output again, so that the ltconfig log is not | |
810 | # clobbered by the next message. | |
811 | exec 5>>./config.log | |
812 | ]) | |
813 | ||
814 | dnl old names | |
815 | AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl | |
816 | AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl | |
817 | AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl | |
818 | AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl | |
819 | AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl | |
820 | AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl | |
821 | AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl | |
822 | ||
823 | dnl This is just to silence aclocal about the macro not being used | |
824 | ifelse([AC_DISABLE_FAST_INSTALL])dnl |