1 |
#! /bin/sh |
2 |
|
3 |
# ltconfig - Create a system-specific libtool. |
4 |
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 |
5 |
# Free Software Foundation, Inc. |
6 |
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 |
7 |
# |
8 |
# This file is free software; you can redistribute it and/or modify it |
9 |
# under the terms of the GNU General Public License as published by |
10 |
# the Free Software Foundation; either version 2 of the License, or |
11 |
# (at your option) any later version. |
12 |
# |
13 |
# This program is distributed in the hope that it will be useful, but |
14 |
# WITHOUT ANY WARRANTY; without even the implied warranty of |
15 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
16 |
# General Public License for more details. |
17 |
# |
18 |
# You should have received a copy of the GNU General Public License |
19 |
# along with this program; if not, write to the Free Software |
20 |
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 |
# |
22 |
# As a special exception to the GNU General Public License, if you |
23 |
# distribute this file as part of a program that contains a |
24 |
# configuration script generated by Autoconf, you may include it under |
25 |
# the same distribution terms that you use for the rest of that program. |
26 |
|
27 |
# A lot of this script is taken from autoconf-2.10. |
28 |
|
29 |
# Check that we are running under the correct shell. |
30 |
SHELL=${CONFIG_SHELL-/bin/sh} |
31 |
echo=echo |
32 |
if test "X$1" = X--no-reexec; then |
33 |
# Discard the --no-reexec flag, and continue. |
34 |
shift |
35 |
elif test "X$1" = X--fallback-echo; then |
36 |
# Avoid inline document here, it may be left over |
37 |
: |
38 |
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then |
39 |
# Yippee, $echo works! |
40 |
: |
41 |
else |
42 |
# Restart under the correct shell. |
43 |
exec "$SHELL" "$0" --no-reexec ${1+"$@"} |
44 |
fi |
45 |
|
46 |
if test "X$1" = X--fallback-echo; then |
47 |
# used as fallback echo |
48 |
shift |
49 |
cat <<EOF |
50 |
$* |
51 |
EOF |
52 |
exit 0 |
53 |
fi |
54 |
|
55 |
# Find the correct PATH separator. Usually this is `:', but |
56 |
# DJGPP uses `;' like DOS. |
57 |
if test "X${PATH_SEPARATOR+set}" != Xset; then |
58 |
UNAME=${UNAME-`uname 2>/dev/null`} |
59 |
case X$UNAME in |
60 |
*-DOS) PATH_SEPARATOR=';' ;; |
61 |
*) PATH_SEPARATOR=':' ;; |
62 |
esac |
63 |
fi |
64 |
|
65 |
# The HP-UX ksh and POSIX shell print the target directory to stdout |
66 |
# if CDPATH is set. |
67 |
if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi |
68 |
|
69 |
if test "X${echo_test_string+set}" != Xset; then |
70 |
# find a string as large as possible, as long as the shell can cope with it |
71 |
for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do |
72 |
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... |
73 |
if (echo_test_string="`eval $cmd`") 2>/dev/null && |
74 |
echo_test_string="`eval $cmd`" && |
75 |
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then |
76 |
break |
77 |
fi |
78 |
done |
79 |
fi |
80 |
|
81 |
if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && |
82 |
echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && |
83 |
test "X$echo_testing_string" = "X$echo_test_string"; then |
84 |
: |
85 |
else |
86 |
# The Solaris, AIX, and Digital Unix default echo programs unquote |
87 |
# backslashes. This makes it impossible to quote backslashes using |
88 |
# echo "$something" | sed 's/\\/\\\\/g' |
89 |
# |
90 |
# So, first we look for a working echo in the user's PATH. |
91 |
|
92 |
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" |
93 |
for dir in $PATH /usr/ucb; do |
94 |
if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && |
95 |
test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && |
96 |
echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && |
97 |
test "X$echo_testing_string" = "X$echo_test_string"; then |
98 |
echo="$dir/echo" |
99 |
break |
100 |
fi |
101 |
done |
102 |
IFS="$save_ifs" |
103 |
|
104 |
if test "X$echo" = Xecho; then |
105 |
# We didn't find a better echo, so look for alternatives. |
106 |
if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && |
107 |
echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && |
108 |
test "X$echo_testing_string" = "X$echo_test_string"; then |
109 |
# This shell has a builtin print -r that does the trick. |
110 |
echo='print -r' |
111 |
elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && |
112 |
test "X$CONFIG_SHELL" != X/bin/ksh; then |
113 |
# If we have ksh, try running ltconfig again with it. |
114 |
ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}" |
115 |
export ORIGINAL_CONFIG_SHELL |
116 |
CONFIG_SHELL=/bin/ksh |
117 |
export CONFIG_SHELL |
118 |
exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} |
119 |
else |
120 |
# Try using printf. |
121 |
echo='printf %s\n' |
122 |
if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && |
123 |
echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && |
124 |
test "X$echo_testing_string" = "X$echo_test_string"; then |
125 |
# Cool, printf works |
126 |
: |
127 |
elif echo_testing_string=`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null` && |
128 |
test "X$echo_testing_string" = 'X\t' && |
129 |
echo_testing_string=`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && |
130 |
test "X$echo_testing_string" = "X$echo_test_string"; then |
131 |
CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL" |
132 |
export CONFIG_SHELL |
133 |
SHELL="$CONFIG_SHELL" |
134 |
export SHELL |
135 |
echo="$CONFIG_SHELL $0 --fallback-echo" |
136 |
elif echo_testing_string=`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null` && |
137 |
test "X$echo_testing_string" = 'X\t' && |
138 |
echo_testing_string=`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && |
139 |
test "X$echo_testing_string" = "X$echo_test_string"; then |
140 |
echo="$CONFIG_SHELL $0 --fallback-echo" |
141 |
else |
142 |
# maybe with a smaller string... |
143 |
prev=: |
144 |
|
145 |
for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do |
146 |
if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then |
147 |
break |
148 |
fi |
149 |
prev="$cmd" |
150 |
done |
151 |
|
152 |
if test "$prev" != 'sed 50q "$0"'; then |
153 |
echo_test_string=`eval $prev` |
154 |
|
155 |
export echo_test_string |
156 |
exec "${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}}" "$0" ${1+"$@"} |
157 |
else |
158 |
# Oops. We lost completely, so just stick with echo. |
159 |
echo=echo |
160 |
fi |
161 |
fi |
162 |
fi |
163 |
fi |
164 |
fi |
165 |
|
166 |
# Sed substitution that helps us do robust quoting. It backslashifies |
167 |
# metacharacters that are still active within double-quoted strings. |
168 |
Xsed='sed -e s/^X//' |
169 |
sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' |
170 |
|
171 |
# Same as above, but do not quote variable references. |
172 |
double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' |
173 |
|
174 |
# Sed substitution to delay expansion of an escaped shell variable in a |
175 |
# double_quote_subst'ed string. |
176 |
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' |
177 |
|
178 |
# The name of this program. |
179 |
progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` |
180 |
|
181 |
# Constants: |
182 |
PROGRAM=ltconfig |
183 |
PACKAGE=libtool |
184 |
VERSION=1.4a |
185 |
TIMESTAMP=" (1.641.2.206mm 2001/04/03 21:47:47)" |
186 |
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' |
187 |
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' |
188 |
rm="rm -f" |
189 |
|
190 |
help="Try \`$progname --help' for more information." |
191 |
|
192 |
# Global variables: |
193 |
default_ofile=libtool |
194 |
can_build_shared=yes |
195 |
enable_shared=yes |
196 |
# All known linkers require a `.a' archive for static linking (except M$VC, |
197 |
# which needs '.lib'). |
198 |
enable_static=yes |
199 |
enable_fast_install=yes |
200 |
enable_dlopen=unknown |
201 |
enable_win32_dll=no |
202 |
pic_mode=default |
203 |
ltmain= |
204 |
silent= |
205 |
srcdir= |
206 |
ac_config_guess= |
207 |
ac_config_sub= |
208 |
host= |
209 |
build=NONE |
210 |
nonopt=NONE |
211 |
ofile="$default_ofile" |
212 |
verify_host=yes |
213 |
tagname= |
214 |
with_gcc=no |
215 |
with_gnu_ld=no |
216 |
need_locks=yes |
217 |
ac_ext=c |
218 |
libext=a |
219 |
cache_file= |
220 |
max_cmd_len= |
221 |
|
222 |
## Dependencies to place before and after the object being linked: |
223 |
predep_objects= |
224 |
postdep_objects= |
225 |
predeps= |
226 |
postdeps= |
227 |
compiler_lib_search_path= |
228 |
|
229 |
## Link characteristics: |
230 |
allow_undefined_flag= |
231 |
no_undefined_flag= |
232 |
need_lib_prefix=unknown |
233 |
need_version=unknown |
234 |
# when you set need_version to no, make sure it does not cause -set_version |
235 |
# flags to be left without arguments |
236 |
archive_cmds= |
237 |
archive_expsym_cmds= |
238 |
old_archive_from_new_cmds= |
239 |
old_archive_from_expsyms_cmds= |
240 |
striplib= |
241 |
old_striplib= |
242 |
export_dynamic_flag_spec= |
243 |
whole_archive_flag_spec= |
244 |
thread_safe_flag_spec= |
245 |
hardcode_into_libs=no |
246 |
hardcode_libdir_flag_spec= |
247 |
hardcode_libdir_separator= |
248 |
hardcode_direct=no |
249 |
hardcode_minus_L=no |
250 |
hardcode_shlibpath_var=unsupported |
251 |
runpath_var= |
252 |
link_all_deplibs=unknown |
253 |
always_export_symbols=no |
254 |
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' |
255 |
# include_expsyms should be a list of space-separated symbols to be *always* |
256 |
# included in the symbol list |
257 |
include_expsyms= |
258 |
# exclude_expsyms can be an egrep regular expression of symbols to exclude |
259 |
# it will be wrapped by ` (' and `)$', so one must not match beginning or |
260 |
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', |
261 |
# as well as any symbol that contains `d'. |
262 |
exclude_expsyms="_GLOBAL_OFFSET_TABLE_" |
263 |
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out |
264 |
# platforms (ab)use it in PIC code, but their linkers get confused if |
265 |
# the symbol is explicitly referenced. Since portable code cannot |
266 |
# rely on this symbol name, it's probably fine to never include it in |
267 |
# preloaded symbol tables. |
268 |
extract_expsyms_cmds= |
269 |
|
270 |
## Tools: |
271 |
old_AR="$AR" |
272 |
old_AR_FLAGS="$AR_FLAGS" |
273 |
old_CC="$CC" |
274 |
old_CFLAGS="$CFLAGS" |
275 |
old_CPPFLAGS="$CPPFLAGS" |
276 |
old_LDFLAGS="$LDFLAGS" |
277 |
old_LIBS="$LIBS" |
278 |
old_MAGIC_CMD="$MAGIC_CMD" |
279 |
old_LD="$LD" |
280 |
old_LN_S="$LN_S" |
281 |
old_LTCC="$LTCC" |
282 |
old_NM="$NM" |
283 |
old_RANLIB="$RANLIB" |
284 |
old_STRIP="$STRIP" |
285 |
old_AS="$AS" |
286 |
old_DLLTOOL="$DLLTOOL" |
287 |
old_OBJDUMP="$OBJDUMP" |
288 |
old_OBJEXT="$OBJEXT" |
289 |
old_EXEEXT="$EXEEXT" |
290 |
old_reload_flag="$reload_flag" |
291 |
old_deplibs_check_method="$deplibs_check_method" |
292 |
old_file_magic_cmd="$file_magic_cmd" |
293 |
|
294 |
# Parse the command line options. |
295 |
args= |
296 |
prev= |
297 |
for option |
298 |
do |
299 |
case $option in |
300 |
-*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; |
301 |
*) optarg= ;; |
302 |
esac |
303 |
|
304 |
# If the previous option needs an argument, assign it. |
305 |
if test -n "$prev"; then |
306 |
eval "$prev=\$option" |
307 |
prev= |
308 |
continue |
309 |
fi |
310 |
|
311 |
case $option in |
312 |
--help) cat <<EOM |
313 |
Usage: $progname [OPTION]... LTMAIN [HOST] |
314 |
|
315 |
Generate a system-specific libtool script. |
316 |
|
317 |
--build configure for building on BUILD [BUILD=HOST] |
318 |
--debug enable verbose shell tracing |
319 |
--disable-shared do not build shared libraries |
320 |
--disable-static do not build static libraries |
321 |
--disable-fast-install do not optimize for fast installation |
322 |
--enable-dlopen enable dlopen support |
323 |
--enable-win32-dll enable building dlls on win32 hosts |
324 |
--help display this help and exit |
325 |
--no-verify do not verify that HOST is a valid host type |
326 |
-o, --output=FILE specify the output file [default=$default_ofile] |
327 |
--quiet same as \`--silent' |
328 |
--silent do not print informational messages |
329 |
--srcdir=DIR find \`config.guess' in DIR |
330 |
--version output version information and exit |
331 |
--add-tag=TAG append an alternate configuration |
332 |
--with-gcc assume that the GNU C compiler will be used |
333 |
--with-gnu-ld assume that the C compiler uses the GNU linker |
334 |
--prefer-pic try to use only PIC objects |
335 |
--prefer-non-pic try to use only non-PIC objects |
336 |
--disable-lock disable file locking |
337 |
--cache-file=FILE configure cache file |
338 |
|
339 |
LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program |
340 |
that provides basic libtool functionality. |
341 |
|
342 |
HOST is the canonical host system name [default=guessed]. |
343 |
EOM |
344 |
exit 0 |
345 |
;; |
346 |
|
347 |
--build) prev=build ;; |
348 |
--build=*) build="$optarg" ;; |
349 |
|
350 |
--debug) |
351 |
echo "$progname: enabling shell trace mode" |
352 |
set -x |
353 |
;; |
354 |
|
355 |
--disable-shared) enable_shared=no ;; |
356 |
|
357 |
--disable-static) enable_static=no ;; |
358 |
|
359 |
--disable-fast-install) enable_fast_install=no ;; |
360 |
|
361 |
--enable-dlopen) enable_dlopen=yes ;; |
362 |
|
363 |
--enable-win32-dll) enable_win32_dll=yes ;; |
364 |
|
365 |
--quiet | --silent) silent=yes ;; |
366 |
|
367 |
--srcdir) prev=srcdir ;; |
368 |
--srcdir=*) srcdir="$optarg" ;; |
369 |
|
370 |
--no-verify) verify_host=no ;; |
371 |
|
372 |
--output | -o) prev=ofile ;; |
373 |
--output=*) ofile="$optarg" ;; |
374 |
|
375 |
--version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;; |
376 |
|
377 |
--add-tag) prev=tagname ;; |
378 |
--add-tag=*) tagname="$optarg" ;; |
379 |
|
380 |
--with-gcc) with_gcc=yes ;; |
381 |
--with-gnu-ld) with_gnu_ld=yes ;; |
382 |
|
383 |
--prefer-pic) pic_mode=yes ;; |
384 |
--prefer-non-pic) pic_mode=no ;; |
385 |
|
386 |
--disable-lock) need_locks=no ;; |
387 |
|
388 |
--cache-file=*) cache_file="$optarg" ;; |
389 |
|
390 |
-*) |
391 |
echo "$progname: unrecognized option \`$option'" 1>&2 |
392 |
echo "$help" 1>&2 |
393 |
exit 1 |
394 |
;; |
395 |
|
396 |
*) |
397 |
if test -z "$ltmain"; then |
398 |
ltmain="$option" |
399 |
elif test -z "$host"; then |
400 |
# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 |
401 |
# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then |
402 |
# echo "$progname: warning \`$option' is not a valid host type" 1>&2 |
403 |
# fi |
404 |
host="$option" |
405 |
else |
406 |
echo "$progname: too many arguments" 1>&2 |
407 |
echo "$help" 1>&2 |
408 |
exit 1 |
409 |
fi ;; |
410 |
esac |
411 |
done |
412 |
|
413 |
if test -z "$ltmain"; then |
414 |
echo "$progname: you must specify a LTMAIN file" 1>&2 |
415 |
echo "$help" 1>&2 |
416 |
exit 1 |
417 |
fi |
418 |
|
419 |
if test ! -f "$ltmain"; then |
420 |
echo "$progname: \`$ltmain' does not exist" 1>&2 |
421 |
echo "$help" 1>&2 |
422 |
exit 1 |
423 |
fi |
424 |
|
425 |
if test -n "$tagname"; then |
426 |
# Check whether tagname contains only valid characters |
427 |
case `$echo "X$tagname" | $Xsed -e 's/[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]//g'` in |
428 |
"") ;; |
429 |
*) |
430 |
echo "$progname: invalid tag name: $tagname" 1>&2 |
431 |
exit 1 |
432 |
;; |
433 |
esac |
434 |
|
435 |
if grep "^### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$ofile" > /dev/null; then |
436 |
echo "$progname: tag name $tagname already exists" 1>&2 |
437 |
exit 1 |
438 |
fi |
439 |
|
440 |
if test ! -f "$ofile"; then |
441 |
echo "$progname: warning: output file \`$ofile' does not exist" 1>&2 |
442 |
fi |
443 |
|
444 |
if test -z "$LTCC"; then |
445 |
eval "`$SHELL $ofile --config | grep '^LTCC='`" |
446 |
if test -z "$LTCC"; then |
447 |
echo "$progname: warning: output file \`$ofile' does not look like a libtool script" 1>&2 |
448 |
else |
449 |
echo "$progname: warning: using \`LTCC=$LTCC', extracted from \`$ofile'" 1>&2 |
450 |
fi |
451 |
fi |
452 |
fi |
453 |
|
454 |
# Quote any args containing shell metacharacters. |
455 |
ltconfig_args= |
456 |
for arg |
457 |
do |
458 |
case $arg in |
459 |
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) |
460 |
ltconfig_args="$ltconfig_args '$arg'" ;; |
461 |
*) ltconfig_args="$ltconfig_args $arg" ;; |
462 |
esac |
463 |
done |
464 |
|
465 |
# A relevant subset of AC_INIT. |
466 |
|
467 |
# File descriptor usage: |
468 |
# 0 standard input |
469 |
# 1 file creation |
470 |
# 2 errors and warnings |
471 |
# 3 some systems may open it to /dev/tty |
472 |
# 4 used on the Kubota Titan |
473 |
# 5 compiler messages saved in config.log |
474 |
# 6 checking for... messages and results |
475 |
if test "$silent" = yes; then |
476 |
exec 6>/dev/null |
477 |
else |
478 |
exec 6>&1 |
479 |
fi |
480 |
exec 5>>./config.log |
481 |
|
482 |
# NLS nuisances. |
483 |
# Only set LANG and LC_ALL to C if already set. |
484 |
# These must not be set unconditionally because not all systems understand |
485 |
# e.g. LANG=C (notably SCO). |
486 |
if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi |
487 |
if test "X${LANG+set}" = Xset; then LANG=C; export LANG; fi |
488 |
|
489 |
if test -n "$cache_file" && test -r "$cache_file" && test -f "$cache_file"; then |
490 |
echo "loading cache $cache_file within ltconfig" |
491 |
. $cache_file |
492 |
fi |
493 |
|
494 |
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then |
495 |
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. |
496 |
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then |
497 |
ac_n= ac_c=' |
498 |
' ac_t=' ' |
499 |
else |
500 |
ac_n=-n ac_c= ac_t= |
501 |
fi |
502 |
else |
503 |
ac_n= ac_c='\c' ac_t= |
504 |
fi |
505 |
|
506 |
if test -z "$srcdir"; then |
507 |
# Assume the source directory is the same one as the path to LTMAIN. |
508 |
srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'` |
509 |
test "$srcdir" = "$ltmain" && srcdir=. |
510 |
fi |
511 |
|
512 |
trap "$rm conftest*; exit 1" 1 2 15 |
513 |
if test "$verify_host" = yes; then |
514 |
# Check for config.guess and config.sub. |
515 |
ac_aux_dir= |
516 |
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do |
517 |
if test -f $ac_dir/config.guess; then |
518 |
ac_aux_dir=$ac_dir |
519 |
break |
520 |
fi |
521 |
done |
522 |
if test -z "$ac_aux_dir"; then |
523 |
echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2 |
524 |
echo "$help" 1>&2 |
525 |
exit 1 |
526 |
fi |
527 |
ac_config_guess=$ac_aux_dir/config.guess |
528 |
ac_config_sub=$ac_aux_dir/config.sub |
529 |
|
530 |
# Make sure we can run config.sub. |
531 |
if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then : |
532 |
else |
533 |
echo "$progname: cannot run $ac_config_sub" 1>&2 |
534 |
echo "$help" 1>&2 |
535 |
exit 1 |
536 |
fi |
537 |
|
538 |
echo $ac_n "checking host system type""... $ac_c" 1>&6 |
539 |
|
540 |
host_alias=$host |
541 |
case $host_alias in |
542 |
"") |
543 |
# Force config.guess to use the C compiler. |
544 |
# CC_FOR_BUILD overrides the CC variable in config.guess but I had |
545 |
# problems with it so do it this way for now. |
546 |
CC="$LTCC" |
547 |
|
548 |
if host_alias=`$SHELL $ac_config_guess`; then : |
549 |
else |
550 |
echo "$progname: cannot guess host type; you must specify one" 1>&2 |
551 |
echo "$help" 1>&2 |
552 |
exit 1 |
553 |
fi |
554 |
|
555 |
# Restore the C compiler. |
556 |
CC="$old_CC" |
557 |
;; |
558 |
esac |
559 |
host=`$SHELL $ac_config_sub $host_alias` |
560 |
echo "$ac_t$host" 1>&6 |
561 |
|
562 |
# Make sure the host verified. |
563 |
test -z "$host" && exit 1 |
564 |
|
565 |
# Check for the build system type |
566 |
echo $ac_n "checking build system type... $ac_c" 1>&6 |
567 |
|
568 |
build_alias=$build |
569 |
case $build_alias in |
570 |
NONE) |
571 |
case $nonopt in |
572 |
NONE) build_alias=$host_alias ;; |
573 |
*) build_alias=$nonopt ;; |
574 |
esac ;; |
575 |
esac |
576 |
|
577 |
build=`$SHELL $ac_config_sub $build_alias` |
578 |
build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` |
579 |
build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` |
580 |
build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` |
581 |
echo "$ac_t""$build" 1>&6 |
582 |
|
583 |
elif test -z "$host"; then |
584 |
echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2 |
585 |
echo "$help" 1>&2 |
586 |
exit 1 |
587 |
else |
588 |
host_alias=$host |
589 |
build_alias=$host_alias |
590 |
build=$host |
591 |
fi |
592 |
|
593 |
if test x"$host" != x"$build"; then |
594 |
ac_tool_prefix=${host_alias}- |
595 |
else |
596 |
ac_tool_prefix= |
597 |
fi |
598 |
|
599 |
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` |
600 |
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` |
601 |
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` |
602 |
|
603 |
# Transform linux* to *-*-linux-gnu*, to support old configure scripts. |
604 |
case $host_os in |
605 |
linux-gnu*) ;; |
606 |
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` |
607 |
esac |
608 |
|
609 |
case $host_os in |
610 |
aix3*) |
611 |
# AIX sometimes has problems with the GCC collect2 program. For some |
612 |
# reason, if we set the COLLECT_NAMES environment variable, the problems |
613 |
# vanish in a puff of smoke. |
614 |
if test "X${COLLECT_NAMES+set}" != Xset; then |
615 |
COLLECT_NAMES= |
616 |
export COLLECT_NAMES |
617 |
fi |
618 |
;; |
619 |
esac |
620 |
|
621 |
# Determine commands to create old-style static archives. |
622 |
old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' |
623 |
old_postinstall_cmds='chmod 644 $oldlib' |
624 |
old_postuninstall_cmds= |
625 |
|
626 |
if test -n "$RANLIB"; then |
627 |
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" |
628 |
old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" |
629 |
fi |
630 |
|
631 |
# Source the script associated with the $tagname tag configuration. |
632 |
if test -n "$tagname"; then |
633 |
. $ltmain |
634 |
else |
635 |
# FIXME: We should use a variable here |
636 |
# Configure for a C compiler |
637 |
. $srcdir/ltcf-c.sh |
638 |
fi |
639 |
|
640 |
# Set sane defaults for various variables |
641 |
test -z "$AR" && AR=ar |
642 |
test -z "$AR_FLAGS" && AR_FLAGS=cru |
643 |
test -z "$AS" && AS=as |
644 |
test -z "$CC" && CC=cc |
645 |
test -z "$DLLTOOL" && DLLTOOL=dlltool |
646 |
test -z "$MAGIC_CMD" && MAGIC_CMD=file |
647 |
test -z "$LD" && LD=ld |
648 |
test -z "$LN_S" && LN_S="ln -s" |
649 |
test -z "$NM" && NM=nm |
650 |
test -z "$OBJDUMP" && OBJDUMP=objdump |
651 |
test -z "$RANLIB" && RANLIB=: |
652 |
test -z "$STRIP" && STRIP=: |
653 |
test -z "$objext" && objext=o |
654 |
|
655 |
echo $ac_n "checking for objdir... $ac_c" 1>&6 |
656 |
rm -f .libs 2>/dev/null |
657 |
mkdir .libs 2>/dev/null |
658 |
if test -d .libs; then |
659 |
objdir=.libs |
660 |
else |
661 |
# MS-DOS does not allow filenames that begin with a dot. |
662 |
objdir=_libs |
663 |
fi |
664 |
rmdir .libs 2>/dev/null |
665 |
echo "$ac_t$objdir" 1>&6 |
666 |
|
667 |
# If no C compiler was specified, use CC. |
668 |
LTCC=${LTCC-"$CC"} |
669 |
|
670 |
# Allow CC to be a program name with arguments. |
671 |
set dummy $CC |
672 |
compiler="$2" |
673 |
|
674 |
# We assume here that the value for ac_cv_prog_cc_pic will not be cached |
675 |
# in isolation, and that seeing it set (from the cache) indicates that |
676 |
# the associated values are set (in the cache) correctly too. |
677 |
echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 |
678 |
echo "$progname:678:checking for $compiler option to produce PIC" 1>&5 |
679 |
|
680 |
if test -z "$ac_cv_prog_cc_pic"; then |
681 |
echo "$ac_t"none 1>&6 |
682 |
else |
683 |
echo "$ac_t""$ac_cv_prog_cc_pic" 1>&6 |
684 |
|
685 |
# Check to make sure the pic_flag actually works. |
686 |
echo $ac_n "checking if $compiler PIC flag $ac_cv_prog_cc_pic works... $ac_c" 1>&6 |
687 |
echo "$progname:687:checking that $compiler PIC flag $ac_cv_prog_cc_pic works." 1>&5 |
688 |
if test "X${ac_cv_prog_cc_pic_works+set}" = Xset && \ |
689 |
test "X${ac_cv_prog_cc_pic_works}" != X; then |
690 |
echo $ac_n "(cached) $ac_c" 1>&6 |
691 |
else |
692 |
ac_cv_prog_cc_pic_works=yes |
693 |
$rm conftest* |
694 |
echo $lt_simple_compile_test_code > conftest.$ac_ext |
695 |
save_CFLAGS="$CFLAGS" |
696 |
CFLAGS="$CFLAGS $ac_cv_prog_cc_pic -DPIC" |
697 |
if { (eval echo $progname:697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then |
698 |
# Append any warnings to the config.log. |
699 |
cat conftest.err 1>&5 |
700 |
|
701 |
case $host_os in |
702 |
hpux9* | hpux10* | hpux11*) |
703 |
# On HP-UX, both CC and GCC only warn that PIC is supported... then |
704 |
# they create non-PIC objects. So, if there were any warnings, we |
705 |
# assume that PIC is not supported. |
706 |
if test -s conftest.err; then |
707 |
ac_cv_prog_cc_pic_works=no |
708 |
ac_cv_prog_cc_can_build_shared=no |
709 |
ac_cv_prog_cc_pic= |
710 |
else |
711 |
ac_cv_prog_cc_pic_works=yes |
712 |
ac_cv_prog_cc_pic=" $ac_cv_prog_cc_pic" |
713 |
fi |
714 |
;; |
715 |
*) |
716 |
ac_cv_prog_cc_pic_works=yes |
717 |
ac_cv_prog_cc_pic=" $ac_cv_prog_cc_pic" |
718 |
;; |
719 |
esac |
720 |
else |
721 |
# Append any errors to the config.log. |
722 |
cat conftest.err 1>&5 |
723 |
ac_cv_prog_cc_pic_works=no |
724 |
ac_cv_prog_cc_can_build_shared=no |
725 |
ac_cv_prog_cc_pic= |
726 |
fi |
727 |
CFLAGS="$save_CFLAGS" |
728 |
$rm conftest* |
729 |
fi |
730 |
# Belt *and* braces to stop my trousers falling down: |
731 |
if test "X$ac_cv_prog_cc_pic_works" = Xno; then |
732 |
ac_cv_prog_cc_pic= |
733 |
ac_cv_prog_cc_can_build_shared=no |
734 |
fi |
735 |
echo "$ac_t""$ac_cv_prog_cc_pic_works" 1>&6 |
736 |
fi |
737 |
|
738 |
# Check for any special shared library compilation flags. |
739 |
if test -n "$ac_cv_prog_cc_shlib"; then |
740 |
echo "$progname: warning: \`$CC' requires \`$ac_cv_prog_cc_shlib' to build shared libraries" 1>&2 |
741 |
if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$ac_cv_prog_cc_shlib[ ]" >/dev/null; then : |
742 |
else |
743 |
echo "$progname: add \`$ac_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" 1>&2 |
744 |
ac_cv_prog_cc_can_build_shared=no |
745 |
fi |
746 |
fi |
747 |
|
748 |
echo $ac_n "checking if $compiler static flag $ac_cv_prog_cc_static works... $ac_c" 1>&6 |
749 |
echo "$progname:749: checking if $compiler static flag $ac_cv_prog_cc_static works" >&5 |
750 |
if test "X${ac_cv_prog_cc_static_works+set}" = Xset && \ |
751 |
test "X${ac_cv_prog_cc_static_works}" != X; then |
752 |
echo $ac_n "(cached) $ac_c" 1>&6 |
753 |
else |
754 |
$rm conftest* |
755 |
echo $lt_simple_link_test_code > conftest.$ac_ext |
756 |
save_LDFLAGS="$LDFLAGS" |
757 |
LDFLAGS="$LDFLAGS $ac_cv_prog_cc_static" |
758 |
if { (eval echo $progname:758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then |
759 |
ac_cv_prog_cc_static_works=yes |
760 |
else |
761 |
ac_cv_prog_cc_static_works=no |
762 |
ac_cv_prog_cc_static= |
763 |
fi |
764 |
LDFLAGS="$save_LDFLAGS" |
765 |
$rm conftest* |
766 |
fi |
767 |
# Belt *and* braces to stop my trousers falling down: |
768 |
if test "X$ac_cv_prog_cc_static_works" = Xno; then |
769 |
ac_cv_prog_cc_static= |
770 |
fi |
771 |
echo "$ac_t""$ac_cv_prog_cc_static_works" 1>&6 |
772 |
pic_flag="$ac_cv_prog_cc_pic" |
773 |
special_shlib_compile_flags="$ac_cv_prog_cc_shlib" |
774 |
wl="$ac_cv_prog_cc_wl" |
775 |
link_static_flag="$ac_cv_prog_cc_static" |
776 |
no_builtin_flag="$ac_cv_prog_cc_no_builtin" |
777 |
can_build_shared="$ac_cv_prog_cc_can_build_shared" |
778 |
|
779 |
# find the maximum length of command line arguments |
780 |
echo "$progname:780: finding the maximum length of command line arguments" 1>&5 |
781 |
echo $ac_n "finding the maximum length of command line arguments... $ac_c" 1>&6 |
782 |
if test "${lt_cv_sys_max_cmd_len+set}" = set; then |
783 |
echo $ac_n "(cached) $ac_c" 1>&6 |
784 |
else |
785 |
i=0 |
786 |
testring="ABCDEF" |
787 |
while test `$CONFIG_SHELL $0 --fallback-echo "X$testring" >/dev/null 2>&1` == `echo "X$testring" >/dev/null 2>&1` && |
788 |
new_result=`expr "X$testring" : ".*" 2>&1` && |
789 |
lt_cv_sys_max_cmd_len=$new_result && |
790 |
test $i != 32 # 1 MB should be enough |
791 |
do |
792 |
i=`expr $i + 1` |
793 |
testring=$testring$testring |
794 |
done |
795 |
testring= |
796 |
# add a significant safety factor because C++ compilers can tack on massive amounts |
797 |
# of additional arguments before passing them to the linker. 1/4 should be good. |
798 |
len=`expr $lt_cv_sys_max_cmd_len \/ 4` |
799 |
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len - $len` |
800 |
fi |
801 |
echo "$progname:@lineno@: result: $lt_cv_sys_max_cmd_len" 1>&5 |
802 |
echo "${ac_t}$lt_cv_sys_max_cmd_len" 1>&6 |
803 |
|
804 |
if test -n $lt_cv_sys_max_cmd_len ; then |
805 |
max_cmd_len=$lt_cv_sys_max_cmd_len |
806 |
else |
807 |
max_cmd_len=none |
808 |
fi |
809 |
|
810 |
# Check to see if options -o and -c are simultaneously supported by compiler |
811 |
echo $ac_n "checking if $compiler supports -c -o file.$objext... $ac_c" 1>&6 |
812 |
if test "${lt_cv_compiler_c_o+set}" = set; then |
813 |
echo $ac_n "(cached) $ac_c" 1>&6 |
814 |
else |
815 |
$rm -r conftest 2>/dev/null |
816 |
mkdir conftest |
817 |
cd conftest |
818 |
$rm conftest* |
819 |
echo $lt_simple_compile_test_code > conftest.$ac_ext |
820 |
mkdir out |
821 |
# According to Tom Tromey, Ian Lance Taylor reported there are C compilers |
822 |
# that will create temporary files in the current directory regardless of |
823 |
# the output directory. Thus, making CWD read-only will cause this test |
824 |
# to fail, enabling locking or at least warning the user not to do parallel |
825 |
# builds. |
826 |
chmod -w . |
827 |
save_CFLAGS="$CFLAGS" |
828 |
CFLAGS="$CFLAGS -o out/conftest2.$objext" |
829 |
echo "$progname:829: checking if $compiler supports -c -o file.$objext" >&5 |
830 |
if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$objext; then |
831 |
|
832 |
# The compiler can only warn and ignore the option if not recognized |
833 |
# So say no if there are warnings |
834 |
if test -s out/conftest.err; then |
835 |
lt_cv_compiler_c_o=no |
836 |
else |
837 |
lt_cv_compiler_c_o=yes |
838 |
fi |
839 |
else |
840 |
# Append any errors to the config.log. |
841 |
cat out/conftest.err 1>&5 |
842 |
lt_cv_compiler_c_o=no |
843 |
fi |
844 |
CFLAGS="$save_CFLAGS" |
845 |
chmod u+w . |
846 |
$rm conftest* out/* |
847 |
rmdir out |
848 |
cd .. |
849 |
rmdir conftest |
850 |
$rm -r conftest 2>/dev/null |
851 |
fi |
852 |
compiler_c_o=$lt_cv_compiler_c_o |
853 |
echo "${ac_t}$compiler_c_o" 1>&6 |
854 |
|
855 |
# Check to see if we can do hard links to lock some files if needed |
856 |
hard_links="nottested" |
857 |
if test "$compiler_c_o" = no && test "$need_locks" != no; then |
858 |
# do not overwrite the value of need_locks provided by the user |
859 |
echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6 |
860 |
hard_links=yes |
861 |
$rm conftest* |
862 |
ln conftest.a conftest.b 2>/dev/null && hard_links=no |
863 |
touch conftest.a |
864 |
ln conftest.a conftest.b 2>&5 || hard_links=no |
865 |
ln conftest.a conftest.b 2>/dev/null && hard_links=no |
866 |
echo "$ac_t$hard_links" 1>&6 |
867 |
$rm conftest* |
868 |
if test "$hard_links" = no; then |
869 |
echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2 |
870 |
need_locks=warn |
871 |
fi |
872 |
else |
873 |
need_locks=no |
874 |
fi |
875 |
|
876 |
if test "$with_gcc" = yes; then |
877 |
# Check to see if options -fno-rtti -fno-exceptions are supported by compiler |
878 |
echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6 |
879 |
$rm conftest* |
880 |
echo $lt_simple_compile_test_code > conftest.$ac_ext |
881 |
save_CFLAGS="$CFLAGS" |
882 |
CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" |
883 |
echo "$progname:883: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 |
884 |
if { (eval echo $progname:884: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then |
885 |
|
886 |
# The compiler can only warn and ignore the option if not recognized |
887 |
# So say no if there are warnings |
888 |
if test -s conftest.err; then |
889 |
echo "$ac_t"no 1>&6 |
890 |
compiler_rtti_exceptions=no |
891 |
else |
892 |
echo "$ac_t"yes 1>&6 |
893 |
compiler_rtti_exceptions=yes |
894 |
fi |
895 |
else |
896 |
# Append any errors to the config.log. |
897 |
cat conftest.err 1>&5 |
898 |
compiler_rtti_exceptions=no |
899 |
echo "$ac_t"no 1>&6 |
900 |
fi |
901 |
CFLAGS="$save_CFLAGS" |
902 |
$rm conftest* |
903 |
|
904 |
if test "$compiler_rtti_exceptions" = "yes"; then |
905 |
no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' |
906 |
else |
907 |
no_builtin_flag=' -fno-builtin' |
908 |
fi |
909 |
|
910 |
fi |
911 |
|
912 |
# See if the linker supports building shared libraries. |
913 |
echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6 |
914 |
|
915 |
echo "$ac_t$ld_shlibs" 1>&6 |
916 |
test "$ld_shlibs" = no && can_build_shared=no |
917 |
|
918 |
# Check hardcoding attributes. |
919 |
echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 |
920 |
hardcode_action= |
921 |
if test -n "$hardcode_libdir_flag_spec" || \ |
922 |
test -n "$runpath_var"; then |
923 |
|
924 |
# We can hardcode non-existant directories. |
925 |
if test "$hardcode_direct" != no && |
926 |
# If the only mechanism to avoid hardcoding is shlibpath_var, we |
927 |
# have to relink, otherwise we might link with an installed library |
928 |
# when we should be linking with a yet-to-be-installed one |
929 |
## test "$hardcode_shlibpath_var" != no && |
930 |
test "$hardcode_minus_L" != no; then |
931 |
# Linking always hardcodes the temporary library directory. |
932 |
hardcode_action=relink |
933 |
else |
934 |
# We can link without hardcoding, and we can hardcode nonexisting dirs. |
935 |
hardcode_action=immediate |
936 |
fi |
937 |
else |
938 |
# We cannot hardcode anything, or else we can only hardcode existing |
939 |
# directories. |
940 |
hardcode_action=unsupported |
941 |
fi |
942 |
echo "$ac_t$hardcode_action" 1>&6 |
943 |
|
944 |
echo $ac_n "checking whether stripping libraries is possible... $ac_c" 1>&6 |
945 |
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then |
946 |
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" |
947 |
test -z "$striplib" && striplib="$STRIP --strip-unneeded" |
948 |
echo "${ac_t}yes" 1>&6 |
949 |
else |
950 |
echo "${ac_t}no" 1>&6 |
951 |
fi |
952 |
|
953 |
case $reload_flag in |
954 |
"" | " "*) ;; |
955 |
*) reload_flag=" $reload_flag" ;; |
956 |
esac |
957 |
reload_cmds='$LD$reload_flag -o $output$reload_objs' |
958 |
test -z "$deplibs_check_method" && deplibs_check_method=unknown |
959 |
|
960 |
# PORTME Fill in your ld.so characteristics |
961 |
library_names_spec= |
962 |
libname_spec='lib$name' |
963 |
soname_spec= |
964 |
postinstall_cmds= |
965 |
postuninstall_cmds= |
966 |
finish_cmds= |
967 |
finish_eval= |
968 |
shlibpath_var= |
969 |
shlibpath_overrides_runpath=unknown |
970 |
version_type=none |
971 |
dynamic_linker="$host_os ld.so" |
972 |
sys_lib_dlsearch_path_spec="/lib /usr/lib" |
973 |
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" |
974 |
|
975 |
echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 |
976 |
case $host_os in |
977 |
aix3*) |
978 |
version_type=linux |
979 |
library_names_spec='${libname}${release}.so$versuffix $libname.a' |
980 |
shlibpath_var=LIBPATH |
981 |
|
982 |
# AIX 3 has no versioning support, so we append a major version to the name. |
983 |
soname_spec='${libname}${release}.so$major' |
984 |
;; |
985 |
|
986 |
aix4* | aix5*) |
987 |
if test "$host_cpu" = ia64; then |
988 |
# AIX 5 supports IA64 |
989 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
990 |
shlibpath_var=LD_LIBRARY_PATH |
991 |
else |
992 |
# AIX (on Power*) has no versioning support, so currently we can not hardcode correct |
993 |
# soname into executable. Probably we can add versioning support to |
994 |
# collect2, so additional links can be useful in future. |
995 |
# We preserve .a as extension for shared libraries though AIX4.2 |
996 |
# and later linker supports .so |
997 |
if test "$aix_use_runtimelinking" = yes; then |
998 |
# If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of |
999 |
# lib<name>.a to let people know that these are not typical AIX shared libraries. |
1000 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1001 |
# We want symlinks to be created for the different names. |
1002 |
version_type=linux |
1003 |
else |
1004 |
# We preserve .a as extension for shared libraries though AIX4.2 |
1005 |
# and later when we are not doing run time linking. |
1006 |
library_names_spec='${libname}${release}.a $libname.a' |
1007 |
soname_spec='${libname}${release}.so$major.o' |
1008 |
fi |
1009 |
# If we're using GNU nm, then we don't want the "-C" option. |
1010 |
# -C means demangle to AIX nm, but means don't demangle with GNU nm |
1011 |
if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then |
1012 |
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' |
1013 |
else |
1014 |
export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' |
1015 |
fi |
1016 |
shlibpath_var=LIBPATH |
1017 |
deplibs_check_method=pass_all |
1018 |
# Put the right runpath into libraries. |
1019 |
hardcode_into_libs=yes |
1020 |
case $host_os in |
1021 |
aix4 | aix4.[01] | aix4.[01].*) |
1022 |
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' |
1023 |
echo ' yes ' |
1024 |
echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then |
1025 |
: |
1026 |
else |
1027 |
# With GCC up to 2.95.x, collect2 would create an import file |
1028 |
# for dependence libraries. The import file would start with |
1029 |
# the line `#! .'. This would cause the generated library to |
1030 |
# depend on `.', always an invalid library. This was fixed in |
1031 |
# development snapshots of GCC prior to 3.0. |
1032 |
can_build_shared=no |
1033 |
fi |
1034 |
;; |
1035 |
esac |
1036 |
fi |
1037 |
;; |
1038 |
|
1039 |
amigaos*) |
1040 |
library_names_spec='$libname.ixlibrary $libname.a' |
1041 |
# Create ${libname}_ixlibrary.a entries in /sys/libs. |
1042 |
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' |
1043 |
;; |
1044 |
|
1045 |
beos*) |
1046 |
library_names_spec='${libname}.so' |
1047 |
dynamic_linker="$host_os ld.so" |
1048 |
shlibpath_var=LIBRARY_PATH |
1049 |
lt_cv_dlopen="load_add_on" |
1050 |
lt_cv_dlopen_libs= |
1051 |
lt_cv_dlopen_self=yes |
1052 |
;; |
1053 |
|
1054 |
bsdi4*) |
1055 |
version_type=linux |
1056 |
need_version=no |
1057 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1058 |
soname_spec='${libname}${release}.so$major' |
1059 |
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' |
1060 |
shlibpath_var=LD_LIBRARY_PATH |
1061 |
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" |
1062 |
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" |
1063 |
export_dynamic_flag_spec=-rdynamic |
1064 |
# the default ld.so.conf also contains /usr/contrib/lib and |
1065 |
# /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow |
1066 |
# libtool to hard-code these into programs |
1067 |
;; |
1068 |
|
1069 |
cygwin* | mingw* | pw32*) |
1070 |
version_type=windows |
1071 |
need_version=no |
1072 |
need_lib_prefix=no |
1073 |
case $with_gcc,$host_os in |
1074 |
yes,cygwin*) |
1075 |
library_names_spec='$libname.dll.a' |
1076 |
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll' |
1077 |
postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i; echo \$dlname'\''`~ |
1078 |
dldir=$destdir/`dirname \$dlpath`~ |
1079 |
test -d \$dldir || mkdir -p \$dldir~ |
1080 |
$install_prog .libs/$dlname \$dldir/$dlname' |
1081 |
postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ |
1082 |
dlpath=$dir/\$dldll; $rm \$dlpath' |
1083 |
;; |
1084 |
yes,mingw*) |
1085 |
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' |
1086 |
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` |
1087 |
;; |
1088 |
yes,pw32*) |
1089 |
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' |
1090 |
;; |
1091 |
*) |
1092 |
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' |
1093 |
;; |
1094 |
esac |
1095 |
dynamic_linker='Win32 ld.exe' |
1096 |
# FIXME: first we should search . and the directory the executable is in |
1097 |
shlibpath_var=PATH |
1098 |
lt_cv_dlopen="LoadLibrary" |
1099 |
lt_cv_dlopen_libs= |
1100 |
;; |
1101 |
|
1102 |
darwin* | rhapsody*) |
1103 |
dynamic_linker="$host_os dyld" |
1104 |
version_type=darwin |
1105 |
need_lib_prefix=no |
1106 |
need_version=no |
1107 |
library_names_spec='${libname}${release}${versuffix}.`test .$module = .yes && echo so || echo dylib` ${libname}${release}${major}.$`test .$module = .yes && echo so || echo dylib` ${libname}.`test .$module = .yes && echo so || echo dylib`' |
1108 |
soname_spec='${libname}${release}${major}.`test .$module = .yes && echo so || echo dylib`' |
1109 |
shlibpath_overrides_runpath=yes |
1110 |
shlibpath_var=DYLD_LIBRARY_PATH |
1111 |
;; |
1112 |
|
1113 |
freebsd1*) |
1114 |
dynamic_linker=no |
1115 |
;; |
1116 |
|
1117 |
freebsd*) |
1118 |
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` |
1119 |
version_type=freebsd-$objformat |
1120 |
case $version_type in |
1121 |
freebsd-elf*) |
1122 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' |
1123 |
need_version=no |
1124 |
need_lib_prefix=no |
1125 |
;; |
1126 |
freebsd-*) |
1127 |
library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' |
1128 |
need_version=yes |
1129 |
;; |
1130 |
esac |
1131 |
shlibpath_var=LD_LIBRARY_PATH |
1132 |
case $host_os in |
1133 |
freebsd2*) |
1134 |
shlibpath_overrides_runpath=yes |
1135 |
;; |
1136 |
*) |
1137 |
shlibpath_overrides_runpath=no |
1138 |
hardcode_into_libs=yes |
1139 |
;; |
1140 |
esac |
1141 |
;; |
1142 |
|
1143 |
gnu*) |
1144 |
version_type=linux |
1145 |
need_lib_prefix=no |
1146 |
need_version=no |
1147 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' |
1148 |
soname_spec='${libname}${release}.so$major' |
1149 |
shlibpath_var=LD_LIBRARY_PATH |
1150 |
hardcode_into_libs=yes |
1151 |
;; |
1152 |
|
1153 |
hpux9* | hpux10* | hpux11*) |
1154 |
# Give a soname corresponding to the major version so that dld.sl refuses to |
1155 |
# link against other versions. |
1156 |
dynamic_linker="$host_os dld.sl" |
1157 |
version_type=sunos |
1158 |
hardcode_into_libs=all |
1159 |
need_lib_prefix=no |
1160 |
need_version=no |
1161 |
shlibpath_var=SHLIB_PATH |
1162 |
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH |
1163 |
library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' |
1164 |
soname_spec='${libname}${release}.sl$major' |
1165 |
# HP-UX runs *really* slowly unless shared libraries are mode 555. |
1166 |
postinstall_cmds='chmod 555 $lib' |
1167 |
;; |
1168 |
|
1169 |
irix5* | irix6*) |
1170 |
version_type=irix |
1171 |
need_lib_prefix=no |
1172 |
need_version=no |
1173 |
soname_spec='${libname}${release}.so$major' |
1174 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' |
1175 |
case $host_os in |
1176 |
irix5*) |
1177 |
libsuff= shlibsuff= |
1178 |
;; |
1179 |
*) |
1180 |
case $LD in # libtool.m4 will add one of these switches to LD |
1181 |
*-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; |
1182 |
*-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; |
1183 |
*-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; |
1184 |
*) libsuff= shlibsuff= libmagic=never-match;; |
1185 |
esac |
1186 |
;; |
1187 |
esac |
1188 |
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH |
1189 |
shlibpath_overrides_runpath=no |
1190 |
sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" |
1191 |
sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" |
1192 |
;; |
1193 |
|
1194 |
# No shared lib support for Linux oldld, aout, or coff. |
1195 |
linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) |
1196 |
dynamic_linker=no |
1197 |
;; |
1198 |
|
1199 |
# This must be Linux ELF. |
1200 |
linux-gnu*) |
1201 |
version_type=linux |
1202 |
need_lib_prefix=no |
1203 |
need_version=no |
1204 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1205 |
soname_spec='${libname}${release}.so$major' |
1206 |
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' |
1207 |
shlibpath_var=LD_LIBRARY_PATH |
1208 |
shlibpath_overrides_runpath=no |
1209 |
# This implies no fast_install, which is unacceptable. |
1210 |
# Some rework will be needed to allow for fast_install |
1211 |
# before this can be enabled. |
1212 |
hardcode_into_libs=yes |
1213 |
|
1214 |
# We used to test for /lib/ld.so.1 and disable shared libraries on |
1215 |
# powerpc, because MkLinux only supported shared libraries with the |
1216 |
# GNU dynamic linker. Since this was broken with cross compilers, |
1217 |
# most powerpc-linux boxes support dynamic linking these days and |
1218 |
# people can always --disable-shared, the test was removed, and we |
1219 |
# assume the GNU/Linux dynamic linker is in use. |
1220 |
dynamic_linker='GNU/Linux ld.so' |
1221 |
;; |
1222 |
|
1223 |
netbsd*) |
1224 |
version_type=sunos |
1225 |
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then |
1226 |
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' |
1227 |
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' |
1228 |
dynamic_linker='NetBSD (a.out) ld.so' |
1229 |
need_version=yes |
1230 |
else |
1231 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' |
1232 |
soname_spec='${libname}${release}.so$major' |
1233 |
dynamic_linker='NetBSD ld.elf_so' |
1234 |
fi |
1235 |
shlibpath_var=LD_LIBRARY_PATH |
1236 |
shlibpath_overrides_runpath=yes |
1237 |
hardcode_into_libs=yes |
1238 |
;; |
1239 |
|
1240 |
newsos6) |
1241 |
version_type=linux |
1242 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1243 |
shlibpath_var=LD_LIBRARY_PATH |
1244 |
shlibpath_overrides_runpath=yes |
1245 |
;; |
1246 |
|
1247 |
openbsd*) |
1248 |
version_type=sunos |
1249 |
if test "$with_gnu_ld" = yes; then |
1250 |
need_lib_prefix=no |
1251 |
need_version=no |
1252 |
fi |
1253 |
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' |
1254 |
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' |
1255 |
shlibpath_var=LD_LIBRARY_PATH |
1256 |
# OpenBSD 2.7 the overriding is needed for fast-install |
1257 |
shlibpath_overrides_runpath=yes |
1258 |
;; |
1259 |
|
1260 |
os2*) |
1261 |
libname_spec='$name' |
1262 |
need_lib_prefix=no |
1263 |
library_names_spec='$libname.dll $libname.a' |
1264 |
dynamic_linker='OS/2 ld.exe' |
1265 |
shlibpath_var=LIBPATH |
1266 |
;; |
1267 |
|
1268 |
osf3* | osf4* | osf5*) |
1269 |
version_type=osf |
1270 |
need_version=no |
1271 |
soname_spec='${libname}${release}.so' |
1272 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' |
1273 |
shlibpath_var=LD_LIBRARY_PATH |
1274 |
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" |
1275 |
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" |
1276 |
;; |
1277 |
|
1278 |
sco3.2v5*) |
1279 |
version_type=osf |
1280 |
soname_spec='${libname}${release}.so$major' |
1281 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1282 |
shlibpath_var=LD_LIBRARY_PATH |
1283 |
;; |
1284 |
|
1285 |
solaris*) |
1286 |
version_type=linux |
1287 |
need_lib_prefix=no |
1288 |
need_version=no |
1289 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1290 |
soname_spec='${libname}${release}.so$major' |
1291 |
shlibpath_var=LD_LIBRARY_PATH |
1292 |
shlibpath_overrides_runpath=yes |
1293 |
hardcode_into_libs=yes |
1294 |
# ldd complains unless libraries are executable |
1295 |
postinstall_cmds='chmod +x $lib' |
1296 |
;; |
1297 |
|
1298 |
sunos4*) |
1299 |
version_type=sunos |
1300 |
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' |
1301 |
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' |
1302 |
shlibpath_var=LD_LIBRARY_PATH |
1303 |
shlibpath_overrides_runpath=yes |
1304 |
if test "$with_gnu_ld" = yes; then |
1305 |
need_lib_prefix=no |
1306 |
fi |
1307 |
need_version=yes |
1308 |
;; |
1309 |
|
1310 |
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) |
1311 |
version_type=linux |
1312 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1313 |
soname_spec='${libname}${release}.so$major' |
1314 |
shlibpath_var=LD_LIBRARY_PATH |
1315 |
case $host_vendor in |
1316 |
motorola) |
1317 |
need_lib_prefix=no |
1318 |
need_version=no |
1319 |
shlibpath_overrides_runpath=no |
1320 |
sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' |
1321 |
;; |
1322 |
esac |
1323 |
;; |
1324 |
|
1325 |
uts4*) |
1326 |
version_type=linux |
1327 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1328 |
soname_spec='${libname}${release}.so$major' |
1329 |
shlibpath_var=LD_LIBRARY_PATH |
1330 |
;; |
1331 |
|
1332 |
dgux*) |
1333 |
version_type=linux |
1334 |
need_lib_prefix=no |
1335 |
need_version=no |
1336 |
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' |
1337 |
soname_spec='${libname}${release}.so$major' |
1338 |
shlibpath_var=LD_LIBRARY_PATH |
1339 |
;; |
1340 |
|
1341 |
sysv4*MP*) |
1342 |
if test -d /usr/nec ;then |
1343 |
version_type=linux |
1344 |
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' |
1345 |
soname_spec='$libname.so.$major' |
1346 |
shlibpath_var=LD_LIBRARY_PATH |
1347 |
fi |
1348 |
;; |
1349 |
|
1350 |
*) |
1351 |
dynamic_linker=no |
1352 |
;; |
1353 |
esac |
1354 |
echo "$ac_t$dynamic_linker" 1>&6 |
1355 |
test "$dynamic_linker" = no && can_build_shared=no |
1356 |
|
1357 |
# Check for command to grab the raw symbol name followed by C symbol from nm. |
1358 |
echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6 |
1359 |
|
1360 |
# These are sane defaults that work on at least a few old systems. |
1361 |
# [They come from Ultrix. What could be older than Ultrix?!! ;)] |
1362 |
|
1363 |
# Character class describing NM global symbol codes. |
1364 |
symcode='[BCDEGRST]' |
1365 |
|
1366 |
# Regexp to match symbols that can be accessed directly from C. |
1367 |
sympat='\([_A-Za-z][_A-Za-z0-9]*\)' |
1368 |
|
1369 |
# Transform the above into a raw symbol and a C symbol. |
1370 |
symxfrm='\1 \2\3 \3' |
1371 |
|
1372 |
# Transform an extracted symbol line into a proper C declaration |
1373 |
global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" |
1374 |
|
1375 |
# Define system-specific variables. |
1376 |
case $host_os in |
1377 |
aix*) |
1378 |
symcode='[BCDT]' |
1379 |
;; |
1380 |
cygwin* | mingw* | pw32*) |
1381 |
symcode='[ABCDGISTW]' |
1382 |
;; |
1383 |
hpux*) # Its linker distinguishes data from code symbols |
1384 |
global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'" |
1385 |
;; |
1386 |
irix*) |
1387 |
symcode='[BCDEGRST]' |
1388 |
;; |
1389 |
solaris* | sysv5*) |
1390 |
symcode='[BDT]' |
1391 |
;; |
1392 |
sysv4) |
1393 |
symcode='[DFNSTU]' |
1394 |
;; |
1395 |
esac |
1396 |
|
1397 |
# Handle CRLF in mingw tool chain |
1398 |
opt_cr= |
1399 |
case $host_os in |
1400 |
mingw*) |
1401 |
opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp |
1402 |
;; |
1403 |
esac |
1404 |
|
1405 |
# If we're using GNU nm, then use its standard symbol codes. |
1406 |
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then |
1407 |
symcode='[ABCDGISTW]' |
1408 |
fi |
1409 |
|
1410 |
# Try without a prefix undercore, then with it. |
1411 |
for ac_symprfx in "" "_"; do |
1412 |
|
1413 |
# Write the raw and C identifiers. |
1414 |
global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" |
1415 |
|
1416 |
# Check to see that the pipe works correctly. |
1417 |
pipe_works=no |
1418 |
$rm conftest* |
1419 |
cat > conftest.$ac_ext <<EOF |
1420 |
#ifdef __cplusplus |
1421 |
extern "C" { |
1422 |
#endif |
1423 |
char nm_test_var; |
1424 |
void nm_test_func(){} |
1425 |
#ifdef __cplusplus |
1426 |
} |
1427 |
#endif |
1428 |
int main(){nm_test_var='a';nm_test_func();return(0);} |
1429 |
EOF |
1430 |
|
1431 |
echo "$progname:1423: checking if global_symbol_pipe works" >&5 |
1432 |
if { (eval echo $progname:1424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then |
1433 |
# Now try to grab the symbols. |
1434 |
nlist=conftest.nm |
1435 |
if { echo "$progname:1427: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then |
1436 |
|
1437 |
# Try sorting and uniquifying the output. |
1438 |
if sort "$nlist" | uniq > "$nlist"T; then |
1439 |
mv -f "$nlist"T "$nlist" |
1440 |
else |
1441 |
rm -f "$nlist"T |
1442 |
fi |
1443 |
|
1444 |
# Make sure that we snagged all the symbols we need. |
1445 |
if egrep ' nm_test_var$' "$nlist" >/dev/null; then |
1446 |
if egrep ' nm_test_func$' "$nlist" >/dev/null; then |
1447 |
cat <<EOF > conftest.$ac_ext |
1448 |
#ifdef __cplusplus |
1449 |
extern "C" { |
1450 |
#endif |
1451 |
|
1452 |
EOF |
1453 |
# Now generate the symbol file. |
1454 |
eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' |
1455 |
|
1456 |
cat <<EOF >> conftest.$ac_ext |
1457 |
#if defined (__STDC__) && __STDC__ |
1458 |
# define lt_ptr_t void * |
1459 |
#else |
1460 |
# define lt_ptr_t char * |
1461 |
# define const |
1462 |
#endif |
1463 |
|
1464 |
/* The mapping between symbol names and symbols. */ |
1465 |
const struct { |
1466 |
const char *name; |
1467 |
lt_ptr_t address; |
1468 |
} |
1469 |
lt_preloaded_symbols[] = |
1470 |
{ |
1471 |
EOF |
1472 |
sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.$ac_ext |
1473 |
cat <<\EOF >> conftest.$ac_ext |
1474 |
{0, (lt_ptr_t) 0} |
1475 |
}; |
1476 |
|
1477 |
#ifdef __cplusplus |
1478 |
} |
1479 |
#endif |
1480 |
EOF |
1481 |
# Now try linking the two files. |
1482 |
mv conftest.$objext conftstm.$objext |
1483 |
save_LIBS="$LIBS" |
1484 |
save_CFLAGS="$CFLAGS" |
1485 |
LIBS="conftstm.$objext" |
1486 |
CFLAGS="$CFLAGS$no_builtin_flag" |
1487 |
if { (eval echo $progname:1479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then |
1488 |
pipe_works=yes |
1489 |
else |
1490 |
echo "$progname: failed program was:" >&5 |
1491 |
cat conftest.$ac_ext >&5 |
1492 |
fi |
1493 |
LIBS="$save_LIBS" |
1494 |
else |
1495 |
echo "cannot find nm_test_func in $nlist" >&5 |
1496 |
fi |
1497 |
else |
1498 |
echo "cannot find nm_test_var in $nlist" >&5 |
1499 |
fi |
1500 |
else |
1501 |
echo "cannot run $global_symbol_pipe" >&5 |
1502 |
fi |
1503 |
else |
1504 |
echo "$progname: failed program was:" >&5 |
1505 |
cat conftest.$ac_ext >&5 |
1506 |
fi |
1507 |
$rm conftest* conftst* |
1508 |
|
1509 |
# Do not use the global_symbol_pipe unless it works. |
1510 |
if test "$pipe_works" = yes; then |
1511 |
break |
1512 |
else |
1513 |
global_symbol_pipe= |
1514 |
fi |
1515 |
done |
1516 |
if test "$pipe_works" = yes; then |
1517 |
echo "${ac_t}ok" 1>&6 |
1518 |
else |
1519 |
echo "${ac_t}failed" 1>&6 |
1520 |
fi |
1521 |
|
1522 |
if test -z "$global_symbol_pipe"; then |
1523 |
global_symbol_to_cdecl= |
1524 |
fi |
1525 |
|
1526 |
# Report the final consequences. |
1527 |
echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 |
1528 |
|
1529 |
# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in |
1530 |
# configure.in, otherwise build static only libraries. |
1531 |
case $host_os in |
1532 |
cygwin* | mingw* | pw32* | os2*) |
1533 |
if test x$can_build_shared = xyes; then |
1534 |
test x$enable_win32_dll = xno && can_build_shared=no |
1535 |
echo "checking if package supports dlls... $can_build_shared" 1>&6 |
1536 |
fi |
1537 |
;; |
1538 |
esac |
1539 |
|
1540 |
echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6 |
1541 |
test "$can_build_shared" = "no" && enable_shared=no |
1542 |
|
1543 |
# On AIX, shared libraries and static libraries use the same namespace, and |
1544 |
# are all built from PIC. |
1545 |
case $host_os in |
1546 |
aix3*) |
1547 |
test "$enable_shared" = yes && enable_static=no |
1548 |
if test -n "$RANLIB"; then |
1549 |
archive_cmds="$archive_cmds~\$RANLIB \$lib" |
1550 |
postinstall_cmds='$RANLIB $lib' |
1551 |
fi |
1552 |
;; |
1553 |
|
1554 |
aix4* | aix5*) |
1555 |
test "$enable_shared" = yes && enable_static=no |
1556 |
;; |
1557 |
esac |
1558 |
|
1559 |
echo "$ac_t$enable_shared" 1>&6 |
1560 |
|
1561 |
# Make sure either enable_shared or enable_static is yes. |
1562 |
test "$enable_shared" = yes || enable_static=yes |
1563 |
|
1564 |
echo "checking whether to build static libraries... $enable_static" 1>&6 |
1565 |
|
1566 |
if test "$hardcode_action" = relink; then |
1567 |
# Fast installation is not supported |
1568 |
enable_fast_install=no |
1569 |
elif test "$shlibpath_overrides_runpath" = yes || |
1570 |
test "$enable_shared" = no; then |
1571 |
# Fast installation is not necessary |
1572 |
enable_fast_install=needless |
1573 |
fi |
1574 |
|
1575 |
variables_saved_for_relink="PATH $shlibpath_var $runpath_var" |
1576 |
if test "$with_gcc" = yes; then |
1577 |
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" |
1578 |
fi |
1579 |
|
1580 |
# Check whether we must set pic_mode to default |
1581 |
test -z "$pic_flag" && pic_mode=default |
1582 |
|
1583 |
if test "x$enable_dlopen" != xyes; then |
1584 |
enable_dlopen=unknown |
1585 |
enable_dlopen_self=unknown |
1586 |
enable_dlopen_self_static=unknown |
1587 |
else |
1588 |
if test "X${lt_cv_dlopen+set}" != Xset; then |
1589 |
lt_cv_dlopen=no lt_cv_dlopen_libs= |
1590 |
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 |
1591 |
echo "$progname:1583: checking for dlopen in -ldl" >&5 |
1592 |
if test "X${ac_cv_lib_dl_dlopen+set}" = Xset; then |
1593 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1594 |
else |
1595 |
ac_save_LIBS="$LIBS" |
1596 |
LIBS="-ldl $LIBS" |
1597 |
cat > conftest.$ac_ext <<EOF |
1598 |
/*#line 1590 "ltconfig"*/ |
1599 |
/* Override any gcc2 internal prototype to avoid an error. */ |
1600 |
/* We use char because int might match the return type of a gcc2 |
1601 |
builtin and then its argument prototype would still apply. */ |
1602 |
#ifdef __cplusplus |
1603 |
extern "C" |
1604 |
#endif |
1605 |
char dlopen(); |
1606 |
|
1607 |
int main() { |
1608 |
dlopen() |
1609 |
; return 0; } |
1610 |
EOF |
1611 |
if { (eval echo $progname:1603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then |
1612 |
rm -rf conftest* |
1613 |
ac_cv_lib_dl_dlopen=yes |
1614 |
else |
1615 |
echo "$progname: failed program was:" >&5 |
1616 |
cat conftest.$ac_ext >&5 |
1617 |
rm -rf conftest* |
1618 |
ac_cv_lib_dl_dlopen=no |
1619 |
fi |
1620 |
rm -f conftest* |
1621 |
LIBS="$ac_save_LIBS" |
1622 |
|
1623 |
fi |
1624 |
if test "X$ac_cv_lib_dl_dlopen" = Xyes; then |
1625 |
echo "$ac_t""yes" 1>&6 |
1626 |
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" |
1627 |
else |
1628 |
echo "$ac_t""no" 1>&6 |
1629 |
echo $ac_n "checking for dlopen""... $ac_c" 1>&6 |
1630 |
echo "$progname:1622: checking for dlopen" >&5 |
1631 |
if test "X${ac_cv_func_dlopen+set}" = Xset; then |
1632 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1633 |
else |
1634 |
cat > conftest.$ac_ext <<EOF |
1635 |
/*#line 1627 "ltconfig"*/ |
1636 |
/* System header to define __stub macros and hopefully few prototypes, |
1637 |
which can conflict with char dlopen(); below. */ |
1638 |
#include <assert.h> |
1639 |
/* Override any gcc2 internal prototype to avoid an error. */ |
1640 |
/* We use char because int might match the return type of a gcc2 |
1641 |
builtin and then its argument prototype would still apply. */ |
1642 |
#ifdef __cplusplus |
1643 |
extern "C" |
1644 |
#endif |
1645 |
char dlopen(); |
1646 |
|
1647 |
int main() { |
1648 |
|
1649 |
/* The GNU C library defines this for functions which it implements |
1650 |
to always fail with ENOSYS. Some functions are actually named |
1651 |
something starting with __ and the normal name is an alias. */ |
1652 |
#if defined (__stub_dlopen) || defined (__stub___dlopen) |
1653 |
choke me |
1654 |
#else |
1655 |
dlopen(); |
1656 |
#endif |
1657 |
|
1658 |
; return 0; } |
1659 |
EOF |
1660 |
if { (eval echo $progname:1652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then |
1661 |
rm -rf conftest* |
1662 |
ac_cv_func_dlopen=yes |
1663 |
else |
1664 |
echo "$progname: failed program was:" >&5 |
1665 |
cat conftest.$ac_ext >&5 |
1666 |
rm -rf conftest* |
1667 |
ac_cv_func_dlopen=no |
1668 |
fi |
1669 |
rm -f conftest* |
1670 |
fi |
1671 |
if test "X$ac_cv_func_dlopen" = Xyes; then |
1672 |
echo "$ac_t""yes" 1>&6 |
1673 |
lt_cv_dlopen="dlopen" |
1674 |
else |
1675 |
echo "$ac_t""no" 1>&6 |
1676 |
echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6 |
1677 |
echo "$progname:1669: checking for dlopen in -lsvld" >&5 |
1678 |
if test "X${ac_cv_lib_svld_dlopen+set}" = Xset; then |
1679 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1680 |
else |
1681 |
ac_save_LIBS="$LIBS" |
1682 |
LIBS="-lsvld $LIBS" |
1683 |
cat > conftest.$ac_ext <<EOF |
1684 |
/*#line 1676 "ltconfig"*/ |
1685 |
/* Override any gcc2 internal prototype to avoid an error. */ |
1686 |
/* We use char because int might match the return type of a gcc2 |
1687 |
builtin and then its argument prototype would still apply. */ |
1688 |
#ifdef __cplusplus |
1689 |
extern "C" |
1690 |
#endif |
1691 |
char dlopen(); |
1692 |
|
1693 |
int main() { |
1694 |
dlopen() |
1695 |
; return 0; } |
1696 |
EOF |
1697 |
if { (eval echo $progname:1689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then |
1698 |
rm -rf conftest* |
1699 |
ac_cv_lib_svld_dlopen=yes |
1700 |
else |
1701 |
echo "$progname: failed program was:" >&5 |
1702 |
cat conftest.$ac_ext >&5 |
1703 |
rm -rf conftest* |
1704 |
ac_cv_lib_svld_dlopen=no |
1705 |
fi |
1706 |
rm -f conftest* |
1707 |
LIBS="$ac_save_LIBS" |
1708 |
|
1709 |
fi |
1710 |
if test "X$ac_cv_lib_svld_dlopen" = Xyes; then |
1711 |
echo "$ac_t""yes" 1>&6 |
1712 |
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" |
1713 |
else |
1714 |
echo "$ac_t""no" 1>&6 |
1715 |
echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6 |
1716 |
echo "$progname:1708: checking for dld_link in -ldld" >&5 |
1717 |
if test "X${ac_cv_lib_dld_dld_link+set}" = Xset; then |
1718 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1719 |
else |
1720 |
ac_save_LIBS="$LIBS" |
1721 |
LIBS="-ldld $LIBS" |
1722 |
cat > conftest.$ac_ext <<EOF |
1723 |
/*#line 1715 "ltconfig"*/ |
1724 |
/* Override any gcc2 internal prototype to avoid an error. */ |
1725 |
/* We use char because int might match the return type of a gcc2 |
1726 |
builtin and then its argument prototype would still apply. */ |
1727 |
#ifdef __cplusplus |
1728 |
extern "C" |
1729 |
#endif |
1730 |
char dld_link(); |
1731 |
|
1732 |
int main() { |
1733 |
dld_link() |
1734 |
; return 0; } |
1735 |
EOF |
1736 |
if { (eval echo $progname:1728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then |
1737 |
rm -rf conftest* |
1738 |
ac_cv_lib_dld_dld_link=yes |
1739 |
else |
1740 |
echo "$progname: failed program was:" >&5 |
1741 |
cat conftest.$ac_ext >&5 |
1742 |
rm -rf conftest* |
1743 |
ac_cv_lib_dld_dld_link=no |
1744 |
fi |
1745 |
rm -f conftest* |
1746 |
LIBS="$ac_save_LIBS" |
1747 |
|
1748 |
fi |
1749 |
if test "X$ac_cv_lib_dld_dld_link" = Xyes; then |
1750 |
echo "$ac_t""yes" 1>&6 |
1751 |
lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" |
1752 |
else |
1753 |
echo "$ac_t""no" 1>&6 |
1754 |
echo $ac_n "checking for shl_load""... $ac_c" 1>&6 |
1755 |
echo "$progname:1747: checking for shl_load" >&5 |
1756 |
if test "X${ac_cv_func_shl_load+set}" = Xset; then |
1757 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1758 |
else |
1759 |
cat > conftest.$ac_ext <<EOF |
1760 |
/*#line 1752 "ltconfig"*/ |
1761 |
/* System header to define __stub macros and hopefully few prototypes, |
1762 |
which can conflict with char shl_load(); below. */ |
1763 |
#include <assert.h> |
1764 |
/* Override any gcc2 internal prototype to avoid an error. */ |
1765 |
/* We use char because int might match the return type of a gcc2 |
1766 |
builtin and then its argument prototype would still apply. */ |
1767 |
#ifdef __cplusplus |
1768 |
extern "C" |
1769 |
#endif |
1770 |
char shl_load(); |
1771 |
|
1772 |
int main() { |
1773 |
|
1774 |
/* The GNU C library defines this for functions which it implements |
1775 |
to always fail with ENOSYS. Some functions are actually named |
1776 |
something starting with __ and the normal name is an alias. */ |
1777 |
#if defined (__stub_shl_load) || defined (__stub___shl_load) |
1778 |
choke me |
1779 |
#else |
1780 |
shl_load(); |
1781 |
#endif |
1782 |
|
1783 |
; return 0; } |
1784 |
EOF |
1785 |
if { (eval echo $progname:1777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then |
1786 |
rm -rf conftest* |
1787 |
ac_cv_func_shl_load=yes |
1788 |
else |
1789 |
echo "$progname: failed program was:" >&5 |
1790 |
cat conftest.$ac_ext >&5 |
1791 |
rm -rf conftest* |
1792 |
ac_cv_func_shl_load=no |
1793 |
fi |
1794 |
rm -f conftest* |
1795 |
fi |
1796 |
|
1797 |
if test "X$ac_cv_func_shl_load" = Xyes; then |
1798 |
echo "$ac_t""yes" 1>&6 |
1799 |
lt_cv_dlopen="shl_load" |
1800 |
else |
1801 |
echo "$ac_t""no" 1>&6 |
1802 |
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 |
1803 |
echo "$progname:1795: checking for shl_load in -ldld" >&5 |
1804 |
if test "X${ac_cv_lib_dld_shl_load+set}" = Xset; then |
1805 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1806 |
else |
1807 |
ac_save_LIBS="$LIBS" |
1808 |
LIBS="-ldld $LIBS" |
1809 |
cat > conftest.$ac_ext <<EOF |
1810 |
/*#line 1802 "ltconfig"*/ |
1811 |
#include "confdefs.h" |
1812 |
/* Override any gcc2 internal prototype to avoid an error. */ |
1813 |
/* We use char because int might match the return type of a gcc2 |
1814 |
builtin and then its argument prototype would still apply. */ |
1815 |
#ifdef __cplusplus |
1816 |
extern "C" |
1817 |
#endif |
1818 |
char shl_load(); |
1819 |
|
1820 |
int main() { |
1821 |
shl_load() |
1822 |
; return 0; } |
1823 |
EOF |
1824 |
if { (eval echo $progname:1816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then |
1825 |
rm -rf conftest* |
1826 |
ac_cv_lib_dld_shl_load=yes |
1827 |
else |
1828 |
echo "$progname: failed program was:" >&5 |
1829 |
cat conftest.$ac_ext >&5 |
1830 |
rm -rf conftest* |
1831 |
ac_cv_lib_dld_shl_load=no |
1832 |
fi |
1833 |
rm -f conftest* |
1834 |
LIBS="$ac_save_LIBS" |
1835 |
|
1836 |
fi |
1837 |
if test "X$ac_cv_lib_dld_shl_load" = Xyes; then |
1838 |
echo "$ac_t""yes" 1>&6 |
1839 |
lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" |
1840 |
else |
1841 |
echo "$ac_t""no" 1>&6 |
1842 |
fi |
1843 |
|
1844 |
|
1845 |
fi |
1846 |
|
1847 |
|
1848 |
fi |
1849 |
|
1850 |
|
1851 |
fi |
1852 |
|
1853 |
|
1854 |
fi |
1855 |
|
1856 |
fi |
1857 |
|
1858 |
fi |
1859 |
|
1860 |
if test "x$lt_cv_dlopen" != xno; then |
1861 |
enable_dlopen=yes |
1862 |
else |
1863 |
enable_dlopen=no |
1864 |
fi |
1865 |
|
1866 |
case $lt_cv_dlopen in |
1867 |
dlopen) |
1868 |
for ac_hdr in dlfcn.h; do |
1869 |
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` |
1870 |
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 |
1871 |
echo "$progname:1863: checking for $ac_hdr" >&5 |
1872 |
if eval "test \"`echo 'X$''{'ac_cv_header_$ac_safe'+set}'`\" = Xset"; then |
1873 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1874 |
else |
1875 |
cat > conftest.$ac_ext <<EOF |
1876 |
/*#line 1868 "ltconfig"*/ |
1877 |
#include <$ac_hdr> |
1878 |
int fnord = 0; |
1879 |
int main () { return(0); } |
1880 |
EOF |
1881 |
ac_try="$ac_compile >/dev/null 2>conftest.out" |
1882 |
{ (eval echo $progname:1874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } |
1883 |
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` |
1884 |
if test -z "$ac_err"; then |
1885 |
rm -rf conftest* |
1886 |
eval "ac_cv_header_$ac_safe=yes" |
1887 |
else |
1888 |
echo "$ac_err" >&5 |
1889 |
echo "$progname: failed program was:" >&5 |
1890 |
cat conftest.$ac_ext >&5 |
1891 |
rm -rf conftest* |
1892 |
eval "ac_cv_header_$ac_safe=no" |
1893 |
fi |
1894 |
rm -f conftest* |
1895 |
fi |
1896 |
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then |
1897 |
echo "$ac_t""yes" 1>&6 |
1898 |
else |
1899 |
echo "$ac_t""no" 1>&6 |
1900 |
fi |
1901 |
done |
1902 |
|
1903 |
if test "x$ac_cv_header_dlfcn_h" = xyes; then |
1904 |
CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" |
1905 |
fi |
1906 |
eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" |
1907 |
LIBS="$lt_cv_dlopen_libs $LIBS" |
1908 |
|
1909 |
echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 |
1910 |
echo "$progname:1902: checking whether a program can dlopen itself" >&5 |
1911 |
if test "X${lt_cv_dlopen_self+set}" = Xset; then |
1912 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1913 |
else |
1914 |
if test "$cross_compiling" = yes; then |
1915 |
lt_cv_dlopen_self=cross |
1916 |
else |
1917 |
cat > conftest.$ac_ext <<EOF |
1918 |
/*#line 1910 "ltconfig"*/ |
1919 |
|
1920 |
#if HAVE_DLFCN_H |
1921 |
#include <dlfcn.h> |
1922 |
#endif |
1923 |
|
1924 |
#include <stdio.h> |
1925 |
|
1926 |
#ifdef RTLD_GLOBAL |
1927 |
# define LTDL_GLOBAL RTLD_GLOBAL |
1928 |
#else |
1929 |
# ifdef DL_GLOBAL |
1930 |
# define LTDL_GLOBAL DL_GLOBAL |
1931 |
# else |
1932 |
# define LTDL_GLOBAL 0 |
1933 |
# endif |
1934 |
#endif |
1935 |
|
1936 |
/* We may have to define LTDL_LAZY_OR_NOW in the command line if we |
1937 |
find out it does not work in some platform. */ |
1938 |
#ifndef LTDL_LAZY_OR_NOW |
1939 |
# ifdef RTLD_LAZY |
1940 |
# define LTDL_LAZY_OR_NOW RTLD_LAZY |
1941 |
# else |
1942 |
# ifdef DL_LAZY |
1943 |
# define LTDL_LAZY_OR_NOW DL_LAZY |
1944 |
# else |
1945 |
# ifdef RTLD_NOW |
1946 |
# define LTDL_LAZY_OR_NOW RTLD_NOW |
1947 |
# else |
1948 |
# ifdef DL_NOW |
1949 |
# define LTDL_LAZY_OR_NOW DL_NOW |
1950 |
# else |
1951 |
# define LTDL_LAZY_OR_NOW 0 |
1952 |
# endif |
1953 |
# endif |
1954 |
# endif |
1955 |
# endif |
1956 |
#endif |
1957 |
|
1958 |
void fnord() { int i=42; } |
1959 |
int main() { |
1960 |
void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); |
1961 |
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); |
1962 |
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); return 1;} |
1963 |
|
1964 |
EOF |
1965 |
if { (eval echo $progname:1957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null |
1966 |
then |
1967 |
lt_cv_dlopen_self=yes |
1968 |
else |
1969 |
echo "$progname: failed program was:" >&5 |
1970 |
cat conftest.$ac_ext >&5 |
1971 |
rm -fr conftest* |
1972 |
lt_cv_dlopen_self=no |
1973 |
fi |
1974 |
rm -fr conftest* |
1975 |
fi |
1976 |
|
1977 |
fi |
1978 |
|
1979 |
echo "$ac_t""$lt_cv_dlopen_self" 1>&6 |
1980 |
|
1981 |
if test "$lt_cv_dlopen_self" = yes; then |
1982 |
LDFLAGS="$LDFLAGS $link_static_flag" |
1983 |
echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 |
1984 |
echo "$progname:1976: checking whether a statically linked program can dlopen itself" >&5 |
1985 |
if test "X${lt_cv_dlopen_self_static+set}" = Xset; then |
1986 |
echo $ac_n "(cached) $ac_c" 1>&6 |
1987 |
else |
1988 |
if test "$cross_compiling" = yes; then |
1989 |
lt_cv_dlopen_self_static=cross |
1990 |
else |
1991 |
cat > conftest.$ac_ext <<EOF |
1992 |
/*#line 1984 "ltconfig"*/ |
1993 |
|
1994 |
#if HAVE_DLFCN_H |
1995 |
#include <dlfcn.h> |
1996 |
#endif |
1997 |
|
1998 |
#include <stdio.h> |
1999 |
|
2000 |
#ifdef RTLD_GLOBAL |
2001 |
# define LTDL_GLOBAL RTLD_GLOBAL |
2002 |
#else |
2003 |
# ifdef DL_GLOBAL |
2004 |
# define LTDL_GLOBAL DL_GLOBAL |
2005 |
# else |
2006 |
# define LTDL_GLOBAL 0 |
2007 |
# endif |
2008 |
#endif |
2009 |
|
2010 |
/* We may have to define LTDL_LAZY_OR_NOW in the command line if we |
2011 |
find out it does not work in some platform. */ |
2012 |
#ifndef LTDL_LAZY_OR_NOW |
2013 |
# ifdef RTLD_LAZY |
2014 |
# define LTDL_LAZY_OR_NOW RTLD_LAZY |
2015 |
# else |
2016 |
# ifdef DL_LAZY |
2017 |
# define LTDL_LAZY_OR_NOW DL_LAZY |
2018 |
# else |
2019 |
# ifdef RTLD_NOW |
2020 |
# define LTDL_LAZY_OR_NOW RTLD_NOW |
2021 |
# else |
2022 |
# ifdef DL_NOW |
2023 |
# define LTDL_LAZY_OR_NOW DL_NOW |
2024 |
# else |
2025 |
# define LTDL_LAZY_OR_NOW 0 |
2026 |
# endif |
2027 |
# endif |
2028 |
# endif |
2029 |
# endif |
2030 |
#endif |
2031 |
|
2032 |
void fnord() { int i=42; } |
2033 |
int main() { |
2034 |
void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); |
2035 |
if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); |
2036 |
if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); return 1; } |
2037 |
|
2038 |
EOF |
2039 |
if { (eval echo $progname:2031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null |
2040 |
then |
2041 |
lt_cv_dlopen_self_static=yes |
2042 |
else |
2043 |
echo "$progname: failed program was:" >&5 |
2044 |
cat conftest.$ac_ext >&5 |
2045 |
rm -fr conftest* |
2046 |
lt_cv_dlopen_self_static=no |
2047 |
fi |
2048 |
rm -fr conftest* |
2049 |
fi |
2050 |
|
2051 |
fi |
2052 |
|
2053 |
echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6 |
2054 |
fi |
2055 |
;; |
2056 |
esac |
2057 |
|
2058 |
case $lt_cv_dlopen_self in |
2059 |
yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; |
2060 |
*) enable_dlopen_self=unknown ;; |
2061 |
esac |
2062 |
|
2063 |
case $lt_cv_dlopen_self_static in |
2064 |
yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; |
2065 |
*) enable_dlopen_self_static=unknown ;; |
2066 |
esac |
2067 |
fi |
2068 |
|
2069 |
# Copy echo and quote the copy, instead of the original, because it is |
2070 |
# used later. |
2071 |
ltecho="$echo" |
2072 |
if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then |
2073 |
ltecho="$CONFIG_SHELL \$0 --fallback-echo" |
2074 |
fi |
2075 |
LTSHELL="$SHELL" |
2076 |
|
2077 |
LTCONFIG_VERSION="$VERSION" |
2078 |
|
2079 |
# Only quote variables if we're using ltmain.sh. |
2080 |
case $ltmain in |
2081 |
*.sh) |
2082 |
# Now quote all the things that may contain metacharacters. |
2083 |
for var in ltecho old_AR old_AR_FLAGS old_CC old_LTCC old_CFLAGS old_CPPFLAGS \ |
2084 |
old_MAGIC_CMD old_LD old_LDFLAGS old_LIBS \ |
2085 |
old_LN_S old_NM old_RANLIB old_STRIP \ |
2086 |
old_AS old_DLLTOOL old_OBJDUMP \ |
2087 |
old_OBJEXT old_EXEEXT old_reload_flag \ |
2088 |
old_deplibs_check_method old_file_magic_cmd \ |
2089 |
AR AR_FLAGS CC LTCC LD LN_S NM LTSHELL LTCONFIG_VERSION \ |
2090 |
reload_flag reload_cmds wl \ |
2091 |
pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ |
2092 |
thread_safe_flag_spec whole_archive_flag_spec libname_spec \ |
2093 |
library_names_spec soname_spec \ |
2094 |
RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ |
2095 |
old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ |
2096 |
postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ |
2097 |
predep_objects postdep_objects predeps postdeps compiler_lib_search_path \ |
2098 |
old_striplib striplib file_magic_cmd export_symbols_cmds \ |
2099 |
deplibs_check_method allow_undefined_flag no_undefined_flag \ |
2100 |
finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ |
2101 |
hardcode_libdir_flag_spec hardcode_libdir_separator \ |
2102 |
sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ |
2103 |
compiler_c_o need_locks exclude_expsyms include_expsyms; do |
2104 |
|
2105 |
case $var in |
2106 |
reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ |
2107 |
old_postinstall_cmds | old_postuninstall_cmds | \ |
2108 |
export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ |
2109 |
extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ |
2110 |
postinstall_cmds | postuninstall_cmds | \ |
2111 |
finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) |
2112 |
# Double-quote double-evaled strings. |
2113 |
eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ### testsuite: skip nested quoting test |
2114 |
;; |
2115 |
*) |
2116 |
eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ### testsuite: skip nested quoting test |
2117 |
;; |
2118 |
esac |
2119 |
done |
2120 |
|
2121 |
case $ltecho in |
2122 |
*'\$0 --fallback-echo"') |
2123 |
ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` |
2124 |
;; |
2125 |
esac |
2126 |
|
2127 |
if test -z "$tagname"; then |
2128 |
trap "$rm \"$ofile\"; exit 1" 1 2 15 |
2129 |
echo "creating $ofile" |
2130 |
$rm "$ofile" |
2131 |
cat <<EOF > "$ofile" |
2132 |
#! $SHELL |
2133 |
|
2134 |
# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. |
2135 |
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) |
2136 |
# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. |
2137 |
# |
2138 |
# Copyright (C) 1996-2000 Free Software Foundation, Inc. |
2139 |
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 |
2140 |
# |
2141 |
# This program is free software; you can redistribute it and/or modify |
2142 |
# it under the terms of the GNU General Public License as published by |
2143 |
# the Free Software Foundation; either version 2 of the License, or |
2144 |
# (at your option) any later version. |
2145 |
# |
2146 |
# This program is distributed in the hope that it will be useful, but |
2147 |
# WITHOUT ANY WARRANTY; without even the implied warranty of |
2148 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2149 |
# General Public License for more details. |
2150 |
# |
2151 |
# You should have received a copy of the GNU General Public License |
2152 |
# along with this program; if not, write to the Free Software |
2153 |
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
2154 |
# |
2155 |
# As a special exception to the GNU General Public License, if you |
2156 |
# distribute this file as part of a program that contains a |
2157 |
# configuration script generated by Autoconf, you may include it under |
2158 |
# the same distribution terms that you use for the rest of that program. |
2159 |
|
2160 |
# Sed that helps us avoid accidentally triggering echo(1) options like -n. |
2161 |
Xsed="sed -e s/^X//" |
2162 |
|
2163 |
# The HP-UX ksh and POSIX shell print the target directory to stdout |
2164 |
# if CDPATH is set. |
2165 |
if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi |
2166 |
|
2167 |
# The names of the tagged configurations supported by this script. |
2168 |
available_tags= |
2169 |
|
2170 |
### BEGIN LIBTOOL CONFIG |
2171 |
EOF |
2172 |
else |
2173 |
echo "appending configuration tag \"$tagname\" to $ofile" |
2174 |
echo "### BEGIN LIBTOOL TAG CONFIG: $tagname" >> "$ofile" |
2175 |
fi |
2176 |
cfgfile="$ofile" |
2177 |
;; |
2178 |
|
2179 |
*) |
2180 |
# Double-quote the variables that need it (for aesthetics). |
2181 |
for var in old_AR old_AR_FLAGS old_CC old_LTCC old_CFLAGS old_CPPFLAGS \ |
2182 |
old_MAGIC_CMD old_LD old_LDFLAGS old_LIBS \ |
2183 |
old_LN_S old_NM old_RANLIB old_STRIP \ |
2184 |
old_AS old_DLLTOOL old_OBJDUMP \ |
2185 |
old_OBJEXT old_EXEEXT old_reload_flag \ |
2186 |
old_deplibs_check_method old_file_magic_cmd; do |
2187 |
eval "$var=\\\"\$var\\\"" |
2188 |
done |
2189 |
|
2190 |
# Just create a config file. |
2191 |
cfgfile="$ofile.cfg" |
2192 |
if test -z "$tagname"; then |
2193 |
trap "$rm \"$cfgfile\"; exit 1" 1 2 15 |
2194 |
echo "creating $cfgfile" |
2195 |
$rm "$cfgfile" |
2196 |
cat <<EOF > "$cfgfile" |
2197 |
# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file. |
2198 |
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) |
2199 |
|
2200 |
### BEGIN LIBTOOL CONFIG |
2201 |
EOF |
2202 |
else |
2203 |
echo "appending to $cfgfile" |
2204 |
echo "### BEGIN LIBTOOL TAG CONFIG: $tagname" >> "$ofile" |
2205 |
fi |
2206 |
;; |
2207 |
esac |
2208 |
|
2209 |
cat <<EOF >> "$cfgfile" |
2210 |
# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`: |
2211 |
# |
2212 |
# AR=$old_AR AR_FLAGS=$old_AR_FLAGS LTCC=$old_LTCC CC=$old_CC \\ |
2213 |
# CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\ |
2214 |
# MAGIC_CMD=$old_MAGIC_CMD LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\ |
2215 |
# LN_S=$old_LN_S NM=$old_NM RANLIB=$old_RANLIB STRIP=$old_STRIP \\ |
2216 |
# AS=$old_AS DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP \\ |
2217 |
# objext=$old_OBJEXT exeext=$old_EXEEXT reload_flag=$old_reload_flag \\ |
2218 |
# deplibs_check_method=$old_deplibs_check_method \\ |
2219 |
# file_magic_cmd=$old_file_magic_cmd \\ |
2220 |
# $0$ltconfig_args |
2221 |
# |
2222 |
# Compiler and other test output produced by $progname, useful for |
2223 |
# debugging $progname, is in ./config.log if it exists. |
2224 |
|
2225 |
# The version of $progname that generated this script. |
2226 |
LTCONFIG_VERSION=$LTCONFIG_VERSION |
2227 |
|
2228 |
# Shell to use when invoking shell scripts. |
2229 |
SHELL=$LTSHELL |
2230 |
|
2231 |
# Whether or not to build shared libraries. |
2232 |
build_libtool_libs=$enable_shared |
2233 |
|
2234 |
# Whether or not to add -lc for building shared libraries. |
2235 |
build_libtool_need_lc=$need_lc |
2236 |
|
2237 |
# Whether or not to build static libraries. |
2238 |
build_old_libs=$enable_static |
2239 |
|
2240 |
# Whether or not to optimize for fast installation. |
2241 |
fast_install=$enable_fast_install |
2242 |
|
2243 |
# The host system. |
2244 |
host_alias=$host_alias |
2245 |
host=$host |
2246 |
|
2247 |
# An echo program that does not interpret backslashes. |
2248 |
echo=$ltecho |
2249 |
|
2250 |
# The archiver. |
2251 |
AR=$AR |
2252 |
AR_FLAGS=$AR_FLAGS |
2253 |
|
2254 |
# A C compiler. |
2255 |
LTCC=$LTCC |
2256 |
|
2257 |
# A language-specific compiler. |
2258 |
CC=$CC |
2259 |
|
2260 |
# Is the compiler the GNU C compiler? |
2261 |
with_gcc=$with_gcc |
2262 |
|
2263 |
# The linker used to build libraries. |
2264 |
LD=$LD |
2265 |
|
2266 |
# Whether we need hard or soft links. |
2267 |
LN_S=$LN_S |
2268 |
|
2269 |
# A BSD-compatible nm program. |
2270 |
NM=$NM |
2271 |
|
2272 |
# A symbol stripping program |
2273 |
STRIP=$STRIP |
2274 |
|
2275 |
# Used to examine libraries when file_magic_cmd begins "file" |
2276 |
MAGIC_CMD=$MAGIC_CMD |
2277 |
|
2278 |
# Used on cygwin: DLL creation program. |
2279 |
DLLTOOL="$DLLTOOL" |
2280 |
|
2281 |
# Used on cygwin: object dumper. |
2282 |
OBJDUMP="$OBJDUMP" |
2283 |
|
2284 |
# Used on cygwin: assembler. |
2285 |
AS="$AS" |
2286 |
|
2287 |
# The name of the directory that contains temporary libtool files. |
2288 |
objdir=$objdir |
2289 |
|
2290 |
# How to create reloadable object files. |
2291 |
reload_flag=$reload_flag |
2292 |
reload_cmds=$reload_cmds |
2293 |
|
2294 |
# How to pass a linker flag through the compiler. |
2295 |
wl=$wl |
2296 |
|
2297 |
# Object file suffix (normally "o"). |
2298 |
objext="$objext" |
2299 |
|
2300 |
# Old archive suffix (normally "a"). |
2301 |
libext="$libext" |
2302 |
|
2303 |
# Executable file suffix (normally ""). |
2304 |
exeext="$exeext" |
2305 |
|
2306 |
# Additional compiler flags for building library objects. |
2307 |
pic_flag=$pic_flag |
2308 |
pic_mode=$pic_mode |
2309 |
|
2310 |
# What is the maximum length of a command? |
2311 |
max_cmd_len=$max_cmd_len |
2312 |
|
2313 |
# Does compiler simultaneously support -c and -o options? |
2314 |
compiler_c_o=$compiler_c_o |
2315 |
|
2316 |
# Must we lock files when doing compilation ? |
2317 |
need_locks=$need_locks |
2318 |
|
2319 |
# Do we need the lib prefix for modules? |
2320 |
need_lib_prefix=$need_lib_prefix |
2321 |
|
2322 |
# Do we need a version for libraries? |
2323 |
need_version=$need_version |
2324 |
|
2325 |
# Whether dlopen is supported. |
2326 |
dlopen_support=$enable_dlopen |
2327 |
|
2328 |
# Whether dlopen of programs is supported. |
2329 |
dlopen_self=$enable_dlopen_self |
2330 |
|
2331 |
# Whether dlopen of statically linked programs is supported. |
2332 |
dlopen_self_static=$enable_dlopen_self_static |
2333 |
|
2334 |
# Compiler flag to prevent dynamic linking. |
2335 |
link_static_flag=$link_static_flag |
2336 |
|
2337 |
# Compiler flag to turn off builtin functions. |
2338 |
no_builtin_flag=$no_builtin_flag |
2339 |
|
2340 |
# Compiler flag to allow reflexive dlopens. |
2341 |
export_dynamic_flag_spec=$export_dynamic_flag_spec |
2342 |
|
2343 |
# Compiler flag to generate shared objects directly from archives. |
2344 |
whole_archive_flag_spec=$whole_archive_flag_spec |
2345 |
|
2346 |
# Compiler flag to generate thread-safe objects. |
2347 |
thread_safe_flag_spec=$thread_safe_flag_spec |
2348 |
|
2349 |
# Library versioning type. |
2350 |
version_type=$version_type |
2351 |
|
2352 |
# Format of library name prefix. |
2353 |
libname_spec=$libname_spec |
2354 |
|
2355 |
# List of archive names. First name is the real one, the rest are links. |
2356 |
# The last name is the one that the linker finds with -lNAME. |
2357 |
library_names_spec=$library_names_spec |
2358 |
|
2359 |
# The coded name of the library, if different from the real name. |
2360 |
soname_spec=$soname_spec |
2361 |
|
2362 |
# Commands used to build and install an old-style archive. |
2363 |
RANLIB=$RANLIB |
2364 |
old_archive_cmds=$old_archive_cmds |
2365 |
old_postinstall_cmds=$old_postinstall_cmds |
2366 |
old_postuninstall_cmds=$old_postuninstall_cmds |
2367 |
|
2368 |
# Create an old-style archive from a shared archive. |
2369 |
old_archive_from_new_cmds=$old_archive_from_new_cmds |
2370 |
|
2371 |
# Create a temporary old-style archive to link instead of a shared archive. |
2372 |
old_archive_from_expsyms_cmds=$old_archive_from_expsyms_cmds |
2373 |
|
2374 |
# Commands used to build and install a shared archive. |
2375 |
archive_cmds=$archive_cmds |
2376 |
archive_expsym_cmds=$archive_expsym_cmds |
2377 |
postinstall_cmds=$postinstall_cmds |
2378 |
postuninstall_cmds=$postuninstall_cmds |
2379 |
|
2380 |
# Commands to strip libraries. |
2381 |
old_striplib=$old_striplib |
2382 |
striplib=$striplib |
2383 |
|
2384 |
# Dependencies to place before the objects being linked to create a |
2385 |
# shared library. |
2386 |
predep_objects=$predep_objects |
2387 |
|
2388 |
# Dependencies to place after the objects being linked to create a |
2389 |
# shared library. |
2390 |
postdep_objects=$postdep_objects |
2391 |
|
2392 |
# Dependencies to place before the objects being linked to create a |
2393 |
# shared library. |
2394 |
predeps=$predeps |
2395 |
|
2396 |
# Dependencies to place after the objects being linked to create a |
2397 |
# shared library. |
2398 |
postdeps=$postdeps |
2399 |
|
2400 |
# The library search path used internally by the compiler when linking |
2401 |
# a shared library. |
2402 |
compiler_lib_search_path=$compiler_lib_search_path |
2403 |
|
2404 |
# Method to check whether dependent libraries are shared objects. |
2405 |
deplibs_check_method=$deplibs_check_method |
2406 |
|
2407 |
# Command to use when deplibs_check_method == file_magic. |
2408 |
file_magic_cmd=$file_magic_cmd |
2409 |
|
2410 |
# Flag that allows shared libraries with undefined symbols to be built. |
2411 |
allow_undefined_flag=$allow_undefined_flag |
2412 |
|
2413 |
# Flag that forces no undefined symbols. |
2414 |
no_undefined_flag=$no_undefined_flag |
2415 |
|
2416 |
# Commands used to finish a libtool library installation in a directory. |
2417 |
finish_cmds=$finish_cmds |
2418 |
|
2419 |
# Same as above, but a single script fragment to be evaled but not shown. |
2420 |
finish_eval=$finish_eval |
2421 |
|
2422 |
# Take the output of nm and produce a listing of raw symbols and C names. |
2423 |
global_symbol_pipe=$global_symbol_pipe |
2424 |
|
2425 |
# Transform the output of nm in a proper C declaration |
2426 |
global_symbol_to_cdecl=$global_symbol_to_cdecl |
2427 |
|
2428 |
# This is the shared library runtime path variable. |
2429 |
runpath_var=$runpath_var |
2430 |
|
2431 |
# This is the shared library path variable. |
2432 |
shlibpath_var=$shlibpath_var |
2433 |
|
2434 |
# Is shlibpath searched before the hard-coded library search path? |
2435 |
shlibpath_overrides_runpath=$shlibpath_overrides_runpath |
2436 |
|
2437 |
# How to hardcode a shared library path into an executable. |
2438 |
hardcode_action=$hardcode_action |
2439 |
|
2440 |
# Whether we should hardcode library paths into libraries. |
2441 |
hardcode_into_libs=$hardcode_into_libs |
2442 |
|
2443 |
# Flag to hardcode \$libdir into a binary during linking. |
2444 |
# This must work even if \$libdir does not exist. |
2445 |
hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec |
2446 |
|
2447 |
# Whether we need a single -rpath flag with a separated argument. |
2448 |
hardcode_libdir_separator=$hardcode_libdir_separator |
2449 |
|
2450 |
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the |
2451 |
# resulting binary. |
2452 |
hardcode_direct=$hardcode_direct |
2453 |
|
2454 |
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the |
2455 |
# resulting binary. |
2456 |
hardcode_minus_L=$hardcode_minus_L |
2457 |
|
2458 |
# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into |
2459 |
# the resulting binary. |
2460 |
hardcode_shlibpath_var=$hardcode_shlibpath_var |
2461 |
|
2462 |
# Variables whose values should be saved in libtool wrapper scripts and |
2463 |
# restored at relink time. |
2464 |
variables_saved_for_relink="$variables_saved_for_relink" |
2465 |
|
2466 |
# Whether libtool must link a program against all its dependency libraries. |
2467 |
link_all_deplibs=$link_all_deplibs |
2468 |
|
2469 |
# Compile-time system search path for libraries |
2470 |
sys_lib_search_path_spec=$sys_lib_search_path_spec |
2471 |
|
2472 |
# Run-time system search path for libraries |
2473 |
sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec |
2474 |
|
2475 |
# Fix the shell variable \$srcfile for the compiler. |
2476 |
fix_srcfile_path="$fix_srcfile_path" |
2477 |
|
2478 |
# Set to yes if exported symbols are required. |
2479 |
always_export_symbols=$always_export_symbols |
2480 |
|
2481 |
# The commands to list exported symbols. |
2482 |
export_symbols_cmds=$export_symbols_cmds |
2483 |
|
2484 |
# The commands to extract the exported symbol list from a shared archive. |
2485 |
extract_expsyms_cmds=$extract_expsyms_cmds |
2486 |
|
2487 |
# Symbols that should not be listed in the preloaded symbols. |
2488 |
exclude_expsyms=$exclude_expsyms |
2489 |
|
2490 |
# Symbols that must always be exported. |
2491 |
include_expsyms=$include_expsyms |
2492 |
|
2493 |
EOF |
2494 |
|
2495 |
if test -z "$tagname"; then |
2496 |
echo '### END LIBTOOL CONFIG' >> "$ofile" |
2497 |
else |
2498 |
echo "### END LIBTOOL TAG CONFIG: $tagname" >> "$ofile" |
2499 |
fi |
2500 |
|
2501 |
case $ltmain in |
2502 |
*.sh) |
2503 |
echo >> "$ofile" |
2504 |
if test -z "$tagname"; then |
2505 |
case $host_os in |
2506 |
aix3*) |
2507 |
cat <<\EOF >> "$ofile" |
2508 |
|
2509 |
# AIX sometimes has problems with the GCC collect2 program. For some |
2510 |
# reason, if we set the COLLECT_NAMES environment variable, the problems |
2511 |
# vanish in a puff of smoke. |
2512 |
if test "X${COLLECT_NAMES+set}" != Xset; then |
2513 |
COLLECT_NAMES= |
2514 |
export COLLECT_NAMES |
2515 |
fi |
2516 |
EOF |
2517 |
;; |
2518 |
esac |
2519 |
case $host in |
2520 |
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) |
2521 |
cat <<'EOF' >> "$ofile" |
2522 |
# This is a source program that is used to create dlls on Windows |
2523 |
# Don't remove nor modify the starting and closing comments |
2524 |
# /* ltdll.c starts here */ |
2525 |
# #define WIN32_LEAN_AND_MEAN |
2526 |
# #include <windows.h> |
2527 |
# #undef WIN32_LEAN_AND_MEAN |
2528 |
# #include <stdio.h> |
2529 |
# |
2530 |
# #ifndef __CYGWIN__ |
2531 |
# # ifdef __CYGWIN32__ |
2532 |
# # define __CYGWIN__ __CYGWIN32__ |
2533 |
# # endif |
2534 |
# #endif |
2535 |
# |
2536 |
# #ifdef __cplusplus |
2537 |
# extern "C" { |
2538 |
# #endif |
2539 |
# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); |
2540 |
# #ifdef __cplusplus |
2541 |
# } |
2542 |
# #endif |
2543 |
# |
2544 |
# #ifdef __CYGWIN__ |
2545 |
# #include <cygwin/cygwin_dll.h> |
2546 |
# DECLARE_CYGWIN_DLL( DllMain ); |
2547 |
# #endif |
2548 |
# HINSTANCE __hDllInstance_base; |
2549 |
# |
2550 |
# BOOL APIENTRY |
2551 |
# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) |
2552 |
# { |
2553 |
# __hDllInstance_base = hInst; |
2554 |
# return TRUE; |
2555 |
# } |
2556 |
# /* ltdll.c ends here */ |
2557 |
# This is a source program that is used to create import libraries |
2558 |
# on Windows for dlls which lack them. Don't remove nor modify the |
2559 |
# starting and closing comments |
2560 |
# /* impgen.c starts here */ |
2561 |
# /* Copyright (C) 1999-2000 Free Software Foundation, Inc. |
2562 |
# |
2563 |
# This file is part of GNU libtool. |
2564 |
# |
2565 |
# This program is free software; you can redistribute it and/or modify |
2566 |
# it under the terms of the GNU General Public License as published by |
2567 |
# the Free Software Foundation; either version 2 of the License, or |
2568 |
# (at your option) any later version. |
2569 |
# |
2570 |
# This program is distributed in the hope that it will be useful, |
2571 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
2572 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2573 |
# GNU General Public License for more details. |
2574 |
# |
2575 |
# You should have received a copy of the GNU General Public License |
2576 |
# along with this program; if not, write to the Free Software |
2577 |
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
2578 |
# */ |
2579 |
# |
2580 |
# #include <stdio.h> /* for printf() */ |
2581 |
# #include <unistd.h> /* for open(), lseek(), read() */ |
2582 |
# #include <fcntl.h> /* for O_RDONLY, O_BINARY */ |
2583 |
# #include <string.h> /* for strdup() */ |
2584 |
# |
2585 |
# /* O_BINARY isn't required (or even defined sometimes) under Unix */ |
2586 |
# #ifndef O_BINARY |
2587 |
# #define O_BINARY 0 |
2588 |
# #endif |
2589 |
# |
2590 |
# static unsigned int |
2591 |
# pe_get16 (fd, offset) |
2592 |
# int fd; |
2593 |
# int offset; |
2594 |
# { |
2595 |
# unsigned char b[2]; |
2596 |
# lseek (fd, offset, SEEK_SET); |
2597 |
# read (fd, b, 2); |
2598 |
# return b[0] + (b[1]<<8); |
2599 |
# } |
2600 |
# |
2601 |
# static unsigned int |
2602 |
# pe_get32 (fd, offset) |
2603 |
# int fd; |
2604 |
# int offset; |
2605 |
# { |
2606 |
# unsigned char b[4]; |
2607 |
# lseek (fd, offset, SEEK_SET); |
2608 |
# read (fd, b, 4); |
2609 |
# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); |
2610 |
# } |
2611 |
# |
2612 |
# static unsigned int |
2613 |
# pe_as32 (ptr) |
2614 |
# void *ptr; |
2615 |
# { |
2616 |
# unsigned char *b = ptr; |
2617 |
# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); |
2618 |
# } |
2619 |
# |
2620 |
# int |
2621 |
# main (argc, argv) |
2622 |
# int argc; |
2623 |
# char *argv[]; |
2624 |
# { |
2625 |
# int dll; |
2626 |
# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; |
2627 |
# unsigned long export_rva, export_size, nsections, secptr, expptr; |
2628 |
# unsigned long name_rvas, nexp; |
2629 |
# unsigned char *expdata, *erva; |
2630 |
# char *filename, *dll_name; |
2631 |
# |
2632 |
# filename = argv[1]; |
2633 |
# |
2634 |
# dll = open(filename, O_RDONLY|O_BINARY); |
2635 |
# if (dll < 1) |
2636 |
# return 1; |
2637 |
# |
2638 |
# dll_name = filename; |
2639 |
# |
2640 |
# for (i=0; filename[i]; i++) |
2641 |
# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') |
2642 |
# dll_name = filename + i +1; |
2643 |
# |
2644 |
# pe_header_offset = pe_get32 (dll, 0x3c); |
2645 |
# opthdr_ofs = pe_header_offset + 4 + 20; |
2646 |
# num_entries = pe_get32 (dll, opthdr_ofs + 92); |
2647 |
# |
2648 |
# if (num_entries < 1) /* no exports */ |
2649 |
# return 1; |
2650 |
# |
2651 |
# export_rva = pe_get32 (dll, opthdr_ofs + 96); |
2652 |
# export_size = pe_get32 (dll, opthdr_ofs + 100); |
2653 |
# nsections = pe_get16 (dll, pe_header_offset + 4 +2); |
2654 |
# secptr = (pe_header_offset + 4 + 20 + |
2655 |
# pe_get16 (dll, pe_header_offset + 4 + 16)); |
2656 |
# |
2657 |
# expptr = 0; |
2658 |
# for (i = 0; i < nsections; i++) |
2659 |
# { |
2660 |
# char sname[8]; |
2661 |
# unsigned long secptr1 = secptr + 40 * i; |
2662 |
# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); |
2663 |
# unsigned long vsize = pe_get32 (dll, secptr1 + 16); |
2664 |
# unsigned long fptr = pe_get32 (dll, secptr1 + 20); |
2665 |
# lseek(dll, secptr1, SEEK_SET); |
2666 |
# read(dll, sname, 8); |
2667 |
# if (vaddr <= export_rva && vaddr+vsize > export_rva) |
2668 |
# { |
2669 |
# expptr = fptr + (export_rva - vaddr); |
2670 |
# if (export_rva + export_size > vaddr + vsize) |
2671 |
# export_size = vsize - (export_rva - vaddr); |
2672 |
# break; |
2673 |
# } |
2674 |
# } |
2675 |
# |
2676 |
# expdata = (unsigned char*)malloc(export_size); |
2677 |
# lseek (dll, expptr, SEEK_SET); |
2678 |
# read (dll, expdata, export_size); |
2679 |
# erva = expdata - export_rva; |
2680 |
# |
2681 |
# nexp = pe_as32 (expdata+24); |
2682 |
# name_rvas = pe_as32 (expdata+32); |
2683 |
# |
2684 |
# printf ("EXPORTS\n"); |
2685 |
# for (i = 0; i<nexp; i++) |
2686 |
# { |
2687 |
# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); |
2688 |
# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); |
2689 |
# } |
2690 |
# |
2691 |
# return 0; |
2692 |
# } |
2693 |
# /* impgen.c ends here */ |
2694 |
|
2695 |
EOF |
2696 |
;; |
2697 |
esac |
2698 |
|
2699 |
|
2700 |
# Append the ltmain.sh script. |
2701 |
sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) |
2702 |
# We use sed instead of cat because bash on DJGPP gets confused if |
2703 |
# if finds mixed CR/LF and LF-only lines. Since sed operates in |
2704 |
# text mode, it properly converts lines to CR/LF. This bash problem |
2705 |
# is reportedly fixed, but why not run on old versions too? |
2706 |
|
2707 |
chmod +x "$ofile" |
2708 |
fi |
2709 |
;; |
2710 |
|
2711 |
*) |
2712 |
# Compile the libtool program. |
2713 |
echo "FIXME: would compile $ltmain" |
2714 |
;; |
2715 |
esac |
2716 |
|
2717 |
# Update the list of available tags. |
2718 |
if test -n "$tagname"; then |
2719 |
|
2720 |
# Extract list of available tagged configurations in $ofile. |
2721 |
# Note that this assumes the entire list is on one line. |
2722 |
available_tags=`grep "^available_tags=" $ofile | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` |
2723 |
|
2724 |
# Append the new tag name to the list of available tags. |
2725 |
available_tags="$available_tags $tagname" |
2726 |
|
2727 |
# Now substitute the updated of available tags. |
2728 |
if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' ${ofile} > ${ofile}.new"; then |
2729 |
mv ${ofile}.new ${ofile} |
2730 |
chmod +x "$ofile" |
2731 |
else |
2732 |
rm -f ${ofile}.new |
2733 |
echo "$progname: unable to update list of available tagged configurations." |
2734 |
exit 1 |
2735 |
fi |
2736 |
fi |
2737 |
|
2738 |
# Don't cache tagged configuration! |
2739 |
test -n "$cache_file" && test -z "$tagname" || exit 0 |
2740 |
|
2741 |
# AC_CACHE_SAVE |
2742 |
trap '' 1 2 15 |
2743 |
cat > confcache <<\EOF |
2744 |
# This file is a shell script that caches the results of configure |
2745 |
# tests run on this system so they can be shared between configure |
2746 |
# scripts and configure runs. It is not useful on other systems. |
2747 |
# If it contains results you don't want to keep, you may remove or edit it. |
2748 |
# |
2749 |
# By default, configure uses ./config.cache as the cache file, |
2750 |
# creating it if it does not exist already. You can give configure |
2751 |
# the --cache-file=FILE option to use a different cache file; that is |
2752 |
# what configure does when it calls configure scripts in |
2753 |
# subdirectories, so they share the cache. |
2754 |
# Giving --cache-file=/dev/null disables caching, for debugging configure. |
2755 |
# config.status only pays attention to the cache file if you give it the |
2756 |
# --recheck option to rerun configure. |
2757 |
# |
2758 |
EOF |
2759 |
# The following way of writing the cache mishandles newlines in values, |
2760 |
# but we know of no workaround that is simple, portable, and efficient. |
2761 |
# So, don't put newlines in cache variables' values. |
2762 |
# Ultrix sh set writes to stderr and can't be redirected directly, |
2763 |
# and sets the high bit in the cache file unless we assign to the vars. |
2764 |
(set) 2>&1 | |
2765 |
case `(ac_space=' '; set | grep ac_space) 2>&1` in |
2766 |
*ac_space=\ *) |
2767 |
# `set' does not quote correctly, so add quotes (double-quote substitution |
2768 |
# turns \\\\ into \\, and sed turns \\ into \). |
2769 |
sed -n \ |
2770 |
-e "s/'/'\\\\''/g" \ |
2771 |
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" |
2772 |
;; |
2773 |
*) |
2774 |
# `set' quotes correctly as required by POSIX, so do not add quotes. |
2775 |
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' |
2776 |
;; |
2777 |
esac >> confcache |
2778 |
if cmp -s $cache_file confcache; then |
2779 |
: |
2780 |
else |
2781 |
if test -w $cache_file; then |
2782 |
echo "updating cache $cache_file" |
2783 |
cat confcache > $cache_file |
2784 |
else |
2785 |
echo "not updating unwritable cache $cache_file" |
2786 |
fi |
2787 |
fi |
2788 |
rm -f confcache |
2789 |
|
2790 |
exit 0 |
2791 |
|
2792 |
# Local Variables: |
2793 |
# mode:shell-script |
2794 |
# sh-indentation:2 |
2795 |
# End: |