0
|
1 |
#! /bin/sh
|
|
2 |
|
|
3 |
# ltconfig - Create a system-specific libtool.
|
|
4 |
# Copyright (C) 1996-1999 Free Software Foundation, Inc.
|
|
5 |
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
|
6 |
#
|
|
7 |
# This file is free software; you can redistribute it and/or modify it
|
|
8 |
# under the terms of the GNU General Public License as published by
|
|
9 |
# the Free Software Foundation; either version 2 of the License, or
|
|
10 |
# (at your option) any later version.
|
|
11 |
#
|
|
12 |
# This program is distributed in the hope that it will be useful, but
|
|
13 |
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
15 |
# General Public License for more details.
|
|
16 |
#
|
|
17 |
# You should have received a copy of the GNU General Public License
|
|
18 |
# along with this program; if not, write to the Free Software
|
|
19 |
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
20 |
#
|
|
21 |
# As a special exception to the GNU General Public License, if you
|
|
22 |
# distribute this file as part of a program that contains a
|
|
23 |
# configuration script generated by Autoconf, you may include it under
|
|
24 |
# the same distribution terms that you use for the rest of that program.
|
|
25 |
|
|
26 |
# A lot of this script is taken from autoconf-2.10.
|
|
27 |
|
|
28 |
# Check that we are running under the correct shell.
|
|
29 |
SHELL=${CONFIG_SHELL-/bin/sh}
|
|
30 |
echo=echo
|
|
31 |
if test "X$1" = X--no-reexec; then
|
|
32 |
# Discard the --no-reexec flag, and continue.
|
|
33 |
shift
|
|
34 |
elif test "X$1" = X--fallback-echo; then
|
|
35 |
# Avoid inline document here, it may be left over
|
|
36 |
:
|
|
37 |
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
|
|
38 |
# Yippee, $echo works!
|
|
39 |
:
|
|
40 |
else
|
|
41 |
# Restart under the correct shell.
|
|
42 |
exec "$SHELL" "$0" --no-reexec ${1+"$@"}
|
|
43 |
fi
|
|
44 |
|
|
45 |
if test "X$1" = X--fallback-echo; then
|
|
46 |
# used as fallback echo
|
|
47 |
shift
|
|
48 |
cat <<EOF
|
|
49 |
$*
|
|
50 |
EOF
|
|
51 |
exit 0
|
|
52 |
fi
|
|
53 |
|
|
54 |
# Find the correct PATH separator. Usually this is `:', but
|
|
55 |
# DJGPP uses `;' like DOS.
|
|
56 |
if test "X${PATH_SEPARATOR+set}" != Xset; then
|
|
57 |
UNAME=${UNAME-`uname 2>/dev/null`}
|
|
58 |
case X$UNAME in
|
|
59 |
*-DOS) PATH_SEPARATOR=';' ;;
|
|
60 |
*) PATH_SEPARATOR=':' ;;
|
|
61 |
esac
|
|
62 |
fi
|
|
63 |
|
|
64 |
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
|
65 |
# if CDPATH is set.
|
|
66 |
if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
|
|
67 |
|
|
68 |
if test "X${echo_test_string+set}" != Xset; then
|
|
69 |
# find a string as large as possible, as long as the shell can cope with it
|
|
70 |
for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
|
|
71 |
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
|
|
72 |
if (echo_test_string="`eval $cmd`") 2>/dev/null &&
|
|
73 |
echo_test_string="`eval $cmd`" &&
|
|
74 |
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
|
|
75 |
break
|
|
76 |
fi
|
|
77 |
done
|
|
78 |
fi
|
|
79 |
|
|
80 |
if test "X`($echo '\t') 2>/dev/null`" != 'X\t' ||
|
|
81 |
test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
|
|
82 |
# The Solaris, AIX, and Digital Unix default echo programs unquote
|
|
83 |
# backslashes. This makes it impossible to quote backslashes using
|
|
84 |
# echo "$something" | sed 's/\\/\\\\/g'
|
|
85 |
#
|
|
86 |
# So, first we look for a working echo in the user's PATH.
|
|
87 |
|
|
88 |
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
|
|
89 |
for dir in $PATH /usr/ucb; do
|
|
90 |
if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
|
|
91 |
test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
|
|
92 |
test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
|
|
93 |
echo="$dir/echo"
|
|
94 |
break
|
|
95 |
fi
|
|
96 |
done
|
|
97 |
IFS="$save_ifs"
|
|
98 |
|
|
99 |
if test "X$echo" = Xecho; then
|
|
100 |
# We didn't find a better echo, so look for alternatives.
|
|
101 |
if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
|
|
102 |
test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
|
|
103 |
# This shell has a builtin print -r that does the trick.
|
|
104 |
echo='print -r'
|
|
105 |
elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
|
|
106 |
test "X$CONFIG_SHELL" != X/bin/ksh; then
|
|
107 |
# If we have ksh, try running ltconfig again with it.
|
|
108 |
ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
|
|
109 |
export ORIGINAL_CONFIG_SHELL
|
|
110 |
CONFIG_SHELL=/bin/ksh
|
|
111 |
export CONFIG_SHELL
|
|
112 |
exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
|
|
113 |
else
|
|
114 |
# Try using printf.
|
|
115 |
echo='printf "%s\n"'
|
|
116 |
if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
|
|
117 |
test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
|
|
118 |
# Cool, printf works
|
|
119 |
:
|
|
120 |
elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
|
|
121 |
test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
|
|
122 |
CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
|
|
123 |
export CONFIG_SHELL
|
|
124 |
SHELL="$CONFIG_SHELL"
|
|
125 |
export SHELL
|
|
126 |
echo="$CONFIG_SHELL $0 --fallback-echo"
|
|
127 |
elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
|
|
128 |
test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
|
|
129 |
echo="$CONFIG_SHELL $0 --fallback-echo"
|
|
130 |
else
|
|
131 |
# maybe with a smaller string...
|
|
132 |
prev=:
|
|
133 |
|
|
134 |
for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
|
|
135 |
if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
|
|
136 |
break
|
|
137 |
fi
|
|
138 |
prev="$cmd"
|
|
139 |
done
|
|
140 |
|
|
141 |
if test "$prev" != 'sed 50q "$0"'; then
|
|
142 |
echo_test_string=`eval $prev`
|
|
143 |
export echo_test_string
|
|
144 |
exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
|
|
145 |
else
|
|
146 |
# Oops. We lost completely, so just stick with echo.
|
|
147 |
echo=echo
|
|
148 |
fi
|
|
149 |
fi
|
|
150 |
fi
|
|
151 |
fi
|
|
152 |
fi
|
|
153 |
|
|
154 |
# Sed substitution that helps us do robust quoting. It backslashifies
|
|
155 |
# metacharacters that are still active within double-quoted strings.
|
|
156 |
Xsed='sed -e s/^X//'
|
|
157 |
sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
|
|
158 |
|
|
159 |
# Same as above, but do not quote variable references.
|
|
160 |
double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
|
|
161 |
|
|
162 |
# Sed substitution to delay expansion of an escaped shell variable in a
|
|
163 |
# double_quote_subst'ed string.
|
|
164 |
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
|
|
165 |
|
|
166 |
# The name of this program.
|
|
167 |
progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
|
|
168 |
|
|
169 |
# Constants:
|
|
170 |
PROGRAM=ltconfig
|
|
171 |
PACKAGE=libtool
|
|
172 |
VERSION=1.3.5
|
|
173 |
TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
|
|
174 |
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
|
175 |
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
|
176 |
rm="rm -f"
|
|
177 |
|
|
178 |
help="Try \`$progname --help' for more information."
|
|
179 |
|
|
180 |
# Global variables:
|
|
181 |
default_ofile=libtool
|
|
182 |
can_build_shared=yes
|
|
183 |
enable_shared=yes
|
|
184 |
# All known linkers require a `.a' archive for static linking (except M$VC,
|
|
185 |
# which needs '.lib').
|
|
186 |
enable_static=yes
|
|
187 |
enable_fast_install=yes
|
|
188 |
enable_dlopen=unknown
|
|
189 |
enable_win32_dll=no
|
|
190 |
ltmain=
|
|
191 |
silent=
|
|
192 |
srcdir=
|
|
193 |
ac_config_guess=
|
|
194 |
ac_config_sub=
|
|
195 |
host=
|
|
196 |
nonopt=
|
|
197 |
ofile="$default_ofile"
|
|
198 |
verify_host=yes
|
|
199 |
with_gcc=no
|
|
200 |
with_gnu_ld=no
|
|
201 |
need_locks=yes
|
|
202 |
ac_ext=c
|
|
203 |
objext=o
|
|
204 |
libext=a
|
|
205 |
exeext=
|
|
206 |
cache_file=
|
|
207 |
|
|
208 |
old_AR="$AR"
|
|
209 |
old_CC="$CC"
|
|
210 |
old_CFLAGS="$CFLAGS"
|
|
211 |
old_CPPFLAGS="$CPPFLAGS"
|
|
212 |
old_LDFLAGS="$LDFLAGS"
|
|
213 |
old_LD="$LD"
|
|
214 |
old_LN_S="$LN_S"
|
|
215 |
old_LIBS="$LIBS"
|
|
216 |
old_NM="$NM"
|
|
217 |
old_RANLIB="$RANLIB"
|
|
218 |
old_DLLTOOL="$DLLTOOL"
|
|
219 |
old_OBJDUMP="$OBJDUMP"
|
|
220 |
old_AS="$AS"
|
|
221 |
|
|
222 |
# Parse the command line options.
|
|
223 |
args=
|
|
224 |
prev=
|
|
225 |
for option
|
|
226 |
do
|
|
227 |
case "$option" in
|
|
228 |
-*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
|
229 |
*) optarg= ;;
|
|
230 |
esac
|
|
231 |
|
|
232 |
# If the previous option needs an argument, assign it.
|
|
233 |
if test -n "$prev"; then
|
|
234 |
eval "$prev=\$option"
|
|
235 |
prev=
|
|
236 |
continue
|
|
237 |
fi
|
|
238 |
|
|
239 |
case "$option" in
|
|
240 |
--help) cat <<EOM
|
|
241 |
Usage: $progname [OPTION]... [HOST [LTMAIN]]
|
|
242 |
|
|
243 |
Generate a system-specific libtool script.
|
|
244 |
|
|
245 |
--debug enable verbose shell tracing
|
|
246 |
--disable-shared do not build shared libraries
|
|
247 |
--disable-static do not build static libraries
|
|
248 |
--disable-fast-install do not optimize for fast installation
|
|
249 |
--enable-dlopen enable dlopen support
|
|
250 |
--enable-win32-dll enable building dlls on win32 hosts
|
|
251 |
--help display this help and exit
|
|
252 |
--no-verify do not verify that HOST is a valid host type
|
|
253 |
-o, --output=FILE specify the output file [default=$default_ofile]
|
|
254 |
--quiet same as \`--silent'
|
|
255 |
--silent do not print informational messages
|
|
256 |
--srcdir=DIR find \`config.guess' in DIR
|
|
257 |
--version output version information and exit
|
|
258 |
--with-gcc assume that the GNU C compiler will be used
|
|
259 |
--with-gnu-ld assume that the C compiler uses the GNU linker
|
|
260 |
--disable-lock disable file locking
|
|
261 |
--cache-file=FILE configure cache file
|
|
262 |
|
|
263 |
LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
|
|
264 |
that provides basic libtool functionality.
|
|
265 |
|
|
266 |
HOST is the canonical host system name [default=guessed].
|
|
267 |
EOM
|
|
268 |
exit 0
|
|
269 |
;;
|
|
270 |
|
|
271 |
--debug)
|
|
272 |
echo "$progname: enabling shell trace mode"
|
|
273 |
set -x
|
|
274 |
;;
|
|
275 |
|
|
276 |
--disable-shared) enable_shared=no ;;
|
|
277 |
|
|
278 |
--disable-static) enable_static=no ;;
|
|
279 |
|
|
280 |
--disable-fast-install) enable_fast_install=no ;;
|
|
281 |
|
|
282 |
--enable-dlopen) enable_dlopen=yes ;;
|
|
283 |
|
|
284 |
--enable-win32-dll) enable_win32_dll=yes ;;
|
|
285 |
|
|
286 |
--quiet | --silent) silent=yes ;;
|
|
287 |
|
|
288 |
--srcdir) prev=srcdir ;;
|
|
289 |
--srcdir=*) srcdir="$optarg" ;;
|
|
290 |
|
|
291 |
--no-verify) verify_host=no ;;
|
|
292 |
|
|
293 |
--output | -o) prev=ofile ;;
|
|
294 |
--output=*) ofile="$optarg" ;;
|
|
295 |
|
|
296 |
--version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
|
|
297 |
|
|
298 |
--with-gcc) with_gcc=yes ;;
|
|
299 |
--with-gnu-ld) with_gnu_ld=yes ;;
|
|
300 |
|
|
301 |
--disable-lock) need_locks=no ;;
|
|
302 |
|
|
303 |
--cache-file=*) cache_file="$optarg" ;;
|
|
304 |
|
|
305 |
-*)
|
|
306 |
echo "$progname: unrecognized option \`$option'" 1>&2
|
|
307 |
echo "$help" 1>&2
|
|
308 |
exit 1
|
|
309 |
;;
|
|
310 |
|
|
311 |
*)
|
|
312 |
if test -z "$ltmain"; then
|
|
313 |
ltmain="$option"
|
|
314 |
elif test -z "$host"; then
|
|
315 |
# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
|
|
316 |
# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
|
|
317 |
# echo "$progname: warning \`$option' is not a valid host type" 1>&2
|
|
318 |
# fi
|
|
319 |
host="$option"
|
|
320 |
else
|
|
321 |
echo "$progname: too many arguments" 1>&2
|
|
322 |
echo "$help" 1>&2
|
|
323 |
exit 1
|
|
324 |
fi ;;
|
|
325 |
esac
|
|
326 |
done
|
|
327 |
|
|
328 |
if test -z "$ltmain"; then
|
|
329 |
echo "$progname: you must specify a LTMAIN file" 1>&2
|
|
330 |
echo "$help" 1>&2
|
|
331 |
exit 1
|
|
332 |
fi
|
|
333 |
|
|
334 |
if test ! -f "$ltmain"; then
|
|
335 |
echo "$progname: \`$ltmain' does not exist" 1>&2
|
|
336 |
echo "$help" 1>&2
|
|
337 |
exit 1
|
|
338 |
fi
|
|
339 |
|
|
340 |
# Quote any args containing shell metacharacters.
|
|
341 |
ltconfig_args=
|
|
342 |
for arg
|
|
343 |
do
|
|
344 |
case "$arg" in
|
|
345 |
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
|
|
346 |
ltconfig_args="$ltconfig_args '$arg'" ;;
|
|
347 |
*) ltconfig_args="$ltconfig_args $arg" ;;
|
|
348 |
esac
|
|
349 |
done
|
|
350 |
|
|
351 |
# A relevant subset of AC_INIT.
|
|
352 |
|
|
353 |
# File descriptor usage:
|
|
354 |
# 0 standard input
|
|
355 |
# 1 file creation
|
|
356 |
# 2 errors and warnings
|
|
357 |
# 3 some systems may open it to /dev/tty
|
|
358 |
# 4 used on the Kubota Titan
|
|
359 |
# 5 compiler messages saved in config.log
|
|
360 |
# 6 checking for... messages and results
|
|
361 |
if test "$silent" = yes; then
|
|
362 |
exec 6>/dev/null
|
|
363 |
else
|
|
364 |
exec 6>&1
|
|
365 |
fi
|
|
366 |
exec 5>>./config.log
|
|
367 |
|
|
368 |
# NLS nuisances.
|
|
369 |
# Only set LANG and LC_ALL to C if already set.
|
|
370 |
# These must not be set unconditionally because not all systems understand
|
|
371 |
# e.g. LANG=C (notably SCO).
|
|
372 |
if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
|
|
373 |
if test "X${LANG+set}" = Xset; then LANG=C; export LANG; fi
|
|
374 |
|
|
375 |
if test -n "$cache_file" && test -r "$cache_file"; then
|
|
376 |
echo "loading cache $cache_file within ltconfig"
|
|
377 |
. $cache_file
|
|
378 |
fi
|
|
379 |
|
|
380 |
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
|
|
381 |
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
|
|
382 |
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
|
|
383 |
ac_n= ac_c='
|
|
384 |
' ac_t=' '
|
|
385 |
else
|
|
386 |
ac_n=-n ac_c= ac_t=
|
|
387 |
fi
|
|
388 |
else
|
|
389 |
ac_n= ac_c='\c' ac_t=
|
|
390 |
fi
|
|
391 |
|
|
392 |
if test -z "$srcdir"; then
|
|
393 |
# Assume the source directory is the same one as the path to LTMAIN.
|
|
394 |
srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
|
|
395 |
test "$srcdir" = "$ltmain" && srcdir=.
|
|
396 |
fi
|
|
397 |
|
|
398 |
trap "$rm conftest*; exit 1" 1 2 15
|
|
399 |
if test "$verify_host" = yes; then
|
|
400 |
# Check for config.guess and config.sub.
|
|
401 |
ac_aux_dir=
|
|
402 |
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
|
|
403 |
if test -f $ac_dir/config.guess; then
|
|
404 |
ac_aux_dir=$ac_dir
|
|
405 |
break
|
|
406 |
fi
|
|
407 |
done
|
|
408 |
if test -z "$ac_aux_dir"; then
|
|
409 |
echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
|
|
410 |
echo "$help" 1>&2
|
|
411 |
exit 1
|
|
412 |
fi
|
|
413 |
ac_config_guess=$ac_aux_dir/config.guess
|
|
414 |
ac_config_sub=$ac_aux_dir/config.sub
|
|
415 |
|
|
416 |
# Make sure we can run config.sub.
|
|
417 |
if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
|
|
418 |
else
|
|
419 |
echo "$progname: cannot run $ac_config_sub" 1>&2
|
|
420 |
echo "$help" 1>&2
|
|
421 |
exit 1
|
|
422 |
fi
|
|
423 |
|
|
424 |
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
|
425 |
|
|
426 |
host_alias=$host
|
|
427 |
case "$host_alias" in
|
|
428 |
"")
|
|
429 |
if host_alias=`$SHELL $ac_config_guess`; then :
|
|
430 |
else
|
|
431 |
echo "$progname: cannot guess host type; you must specify one" 1>&2
|
|
432 |
echo "$help" 1>&2
|
|
433 |
exit 1
|
|
434 |
fi ;;
|
|
435 |
esac
|
|
436 |
host=`$SHELL $ac_config_sub $host_alias`
|
|
437 |
echo "$ac_t$host" 1>&6
|
|
438 |
|
|
439 |
# Make sure the host verified.
|
|
440 |
test -z "$host" && exit 1
|
|
441 |
|
|
442 |
elif test -z "$host"; then
|
|
443 |
echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
|
|
444 |
echo "$help" 1>&2
|
|
445 |
exit 1
|
|
446 |
else
|
|
447 |
host_alias=$host
|
|
448 |
fi
|
|
449 |
|
|
450 |
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
|
|
451 |
case "$host_os" in
|
|
452 |
linux-gnu*) ;;
|
|
453 |
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
|
|
454 |
esac
|
|
455 |
|
|
456 |
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
|
|
457 |
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
|
|
458 |
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
|
459 |
|
|
460 |
case "$host_os" in
|
|
461 |
aix3*)
|
|
462 |
# AIX sometimes has problems with the GCC collect2 program. For some
|
|
463 |
# reason, if we set the COLLECT_NAMES environment variable, the problems
|
|
464 |
# vanish in a puff of smoke.
|
|
465 |
if test "X${COLLECT_NAMES+set}" != Xset; then
|
|
466 |
COLLECT_NAMES=
|
|
467 |
export COLLECT_NAMES
|
|
468 |
fi
|
|
469 |
;;
|
|
470 |
esac
|
|
471 |
|
|
472 |
# Determine commands to create old-style static archives.
|
|
473 |
old_archive_cmds='$AR cru $oldlib$oldobjs'
|
|
474 |
old_postinstall_cmds='chmod 644 $oldlib'
|
|
475 |
old_postuninstall_cmds=
|
|
476 |
|
|
477 |
# Set a sane default for `AR'.
|
|
478 |
test -z "$AR" && AR=ar
|
|
479 |
|
|
480 |
# Set a sane default for `OBJDUMP'.
|
|
481 |
test -z "$OBJDUMP" && OBJDUMP=objdump
|
|
482 |
|
|
483 |
# If RANLIB is not set, then run the test.
|
|
484 |
if test "${RANLIB+set}" != "set"; then
|
|
485 |
result=no
|
|
486 |
|
|
487 |
echo $ac_n "checking for ranlib... $ac_c" 1>&6
|
|
488 |
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
|
|
489 |
for dir in $PATH; do
|
|
490 |
test -z "$dir" && dir=.
|
|
491 |
if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then
|
|
492 |
RANLIB="ranlib"
|
|
493 |
result="ranlib"
|
|
494 |
break
|
|
495 |
fi
|
|
496 |
done
|
|
497 |
IFS="$save_ifs"
|
|
498 |
|
|
499 |
echo "$ac_t$result" 1>&6
|
|
500 |
fi
|
|
501 |
|
|
502 |
if test -n "$RANLIB"; then
|
|
503 |
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
|
|
504 |
old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
|
|
505 |
fi
|
|
506 |
|
|
507 |
# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin.
|
|
508 |
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
|
509 |
test -z "$OBJDUMP" && OBJDUMP=objdump
|
|
510 |
test -z "$AS" && AS=as
|
|
511 |
|
|
512 |
# Check to see if we are using GCC.
|
|
513 |
if test "$with_gcc" != yes || test -z "$CC"; then
|
|
514 |
# If CC is not set, then try to find GCC or a usable CC.
|
|
515 |
if test -z "$CC"; then
|
|
516 |
echo $ac_n "checking for gcc... $ac_c" 1>&6
|
|
517 |
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
|
|
518 |
for dir in $PATH; do
|
|
519 |
test -z "$dir" && dir=.
|
|
520 |
if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then
|
|
521 |
CC="gcc"
|
|
522 |
break
|
|
523 |
fi
|
|
524 |
done
|
|
525 |
IFS="$save_ifs"
|
|
526 |
|
|
527 |
if test -n "$CC"; then
|
|
528 |
echo "$ac_t$CC" 1>&6
|
|
529 |
else
|
|
530 |
echo "$ac_t"no 1>&6
|
|
531 |
fi
|
|
532 |
fi
|
|
533 |
|
|
534 |
# Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
|
|
535 |
if test -z "$CC"; then
|
|
536 |
echo $ac_n "checking for cc... $ac_c" 1>&6
|
|
537 |
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
|
|
538 |
cc_rejected=no
|
|
539 |
for dir in $PATH; do
|
|
540 |
test -z "$dir" && dir=.
|
|
541 |
if test -f $dir/cc || test -f $dir/cc$ac_exeext; then
|
|
542 |
if test "$dir/cc" = "/usr/ucb/cc"; then
|
|
543 |
cc_rejected=yes
|
|
544 |
continue
|
|
545 |
fi
|
|
546 |
CC="cc"
|
|
547 |
break
|
|
548 |
fi
|
|
549 |
done
|
|
550 |
IFS="$save_ifs"
|
|
551 |
if test $cc_rejected = yes; then
|
|
552 |
# We found a bogon in the path, so make sure we never use it.
|
|
553 |
set dummy $CC
|
|
554 |
shift
|
|
555 |
if test $# -gt 0; then
|
|
556 |
# We chose a different compiler from the bogus one.
|
|
557 |
# However, it has the same name, so the bogon will be chosen
|
|
558 |
# first if we set CC to just the name; use the full file name.
|
|
559 |
shift
|
|
560 |
set dummy "$dir/cc" "$@"
|
|
561 |
shift
|
|
562 |
CC="$@"
|
|
563 |
fi
|
|
564 |
fi
|
|
565 |
|
|
566 |
if test -n "$CC"; then
|
|
567 |
echo "$ac_t$CC" 1>&6
|
|
568 |
else
|
|
569 |
echo "$ac_t"no 1>&6
|
|
570 |
fi
|
|
571 |
|
|
572 |
if test -z "$CC"; then
|
|
573 |
echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
|
|
574 |
exit 1
|
|
575 |
fi
|
|
576 |
fi
|
|
577 |
|
|
578 |
# Now see if the compiler is really GCC.
|
|
579 |
with_gcc=no
|
|
580 |
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
|
|
581 |
echo "$progname:581: checking whether we are using GNU C" >&5
|
|
582 |
|
|
583 |
$rm conftest.c
|
|
584 |
cat > conftest.c <<EOF
|
|
585 |
#ifdef __GNUC__
|
|
586 |
yes;
|
|
587 |
#endif
|
|
588 |
EOF
|
|
589 |
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
|
590 |
with_gcc=yes
|
|
591 |
fi
|
|
592 |
$rm conftest.c
|
|
593 |
echo "$ac_t$with_gcc" 1>&6
|
|
594 |
fi
|
|
595 |
|
|
596 |
# Allow CC to be a program name with arguments.
|
|
597 |
set dummy $CC
|
|
598 |
compiler="$2"
|
|
599 |
|
|
600 |
echo $ac_n "checking for object suffix... $ac_c" 1>&6
|
|
601 |
$rm conftest*
|
|
602 |
echo 'int i = 1;' > conftest.c
|
|
603 |
echo "$progname:603: checking for object suffix" >& 5
|
|
604 |
if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
|
|
605 |
# Append any warnings to the config.log.
|
|
606 |
cat conftest.err 1>&5
|
|
607 |
|
|
608 |
for ac_file in conftest.*; do
|
|
609 |
case $ac_file in
|
|
610 |
*.c) ;;
|
|
611 |
*) objext=`echo $ac_file | sed -e s/conftest.//` ;;
|
|
612 |
esac
|
|
613 |
done
|
|
614 |
else
|
|
615 |
cat conftest.err 1>&5
|
|
616 |
echo "$progname: failed program was:" >&5
|
|
617 |
cat conftest.c >&5
|
|
618 |
fi
|
|
619 |
$rm conftest*
|
|
620 |
echo "$ac_t$objext" 1>&6
|
|
621 |
|
|
622 |
echo $ac_n "checking for executable suffix... $ac_c" 1>&6
|
|
623 |
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
|
|
624 |
echo $ac_n "(cached) $ac_c" 1>&6
|
|
625 |
else
|
|
626 |
ac_cv_exeext="no"
|
|
627 |
$rm conftest*
|
|
628 |
echo 'main () { return 0; }' > conftest.c
|
|
629 |
echo "$progname:629: checking for executable suffix" >& 5
|
|
630 |
if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then
|
|
631 |
# Append any warnings to the config.log.
|
|
632 |
cat conftest.err 1>&5
|
|
633 |
|
|
634 |
for ac_file in conftest.*; do
|
|
635 |
case $ac_file in
|
|
636 |
*.c | *.err | *.$objext ) ;;
|
|
637 |
*) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;;
|
|
638 |
esac
|
|
639 |
done
|
|
640 |
else
|
|
641 |
cat conftest.err 1>&5
|
|
642 |
echo "$progname: failed program was:" >&5
|
|
643 |
cat conftest.c >&5
|
|
644 |
fi
|
|
645 |
$rm conftest*
|
|
646 |
fi
|
|
647 |
if test "X$ac_cv_exeext" = Xno; then
|
|
648 |
exeext=""
|
|
649 |
else
|
|
650 |
exeext="$ac_cv_exeext"
|
|
651 |
fi
|
|
652 |
echo "$ac_t$ac_cv_exeext" 1>&6
|
|
653 |
|
|
654 |
echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
|
|
655 |
pic_flag=
|
|
656 |
special_shlib_compile_flags=
|
|
657 |
wl=
|
|
658 |
link_static_flag=
|
|
659 |
no_builtin_flag=
|
|
660 |
|
|
661 |
if test "$with_gcc" = yes; then
|
|
662 |
wl='-Wl,'
|
|
663 |
link_static_flag='-static'
|
|
664 |
|
|
665 |
case "$host_os" in
|
|
666 |
beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
|
|
667 |
# PIC is the default for these OSes.
|
|
668 |
;;
|
|
669 |
aix*)
|
|
670 |
# Below there is a dirty hack to force normal static linking with -ldl
|
|
671 |
# The problem is because libdl dynamically linked with both libc and
|
|
672 |
# libC (AIX C++ library), which obviously doesn't included in libraries
|
|
673 |
# list by gcc. This cause undefined symbols with -static flags.
|
|
674 |
# This hack allows C programs to be linked with "-static -ldl", but
|
|
675 |
# we not sure about C++ programs.
|
|
676 |
link_static_flag="$link_static_flag ${wl}-lC"
|
|
677 |
;;
|
|
678 |
cygwin* | mingw* | os2*)
|
|
679 |
# We can build DLLs from non-PIC.
|
|
680 |
;;
|
|
681 |
amigaos*)
|
|
682 |
# FIXME: we need at least 68020 code to build shared libraries, but
|
|
683 |
# adding the `-m68020' flag to GCC prevents building anything better,
|
|
684 |
# like `-m68040'.
|
|
685 |
pic_flag='-m68020 -resident32 -malways-restore-a4'
|
|
686 |
;;
|
|
687 |
sysv4*MP*)
|
|
688 |
if test -d /usr/nec; then
|
|
689 |
pic_flag=-Kconform_pic
|
|
690 |
fi
|
|
691 |
;;
|
|
692 |
*)
|
|
693 |
pic_flag='-fPIC'
|
|
694 |
;;
|
|
695 |
esac
|
|
696 |
else
|
|
697 |
# PORTME Check for PIC flags for the system compiler.
|
|
698 |
case "$host_os" in
|
|
699 |
aix3* | aix4*)
|
|
700 |
# All AIX code is PIC.
|
|
701 |
link_static_flag='-bnso -bI:/lib/syscalls.exp'
|
|
702 |
;;
|
|
703 |
|
|
704 |
hpux9* | hpux10* | hpux11*)
|
|
705 |
# Is there a better link_static_flag that works with the bundled CC?
|
|
706 |
wl='-Wl,'
|
|
707 |
link_static_flag="${wl}-a ${wl}archive"
|
|
708 |
pic_flag='+Z'
|
|
709 |
;;
|
|
710 |
|
|
711 |
irix5* | irix6*)
|
|
712 |
wl='-Wl,'
|
|
713 |
link_static_flag='-non_shared'
|
|
714 |
# PIC (with -KPIC) is the default.
|
|
715 |
;;
|
|
716 |
|
|
717 |
cygwin* | mingw* | os2*)
|
|
718 |
# We can build DLLs from non-PIC.
|
|
719 |
;;
|
|
720 |
|
|
721 |
osf3* | osf4* | osf5*)
|
|
722 |
# All OSF/1 code is PIC.
|
|
723 |
wl='-Wl,'
|
|
724 |
link_static_flag='-non_shared'
|
|
725 |
;;
|
|
726 |
|
|
727 |
sco3.2v5*)
|
|
728 |
pic_flag='-Kpic'
|
|
729 |
link_static_flag='-dn'
|
|
730 |
special_shlib_compile_flags='-belf'
|
|
731 |
;;
|
|
732 |
|
|
733 |
solaris*)
|
|
734 |
pic_flag='-KPIC'
|
|
735 |
link_static_flag='-Bstatic'
|
|
736 |
wl='-Wl,'
|
|
737 |
;;
|
|
738 |
|
|
739 |
sunos4*)
|
|
740 |
pic_flag='-PIC'
|
|
741 |
link_static_flag='-Bstatic'
|
|
742 |
wl='-Qoption ld '
|
|
743 |
;;
|
|
744 |
|
|
745 |
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
|
746 |
pic_flag='-KPIC'
|
|
747 |
link_static_flag='-Bstatic'
|
|
748 |
wl='-Wl,'
|
|
749 |
;;
|
|
750 |
|
|
751 |
uts4*)
|
|
752 |
pic_flag='-pic'
|
|
753 |
link_static_flag='-Bstatic'
|
|
754 |
;;
|
|
755 |
sysv4*MP*)
|
|
756 |
if test -d /usr/nec ;then
|
|
757 |
pic_flag='-Kconform_pic'
|
|
758 |
link_static_flag='-Bstatic'
|
|
759 |
fi
|
|
760 |
;;
|
|
761 |
*)
|
|
762 |
can_build_shared=no
|
|
763 |
;;
|
|
764 |
esac
|
|
765 |
fi
|
|
766 |
|
|
767 |
if test -n "$pic_flag"; then
|
|
768 |
echo "$ac_t$pic_flag" 1>&6
|
|
769 |
|
|
770 |
# Check to make sure the pic_flag actually works.
|
|
771 |
echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
|
|
772 |
$rm conftest*
|
|
773 |
echo "int some_variable = 0;" > conftest.c
|
|
774 |
save_CFLAGS="$CFLAGS"
|
|
775 |
CFLAGS="$CFLAGS $pic_flag -DPIC"
|
|
776 |
echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5
|
|
777 |
if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
|
|
778 |
# Append any warnings to the config.log.
|
|
779 |
cat conftest.err 1>&5
|
|
780 |
|
|
781 |
case "$host_os" in
|
|
782 |
hpux9* | hpux10* | hpux11*)
|
|
783 |
# On HP-UX, both CC and GCC only warn that PIC is supported... then they
|
|
784 |
# create non-PIC objects. So, if there were any warnings, we assume that
|
|
785 |
# PIC is not supported.
|
|
786 |
if test -s conftest.err; then
|
|
787 |
echo "$ac_t"no 1>&6
|
|
788 |
can_build_shared=no
|
|
789 |
pic_flag=
|
|
790 |
else
|
|
791 |
echo "$ac_t"yes 1>&6
|
|
792 |
pic_flag=" $pic_flag"
|
|
793 |
fi
|
|
794 |
;;
|
|
795 |
*)
|
|
796 |
echo "$ac_t"yes 1>&6
|
|
797 |
pic_flag=" $pic_flag"
|
|
798 |
;;
|
|
799 |
esac
|
|
800 |
else
|
|
801 |
# Append any errors to the config.log.
|
|
802 |
cat conftest.err 1>&5
|
|
803 |
can_build_shared=no
|
|
804 |
pic_flag=
|
|
805 |
echo "$ac_t"no 1>&6
|
|
806 |
fi
|
|
807 |
CFLAGS="$save_CFLAGS"
|
|
808 |
$rm conftest*
|
|
809 |
else
|
|
810 |
echo "$ac_t"none 1>&6
|
|
811 |
fi
|
|
812 |
|
|
813 |
# Check to see if options -o and -c are simultaneously supported by compiler
|
|
814 |
echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
|
|
815 |
$rm -r conftest 2>/dev/null
|
|
816 |
mkdir conftest
|
|
817 |
cd conftest
|
|
818 |
$rm conftest*
|
|
819 |
echo "int some_variable = 0;" > conftest.c
|
|
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.o"
|
|
829 |
echo "$progname:829: checking if $compiler supports -c -o file.o" >&5
|
|
830 |
if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; 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 |
echo "$ac_t"no 1>&6
|
|
836 |
compiler_c_o=no
|
|
837 |
else
|
|
838 |
echo "$ac_t"yes 1>&6
|
|
839 |
compiler_c_o=yes
|
|
840 |
fi
|
|
841 |
else
|
|
842 |
# Append any errors to the config.log.
|
|
843 |
cat out/conftest.err 1>&5
|
|
844 |
compiler_c_o=no
|
|
845 |
echo "$ac_t"no 1>&6
|
|
846 |
fi
|
|
847 |
CFLAGS="$save_CFLAGS"
|
|
848 |
chmod u+w .
|
|
849 |
$rm conftest* out/*
|
|
850 |
rmdir out
|
|
851 |
cd ..
|
|
852 |
rmdir conftest
|
|
853 |
$rm -r conftest 2>/dev/null
|
|
854 |
|
|
855 |
if test x"$compiler_c_o" = x"yes"; then
|
|
856 |
# Check to see if we can write to a .lo
|
|
857 |
echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
|
|
858 |
$rm conftest*
|
|
859 |
echo "int some_variable = 0;" > conftest.c
|
|
860 |
save_CFLAGS="$CFLAGS"
|
|
861 |
CFLAGS="$CFLAGS -c -o conftest.lo"
|
|
862 |
echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5
|
|
863 |
if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
|
|
864 |
|
|
865 |
# The compiler can only warn and ignore the option if not recognized
|
|
866 |
# So say no if there are warnings
|
|
867 |
if test -s conftest.err; then
|
|
868 |
echo "$ac_t"no 1>&6
|
|
869 |
compiler_o_lo=no
|
|
870 |
else
|
|
871 |
echo "$ac_t"yes 1>&6
|
|
872 |
compiler_o_lo=yes
|
|
873 |
fi
|
|
874 |
else
|
|
875 |
# Append any errors to the config.log.
|
|
876 |
cat conftest.err 1>&5
|
|
877 |
compiler_o_lo=no
|
|
878 |
echo "$ac_t"no 1>&6
|
|
879 |
fi
|
|
880 |
CFLAGS="$save_CFLAGS"
|
|
881 |
$rm conftest*
|
|
882 |
else
|
|
883 |
compiler_o_lo=no
|
|
884 |
fi
|
|
885 |
|
|
886 |
# Check to see if we can do hard links to lock some files if needed
|
|
887 |
hard_links="nottested"
|
|
888 |
if test "$compiler_c_o" = no && test "$need_locks" != no; then
|
|
889 |
# do not overwrite the value of need_locks provided by the user
|
|
890 |
echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
|
|
891 |
hard_links=yes
|
|
892 |
$rm conftest*
|
|
893 |
ln conftest.a conftest.b 2>/dev/null && hard_links=no
|
|
894 |
touch conftest.a
|
|
895 |
ln conftest.a conftest.b 2>&5 || hard_links=no
|
|
896 |
ln conftest.a conftest.b 2>/dev/null && hard_links=no
|
|
897 |
echo "$ac_t$hard_links" 1>&6
|
|
898 |
$rm conftest*
|
|
899 |
if test "$hard_links" = no; then
|
|
900 |
echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
|
|
901 |
need_locks=warn
|
|
902 |
fi
|
|
903 |
else
|
|
904 |
need_locks=no
|
|
905 |
fi
|
|
906 |
|
|
907 |
if test "$with_gcc" = yes; then
|
|
908 |
# Check to see if options -fno-rtti -fno-exceptions are supported by compiler
|
|
909 |
echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
|
|
910 |
$rm conftest*
|
|
911 |
echo "int some_variable = 0;" > conftest.c
|
|
912 |
save_CFLAGS="$CFLAGS"
|
|
913 |
CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
|
|
914 |
echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
|
|
915 |
if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
|
|
916 |
|
|
917 |
# The compiler can only warn and ignore the option if not recognized
|
|
918 |
# So say no if there are warnings
|
|
919 |
if test -s conftest.err; then
|
|
920 |
echo "$ac_t"no 1>&6
|
|
921 |
compiler_rtti_exceptions=no
|
|
922 |
else
|
|
923 |
echo "$ac_t"yes 1>&6
|
|
924 |
compiler_rtti_exceptions=yes
|
|
925 |
fi
|
|
926 |
else
|
|
927 |
# Append any errors to the config.log.
|
|
928 |
cat conftest.err 1>&5
|
|
929 |
compiler_rtti_exceptions=no
|
|
930 |
echo "$ac_t"no 1>&6
|
|
931 |
fi
|
|
932 |
CFLAGS="$save_CFLAGS"
|
|
933 |
$rm conftest*
|
|
934 |
|
|
935 |
if test "$compiler_rtti_exceptions" = "yes"; then
|
|
936 |
no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
|
|
937 |
else
|
|
938 |
no_builtin_flag=' -fno-builtin'
|
|
939 |
fi
|
|
940 |
|
|
941 |
fi
|
|
942 |
|
|
943 |
# Check for any special shared library compilation flags.
|
|
944 |
if test -n "$special_shlib_compile_flags"; then
|
|
945 |
echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
|
|
946 |
if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$special_shlib_compile_flags[ ]" >/dev/null; then :
|
|
947 |
else
|
|
948 |
echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
|
|
949 |
can_build_shared=no
|
|
950 |
fi
|
|
951 |
fi
|
|
952 |
|
|
953 |
echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
|
|
954 |
$rm conftest*
|
|
955 |
echo 'main(){return(0);}' > conftest.c
|
|
956 |
save_LDFLAGS="$LDFLAGS"
|
|
957 |
LDFLAGS="$LDFLAGS $link_static_flag"
|
|
958 |
echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5
|
|
959 |
if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
|
960 |
echo "$ac_t$link_static_flag" 1>&6
|
|
961 |
else
|
|
962 |
echo "$ac_t"none 1>&6
|
|
963 |
link_static_flag=
|
|
964 |
fi
|
|
965 |
LDFLAGS="$save_LDFLAGS"
|
|
966 |
$rm conftest*
|
|
967 |
|
|
968 |
if test -z "$LN_S"; then
|
|
969 |
# Check to see if we can use ln -s, or we need hard links.
|
|
970 |
echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
|
|
971 |
$rm conftest.dat
|
|
972 |
if ln -s X conftest.dat 2>/dev/null; then
|
|
973 |
$rm conftest.dat
|
|
974 |
LN_S="ln -s"
|
|
975 |
else
|
|
976 |
LN_S=ln
|
|
977 |
fi
|
|
978 |
if test "$LN_S" = "ln -s"; then
|
|
979 |
echo "$ac_t"yes 1>&6
|
|
980 |
else
|
|
981 |
echo "$ac_t"no 1>&6
|
|
982 |
fi
|
|
983 |
fi
|
|
984 |
|
|
985 |
# Make sure LD is an absolute path.
|
|
986 |
if test -z "$LD"; then
|
|
987 |
ac_prog=ld
|
|
988 |
if test "$with_gcc" = yes; then
|
|
989 |
# Check if gcc -print-prog-name=ld gives a path.
|
|
990 |
echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
|
|
991 |
echo "$progname:991: checking for ld used by GCC" >&5
|
|
992 |
ac_prog=`($CC -print-prog-name=ld) 2>&5`
|
|
993 |
case "$ac_prog" in
|
|
994 |
# Accept absolute paths.
|
|
995 |
[\\/]* | [A-Za-z]:[\\/]*)
|
|
996 |
re_direlt='/[^/][^/]*/\.\./'
|
|
997 |
# Canonicalize the path of ld
|
|
998 |
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
|
999 |
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
|
1000 |
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
|
1001 |
done
|
|
1002 |
test -z "$LD" && LD="$ac_prog"
|
|
1003 |
;;
|
|
1004 |
"")
|
|
1005 |
# If it fails, then pretend we are not using GCC.
|
|
1006 |
ac_prog=ld
|
|
1007 |
;;
|
|
1008 |
*)
|
|
1009 |
# If it is relative, then search for the first ld in PATH.
|
|
1010 |
with_gnu_ld=unknown
|
|
1011 |
;;
|
|
1012 |
esac
|
|
1013 |
elif test "$with_gnu_ld" = yes; then
|
|
1014 |
echo $ac_n "checking for GNU ld... $ac_c" 1>&6
|
|
1015 |
echo "$progname:1015: checking for GNU ld" >&5
|
|
1016 |
else
|
|
1017 |
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
|
|
1018 |
echo "$progname:1018: checking for non-GNU ld" >&5
|
|
1019 |
fi
|
|
1020 |
|
|
1021 |
if test -z "$LD"; then
|
|
1022 |
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
|
|
1023 |
for ac_dir in $PATH; do
|
|
1024 |
test -z "$ac_dir" && ac_dir=.
|
|
1025 |
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
|
1026 |
LD="$ac_dir/$ac_prog"
|
|
1027 |
# Check to see if the program is GNU ld. I'd rather use --version,
|
|
1028 |
# but apparently some GNU ld's only accept -v.
|
|
1029 |
# Break only if it was the GNU/non-GNU ld that we prefer.
|
|
1030 |
if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
|
|
1031 |
test "$with_gnu_ld" != no && break
|
|
1032 |
else
|
|
1033 |
test "$with_gnu_ld" != yes && break
|
|
1034 |
fi
|
|
1035 |
fi
|
|
1036 |
done
|
|
1037 |
IFS="$ac_save_ifs"
|
|
1038 |
fi
|
|
1039 |
|
|
1040 |
if test -n "$LD"; then
|
|
1041 |
echo "$ac_t$LD" 1>&6
|
|
1042 |
else
|
|
1043 |
echo "$ac_t"no 1>&6
|
|
1044 |
fi
|
|
1045 |
|
|
1046 |
if test -z "$LD"; then
|
|
1047 |
echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
|
|
1048 |
exit 1
|
|
1049 |
fi
|
|
1050 |
fi
|
|
1051 |
|
|
1052 |
# Check to see if it really is or is not GNU ld.
|
|
1053 |
echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
|
|
1054 |
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
|
1055 |
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
|
1056 |
with_gnu_ld=yes
|
|
1057 |
else
|
|
1058 |
with_gnu_ld=no
|
|
1059 |
fi
|
|
1060 |
echo "$ac_t$with_gnu_ld" 1>&6
|
|
1061 |
|
|
1062 |
# See if the linker supports building shared libraries.
|
|
1063 |
echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
|
|
1064 |
|
|
1065 |
allow_undefined_flag=
|
|
1066 |
no_undefined_flag=
|
|
1067 |
need_lib_prefix=unknown
|
|
1068 |
need_version=unknown
|
|
1069 |
# when you set need_version to no, make sure it does not cause -set_version
|
|
1070 |
# flags to be left without arguments
|
|
1071 |
archive_cmds=
|
|
1072 |
archive_expsym_cmds=
|
|
1073 |
old_archive_from_new_cmds=
|
|
1074 |
export_dynamic_flag_spec=
|
|
1075 |
whole_archive_flag_spec=
|
|
1076 |
thread_safe_flag_spec=
|
|
1077 |
hardcode_libdir_flag_spec=
|
|
1078 |
hardcode_libdir_separator=
|
|
1079 |
hardcode_direct=no
|
|
1080 |
hardcode_minus_L=no
|
|
1081 |
hardcode_shlibpath_var=unsupported
|
|
1082 |
runpath_var=
|
|
1083 |
always_export_symbols=no
|
|
1084 |
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
|
1085 |
# include_expsyms should be a list of space-separated symbols to be *always*
|
|
1086 |
# included in the symbol list
|
|
1087 |
include_expsyms=
|
|
1088 |
# exclude_expsyms can be an egrep regular expression of symbols to exclude
|
|
1089 |
# it will be wrapped by ` (' and `)$', so one must not match beginning or
|
|
1090 |
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
|
|
1091 |
# as well as any symbol that contains `d'.
|
|
1092 |
exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
|
|
1093 |
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
|
|
1094 |
# platforms (ab)use it in PIC code, but their linkers get confused if
|
|
1095 |
# the symbol is explicitly referenced. Since portable code cannot
|
|
1096 |
# rely on this symbol name, it's probably fine to never include it in
|
|
1097 |
# preloaded symbol tables.
|
|
1098 |
|
|
1099 |
case "$host_os" in
|
|
1100 |
cygwin* | mingw*)
|
|
1101 |
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
|
1102 |
# When not using gcc, we currently assume that we are using
|
|
1103 |
# Microsoft Visual C++.
|
|
1104 |
if test "$with_gcc" != yes; then
|
|
1105 |
with_gnu_ld=no
|
|
1106 |
fi
|
|
1107 |
;;
|
|
1108 |
|
|
1109 |
esac
|
|
1110 |
|
|
1111 |
ld_shlibs=yes
|
|
1112 |
if test "$with_gnu_ld" = yes; then
|
|
1113 |
# If archive_cmds runs LD, not CC, wlarc should be empty
|
|
1114 |
wlarc='${wl}'
|
|
1115 |
|
|
1116 |
# See if GNU ld supports shared libraries.
|
|
1117 |
case "$host_os" in
|
|
1118 |
aix3* | aix4*)
|
|
1119 |
# On AIX, the GNU linker is very broken
|
|
1120 |
ld_shlibs=no
|
|
1121 |
cat <<EOF 1>&2
|
|
1122 |
|
|
1123 |
*** Warning: the GNU linker, at least up to release 2.9.1, is reported
|
|
1124 |
*** to be unable to reliably create shared libraries on AIX.
|
|
1125 |
*** Therefore, libtool is disabling shared libraries support. If you
|
|
1126 |
*** really care for shared libraries, you may want to modify your PATH
|
|
1127 |
*** so that a non-GNU linker is found, and then restart.
|
|
1128 |
|
|
1129 |
EOF
|
|
1130 |
;;
|
|
1131 |
|
|
1132 |
amigaos*)
|
|
1133 |
archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
|
|
1134 |
hardcode_libdir_flag_spec='-L$libdir'
|
|
1135 |
hardcode_minus_L=yes
|
|
1136 |
|
|
1137 |
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
|
|
1138 |
# that the semantics of dynamic libraries on AmigaOS, at least up
|
|
1139 |
# to version 4, is to share data among multiple programs linked
|
|
1140 |
# with the same dynamic library. Since this doesn't match the
|
|
1141 |
# behavior of shared libraries on other platforms, we can use
|
|
1142 |
# them.
|
|
1143 |
ld_shlibs=no
|
|
1144 |
;;
|
|
1145 |
|
|
1146 |
beos*)
|
|
1147 |
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
|
1148 |
#allow_undefined_flag=unsupported
|
|
1149 |
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
|
|
1150 |
# support --undefined. This deserves some investigation. FIXME
|
|
1151 |
archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
|
|
1152 |
else
|
|
1153 |
ld_shlibs=no
|
|
1154 |
fi
|
|
1155 |
;;
|
|
1156 |
|
|
1157 |
cygwin* | mingw*)
|
|
1158 |
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
|
1159 |
# no search path for DLLs.
|
|
1160 |
hardcode_libdir_flag_spec='-L$libdir'
|
|
1161 |
# allow_undefined_flag=unsupported
|
|
1162 |
always_export_symbols=yes
|
|
1163 |
|
|
1164 |
# Extract the symbol export list from an `--export-all' def file,
|
|
1165 |
# then regenerate the def file from the symbol export list, so that
|
|
1166 |
# the compiled dll only exports the symbol export list.
|
|
1167 |
# Be careful not to strip the DATA tag left by newer dlltools.
|
|
1168 |
export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
|
|
1169 |
test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
|
|
1170 |
$DLLTOOL --exclude-symbols _DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~
|
|
1171 |
sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
|
|
1172 |
|
|
1173 |
# If DATA tags from a recent dlltool are present, honour them!
|
|
1174 |
archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
|
|
1175 |
_lt_hint=1;
|
|
1176 |
cat $export_symbols | while read symbol; do
|
|
1177 |
set dummy \$symbol;
|
|
1178 |
case \$# in
|
|
1179 |
2) echo " \$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
|
|
1180 |
*) echo " \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
|
|
1181 |
esac;
|
|
1182 |
_lt_hint=`expr 1 + \$_lt_hint`;
|
|
1183 |
done~
|
|
1184 |
test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
|
|
1185 |
test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
|
|
1186 |
$CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,_DllMain@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
|
|
1187 |
$DLLTOOL --as=$AS --dllname $soname --exclude-symbols _DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
|
|
1188 |
$CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,_DllMain@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
|
|
1189 |
$DLLTOOL --as=$AS --dllname $soname --exclude-symbols _DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
|
|
1190 |
$CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,_DllMain@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
|
|
1191 |
: strip_is_broken_with_dlls_on_win95B - strip $lib'
|
|
1192 |
|
|
1193 |
old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a'
|
|
1194 |
;;
|
|
1195 |
|
|
1196 |
netbsd*)
|
|
1197 |
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
|
|
1198 |
archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
|
|
1199 |
archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
|
|
1200 |
else
|
|
1201 |
archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
|
|
1202 |
# can we support soname and/or expsyms with a.out? -oliva
|
|
1203 |
fi
|
|
1204 |
;;
|
|
1205 |
|
|
1206 |
solaris* | sysv5*)
|
|
1207 |
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
|
|
1208 |
ld_shlibs=no
|
|
1209 |
cat <<EOF 1>&2
|
|
1210 |
|
|
1211 |
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
|
|
1212 |
*** create shared libraries on Solaris systems. Therefore, libtool
|
|
1213 |
*** is disabling shared libraries support. We urge you to upgrade GNU
|
|
1214 |
*** binutils to release 2.9.1 or newer. Another option is to modify
|
|
1215 |
*** your PATH or compiler configuration so that the native linker is
|
|
1216 |
*** used, and then restart.
|
|
1217 |
|
|
1218 |
EOF
|
|
1219 |
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
|
1220 |
archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
|
|
1221 |
archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
|
|
1222 |
else
|
|
1223 |
ld_shlibs=no
|
|
1224 |
fi
|
|
1225 |
;;
|
|
1226 |
|
|
1227 |
sunos4*)
|
|
1228 |
archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
|
|
1229 |
wlarc=
|
|
1230 |
hardcode_direct=yes
|
|
1231 |
hardcode_shlibpath_var=no
|
|
1232 |
;;
|
|
1233 |
|
|
1234 |
*)
|
|
1235 |
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
|
|
1236 |
archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
|
|
1237 |
archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
|
|
1238 |
else
|
|
1239 |
ld_shlibs=no
|
|
1240 |
fi
|
|
1241 |
;;
|
|
1242 |
esac
|
|
1243 |
|
|
1244 |
if test "$ld_shlibs" = yes; then
|
|
1245 |
runpath_var=LD_RUN_PATH
|
|
1246 |
hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
|
|
1247 |
< |