1116
1091
ln conftest.a conftest.b 2>/dev/null && hard_links=no
1117
1092
AC_MSG_RESULT([$hard_links])
1118
1093
if test "$hard_links" = no; then
1119
AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe])
1094
AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1120
1095
need_locks=warn
1126
if test "$GCC" = yes; then
1127
# Check to see if options -fno-rtti -fno-exceptions are supported by compiler
1128
AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions])
1129
echo "int some_variable = 0;" > conftest.$ac_ext
1130
save_CFLAGS="$CFLAGS"
1131
CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
1132
compiler_rtti_exceptions=no
1133
AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
1134
# The compiler can only warn and ignore the option if not recognized
1135
# So say no if there are warnings
1136
if test -s conftest.err; then
1137
compiler_rtti_exceptions=no
1139
compiler_rtti_exceptions=yes
1142
CFLAGS="$save_CFLAGS"
1143
AC_MSG_RESULT([$compiler_rtti_exceptions])
1145
if test "$compiler_rtti_exceptions" = "yes"; then
1146
no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
1148
no_builtin_flag=' -fno-builtin'
1152
# See if the linker supports building shared libraries.
1153
AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries])
1155
allow_undefined_flag=
1157
need_lib_prefix=unknown
1158
need_version=unknown
1159
# when you set need_version to no, make sure it does not cause -set_version
1160
# flags to be left without arguments
1162
archive_expsym_cmds=
1163
old_archive_from_new_cmds=
1164
old_archive_from_expsyms_cmds=
1165
export_dynamic_flag_spec=
1166
whole_archive_flag_spec=
1167
thread_safe_flag_spec=
1168
hardcode_into_libs=no
1169
hardcode_libdir_flag_spec=
1170
hardcode_libdir_separator=
1173
hardcode_shlibpath_var=unsupported
1175
link_all_deplibs=unknown
1176
always_export_symbols=no
1177
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
1178
# include_expsyms should be a list of space-separated symbols to be *always*
1179
# included in the symbol list
1181
# exclude_expsyms can be an egrep regular expression of symbols to exclude
1182
# it will be wrapped by ` (' and `)$', so one must not match beginning or
1183
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
1184
# as well as any symbol that contains `d'.
1185
exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
1186
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
1187
# platforms (ab)use it in PIC code, but their linkers get confused if
1188
# the symbol is explicitly referenced. Since portable code cannot
1189
# rely on this symbol name, it's probably fine to never include it in
1190
# preloaded symbol tables.
1191
extract_expsyms_cmds=
1194
cygwin* | mingw* | pw32*)
1195
# FIXME: the MSVC++ port hasn't been tested in a loooong time
1196
# When not using gcc, we currently assume that we are using
1197
# Microsoft Visual C++.
1198
if test "$GCC" != yes; then
1208
if test "$with_gnu_ld" = yes; then
1209
# If archive_cmds runs LD, not CC, wlarc should be empty
1212
# See if GNU ld supports shared libraries.
1214
aix3* | aix4* | aix5*)
1215
# On AIX, the GNU linker is very broken
1216
# Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
1220
*** Warning: the GNU linker, at least up to release 2.9.1, is reported
1221
*** to be unable to reliably create shared libraries on AIX.
1222
*** Therefore, libtool is disabling shared libraries support. If you
1223
*** really care for shared libraries, you may want to modify your PATH
1224
*** so that a non-GNU linker is found, and then restart.
1230
archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
1231
hardcode_libdir_flag_spec='-L$libdir'
1232
hardcode_minus_L=yes
1234
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
1235
# that the semantics of dynamic libraries on AmigaOS, at least up
1236
# to version 4, is to share data among multiple programs linked
1237
# with the same dynamic library. Since this doesn't match the
1238
# behavior of shared libraries on other platforms, we can use
1244
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1245
allow_undefined_flag=unsupported
1246
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
1247
# support --undefined. This deserves some investigation. FIXME
1248
archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1254
cygwin* | mingw* | pw32*)
1255
# hardcode_libdir_flag_spec is actually meaningless, as there is
1256
# no search path for DLLs.
1257
hardcode_libdir_flag_spec='-L$libdir'
1258
allow_undefined_flag=unsupported
1259
always_export_symbols=yes
1261
extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
1262
sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
1263
test -f $output_objdir/impgen.exe || (cd $output_objdir && \
1264
if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
1265
else $CC -o impgen impgen.c ; fi)~
1266
$output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
1268
old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
1270
# cygwin and mingw dlls have different entry points and sets of symbols
1272
# FIXME: what about values for MSVC?
1273
dll_entry=__cygwin_dll_entry@12
1274
dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
1278
dll_entry=_DllMainCRTStartup@12
1279
dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
1283
# mingw and cygwin differ, and it's simplest to just exclude the union
1284
# of the two symbol sets.
1285
dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
1287
# recent cygwin and mingw systems supply a stub DllMain which the user
1288
# can override, but on older systems we have to supply one (in ltdll.c)
1289
if test "x$lt_cv_need_dllmain" = "xyes"; then
1290
ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
1291
ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
1292
test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
1298
# Extract the symbol export list from an `--export-all' def file,
1299
# then regenerate the def file from the symbol export list, so that
1300
# the compiled dll only exports the symbol export list.
1301
# Be careful not to strip the DATA tag left be newer dlltools.
1302
export_symbols_cmds="$ltdll_cmds"'
1303
$DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
1304
sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
1306
# If the export-symbols file already is a .def file (1st line
1307
# is EXPORTS), use it as is.
1308
# If DATA tags from a recent dlltool are present, honour them!
1309
archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
1310
cp $export_symbols $output_objdir/$soname-def;
1312
echo EXPORTS > $output_objdir/$soname-def;
1314
cat $export_symbols | while read symbol; do
1317
2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
1318
*) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
1320
_lt_hint=`expr 1 + \$_lt_hint`;
1324
$CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
1325
$DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
1326
$CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
1327
$DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
1328
$CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
1332
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1333
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
1336
archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1337
archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1342
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
1346
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
1347
*** create shared libraries on Solaris systems. Therefore, libtool
1348
*** is disabling shared libraries support. We urge you to upgrade GNU
1349
*** binutils to release 2.9.1 or newer. Another option is to modify
1350
*** your PATH or compiler configuration so that the native linker is
1351
*** used, and then restart.
1354
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1355
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1356
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1363
archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1366
hardcode_shlibpath_var=no
1370
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1371
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1372
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1379
if test "$ld_shlibs" = yes; then
1380
runpath_var=LD_RUN_PATH
1381
hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
1382
export_dynamic_flag_spec='${wl}--export-dynamic'
1384
cygwin* | mingw* | pw32*)
1385
# dlltool doesn't understand --whole-archive et. al.
1386
whole_archive_flag_spec=
1389
# ancient GNU ld didn't support --whole-archive et. al.
1390
if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
1391
whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
1393
whole_archive_flag_spec=
1100
])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
1105
AC_DEFUN([AC_LIBTOOL_OBJDIR],
1106
[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1107
[rm -f .libs 2>/dev/null
1108
mkdir .libs 2>/dev/null
1109
if test -d .libs; then
1399
# PORTME fill in a description of your system's linker (not GNU ld)
1402
allow_undefined_flag=unsupported
1403
always_export_symbols=yes
1404
archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
1405
# Note: this linker hardcodes the directories in LIBPATH if there
1406
# are no directories specified by -L.
1407
hardcode_minus_L=yes
1408
if test "$GCC" = yes && test -z "$link_static_flag"; then
1409
# Neither direct hardcoding nor static linking is supported with a
1411
hardcode_direct=unsupported
1416
if test "$host_cpu" = ia64; then
1417
# On IA64, the linker does run time linking by default, so we don't
1418
# have to do anything special.
1419
aix_use_runtimelinking=no
1420
exp_sym_flag='-Bexport'
1423
aix_use_runtimelinking=no
1425
# Test if we are trying to use run time linking or normal
1426
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
1427
# need to do runtime linking.
1428
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
1429
for ld_flag in $LDFLAGS; do
1430
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
1431
aix_use_runtimelinking=yes
1437
exp_sym_flag='-bexport'
1438
no_entry_flag='-bnoentry'
1441
# When large executables or shared objects are built, AIX ld can
1442
# have problems creating the table of contents. If linking a library
1443
# or program results in "error TOC overflow" add -mminimal-toc to
1444
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
1445
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
1449
hardcode_libdir_separator=':'
1450
if test "$GCC" = yes; then
1451
case $host_os in aix4.[[012]]|aix4.[[012]].*)
1452
collect2name=`${CC} -print-prog-name=collect2`
1453
if test -f "$collect2name" && \
1454
strings "$collect2name" | grep resolve_lib_name >/dev/null
1456
# We have reworked collect2
1459
# We have old collect2
1460
hardcode_direct=unsupported
1461
# It fails to find uninstalled libraries when the uninstalled
1462
# path is not listed in the libpath. Setting hardcode_minus_L
1463
# to unsupported forces relinking
1464
hardcode_minus_L=yes
1465
hardcode_libdir_flag_spec='-L$libdir'
1466
hardcode_libdir_separator=
1470
shared_flag='-shared'
1473
if test "$host_cpu" = ia64; then
1474
shared_flag='${wl}-G'
1476
if test "$aix_use_runtimelinking" = yes; then
1477
shared_flag='${wl}-G'
1479
shared_flag='${wl}-bM:SRE'
1484
# It seems that -bexpall can do strange things, so it is better to
1485
# generate a list of symbols to export.
1486
always_export_symbols=yes
1487
if test "$aix_use_runtimelinking" = yes; then
1488
# Warning - without using the other runtime loading flags (-brtl),
1489
# -berok will link without error, but may produce a broken library.
1490
allow_undefined_flag='-berok'
1491
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
1492
archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
1494
if test "$host_cpu" = ia64; then
1495
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
1496
allow_undefined_flag="-z nodefs"
1497
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
1499
hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
1500
# Warning - without using the other run time loading flags,
1501
# -berok will link without error, but may produce a broken library.
1502
allow_undefined_flag='${wl}-berok'
1503
# This is a bit strange, but is similar to how AIX traditionally builds
1504
# it's shared libraries.
1505
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
1511
archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
1512
hardcode_libdir_flag_spec='-L$libdir'
1513
hardcode_minus_L=yes
1514
# see comment about different semantics on the GNU ld section
1518
cygwin* | mingw* | pw32*)
1519
# When not using gcc, we currently assume that we are using
1520
# Microsoft Visual C++.
1521
# hardcode_libdir_flag_spec is actually meaningless, as there is
1522
# no search path for DLLs.
1523
hardcode_libdir_flag_spec=' '
1524
allow_undefined_flag=unsupported
1525
# Tell ltmain to make .lib files, not .a files.
1527
# FIXME: Setting linknames here is a bad hack.
1528
archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
1529
# The linker will automatically build a .lib file if we build a DLL.
1530
old_archive_from_new_cmds='true'
1531
# FIXME: Should let the user specify the lib program.
1532
old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
1533
fix_srcfile_path='`cygpath -w "$srcfile"`'
1536
darwin* | rhapsody*)
1538
rhapsody* | darwin1.[[012]])
1539
allow_undefined_flag='-undefined suppress'
1542
allow_undefined_flag='-flat_namespace -undefined suppress'
1545
# FIXME: Relying on posixy $() will cause problems for
1546
# cross-compilation, but unfortunately the echo tests do not
1547
# yet detect zsh echo's removal of \ escapes.
1548
archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
1549
# We need to add '_' to the symbols in $export_symbols first
1550
#archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
1552
hardcode_shlibpath_var=no
1553
whole_archive_flag_spec='-all_load $convenience'
1560
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
1561
# support. Future versions do this automatically, but an explicit c++rt0.o
1562
# does not break anything, and helps significantly (at the cost of a little
1565
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
1566
hardcode_libdir_flag_spec='-R$libdir'
1568
hardcode_shlibpath_var=no
1571
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
1573
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1575
hardcode_minus_L=yes
1576
hardcode_shlibpath_var=no
1579
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
1581
archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
1582
hardcode_libdir_flag_spec='-R$libdir'
1584
hardcode_shlibpath_var=no
1587
hpux9* | hpux10* | hpux11*)
1589
hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
1590
*) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
1592
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
1593
hardcode_libdir_separator=:
1595
hardcode_minus_L=yes # Not in the search PATH, but as the default
1596
# location of the library.
1597
export_dynamic_flag_spec='${wl}-E'
1601
if test "$GCC" = yes; then
1602
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
1604
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
1606
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1607
hardcode_libdir_separator=:
1608
link_all_deplibs=yes
1612
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1613
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
1615
archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
1617
hardcode_libdir_flag_spec='-R$libdir'
1619
hardcode_shlibpath_var=no
1623
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1625
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1626
hardcode_libdir_separator=:
1627
hardcode_shlibpath_var=no
1632
hardcode_shlibpath_var=no
1633
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
1634
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
1635
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
1636
export_dynamic_flag_spec='${wl}-E'
1639
openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
1640
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1641
hardcode_libdir_flag_spec='-R$libdir'
1644
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
1645
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
1652
hardcode_libdir_flag_spec='-L$libdir'
1653
hardcode_minus_L=yes
1654
allow_undefined_flag=unsupported
1655
archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
1656
old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
1660
if test "$GCC" = yes; then
1661
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
1662
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
1664
allow_undefined_flag=' -expect_unresolved \*'
1665
archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
1667
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1668
hardcode_libdir_separator=:
1671
osf4* | osf5*) # as osf3* with the addition of -msym flag
1672
if test "$GCC" = yes; then
1673
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
1674
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
1675
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
1677
allow_undefined_flag=' -expect_unresolved \*'
1678
archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
1679
archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
1680
$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
1682
#Both c and cxx compiler support -rpath directly
1683
hardcode_libdir_flag_spec='-rpath $libdir'
1685
hardcode_libdir_separator=:
1689
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1690
hardcode_shlibpath_var=no
1691
runpath_var=LD_RUN_PATH
1692
hardcode_runpath_var=yes
1693
export_dynamic_flag_spec='${wl}-Bexport'
1697
# gcc --version < 3.0 without binutils cannot create self contained
1698
# shared libraries reliably, requiring libgcc.a to resolve some of
1699
# the object symbols generated in some cases. Libraries that use
1700
# assert need libgcc.a to resolve __eprintf, for example. Linking
1701
# a copy of libgcc.a into every shared library to guarantee resolving
1702
# such symbols causes other problems: According to Tim Van Holder
1703
# <tim.van.holder@pandora.be>, C++ libraries end up with a separate
1704
# (to the application) exception stack for one thing.
1705
no_undefined_flag=' -z defs'
1706
if test "$GCC" = yes; then
1707
case `$CC --version 2>/dev/null` in
1711
*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
1712
*** create self contained shared libraries on Solaris systems, without
1713
*** introducing a dependency on libgcc.a. Therefore, libtool is disabling
1714
*** -no-undefined support, which will at least allow you to build shared
1715
*** libraries. However, you may find that when you link such libraries
1716
*** into an application without using GCC, you have to manually add
1717
*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
1718
*** upgrade to a newer version of GCC. Another option is to rebuild your
1719
*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
1726
# $CC -shared without GNU ld will not create a library from C++
1727
# object files and a static libstdc++, better avoid it by now
1728
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
1729
archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
1730
$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
1731
hardcode_libdir_flag_spec='-R$libdir'
1732
hardcode_shlibpath_var=no
1734
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
1735
*) # Supported since Solaris 2.6 (maybe 2.5.1?)
1736
whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
1738
link_all_deplibs=yes
1742
if test "x$host_vendor" = xsequent; then
1743
# Use $CC to link under sequent, because it throws in some extra .o
1744
# files that make .init and .fini sections work.
1745
archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
1747
archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
1749
hardcode_libdir_flag_spec='-L$libdir'
1751
hardcode_minus_L=yes
1752
hardcode_shlibpath_var=no
1756
if test "x$host_vendor" = xsno; then
1757
archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
1758
hardcode_direct=yes # is this really true???
1760
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1761
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
1763
runpath_var='LD_RUN_PATH'
1764
hardcode_shlibpath_var=no
1768
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1769
hardcode_shlibpath_var=no
1770
export_dynamic_flag_spec='-Bexport'
1774
no_undefined_flag=' -z text'
1775
# $CC -shared without GNU ld will not create a library from C++
1776
# object files and a static libstdc++, better avoid it by now
1777
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
1778
archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
1779
$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
1780
hardcode_libdir_flag_spec=
1781
hardcode_shlibpath_var=no
1782
runpath_var='LD_RUN_PATH'
1786
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1787
hardcode_libdir_flag_spec='-L$libdir'
1788
hardcode_shlibpath_var=no
1792
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1793
hardcode_libdir_flag_spec='-L$libdir'
1794
hardcode_shlibpath_var=no
1798
if test -d /usr/nec; then
1799
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
1800
hardcode_shlibpath_var=no
1801
runpath_var=LD_RUN_PATH
1802
hardcode_runpath_var=yes
1808
archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
1811
hardcode_shlibpath_var=no
1812
hardcode_runpath_var=yes
1813
runpath_var=LD_RUN_PATH
1816
sysv5uw7* | unixware7*)
1817
no_undefined_flag='${wl}-z ${wl}text'
1818
if test "$GCC" = yes; then
1819
archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
1821
archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
1823
runpath_var='LD_RUN_PATH'
1824
hardcode_shlibpath_var=no
1112
# MS-DOS does not allow filenames that begin with a dot.
1832
AC_MSG_RESULT([$ld_shlibs])
1833
test "$ld_shlibs" = no && can_build_shared=no
1115
rmdir .libs 2>/dev/null])
1116
objdir=$lt_cv_objdir
1117
])# AC_LIBTOOL_OBJDIR
1120
# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
1121
# ----------------------------------------------
1835
1122
# Check hardcoding attributes.
1836
AC_MSG_CHECKING([how to hardcode library paths into programs])
1838
if test -n "$hardcode_libdir_flag_spec" || \
1839
test -n "$runpath_var"; then
1123
AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
1124
[AC_MSG_CHECKING([how to hardcode library paths into programs])
1125
_LT_AC_TAGVAR(hardcode_action, $1)=
1126
if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
1127
test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
1128
test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
1841
1130
# We can hardcode non-existant directories.
1842
if test "$hardcode_direct" != no &&
1131
if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
1843
1132
# If the only mechanism to avoid hardcoding is shlibpath_var, we
1844
1133
# have to relink, otherwise we might link with an installed library
1845
1134
# when we should be linking with a yet-to-be-installed one
1846
## test "$hardcode_shlibpath_var" != no &&
1847
test "$hardcode_minus_L" != no; then
1135
## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1136
test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
1848
1137
# Linking always hardcodes the temporary library directory.
1849
hardcode_action=relink
1138
_LT_AC_TAGVAR(hardcode_action, $1)=relink
1851
1140
# We can link without hardcoding, and we can hardcode nonexisting dirs.
1852
hardcode_action=immediate
1141
_LT_AC_TAGVAR(hardcode_action, $1)=immediate
1855
1144
# We cannot hardcode anything, or else we can only hardcode existing
1857
hardcode_action=unsupported
1859
AC_MSG_RESULT([$hardcode_action])
1146
_LT_AC_TAGVAR(hardcode_action, $1)=unsupported
1148
AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
1150
if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
1151
# Fast installation is not supported
1152
enable_fast_install=no
1153
elif test "$shlibpath_overrides_runpath" = yes ||
1154
test "$enable_shared" = no; then
1155
# Fast installation is not necessary
1156
enable_fast_install=needless
1158
])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
1161
# AC_LIBTOOL_SYS_LIB_STRIP
1162
# ------------------------
1163
AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
1863
1166
AC_MSG_CHECKING([whether stripping libraries is possible])
1864
1167
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
2268
1769
AC_MSG_RESULT([$dynamic_linker])
2269
1770
test "$dynamic_linker" = no && can_build_shared=no
2271
# Report the final consequences.
2272
AC_MSG_CHECKING([if libtool supports shared libraries])
2273
AC_MSG_RESULT([$can_build_shared])
2275
AC_MSG_CHECKING([whether to build shared libraries])
2276
test "$can_build_shared" = "no" && enable_shared=no
2278
# On AIX, shared libraries and static libraries use the same namespace, and
2279
# are all built from PIC.
2282
test "$enable_shared" = yes && enable_static=no
2283
if test -n "$RANLIB"; then
2284
archive_cmds="$archive_cmds~\$RANLIB \$lib"
2285
postinstall_cmds='$RANLIB $lib'
2290
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2291
test "$enable_shared" = yes && enable_static=no
2295
AC_MSG_RESULT([$enable_shared])
2297
AC_MSG_CHECKING([whether to build static libraries])
2298
# Make sure either enable_shared or enable_static is yes.
2299
test "$enable_shared" = yes || enable_static=yes
2300
AC_MSG_RESULT([$enable_static])
2302
if test "$hardcode_action" = relink; then
2303
# Fast installation is not supported
2304
enable_fast_install=no
2305
elif test "$shlibpath_overrides_runpath" = yes ||
2306
test "$enable_shared" = no; then
2307
# Fast installation is not necessary
2308
enable_fast_install=needless
2311
1772
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2312
1773
if test "$GCC" = yes; then
2313
1774
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
1776
])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
1781
AC_DEFUN([_LT_AC_TAGCONFIG],
1782
[AC_ARG_WITH([tags],
1783
[AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
1784
[include additional configurations @<:@automatic@:>@])],
1785
[tagnames="$withval"])
1787
if test -f "$ltmain" && test -n "$tagnames"; then
1788
if test ! -f "${ofile}"; then
1789
AC_MSG_WARN([output file `$ofile' does not exist])
1792
if test -z "$LTCC"; then
1793
eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
1794
if test -z "$LTCC"; then
1795
AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
1797
AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
1800
if test -z "$LTCFLAGS"; then
1801
eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
1804
# Extract list of available tagged configurations in $ofile.
1805
# Note that this assumes the entire list is on one line.
1806
available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
1808
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1809
for tagname in $tagnames; do
1811
# Check whether tagname contains only valid characters
1812
case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
1814
*) AC_MSG_ERROR([invalid tag name: $tagname])
1818
if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
1820
AC_MSG_ERROR([tag name \"$tagname\" already exists])
1823
# Update the list of available tags.
1824
if test -n "$tagname"; then
1825
echo appending configuration tag \"$tagname\" to $ofile
1829
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
1830
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
1831
(test "X$CXX" != "Xg++"))) ; then
1832
AC_LIBTOOL_LANG_CXX_CONFIG
1839
if test -n "$F77" && test "X$F77" != "Xno"; then
1840
AC_LIBTOOL_LANG_F77_CONFIG
1847
if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
1848
AC_LIBTOOL_LANG_GCJ_CONFIG
1855
AC_LIBTOOL_LANG_RC_CONFIG
1859
AC_MSG_ERROR([Unsupported tag name: $tagname])
1863
# Append the new tag name to the list of available tags.
1864
if test -n "$tagname" ; then
1865
available_tags="$available_tags $tagname"
1871
# Now substitute the updated list of available tags.
1872
if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
1873
mv "${ofile}T" "$ofile"
1877
AC_MSG_ERROR([unable to update list of available tagged configurations.])
1880
])# _LT_AC_TAGCONFIG
1885
# enable checks for dlopen support
1886
AC_DEFUN([AC_LIBTOOL_DLOPEN],
1887
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
1888
])# AC_LIBTOOL_DLOPEN
1891
# AC_LIBTOOL_WIN32_DLL
1892
# --------------------
1893
# declare package support for building win32 DLLs
1894
AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
1895
[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
1896
])# AC_LIBTOOL_WIN32_DLL
1899
# AC_ENABLE_SHARED([DEFAULT])
1900
# ---------------------------
1901
# implement the --enable-shared flag
1902
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
1903
AC_DEFUN([AC_ENABLE_SHARED],
1904
[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
1905
AC_ARG_ENABLE([shared],
1906
[AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
1907
[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
1908
[p=${PACKAGE-default}
1910
yes) enable_shared=yes ;;
1911
no) enable_shared=no ;;
1914
# Look at the argument we got. We use all the common list separators.
1915
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1916
for pkg in $enableval; do
1918
if test "X$pkg" = "X$p"; then
1925
[enable_shared=]AC_ENABLE_SHARED_DEFAULT)
1926
])# AC_ENABLE_SHARED
1931
# set the default shared flag to --disable-shared
1932
AC_DEFUN([AC_DISABLE_SHARED],
1933
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1934
AC_ENABLE_SHARED(no)
1935
])# AC_DISABLE_SHARED
1938
# AC_ENABLE_STATIC([DEFAULT])
1939
# ---------------------------
1940
# implement the --enable-static flag
1941
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
1942
AC_DEFUN([AC_ENABLE_STATIC],
1943
[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
1944
AC_ARG_ENABLE([static],
1945
[AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
1946
[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
1947
[p=${PACKAGE-default}
1949
yes) enable_static=yes ;;
1950
no) enable_static=no ;;
1953
# Look at the argument we got. We use all the common list separators.
1954
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1955
for pkg in $enableval; do
1957
if test "X$pkg" = "X$p"; then
1964
[enable_static=]AC_ENABLE_STATIC_DEFAULT)
1965
])# AC_ENABLE_STATIC
1970
# set the default static flag to --disable-static
1971
AC_DEFUN([AC_DISABLE_STATIC],
1972
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1973
AC_ENABLE_STATIC(no)
1974
])# AC_DISABLE_STATIC
1977
# AC_ENABLE_FAST_INSTALL([DEFAULT])
1978
# ---------------------------------
1979
# implement the --enable-fast-install flag
1980
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
1981
AC_DEFUN([AC_ENABLE_FAST_INSTALL],
1982
[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
1983
AC_ARG_ENABLE([fast-install],
1984
[AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
1985
[optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
1986
[p=${PACKAGE-default}
1988
yes) enable_fast_install=yes ;;
1989
no) enable_fast_install=no ;;
1991
enable_fast_install=no
1992
# Look at the argument we got. We use all the common list separators.
1993
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1994
for pkg in $enableval; do
1996
if test "X$pkg" = "X$p"; then
1997
enable_fast_install=yes
2003
[enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
2004
])# AC_ENABLE_FAST_INSTALL
2007
# AC_DISABLE_FAST_INSTALL
2008
# -----------------------
2009
# set the default to --disable-fast-install
2010
AC_DEFUN([AC_DISABLE_FAST_INSTALL],
2011
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2012
AC_ENABLE_FAST_INSTALL(no)
2013
])# AC_DISABLE_FAST_INSTALL
2016
# AC_LIBTOOL_PICMODE([MODE])
2017
# --------------------------
2018
# implement the --with-pic flag
2019
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
2020
AC_DEFUN([AC_LIBTOOL_PICMODE],
2021
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2022
pic_mode=ifelse($#,1,$1,default)
2023
])# AC_LIBTOOL_PICMODE
2028
# This is predefined starting with Autoconf 2.54, so this conditional
2029
# definition can be removed once we require Autoconf 2.54 or later.
2030
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
2031
[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
2032
[if echo a | (grep -E '(a|b)') >/dev/null 2>&1
2033
then ac_cv_prog_egrep='grep -E'
2034
else ac_cv_prog_egrep='egrep'
2036
EGREP=$ac_cv_prog_egrep
2041
# AC_PATH_TOOL_PREFIX
2042
# -------------------
2043
# find a file program which can recognise shared library
2044
AC_DEFUN([AC_PATH_TOOL_PREFIX],
2045
[AC_REQUIRE([AC_PROG_EGREP])dnl
2046
AC_MSG_CHECKING([for $1])
2047
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2049
[[\\/*] | ?:[\\/]*])
2050
lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2053
lt_save_MAGIC_CMD="$MAGIC_CMD"
2054
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2055
dnl $ac_dummy forces splitting on constant user-supplied paths.
2056
dnl POSIX.2 word splitting is done only on the output of word expansions,
2057
dnl not every word. This closes a longstanding sh security hole.
2058
ac_dummy="ifelse([$2], , $PATH, [$2])"
2059
for ac_dir in $ac_dummy; do
2061
test -z "$ac_dir" && ac_dir=.
2062
if test -f $ac_dir/$1; then
2063
lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2064
if test -n "$file_magic_test_file"; then
2065
case $deplibs_check_method in
2067
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2068
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2069
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2070
$EGREP "$file_magic_regex" > /dev/null; then
2075
*** Warning: the command libtool uses to detect shared libraries,
2076
*** $file_magic_cmd, produces output that libtool cannot recognize.
2077
*** The result is that libtool may fail to recognize shared libraries
2078
*** as such. This will affect the creation of libtool libraries that
2079
*** depend on shared libraries, but programs linked with such libtool
2080
*** libraries will work regardless of this problem. Nevertheless, you
2081
*** may want to report the problem to your system manager and/or to
2082
*** bug-libtool@gnu.org
2092
MAGIC_CMD="$lt_save_MAGIC_CMD"
2095
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2096
if test -n "$MAGIC_CMD"; then
2097
AC_MSG_RESULT($MAGIC_CMD)
2101
])# AC_PATH_TOOL_PREFIX
2106
# find a file program which can recognise a shared library
2107
AC_DEFUN([AC_PATH_MAGIC],
2108
[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2109
if test -z "$lt_cv_path_MAGIC_CMD"; then
2110
if test -n "$ac_tool_prefix"; then
2111
AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2121
# find the pathname to the GNU or non-GNU linker
2122
AC_DEFUN([AC_PROG_LD],
2123
[AC_ARG_WITH([gnu-ld],
2124
[AC_HELP_STRING([--with-gnu-ld],
2125
[assume the C compiler uses GNU ld @<:@default=no@:>@])],
2126
[test "$withval" = no || with_gnu_ld=yes],
2128
AC_REQUIRE([LT_AC_PROG_SED])dnl
2129
AC_REQUIRE([AC_PROG_CC])dnl
2130
AC_REQUIRE([AC_CANONICAL_HOST])dnl
2131
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
2133
if test "$GCC" = yes; then
2134
# Check if gcc -print-prog-name=ld gives a path.
2135
AC_MSG_CHECKING([for ld used by $CC])
2138
# gcc leaves a trailing carriage return which upsets mingw
2139
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2141
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2144
# Accept absolute paths.
2145
[[\\/]]* | ?:[[\\/]]*)
2146
re_direlt='/[[^/]][[^/]]*/\.\./'
2147
# Canonicalize the pathname of ld
2148
ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
2149
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
2150
ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
2152
test -z "$LD" && LD="$ac_prog"
2155
# If it fails, then pretend we aren't using GCC.
2159
# If it is relative, then search for the first ld in PATH.
2163
elif test "$with_gnu_ld" = yes; then
2164
AC_MSG_CHECKING([for GNU ld])
2166
AC_MSG_CHECKING([for non-GNU ld])
2168
AC_CACHE_VAL(lt_cv_path_LD,
2169
[if test -z "$LD"; then
2170
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2171
for ac_dir in $PATH; do
2173
test -z "$ac_dir" && ac_dir=.
2174
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2175
lt_cv_path_LD="$ac_dir/$ac_prog"
2176
# Check to see if the program is GNU ld. I'd rather use --version,
2177
# but apparently some variants of GNU ld only accept -v.
2178
# Break only if it was the GNU/non-GNU ld that we prefer.
2179
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2180
*GNU* | *'with BFD'*)
2181
test "$with_gnu_ld" != no && break
2184
test "$with_gnu_ld" != yes && break
2191
lt_cv_path_LD="$LD" # Let the user override the test with a path.
2194
if test -n "$LD"; then
2199
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2206
AC_DEFUN([AC_PROG_LD_GNU],
2207
[AC_REQUIRE([AC_PROG_EGREP])dnl
2208
AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2209
[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2210
case `$LD -v 2>&1 </dev/null` in
2211
*GNU* | *'with BFD'*)
2212
lt_cv_prog_gnu_ld=yes
2215
lt_cv_prog_gnu_ld=no
2218
with_gnu_ld=$lt_cv_prog_gnu_ld
2222
# AC_PROG_LD_RELOAD_FLAG
2223
# ----------------------
2224
# find reload flag for linker
2225
# -- PORTME Some linkers may need a different reload flag.
2226
AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
2227
[AC_CACHE_CHECK([for $LD option to reload object files],
2228
lt_cv_ld_reload_flag,
2229
[lt_cv_ld_reload_flag='-r'])
2230
reload_flag=$lt_cv_ld_reload_flag
2231
case $reload_flag in
2233
*) reload_flag=" $reload_flag" ;;
2235
reload_cmds='$LD$reload_flag -o $output$reload_objs'
2238
if test "$GCC" = yes; then
2239
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2241
reload_cmds='$LD$reload_flag -o $output$reload_objs'
2245
])# AC_PROG_LD_RELOAD_FLAG
2248
# AC_DEPLIBS_CHECK_METHOD
2249
# -----------------------
2250
# how to check for library dependencies
2251
# -- PORTME fill in with the dynamic library characteristics
2252
AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
2253
[AC_CACHE_CHECK([how to recognise dependent libraries],
2254
lt_cv_deplibs_check_method,
2255
[lt_cv_file_magic_cmd='$MAGIC_CMD'
2256
lt_cv_file_magic_test_file=
2257
lt_cv_deplibs_check_method='unknown'
2258
# Need to set the preceding variable on all platforms that support
2259
# interlibrary dependencies.
2260
# 'none' -- dependencies not supported.
2261
# `unknown' -- same as none, but documents that we really don't know.
2262
# 'pass_all' -- all dependencies passed with no checks.
2263
# 'test_compile' -- check by making test program.
2264
# 'file_magic [[regex]]' -- check by looking for files in library path
2265
# which responds to the $file_magic_cmd with a given extended regex.
2266
# If you have `file' or equivalent on your system and you're not sure
2267
# whether `pass_all' will *always* work, you probably want this one.
2271
lt_cv_deplibs_check_method=pass_all
2275
lt_cv_deplibs_check_method=pass_all
2279
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
2280
lt_cv_file_magic_cmd='/usr/bin/file -L'
2281
lt_cv_file_magic_test_file=/shlib/libc.so
2285
# func_win32_libid is a shell function defined in ltmain.sh
2286
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
2287
lt_cv_file_magic_cmd='func_win32_libid'
2291
# Base MSYS/MinGW do not provide the 'file' command needed by
2292
# func_win32_libid shell function, so use a weaker test based on 'objdump'.
2293
lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
2294
lt_cv_file_magic_cmd='$OBJDUMP -f'
2297
darwin* | rhapsody*)
2298
lt_cv_deplibs_check_method=pass_all
2301
freebsd* | dragonfly*)
2302
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
2305
# Not sure whether the presence of OpenBSD here was a mistake.
2306
# Let's accept both of them until this is cleared up.
2307
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
2308
lt_cv_file_magic_cmd=/usr/bin/file
2309
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
2313
lt_cv_deplibs_check_method=pass_all
2318
lt_cv_deplibs_check_method=pass_all
2321
hpux10.20* | hpux11*)
2322
lt_cv_file_magic_cmd=/usr/bin/file
2325
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
2326
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
2329
[lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
2330
lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
2333
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
2334
lt_cv_file_magic_test_file=/usr/lib/libc.sl
2340
# PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
2341
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
2344
irix5* | irix6* | nonstopux*)
2346
*-32|*"-32 ") libmagic=32-bit;;
2347
*-n32|*"-n32 ") libmagic=N32;;
2348
*-64|*"-64 ") libmagic=64-bit;;
2349
*) libmagic=never-match;;
2351
lt_cv_deplibs_check_method=pass_all
2354
# This must be Linux ELF.
2355
linux* | k*bsd*-gnu)
2356
lt_cv_deplibs_check_method=pass_all
2359
netbsd* | netbsdelf*-gnu)
2360
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
2361
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
2363
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
2368
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
2369
lt_cv_file_magic_cmd=/usr/bin/file
2370
lt_cv_file_magic_test_file=/usr/lib/libnls.so
2374
lt_cv_deplibs_check_method=unknown
2378
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2379
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
2381
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
2385
osf3* | osf4* | osf5*)
2386
lt_cv_deplibs_check_method=pass_all
2390
lt_cv_deplibs_check_method=pass_all
2394
case $host_vendor in
2396
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
2397
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
2400
lt_cv_deplibs_check_method=pass_all
2403
lt_cv_file_magic_cmd='/bin/file'
2404
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
2407
lt_cv_file_magic_cmd='/bin/file'
2408
lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
2409
lt_cv_file_magic_test_file=/lib/libc.so
2412
lt_cv_deplibs_check_method=pass_all
2415
lt_cv_deplibs_check_method=pass_all
2420
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2421
lt_cv_deplibs_check_method=pass_all
2425
file_magic_cmd=$lt_cv_file_magic_cmd
2426
deplibs_check_method=$lt_cv_deplibs_check_method
2427
test -z "$deplibs_check_method" && deplibs_check_method=unknown
2428
])# AC_DEPLIBS_CHECK_METHOD
2433
# find the pathname to a BSD-compatible name lister
2434
AC_DEFUN([AC_PROG_NM],
2435
[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
2436
[if test -n "$NM"; then
2437
# Let the user override the test.
2440
lt_nm_to_check="${ac_tool_prefix}nm"
2441
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
2442
lt_nm_to_check="$lt_nm_to_check nm"
2444
for lt_tmp_nm in $lt_nm_to_check; do
2445
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2446
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
2448
test -z "$ac_dir" && ac_dir=.
2449
tmp_nm="$ac_dir/$lt_tmp_nm"
2450
if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
2451
# Check to see if the nm accepts a BSD-compat flag.
2452
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
2453
# nm: unknown option "B" ignored
2454
# Tru64's nm complains that /dev/null is an invalid object file
2455
case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
2456
*/dev/null* | *'Invalid file or object type'*)
2457
lt_cv_path_NM="$tmp_nm -B"
2461
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
2463
lt_cv_path_NM="$tmp_nm -p"
2467
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
2468
continue # so that we can try to find one that supports BSD flags
2477
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
2485
# check for math library
2486
AC_DEFUN([AC_CHECK_LIBM],
2487
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2490
*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
2491
# These system don't have libm, or don't need it
2494
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
2495
AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
2498
AC_CHECK_LIB(m, cos, LIBM="-lm")
2504
# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
2505
# -----------------------------------
2506
# sets LIBLTDL to the link flags for the libltdl convenience library and
2507
# LTDLINCL to the include flags for the libltdl header and adds
2508
# --enable-ltdl-convenience to the configure arguments. Note that
2509
# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
2510
# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
2511
# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
2512
# (note the single quotes!). If your package is not flat and you're not
2513
# using automake, define top_builddir and top_srcdir appropriately in
2515
AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
2516
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2517
case $enable_ltdl_convenience in
2518
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
2519
"") enable_ltdl_convenience=yes
2520
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
2522
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
2523
LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2524
# For backwards non-gettext consistent compatibility...
2526
])# AC_LIBLTDL_CONVENIENCE
2529
# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
2530
# -----------------------------------
2531
# sets LIBLTDL to the link flags for the libltdl installable library and
2532
# LTDLINCL to the include flags for the libltdl header and adds
2533
# --enable-ltdl-install to the configure arguments. Note that
2534
# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
2535
# and an installed libltdl is not found, it is assumed to be `libltdl'.
2536
# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
2537
# '${top_srcdir}/' (note the single quotes!). If your package is not
2538
# flat and you're not using automake, define top_builddir and top_srcdir
2539
# appropriately in the Makefiles.
2540
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
2541
AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
2542
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2543
AC_CHECK_LIB(ltdl, lt_dlinit,
2544
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
2545
[if test x"$enable_ltdl_install" = xno; then
2546
AC_MSG_WARN([libltdl not installed, but installation disabled])
2548
enable_ltdl_install=yes
2551
if test x"$enable_ltdl_install" = x"yes"; then
2552
ac_configure_args="$ac_configure_args --enable-ltdl-install"
2553
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
2554
LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2556
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
2560
# For backwards non-gettext consistent compatibility...
2562
])# AC_LIBLTDL_INSTALLABLE
2567
# enable support for C++ libraries
2568
AC_DEFUN([AC_LIBTOOL_CXX],
2569
[AC_REQUIRE([_LT_AC_LANG_CXX])
2575
AC_DEFUN([_LT_AC_LANG_CXX],
2576
[AC_REQUIRE([AC_PROG_CXX])
2577
AC_REQUIRE([_LT_AC_PROG_CXXCPP])
2578
_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
2581
# _LT_AC_PROG_CXXCPP
2582
# ------------------
2583
AC_DEFUN([_LT_AC_PROG_CXXCPP],
2585
AC_REQUIRE([AC_PROG_CXX])
2586
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
2587
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
2588
(test "X$CXX" != "Xg++"))) ; then
2591
])# _LT_AC_PROG_CXXCPP
2595
# enable support for Fortran 77 libraries
2596
AC_DEFUN([AC_LIBTOOL_F77],
2597
[AC_REQUIRE([_LT_AC_LANG_F77])
2603
AC_DEFUN([_LT_AC_LANG_F77],
2604
[AC_REQUIRE([AC_PROG_F77])
2605
_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
2611
# enable support for GCJ libraries
2612
AC_DEFUN([AC_LIBTOOL_GCJ],
2613
[AC_REQUIRE([_LT_AC_LANG_GCJ])
2619
AC_DEFUN([_LT_AC_LANG_GCJ],
2620
[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
2621
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
2622
[AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
2623
[ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
2624
[ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
2625
[AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
2626
_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
2632
# enable support for Windows resource files
2633
AC_DEFUN([AC_LIBTOOL_RC],
2634
[AC_REQUIRE([LT_AC_PROG_RC])
2635
_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
2639
# AC_LIBTOOL_LANG_C_CONFIG
2640
# ------------------------
2641
# Ensure that the configuration vars for the C compiler are
2642
# suitably defined. Those variables are subsequently used by
2643
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2644
AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
2645
AC_DEFUN([_LT_AC_LANG_C_CONFIG],
2649
# Source file extension for C test sources.
2652
# Object file extension for compiled C test sources.
2654
_LT_AC_TAGVAR(objext, $1)=$objext
2656
# Code to be used in simple compile tests
2657
lt_simple_compile_test_code="int some_variable = 0;\n"
2659
# Code to be used in simple link tests
2660
lt_simple_link_test_code='int main(){return(0);}\n'
2664
# save warnings/boilerplate of simple test code
2665
_LT_COMPILER_BOILERPLATE
2666
_LT_LINKER_BOILERPLATE
2668
AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
2669
AC_LIBTOOL_PROG_COMPILER_PIC($1)
2670
AC_LIBTOOL_PROG_CC_C_O($1)
2671
AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
2672
AC_LIBTOOL_PROG_LD_SHLIBS($1)
2673
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
2674
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
2675
AC_LIBTOOL_SYS_LIB_STRIP
2316
2676
AC_LIBTOOL_DLOPEN_SELF
2318
if test "$enable_shared" = yes && test "$GCC" = yes; then
2319
case $archive_cmds in
2321
# FIXME: we may have to deal with multi-command sequences.
2324
# Test whether the compiler implicitly links with -lc since on some
2325
# systems, -lgcc has to come before -lc. If gcc already passes -lc
2326
# to ld, don't add -lc before -lgcc.
2327
AC_MSG_CHECKING([whether -lc should be explicitly linked in])
2328
AC_CACHE_VAL([lt_cv_archive_cmds_need_lc],
2330
echo 'static int dummy;' > conftest.$ac_ext
2332
if AC_TRY_EVAL(ac_compile); then
2335
libobjs=conftest.$ac_objext
2337
wl=$lt_cv_prog_cc_wl
2343
save_allow_undefined_flag=$allow_undefined_flag
2344
allow_undefined_flag=
2345
if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
2347
lt_cv_archive_cmds_need_lc=no
2349
lt_cv_archive_cmds_need_lc=yes
2351
allow_undefined_flag=$save_allow_undefined_flag
2353
cat conftest.err 1>&5
2355
AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc])
2678
# Report which library types will actually be built
2679
AC_MSG_CHECKING([if libtool supports shared libraries])
2680
AC_MSG_RESULT([$can_build_shared])
2682
AC_MSG_CHECKING([whether to build shared libraries])
2683
test "$can_build_shared" = "no" && enable_shared=no
2685
# On AIX, shared libraries and static libraries use the same namespace, and
2686
# are all built from PIC.
2689
test "$enable_shared" = yes && enable_static=no
2690
if test -n "$RANLIB"; then
2691
archive_cmds="$archive_cmds~\$RANLIB \$lib"
2692
postinstall_cmds='$RANLIB $lib'
2697
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2698
test "$enable_shared" = yes && enable_static=no
2702
AC_MSG_RESULT([$enable_shared])
2704
AC_MSG_CHECKING([whether to build static libraries])
2705
# Make sure either enable_shared or enable_static is yes.
2706
test "$enable_shared" = yes || enable_static=yes
2707
AC_MSG_RESULT([$enable_static])
2709
AC_LIBTOOL_CONFIG($1)
2713
])# AC_LIBTOOL_LANG_C_CONFIG
2716
# AC_LIBTOOL_LANG_CXX_CONFIG
2717
# --------------------------
2718
# Ensure that the configuration vars for the C compiler are
2719
# suitably defined. Those variables are subsequently used by
2720
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2721
AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
2722
AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
2724
AC_REQUIRE([AC_PROG_CXX])
2725
AC_REQUIRE([_LT_AC_PROG_CXXCPP])
2727
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2728
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
2729
_LT_AC_TAGVAR(always_export_symbols, $1)=no
2730
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
2731
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
2732
_LT_AC_TAGVAR(hardcode_direct, $1)=no
2733
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
2734
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
2735
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2736
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
2737
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
2738
_LT_AC_TAGVAR(hardcode_automatic, $1)=no
2739
_LT_AC_TAGVAR(module_cmds, $1)=
2740
_LT_AC_TAGVAR(module_expsym_cmds, $1)=
2741
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
2742
_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
2743
_LT_AC_TAGVAR(no_undefined_flag, $1)=
2744
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2745
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
2747
# Dependencies to place before and after the object being linked:
2748
_LT_AC_TAGVAR(predep_objects, $1)=
2749
_LT_AC_TAGVAR(postdep_objects, $1)=
2750
_LT_AC_TAGVAR(predeps, $1)=
2751
_LT_AC_TAGVAR(postdeps, $1)=
2752
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
2754
# Source file extension for C++ test sources.
2757
# Object file extension for compiled C++ test sources.
2759
_LT_AC_TAGVAR(objext, $1)=$objext
2761
# Code to be used in simple compile tests
2762
lt_simple_compile_test_code="int some_variable = 0;\n"
2764
# Code to be used in simple link tests
2765
lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
2767
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
2770
# save warnings/boilerplate of simple test code
2771
_LT_COMPILER_BOILERPLATE
2772
_LT_LINKER_BOILERPLATE
2774
# Allow CC to be a program name with arguments.
2779
lt_save_with_gnu_ld=$with_gnu_ld
2780
lt_save_path_LD=$lt_cv_path_LD
2781
if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
2782
lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
2784
$as_unset lt_cv_prog_gnu_ld
2786
if test -n "${lt_cv_path_LDCXX+set}"; then
2787
lt_cv_path_LD=$lt_cv_path_LDCXX
2789
$as_unset lt_cv_path_LD
2791
test -z "${LDCXX+set}" || LD=$LDCXX
2794
_LT_AC_TAGVAR(compiler, $1)=$CC
2795
_LT_CC_BASENAME([$compiler])
2797
# We don't want -fno-exception wen compiling C++ code, so set the
2798
# no_builtin_flag separately
2799
if test "$GXX" = yes; then
2800
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
2802
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
2805
if test "$GXX" = yes; then
2806
# Set up default GNU C++ configuration
2810
# Check if GNU C++ uses GNU ld as the underlying linker, since the
2811
# archiving commands below assume that GNU ld is being used.
2812
if test "$with_gnu_ld" = yes; then
2813
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
2814
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
2816
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
2817
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
2819
# If archive_cmds runs LD, not CC, wlarc should be empty
2820
# XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
2821
# investigate it a little bit more. (MM)
2824
# ancient GNU ld didn't support --whole-archive et. al.
2825
if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
2826
grep 'no-whole-archive' > /dev/null; then
2827
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
2829
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2835
# A generic and very simple default shared library creation
2836
# command for GNU C++ for the case where it uses the native
2837
# linker, instead of GNU ld. If possible, this setting should
2838
# overridden to take advantage of the native linker features on
2839
# the platform it is being used on.
2840
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
2843
# Commands to make compiler produce verbose output that lists
2844
# what "hidden" libraries, object files and flags are used when
2845
# linking a shared library.
2846
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
2854
# PORTME: fill in a description of your system's C++ link characteristics
2855
AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
2856
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
2859
# FIXME: insert proper C++ library support
2860
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2863
if test "$host_cpu" = ia64; then
2864
# On IA64, the linker does run time linking by default, so we don't
2865
# have to do anything special.
2866
aix_use_runtimelinking=no
2867
exp_sym_flag='-Bexport'
2870
aix_use_runtimelinking=no
2872
# Test if we are trying to use run time linking or normal
2873
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
2874
# need to do runtime linking.
2875
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
2876
for ld_flag in $LDFLAGS; do
2879
aix_use_runtimelinking=yes
2887
exp_sym_flag='-bexport'
2888
no_entry_flag='-bnoentry'
2891
# When large executables or shared objects are built, AIX ld can
2892
# have problems creating the table of contents. If linking a library
2893
# or program results in "error TOC overflow" add -mminimal-toc to
2894
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
2895
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
2897
_LT_AC_TAGVAR(archive_cmds, $1)=''
2898
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
2899
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
2900
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2902
if test "$GXX" = yes; then
2903
case $host_os in aix4.[[012]]|aix4.[[012]].*)
2904
# We only want to do this on AIX 4.2 and lower, the check
2905
# below for broken collect2 doesn't work under 4.3+
2906
collect2name=`${CC} -print-prog-name=collect2`
2907
if test -f "$collect2name" && \
2908
strings "$collect2name" | grep resolve_lib_name >/dev/null
2910
# We have reworked collect2
2911
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
2913
# We have old collect2
2914
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
2915
# It fails to find uninstalled libraries when the uninstalled
2916
# path is not listed in the libpath. Setting hardcode_minus_L
2917
# to unsupported forces relinking
2918
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
2919
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2920
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2924
shared_flag='-shared'
2925
if test "$aix_use_runtimelinking" = yes; then
2926
shared_flag="$shared_flag "'${wl}-G'
2930
if test "$host_cpu" = ia64; then
2931
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
2932
# chokes on -Wl,-G. The following line is correct:
2935
if test "$aix_use_runtimelinking" = yes; then
2936
shared_flag='${wl}-G'
2938
shared_flag='${wl}-bM:SRE'
2943
# It seems that -bexpall does not export symbols beginning with
2944
# underscore (_), so it is better to generate a list of symbols to export.
2945
_LT_AC_TAGVAR(always_export_symbols, $1)=yes
2946
if test "$aix_use_runtimelinking" = yes; then
2947
# Warning - without using the other runtime loading flags (-brtl),
2948
# -berok will link without error, but may produce a broken library.
2949
_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
2950
# Determine the default libpath from the value encoded in an empty executable.
2951
_LT_AC_SYS_LIBPATH_AIX
2952
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
2954
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
2956
if test "$host_cpu" = ia64; then
2957
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
2958
_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
2959
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
2961
# Determine the default libpath from the value encoded in an empty executable.
2962
_LT_AC_SYS_LIBPATH_AIX
2963
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
2964
# Warning - without using the other run time loading flags,
2965
# -berok will link without error, but may produce a broken library.
2966
_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
2967
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
2968
# Exported symbols can be pulled into shared objects from archives
2969
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
2970
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
2971
# This is similar to how AIX traditionally builds its shared libraries.
2972
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
2978
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
2979
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
2980
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
2981
# support --undefined. This deserves some investigation. FIXME
2982
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
2984
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2989
case $cc_basename in
2991
# FIXME: insert proper C++ library support
2992
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2997
cygwin* | mingw* | pw32*)
2998
# _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
2999
# as there is no search path for DLLs.
3000
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
3001
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
3002
_LT_AC_TAGVAR(always_export_symbols, $1)=no
3003
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
3005
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
3006
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
3007
# If the export-symbols file already is a .def file (1st line
3008
# is EXPORTS), use it as is; otherwise, prepend...
3009
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
3010
cp $export_symbols $output_objdir/$soname.def;
3012
echo EXPORTS > $output_objdir/$soname.def;
3013
cat $export_symbols >> $output_objdir/$soname.def;
3015
$CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
3017
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3020
darwin* | rhapsody*)
3022
rhapsody* | darwin1.[[012]])
3023
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
3026
if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
3027
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3029
case ${MACOSX_DEPLOYMENT_TARGET} in
3031
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
3034
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
3040
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3041
_LT_AC_TAGVAR(hardcode_direct, $1)=no
3042
_LT_AC_TAGVAR(hardcode_automatic, $1)=yes
3043
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3044
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
3045
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3047
if test "$GXX" = yes ; then
3048
lt_int_apple_cc_single_mod=no
3049
output_verbose_link_cmd='echo'
3050
if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
3051
lt_int_apple_cc_single_mod=yes
3053
if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
3054
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
3056
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
3058
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
3059
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
3060
if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
3061
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3063
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3065
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3067
case $cc_basename in
3069
output_verbose_link_cmd='echo'
3070
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
3071
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
3072
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
3073
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3074
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
3077
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3084
case $cc_basename in
3086
# FIXME: insert proper C++ library support
3087
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3090
# Green Hills C++ Compiler
3091
# FIXME: insert proper C++ library support
3092
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3095
# FIXME: insert proper C++ library support
3096
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3101
# C++ shared libraries reported to be fairly broken before switch to ELF
3102
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3105
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3107
freebsd* | dragonfly*)
3108
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
3110
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
3115
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
3116
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3117
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3118
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
3119
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
3120
# but as the default
3121
# location of the library.
3123
case $cc_basename in
3125
# FIXME: insert proper C++ library support
3126
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3129
_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
3130
# Commands to make compiler produce verbose output that lists
3131
# what "hidden" libraries, object files and flags are used when
3132
# linking a shared library.
3134
# There doesn't appear to be a way to prevent this compiler from
3135
# explicitly linking system object files so we need to strip them
3136
# from the output so that they don't get included in the library
3138
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3141
if test "$GXX" = yes; then
3142
_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
3144
# FIXME: insert proper C++ library support
3145
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3151
if test $with_gnu_ld = no; then
3152
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
3153
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3157
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
3160
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3166
_LT_AC_TAGVAR(hardcode_direct, $1)=no
3167
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3170
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
3171
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
3172
# but as the default
3173
# location of the library.
3177
case $cc_basename in
3179
# FIXME: insert proper C++ library support
3180
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3185
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3188
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3191
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3194
# Commands to make compiler produce verbose output that lists
3195
# what "hidden" libraries, object files and flags are used when
3196
# linking a shared library.
3198
# There doesn't appear to be a way to prevent this compiler from
3199
# explicitly linking system object files so we need to strip them
3200
# from the output so that they don't get included in the library
3202
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3205
if test "$GXX" = yes; then
3206
if test $with_gnu_ld = no; then
3209
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3212
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3215
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3220
# FIXME: insert proper C++ library support
3221
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3227
_LT_AC_TAGVAR(hardcode_direct, $1)=no
3228
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3229
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3230
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3231
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
3232
# Instead, shared libraries are loaded at an image base (0x10000000 by
3233
# default) and relocated if they conflict, which is a slow very memory
3234
# consuming and fragmenting process. To avoid this, we pick a random,
3235
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
3236
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
3237
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
3238
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
3241
case $cc_basename in
3244
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
3246
# Archives containing C++ object files must be created using
3247
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
3248
# necessary to make sure instantiated templates are included
3250
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
3253
if test "$GXX" = yes; then
3254
if test "$with_gnu_ld" = no; then
3255
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
3257
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
3260
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3263
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3264
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3266
linux* | k*bsd*-gnu)
3267
case $cc_basename in
3269
# Kuck and Associates, Inc. (KAI) C++ Compiler
3271
# KCC will only create a shared library if the output file
3272
# ends with ".so" (or ".sl" for HP-UX), so rename the library
3273
# to its proper name (with version) after linking.
3274
_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
3275
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
3276
# Commands to make compiler produce verbose output that lists
3277
# what "hidden" libraries, object files and flags are used when
3278
# linking a shared library.
3280
# There doesn't appear to be a way to prevent this compiler from
3281
# explicitly linking system object files so we need to strip them
3282
# from the output so that they don't get included in the library
3284
output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3286
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
3287
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3289
# Archives containing C++ object files must be created using
3290
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
3291
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
3296
# version 8.0 and above of icpc choke on multiply defined symbols
3297
# if we add $predep_objects and $postdep_objects, however 7.1 and
3298
# earlier do not add the objects themselves.
3299
case `$CC -V 2>&1` in
3301
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3302
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
3304
*) # Version 8.0 or newer
3307
ia64*) tmp_idyn=' -i_dynamic';;
3309
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
3310
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
3313
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3314
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3315
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3316
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
3319
# Portland Group C++ compiler
3320
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
3321
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
3323
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
3324
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3325
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
3329
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3330
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
3332
runpath_var=LD_RUN_PATH
3333
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
3334
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3336
# Commands to make compiler produce verbose output that lists
3337
# what "hidden" libraries, object files and flags are used when
3338
# linking a shared library.
3340
# There doesn't appear to be a way to prevent this compiler from
3341
# explicitly linking system object files so we need to strip them
3342
# from the output so that they don't get included in the library
3344
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3349
# FIXME: insert proper C++ library support
3350
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3353
# FIXME: insert proper C++ library support
3354
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3357
case $cc_basename in
3359
# FIXME: insert proper C++ library support
3360
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3363
# FIXME: insert proper C++ library support
3364
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3368
netbsd* | netbsdelf*-gnu)
3369
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
3370
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
3372
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
3373
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
3374
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3376
# Workaround some broken pre-1.5 toolchains
3377
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
3380
# C++ shared libraries are fairly broken
3381
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3384
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
3385
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3386
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
3387
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3388
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3389
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
3390
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
3391
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
3393
output_verbose_link_cmd='echo'
3396
case $cc_basename in
3398
# Kuck and Associates, Inc. (KAI) C++ Compiler
3400
# KCC will only create a shared library if the output file
3401
# ends with ".so" (or ".sl" for HP-UX), so rename the library
3402
# to its proper name (with version) after linking.
3403
_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
3405
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3406
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3408
# Archives containing C++ object files must be created using
3409
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
3410
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
3414
# Rational C++ 2.4.1
3415
# FIXME: insert proper C++ library support
3416
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3419
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3420
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
3422
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3423
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3425
# Commands to make compiler produce verbose output that lists
3426
# what "hidden" libraries, object files and flags are used when
3427
# linking a shared library.
3429
# There doesn't appear to be a way to prevent this compiler from
3430
# explicitly linking system object files so we need to strip them
3431
# from the output so that they don't get included in the library
3433
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3436
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3437
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3438
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
3440
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3441
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3443
# Commands to make compiler produce verbose output that lists
3444
# what "hidden" libraries, object files and flags are used when
3445
# linking a shared library.
3446
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3449
# FIXME: insert proper C++ library support
3450
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3456
case $cc_basename in
3458
# Kuck and Associates, Inc. (KAI) C++ Compiler
3460
# KCC will only create a shared library if the output file
3461
# ends with ".so" (or ".sl" for HP-UX), so rename the library
3462
# to its proper name (with version) after linking.
3463
_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
3465
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
3466
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3468
# Archives containing C++ object files must be created using
3469
# the KAI C++ compiler.
3470
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
3473
# Rational C++ 2.4.1
3474
# FIXME: insert proper C++ library support
3475
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3478
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
3479
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
3480
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
3481
echo "-hidden">> $lib.exp~
3482
$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
3485
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
3486
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3488
# Commands to make compiler produce verbose output that lists
3489
# what "hidden" libraries, object files and flags are used when
3490
# linking a shared library.
3492
# There doesn't appear to be a way to prevent this compiler from
3493
# explicitly linking system object files so we need to strip them
3494
# from the output so that they don't get included in the library
3496
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
3499
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3500
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
3501
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
3503
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
3504
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
3506
# Commands to make compiler produce verbose output that lists
3507
# what "hidden" libraries, object files and flags are used when
3508
# linking a shared library.
3509
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3512
# FIXME: insert proper C++ library support
3513
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3519
# FIXME: insert proper C++ library support
3520
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3523
case $cc_basename in
3526
# FIXME: insert proper C++ library support
3527
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3531
# FIXME: insert proper C++ library support
3532
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3535
# FIXME: insert proper C++ library support
3536
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3541
case $cc_basename in
3543
# Sun C++ 4.2, 5.x and Centerline C++
3544
_LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
3545
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
3546
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
3547
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3548
$CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
3550
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
3551
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3553
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
3555
# The C++ compiler is used as linker so we must use $wl
3556
# flag to pass the commands to the underlying system
3557
# linker. We must also pass each convience library through
3558
# to the system linker between allextract/defaultextract.
3559
# The C++ compiler will combine linker options so we
3560
# cannot just pass the convience library names through
3562
# Supported since Solaris 2.6 (maybe 2.5.1?)
3563
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
3566
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3568
output_verbose_link_cmd='echo'
3570
# Archives containing C++ object files must be created using
3571
# "CC -xar", where "CC" is the Sun C++ compiler. This is
3572
# necessary to make sure instantiated templates are included
3574
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
3577
# Green Hills C++ Compiler
3578
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3580
# The C++ compiler must be used to create the archive.
3581
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
3584
# GNU C++ compiler with Solaris linker
3585
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
3586
_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
3587
if $CC --version | grep -v '^2\.7' > /dev/null; then
3588
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3589
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3590
$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
3592
# Commands to make compiler produce verbose output that lists
3593
# what "hidden" libraries, object files and flags are used when
3594
# linking a shared library.
3595
output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
3597
# g++ 2.7 appears to require `-G' NOT `-shared' on this
3599
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
3600
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
3601
$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
3603
# Commands to make compiler produce verbose output that lists
3604
# what "hidden" libraries, object files and flags are used when
3605
# linking a shared library.
3606
output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
3609
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
3614
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
3615
_LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
3616
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3617
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3618
runpath_var='LD_RUN_PATH'
3620
case $cc_basename in
3622
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3623
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3626
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3627
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
3631
sysv5* | sco3.2v5* | sco5v6*)
3632
# Note: We can NOT use -z defs as we might desire, because we do not
3633
# link with -lc, and that would cause any symbols used from libc to
3634
# always be unresolved, which means just about no library would
3635
# ever link correctly. If we're not using GNU ld we use -z text
3636
# though, which does catch some bad symbols but isn't as heavy-handed
3638
# For security reasons, it is highly recommended that you always
3639
# use absolute paths for naming shared libraries, and exclude the
3640
# DT_RUNPATH tag from executables and libraries. But doing so
3641
# requires that you compile everything twice, which is a pain.
3642
# So that behaviour is only enabled if SCOABSPATH is set to a
3643
# non-empty value in the environment. Most likely only useful for
3644
# creating official distributions of packages.
3645
# This is a hack until libtool officially supports absolute path
3646
# names for shared libraries.
3647
_LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
3648
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
3649
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3650
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
3651
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
3652
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
3653
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3654
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
3655
runpath_var='LD_RUN_PATH'
3657
case $cc_basename in
3659
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3660
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3663
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3664
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
3669
case $cc_basename in
3671
# NonStop-UX NCC 3.20
3672
# FIXME: insert proper C++ library support
3673
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3676
# FIXME: insert proper C++ library support
3677
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3682
# FIXME: insert proper C++ library support
3683
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3686
# FIXME: insert proper C++ library support
3687
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3690
AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
3691
test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
3693
_LT_AC_TAGVAR(GCC, $1)="$GXX"
3694
_LT_AC_TAGVAR(LD, $1)="$LD"
3696
AC_LIBTOOL_POSTDEP_PREDEP($1)
3697
AC_LIBTOOL_PROG_COMPILER_PIC($1)
3698
AC_LIBTOOL_PROG_CC_C_O($1)
3699
AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3700
AC_LIBTOOL_PROG_LD_SHLIBS($1)
3701
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3702
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3704
AC_LIBTOOL_CONFIG($1)
3711
with_gnu_ldcxx=$with_gnu_ld
3712
with_gnu_ld=$lt_save_with_gnu_ld
3713
lt_cv_path_LDCXX=$lt_cv_path_LD
3714
lt_cv_path_LD=$lt_save_path_LD
3715
lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
3716
lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
3717
])# AC_LIBTOOL_LANG_CXX_CONFIG
3719
# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
3720
# ------------------------------------
3721
# Figure out "hidden" library dependencies from verbose
3722
# compiler output when linking a shared library.
3723
# Parse the compiler output and extract the necessary
3724
# objects, libraries and library flags.
3725
AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
3726
dnl we can't use the lt_simple_compile_test_code here,
3727
dnl because it contains code intended for an executable,
3728
dnl not a library. It's possible we should let each
3729
dnl tag define a new lt_????_link_test_code variable,
3730
dnl but it's only used here...
3731
ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
3733
void foo (void) { a = 0; }
3735
],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
3739
Foo (void) { a = 0; }
3744
],[$1],[F77],[cat > conftest.$ac_ext <<EOF
3752
],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
3755
public void bar (void) {
3761
dnl Parse the compiler output and extract the necessary
3762
dnl objects, libraries and library flags.
3763
if AC_TRY_EVAL(ac_compile); then
3764
# Parse the compiler output and extract the necessary
3765
# objects, libraries and library flags.
3767
# Sentinel used to keep track of whether or not we are before
3768
# the conftest object file.
3769
pre_test_object_deps_done=no
3771
# The `*' in the case matches for architectures that use `case' in
3772
# $output_verbose_cmd can trigger glob expansion during the loop
3773
# eval without this substitution.
3774
output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
3776
for p in `eval $output_verbose_link_cmd`; do
3780
# Some compilers place space between "-{L,R}" and the path.
3783
|| test $p = "-R"; then
3790
if test "$pre_test_object_deps_done" = no; then
3793
# Internal compiler library paths should come after those
3794
# provided the user. The postdeps already come after the
3795
# user supplied libs so there is no need to process them.
3796
if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
3797
_LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
3799
_LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
3802
# The "-l" case would never come before the object being
3803
# linked, so don't bother handling this case.
3806
if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
3807
_LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
3809
_LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
3815
# This assumes that the test object file only shows up
3816
# once in the compiler output.
3817
if test "$p" = "conftest.$objext"; then
3818
pre_test_object_deps_done=yes
3822
if test "$pre_test_object_deps_done" = no; then
3823
if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
3824
_LT_AC_TAGVAR(predep_objects, $1)="$p"
3826
_LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
3829
if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
3830
_LT_AC_TAGVAR(postdep_objects, $1)="$p"
3832
_LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
3837
*) ;; # Ignore the rest.
3845
echo "libtool.m4: error: problem compiling $1 test program"
3848
$rm -f confest.$objext
3850
# PORTME: override above test on systems where it is broken
3854
# Interix 3.5 installs completely hosed .la files for C++, so rather than
3855
# hack all around it, let's just trust "g++" to DTRT.
3856
_LT_AC_TAGVAR(predep_objects,$1)=
3857
_LT_AC_TAGVAR(postdep_objects,$1)=
3858
_LT_AC_TAGVAR(postdeps,$1)=
3862
case $cc_basename in
3864
# Adding this requires a known-good setup of shared libraries for
3865
# Sun compiler versions before 5.6, else PIC objects from an old
3866
# archive will be linked into the output, leading to subtle bugs.
3867
_LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
2359
need_lc=${lt_cv_archive_cmds_need_lc-yes}
2361
# The second clause should only fire when bootstrapping the
3874
case " $_LT_AC_TAGVAR(postdeps, $1) " in
3875
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
3877
])# AC_LIBTOOL_POSTDEP_PREDEP
3879
# AC_LIBTOOL_LANG_F77_CONFIG
3880
# --------------------------
3881
# Ensure that the configuration vars for the C compiler are
3882
# suitably defined. Those variables are subsequently used by
3883
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3884
AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
3885
AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
3886
[AC_REQUIRE([AC_PROG_F77])
3887
AC_LANG_PUSH(Fortran 77)
3889
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3890
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
3891
_LT_AC_TAGVAR(always_export_symbols, $1)=no
3892
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
3893
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
3894
_LT_AC_TAGVAR(hardcode_direct, $1)=no
3895
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
3896
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
3897
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
3898
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
3899
_LT_AC_TAGVAR(hardcode_automatic, $1)=no
3900
_LT_AC_TAGVAR(module_cmds, $1)=
3901
_LT_AC_TAGVAR(module_expsym_cmds, $1)=
3902
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
3903
_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
3904
_LT_AC_TAGVAR(no_undefined_flag, $1)=
3905
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
3906
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
3908
# Source file extension for f77 test sources.
3911
# Object file extension for compiled f77 test sources.
3913
_LT_AC_TAGVAR(objext, $1)=$objext
3915
# Code to be used in simple compile tests
3916
lt_simple_compile_test_code=" subroutine t\n return\n end\n"
3918
# Code to be used in simple link tests
3919
lt_simple_link_test_code=" program t\n end\n"
3921
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
3924
# save warnings/boilerplate of simple test code
3925
_LT_COMPILER_BOILERPLATE
3926
_LT_LINKER_BOILERPLATE
3928
# Allow CC to be a program name with arguments.
3932
_LT_AC_TAGVAR(compiler, $1)=$CC
3933
_LT_CC_BASENAME([$compiler])
3935
AC_MSG_CHECKING([if libtool supports shared libraries])
3936
AC_MSG_RESULT([$can_build_shared])
3938
AC_MSG_CHECKING([whether to build shared libraries])
3939
test "$can_build_shared" = "no" && enable_shared=no
3941
# On AIX, shared libraries and static libraries use the same namespace, and
3942
# are all built from PIC.
3945
test "$enable_shared" = yes && enable_static=no
3946
if test -n "$RANLIB"; then
3947
archive_cmds="$archive_cmds~\$RANLIB \$lib"
3948
postinstall_cmds='$RANLIB $lib'
3952
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
3953
test "$enable_shared" = yes && enable_static=no
3957
AC_MSG_RESULT([$enable_shared])
3959
AC_MSG_CHECKING([whether to build static libraries])
3960
# Make sure either enable_shared or enable_static is yes.
3961
test "$enable_shared" = yes || enable_static=yes
3962
AC_MSG_RESULT([$enable_static])
3964
_LT_AC_TAGVAR(GCC, $1)="$G77"
3965
_LT_AC_TAGVAR(LD, $1)="$LD"
3967
AC_LIBTOOL_PROG_COMPILER_PIC($1)
3968
AC_LIBTOOL_PROG_CC_C_O($1)
3969
AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3970
AC_LIBTOOL_PROG_LD_SHLIBS($1)
3971
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3972
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3974
AC_LIBTOOL_CONFIG($1)
3978
])# AC_LIBTOOL_LANG_F77_CONFIG
3981
# AC_LIBTOOL_LANG_GCJ_CONFIG
3982
# --------------------------
3983
# Ensure that the configuration vars for the C compiler are
3984
# suitably defined. Those variables are subsequently used by
3985
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3986
AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
3987
AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
3990
# Source file extension for Java test sources.
3993
# Object file extension for compiled Java test sources.
3995
_LT_AC_TAGVAR(objext, $1)=$objext
3997
# Code to be used in simple compile tests
3998
lt_simple_compile_test_code="class foo {}\n"
4000
# Code to be used in simple link tests
4001
lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
4003
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
4006
# save warnings/boilerplate of simple test code
4007
_LT_COMPILER_BOILERPLATE
4008
_LT_LINKER_BOILERPLATE
4010
# Allow CC to be a program name with arguments.
4014
_LT_AC_TAGVAR(compiler, $1)=$CC
4015
_LT_CC_BASENAME([$compiler])
4017
# GCJ did not exist at the time GCC didn't implicitly link libc in.
4018
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4020
_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
4022
AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
4023
AC_LIBTOOL_PROG_COMPILER_PIC($1)
4024
AC_LIBTOOL_PROG_CC_C_O($1)
4025
AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
4026
AC_LIBTOOL_PROG_LD_SHLIBS($1)
4027
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
4028
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
4030
AC_LIBTOOL_CONFIG($1)
4034
])# AC_LIBTOOL_LANG_GCJ_CONFIG
4037
# AC_LIBTOOL_LANG_RC_CONFIG
4038
# -------------------------
4039
# Ensure that the configuration vars for the Windows resource compiler are
4040
# suitably defined. Those variables are subsequently used by
4041
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
4042
AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
4043
AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
4046
# Source file extension for RC test sources.
4049
# Object file extension for compiled RC test sources.
4051
_LT_AC_TAGVAR(objext, $1)=$objext
4053
# Code to be used in simple compile tests
4054
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
4056
# Code to be used in simple link tests
4057
lt_simple_link_test_code="$lt_simple_compile_test_code"
4059
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
4062
# save warnings/boilerplate of simple test code
4063
_LT_COMPILER_BOILERPLATE
4064
_LT_LINKER_BOILERPLATE
4066
# Allow CC to be a program name with arguments.
4070
_LT_AC_TAGVAR(compiler, $1)=$CC
4071
_LT_CC_BASENAME([$compiler])
4072
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
4074
AC_LIBTOOL_CONFIG($1)
4078
])# AC_LIBTOOL_LANG_RC_CONFIG
4081
# AC_LIBTOOL_CONFIG([TAGNAME])
4082
# ----------------------------
4083
# If TAGNAME is not passed, then create an initial libtool script
4084
# with a default configuration from the untagged config vars. Otherwise
4085
# add code to config.status for appending the configuration named by
4086
# TAGNAME from the matching tagged config vars.
4087
AC_DEFUN([AC_LIBTOOL_CONFIG],
4088
[# The else clause should only fire when bootstrapping the
2362
4089
# libtool distribution, otherwise you forgot to ship ltmain.sh
2363
4090
# with your package, and you will get complaints that there are
2364
4091
# no rules to generate ltmain.sh.
2365
4092
if test -f "$ltmain"; then
2368
# If there is no Makefile yet, we rely on a make rule to execute
2369
# `config.status --recheck' to rerun these tests and create the
2370
# libtool script then.
2371
test -f Makefile && make "$ltmain"
2374
if test -f "$ltmain"; then
2375
trap "$rm \"${ofile}T\"; exit 1" 1 2 15
2378
echo creating $ofile
4093
# See if we are running on zsh, and set the options which allow our commands through
4094
# without removal of \ escapes.
4095
if test -n "${ZSH_VERSION+set}" ; then
4096
setopt NO_GLOB_SUBST
2380
4098
# Now quote all the things that may contain metacharacters while being
2381
4099
# careful not to overquote the AC_SUBSTed values. We take copies of the
2382
4100
# variables and quote the copies for generation of the libtool script.
2383
for var in echo old_CC old_CFLAGS \
2384
AR AR_FLAGS CC LD LN_S NM SHELL \
2385
reload_flag reload_cmds wl \
2386
pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
2387
thread_safe_flag_spec whole_archive_flag_spec libname_spec \
2388
library_names_spec soname_spec \
2389
RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
2390
old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
2391
postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
2392
old_striplib striplib file_magic_cmd export_symbols_cmds \
2393
deplibs_check_method allow_undefined_flag no_undefined_flag \
2394
finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
2395
global_symbol_to_c_name_address \
2396
hardcode_libdir_flag_spec hardcode_libdir_separator \
4101
for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
4103
libname_spec library_names_spec soname_spec extract_expsyms_cmds \
4104
old_striplib striplib file_magic_cmd finish_cmds finish_eval \
4105
deplibs_check_method reload_flag reload_cmds need_locks \
4106
lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
4107
lt_cv_sys_global_symbol_to_c_name_address \
2397
4108
sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
2398
compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
4109
old_postinstall_cmds old_postuninstall_cmds \
4110
_LT_AC_TAGVAR(compiler, $1) \
4111
_LT_AC_TAGVAR(CC, $1) \
4112
_LT_AC_TAGVAR(LD, $1) \
4113
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
4114
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
4115
_LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
4116
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
4117
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
4118
_LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
4119
_LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
4120
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
4121
_LT_AC_TAGVAR(old_archive_cmds, $1) \
4122
_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
4123
_LT_AC_TAGVAR(predep_objects, $1) \
4124
_LT_AC_TAGVAR(postdep_objects, $1) \
4125
_LT_AC_TAGVAR(predeps, $1) \
4126
_LT_AC_TAGVAR(postdeps, $1) \
4127
_LT_AC_TAGVAR(compiler_lib_search_path, $1) \
4128
_LT_AC_TAGVAR(archive_cmds, $1) \
4129
_LT_AC_TAGVAR(archive_expsym_cmds, $1) \
4130
_LT_AC_TAGVAR(postinstall_cmds, $1) \
4131
_LT_AC_TAGVAR(postuninstall_cmds, $1) \
4132
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
4133
_LT_AC_TAGVAR(allow_undefined_flag, $1) \
4134
_LT_AC_TAGVAR(no_undefined_flag, $1) \
4135
_LT_AC_TAGVAR(export_symbols_cmds, $1) \
4136
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
4137
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
4138
_LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
4139
_LT_AC_TAGVAR(hardcode_automatic, $1) \
4140
_LT_AC_TAGVAR(module_cmds, $1) \
4141
_LT_AC_TAGVAR(module_expsym_cmds, $1) \
4142
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
4143
_LT_AC_TAGVAR(exclude_expsyms, $1) \
4144
_LT_AC_TAGVAR(include_expsyms, $1); do
2401
reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
4147
_LT_AC_TAGVAR(old_archive_cmds, $1) | \
4148
_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
4149
_LT_AC_TAGVAR(archive_cmds, $1) | \
4150
_LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
4151
_LT_AC_TAGVAR(module_cmds, $1) | \
4152
_LT_AC_TAGVAR(module_expsym_cmds, $1) | \
4153
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
4154
_LT_AC_TAGVAR(export_symbols_cmds, $1) | \
4155
extract_expsyms_cmds | reload_cmds | finish_cmds | \
4156
postinstall_cmds | postuninstall_cmds | \
2402
4157
old_postinstall_cmds | old_postuninstall_cmds | \
2403
export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
2404
extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
2405
postinstall_cmds | postuninstall_cmds | \
2406
finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
4158
sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
2407
4159
# Double-quote double-evaled strings.
2408
4160
eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
2721
cygwin* | mingw* | pw32* | os2*)
2722
cat <<'EOF' >> "${ofile}T"
2723
# This is a source program that is used to create dlls on Windows
2724
# Don't remove nor modify the starting and closing comments
4553
# We use sed instead of cat because bash on DJGPP gets confused if
4554
# if finds mixed CR/LF and LF-only lines. Since sed operates in
4555
# text mode, it properly converts lines to CR/LF. This bash problem
4556
# is reportedly fixed, but why not run on old versions too?
4557
sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
4559
mv -f "$cfgfile" "$ofile" || \
4560
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
4564
# If there is no Makefile yet, we rely on a make rule to execute
4565
# `config.status --recheck' to rerun these tests and create the
4566
# libtool script then.
4567
ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
4568
if test -f "$ltmain_in"; then
4569
test -f Makefile && make "$ltmain"
4572
])# AC_LIBTOOL_CONFIG
4575
# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
4576
# -------------------------------------------
4577
AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
4578
[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
4580
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
4582
if test "$GCC" = yes; then
4583
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
4585
AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
4586
lt_cv_prog_compiler_rtti_exceptions,
4587
[-fno-rtti -fno-exceptions], [],
4588
[_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
4590
])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
4593
# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
4594
# ---------------------------------
4595
AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
4596
[AC_REQUIRE([AC_CANONICAL_HOST])
4597
AC_REQUIRE([AC_PROG_NM])
4598
AC_REQUIRE([AC_OBJEXT])
4599
# Check for command to grab the raw symbol name followed by C symbol from nm.
4600
AC_MSG_CHECKING([command to parse $NM output from $compiler object])
4601
AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
4603
# These are sane defaults that work on at least a few old systems.
4604
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
4606
# Character class describing NM global symbol codes.
4607
symcode='[[BCDEGRST]]'
4609
# Regexp to match symbols that can be accessed directly from C.
4610
sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
4612
# Transform an extracted symbol line into a proper C declaration
4613
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
4615
# Transform an extracted symbol line into symbol name and symbol address
4616
lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
4618
# Define system-specific variables.
4623
cygwin* | mingw* | pw32*)
4624
symcode='[[ABCDGISTW]]'
4626
hpux*) # Its linker distinguishes data from code symbols
4627
if test "$host_cpu" = ia64; then
4628
symcode='[[ABCDEGRST]]'
4630
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4631
lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
4633
linux* | k*bsd*-gnu)
4634
if test "$host_cpu" = ia64; then
4635
symcode='[[ABCDGIRSTW]]'
4636
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4637
lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
4641
symcode='[[BCDEGRST]]'
4644
symcode='[[BCDEGQRST]]'
4655
sysv5* | sco5v6* | unixware* | OpenUNIX*)
4659
symcode='[[DFNSTU]]'
4663
# Handle CRLF in mingw tool chain
4667
opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4671
# If we're using GNU nm, then use its standard symbol codes.
4672
case `$NM -V 2>&1` in
4673
*GNU* | *'with BFD'*)
4674
symcode='[[ABCDGIRSTW]]' ;;
4677
# Try without a prefix undercore, then with it.
4678
for ac_symprfx in "" "_"; do
4680
# Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4681
symxfrm="\\1 $ac_symprfx\\2 \\2"
4683
# Write the raw and C identifiers.
4684
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4686
# Check to see that the pipe works correctly.
4690
cat > conftest.$ac_ext <<EOF
4695
void nm_test_func(){}
4699
int main(){nm_test_var='a';nm_test_func();return(0);}
4702
if AC_TRY_EVAL(ac_compile); then
4703
# Now try to grab the symbols.
4705
if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
4706
# Try sorting and uniquifying the output.
4707
if sort "$nlist" | uniq > "$nlist"T; then
4708
mv -f "$nlist"T "$nlist"
4713
# Make sure that we snagged all the symbols we need.
4714
if grep ' nm_test_var$' "$nlist" >/dev/null; then
4715
if grep ' nm_test_func$' "$nlist" >/dev/null; then
4716
cat <<EOF > conftest.$ac_ext
4722
# Now generate the symbol file.
4723
eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
4725
cat <<EOF >> conftest.$ac_ext
4726
#if defined (__STDC__) && __STDC__
4727
# define lt_ptr_t void *
4729
# define lt_ptr_t char *
4733
/* The mapping between symbol names and symbols. */
4738
lt_preloaded_symbols[[]] =
4741
$SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
4742
cat <<\EOF >> conftest.$ac_ext
4750
# Now try linking the two files.
4751
mv conftest.$ac_objext conftstm.$ac_objext
4752
lt_save_LIBS="$LIBS"
4753
lt_save_CFLAGS="$CFLAGS"
4754
LIBS="conftstm.$ac_objext"
4755
CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4756
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
4759
LIBS="$lt_save_LIBS"
4760
CFLAGS="$lt_save_CFLAGS"
4762
echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4765
echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4768
echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4771
echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4772
cat conftest.$ac_ext >&5
4774
rm -f conftest* conftst*
4776
# Do not use the global_symbol_pipe unless it works.
4777
if test "$pipe_works" = yes; then
4780
lt_cv_sys_global_symbol_pipe=
4784
if test -z "$lt_cv_sys_global_symbol_pipe"; then
4785
lt_cv_sys_global_symbol_to_cdecl=
4787
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4788
AC_MSG_RESULT(failed)
4792
]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
4795
# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
4796
# ---------------------------------------
4797
AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
4798
[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
4799
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4800
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
4802
AC_MSG_CHECKING([for $compiler option to produce PIC])
4804
# C++ specific cases for pic, static, wl, etc.
4805
if test "$GXX" = yes; then
4806
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4807
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4811
# All AIX code is PIC.
4812
if test "$host_cpu" = ia64; then
4813
# AIX 5 now supports IA64 processor
4814
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4818
# FIXME: we need at least 68020 code to build shared libraries, but
4819
# adding the `-m68020' flag to GCC prevents building anything better,
4821
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4823
beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4824
# PIC is the default for these OSes.
4826
mingw* | os2* | pw32*)
4827
# This hack is so that the source file can tell whether it is being
4828
# built for inclusion in a dll (and should export symbols for example).
4829
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
4831
darwin* | rhapsody*)
4832
# PIC is the default on this platform
4833
# Common symbols not allowed in MH_DYLIB files
4834
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4837
# DJGPP does not support shared libraries at all
4838
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4841
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
4842
# Instead, we relocate shared libraries at runtime.
4845
if test -d /usr/nec; then
4846
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4850
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4856
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4861
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4867
# All AIX code is PIC.
4868
if test "$host_cpu" = ia64; then
4869
# AIX 5 now supports IA64 processor
4870
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4872
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4876
case $cc_basename in
4878
# Green Hills C++ Compiler
4879
# _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4884
# PIC is the default on this platform
4885
# Common symbols not allowed in MH_DYLIB files
4886
case $cc_basename in
4888
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
4889
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4894
case $cc_basename in
4896
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4899
# Green Hills C++ Compiler
4900
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4906
freebsd* | dragonfly*)
4907
# FreeBSD uses GNU C++
4909
hpux9* | hpux10* | hpux11*)
4910
case $cc_basename in
4912
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4913
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4914
if test "$host_cpu" != ia64; then
4915
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4919
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4920
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4926
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4935
# This is c89, which is MS Visual C++ (no shared libs)
4936
# Anyone wants to do a port?
4938
irix5* | irix6* | nonstopux*)
4939
case $cc_basename in
4941
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4942
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4943
# CC pic flag -KPIC is the default.
4949
linux* | k*bsd*-gnu)
4950
case $cc_basename in
4953
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4954
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4958
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4959
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4960
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4963
# Portland Group C++ compiler.
4964
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4965
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4966
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4970
# Make sure the PIC flag is empty. It appears that all Alpha
4971
# Linux and Compaq Tru64 Unix objects are PIC.
4972
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4973
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4984
case $cc_basename in
4986
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4992
netbsd* | netbsdelf*-gnu)
4994
osf3* | osf4* | osf5*)
4995
case $cc_basename in
4997
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
5000
# Rational C++ 2.4.1
5001
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5004
# Digital/Compaq C++
5005
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5006
# Make sure the PIC flag is empty. It appears that all Alpha
5007
# Linux and Compaq Tru64 Unix objects are PIC.
5008
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5009
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5018
case $cc_basename in
5020
# Sun C++ 4.2, 5.x and Centerline C++
5021
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5022
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5023
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
5026
# Green Hills C++ Compiler
5027
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
5034
case $cc_basename in
5037
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5038
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5042
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5049
case $cc_basename in
5051
# NonStop-UX NCC 3.20
5052
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5058
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
5059
case $cc_basename in
5061
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5062
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5063
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5070
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5076
if test "$GCC" = yes; then
5077
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5078
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5082
# All AIX code is PIC.
5083
if test "$host_cpu" = ia64; then
5084
# AIX 5 now supports IA64 processor
5085
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5090
# FIXME: we need at least 68020 code to build shared libraries, but
5091
# adding the `-m68020' flag to GCC prevents building anything better,
5093
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
5096
beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
5097
# PIC is the default for these OSes.
5100
mingw* | pw32* | os2*)
5101
# This hack is so that the source file can tell whether it is being
5102
# built for inclusion in a dll (and should export symbols for example).
5103
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
5106
darwin* | rhapsody*)
5107
# PIC is the default on this platform
5108
# Common symbols not allowed in MH_DYLIB files
5109
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
5113
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
5114
# Instead, we relocate shared libraries at runtime.
5118
# Just because we use GCC doesn't mean we suddenly get shared libraries
5119
# on systems that don't support them.
5120
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5125
if test -d /usr/nec; then
5126
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
5131
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5138
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5144
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
5148
# PORTME Check for flag to pass linker flags through the system compiler.
5151
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5152
if test "$host_cpu" = ia64; then
5153
# AIX 5 now supports IA64 processor
5154
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5156
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
5160
# PIC is the default on this platform
5161
# Common symbols not allowed in MH_DYLIB files
5162
case $cc_basename in
5164
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
5165
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5170
mingw* | pw32* | os2*)
5171
# This hack is so that the source file can tell whether it is being
5172
# built for inclusion in a dll (and should export symbols for example).
5173
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
5176
hpux9* | hpux10* | hpux11*)
5177
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5178
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5185
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
5188
# Is there a better lt_prog_compiler_static that works with the bundled CC?
5189
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
5192
irix5* | irix6* | nonstopux*)
5193
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5194
# PIC (with -KPIC) is the default.
5195
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5199
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5200
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5203
linux* | k*bsd*-gnu)
5204
case $cc_basename in
5206
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5207
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5208
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
5210
pgcc* | pgf77* | pgf90* | pgf95*)
5211
# Portland Group compilers (*not* the Pentium gcc compiler,
5212
# which looks to be a dead project)
5213
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5214
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
5215
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5218
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5219
# All Alpha code is PIC.
5220
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5225
osf3* | osf4* | osf5*)
5226
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5227
# All OSF/1 code is PIC.
5228
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
5232
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5233
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5234
case $cc_basename in
5236
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
5238
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
5243
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
5244
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
5245
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5248
sysv4 | sysv4.2uw2* | sysv4.3*)
5249
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5250
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5251
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5255
if test -d /usr/nec ;then
5256
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
5257
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5261
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
5262
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5263
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
5264
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5268
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5269
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5273
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5274
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5278
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5283
AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
5286
# Check to make sure the PIC flag actually works.
5288
if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
5289
AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
5290
_LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
5291
[$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
5292
[case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
5294
*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
5296
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5297
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
5300
# For platforms which do not support PIC, -DPIC is meaningless:
5302
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5305
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
5310
# Check to make sure the static flag actually works.
5312
wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
5313
AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
5314
_LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
5315
$lt_tmp_static_flag,
5317
[_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
5321
# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
5322
# ------------------------------------
5323
# See if the linker supports building shared libraries.
5324
AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
5325
[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5327
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5330
# If we're using GNU nm, then we don't want the "-C" option.
5331
# -C means demangle to AIX nm, but means don't demangle with GNU nm
5332
if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
5333
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
5335
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
5339
_LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
5342
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
5344
linux* | k*bsd*-gnu)
5345
_LT_AC_TAGVAR(link_all_deplibs, $1)=no
5348
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5353
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
5354
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5355
_LT_AC_TAGVAR(archive_cmds, $1)=
5356
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
5357
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
5358
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
5359
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
5360
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5361
_LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
5362
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5363
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5364
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
5365
_LT_AC_TAGVAR(hardcode_direct, $1)=no
5366
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
5367
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5368
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
5369
_LT_AC_TAGVAR(hardcode_automatic, $1)=no
5370
_LT_AC_TAGVAR(module_cmds, $1)=
5371
_LT_AC_TAGVAR(module_expsym_cmds, $1)=
5372
_LT_AC_TAGVAR(always_export_symbols, $1)=no
5373
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5374
# include_expsyms should be a list of space-separated symbols to be *always*
5375
# included in the symbol list
5376
_LT_AC_TAGVAR(include_expsyms, $1)=
5377
# exclude_expsyms can be an extended regexp of symbols to exclude
5378
# it will be wrapped by ` (' and `)$', so one must not match beginning or
5379
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
5380
# as well as any symbol that contains `d'.
5381
_LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
5382
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
5383
# platforms (ab)use it in PIC code, but their linkers get confused if
5384
# the symbol is explicitly referenced. Since portable code cannot
5385
# rely on this symbol name, it's probably fine to never include it in
5386
# preloaded symbol tables.
5387
extract_expsyms_cmds=
5388
# Just being paranoid about ensuring that cc_basename is set.
5389
_LT_CC_BASENAME([$compiler])
5391
cygwin* | mingw* | pw32*)
5392
# FIXME: the MSVC++ port hasn't been tested in a loooong time
5393
# When not using gcc, we currently assume that we are using
5394
# Microsoft Visual C++.
5395
if test "$GCC" != yes; then
5400
# we just hope/assume this is gcc and not c89 (= MSVC++)
5408
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
5409
if test "$with_gnu_ld" = yes; then
5410
# If archive_cmds runs LD, not CC, wlarc should be empty
5413
# Set some defaults for GNU ld with shared library support. These
5414
# are reset later if shared libraries are not supported. Putting them
5415
# here allows them to be overridden if necessary.
5416
runpath_var=LD_RUN_PATH
5417
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5418
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5419
# ancient GNU ld didn't support --whole-archive et. al.
5420
if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
5421
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5423
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5425
supports_anon_versioning=no
5426
case `$LD -v 2>/dev/null` in
5427
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5428
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5429
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5430
*\ 2.11.*) ;; # other 2.11 versions
5431
*) supports_anon_versioning=yes ;;
5434
# See if GNU ld supports shared libraries.
5436
aix3* | aix4* | aix5*)
5437
# On AIX/PPC, the GNU linker is very broken
5438
if test "$host_cpu" != ia64; then
5439
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5442
*** Warning: the GNU linker, at least up to release 2.9.1, is reported
5443
*** to be unable to reliably create shared libraries on AIX.
5444
*** Therefore, libtool is disabling shared libraries support. If you
5445
*** really care for shared libraries, you may want to modify your PATH
5446
*** so that a non-GNU linker is found, and then restart.
5453
_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5454
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5455
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5457
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
5458
# that the semantics of dynamic libraries on AmigaOS, at least up
5459
# to version 4, is to share data among multiple programs linked
5460
# with the same dynamic library. Since this doesn't match the
5461
# behavior of shared libraries on other platforms, we can't use
5463
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5467
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5468
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5469
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5470
# support --undefined. This deserves some investigation. FIXME
5471
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5473
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5477
cygwin* | mingw* | pw32*)
5478
# _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5479
# as there is no search path for DLLs.
5480
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5481
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5482
_LT_AC_TAGVAR(always_export_symbols, $1)=no
5483
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5484
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
5486
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
5487
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5488
# If the export-symbols file already is a .def file (1st line
5489
# is EXPORTS), use it as is; otherwise, prepend...
5490
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5491
cp $export_symbols $output_objdir/$soname.def;
5493
echo EXPORTS > $output_objdir/$soname.def;
5494
cat $export_symbols >> $output_objdir/$soname.def;
5496
$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5498
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5503
_LT_AC_TAGVAR(hardcode_direct, $1)=no
5504
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5505
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5506
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5507
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5508
# Instead, shared libraries are loaded at an image base (0x10000000 by
5509
# default) and relocated if they conflict, which is a slow very memory
5510
# consuming and fragmenting process. To avoid this, we pick a random,
5511
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5512
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
5513
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5514
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5517
linux* | k*bsd*-gnu)
5518
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5520
case $cc_basename,$host_cpu in
5521
pgcc*) # Portland Group C compiler
5522
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
5523
tmp_addflag=' $pic_flag'
5525
pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
5526
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
5527
tmp_addflag=' $pic_flag -Mnomain' ;;
5528
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5529
tmp_addflag=' -i_dynamic' ;;
5530
efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5531
tmp_addflag=' -i_dynamic -nofor_main' ;;
5532
ifc* | ifort*) # Intel Fortran compiler
5533
tmp_addflag=' -nofor_main' ;;
5535
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5537
if test $supports_anon_versioning = yes; then
5538
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
5539
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5540
$echo "local: *; };" >> $output_objdir/$libname.ver~
5541
$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5543
_LT_AC_TAGVAR(link_all_deplibs, $1)=no
5545
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5549
netbsd* | netbsdelf*-gnu)
5550
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
5551
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5554
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5555
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5560
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
5561
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5564
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
5565
*** create shared libraries on Solaris systems. Therefore, libtool
5566
*** is disabling shared libraries support. We urge you to upgrade GNU
5567
*** binutils to release 2.9.1 or newer. Another option is to modify
5568
*** your PATH or compiler configuration so that the native linker is
5569
*** used, and then restart.
5572
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5573
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5574
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5576
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5580
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5581
case `$LD -v 2>&1` in
5582
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5583
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5586
*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
5587
*** reliably create shared libraries on SCO systems. Therefore, libtool
5588
*** is disabling shared libraries support. We urge you to upgrade GNU
5589
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5590
*** your PATH or compiler configuration so that the native linker is
5591
*** used, and then restart.
5596
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5597
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
5598
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
5599
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
5601
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5608
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5610
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5611
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5615
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5616
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5617
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5619
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5624
if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
5626
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5627
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
5628
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5631
# PORTME fill in a description of your system's linker (not GNU ld)
5634
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5635
_LT_AC_TAGVAR(always_export_symbols, $1)=yes
5636
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
5637
# Note: this linker hardcodes the directories in LIBPATH if there
5638
# are no directories specified by -L.
5639
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5640
if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
5641
# Neither direct hardcoding nor static linking is supported with a
5643
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
5648
if test "$host_cpu" = ia64; then
5649
# On IA64, the linker does run time linking by default, so we don't
5650
# have to do anything special.
5651
aix_use_runtimelinking=no
5652
exp_sym_flag='-Bexport'
5655
# If we're using GNU nm, then we don't want the "-C" option.
5656
# -C means demangle to AIX nm, but means don't demangle with GNU nm
5657
if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
5658
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
5660
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
5662
aix_use_runtimelinking=no
5664
# Test if we are trying to use run time linking or normal
5665
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
5666
# need to do runtime linking.
5667
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
5668
for ld_flag in $LDFLAGS; do
5669
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5670
aix_use_runtimelinking=yes
5677
exp_sym_flag='-bexport'
5678
no_entry_flag='-bnoentry'
5681
# When large executables or shared objects are built, AIX ld can
5682
# have problems creating the table of contents. If linking a library
5683
# or program results in "error TOC overflow" add -mminimal-toc to
5684
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5685
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5687
_LT_AC_TAGVAR(archive_cmds, $1)=''
5688
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5689
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
5690
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5692
if test "$GCC" = yes; then
5693
case $host_os in aix4.[[012]]|aix4.[[012]].*)
5694
# We only want to do this on AIX 4.2 and lower, the check
5695
# below for broken collect2 doesn't work under 4.3+
5696
collect2name=`${CC} -print-prog-name=collect2`
5697
if test -f "$collect2name" && \
5698
strings "$collect2name" | grep resolve_lib_name >/dev/null
5700
# We have reworked collect2
5701
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5703
# We have old collect2
5704
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
5705
# It fails to find uninstalled libraries when the uninstalled
5706
# path is not listed in the libpath. Setting hardcode_minus_L
5707
# to unsupported forces relinking
5708
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5709
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5710
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
5714
shared_flag='-shared'
5715
if test "$aix_use_runtimelinking" = yes; then
5716
shared_flag="$shared_flag "'${wl}-G'
5720
if test "$host_cpu" = ia64; then
5721
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5722
# chokes on -Wl,-G. The following line is correct:
5725
if test "$aix_use_runtimelinking" = yes; then
5726
shared_flag='${wl}-G'
5728
shared_flag='${wl}-bM:SRE'
5733
# It seems that -bexpall does not export symbols beginning with
5734
# underscore (_), so it is better to generate a list of symbols to export.
5735
_LT_AC_TAGVAR(always_export_symbols, $1)=yes
5736
if test "$aix_use_runtimelinking" = yes; then
5737
# Warning - without using the other runtime loading flags (-brtl),
5738
# -berok will link without error, but may produce a broken library.
5739
_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
5740
# Determine the default libpath from the value encoded in an empty executable.
5741
_LT_AC_SYS_LIBPATH_AIX
5742
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5743
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5745
if test "$host_cpu" = ia64; then
5746
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5747
_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5748
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5750
# Determine the default libpath from the value encoded in an empty executable.
5751
_LT_AC_SYS_LIBPATH_AIX
5752
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5753
# Warning - without using the other run time loading flags,
5754
# -berok will link without error, but may produce a broken library.
5755
_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5756
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5757
# Exported symbols can be pulled into shared objects from archives
5758
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5759
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5760
# This is similar to how AIX traditionally builds its shared libraries.
5761
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5767
_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5768
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5769
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5770
# see comment about different semantics on the GNU ld section
5771
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5775
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5778
cygwin* | mingw* | pw32*)
5779
# When not using gcc, we currently assume that we are using
5780
# Microsoft Visual C++.
5781
# hardcode_libdir_flag_spec is actually meaningless, as there is
5782
# no search path for DLLs.
5783
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5784
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5785
# Tell ltmain to make .lib files, not .a files.
5787
# Tell ltmain to make .dll files, not .so files.
5789
# FIXME: Setting linknames here is a bad hack.
5790
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
5791
# The linker will automatically build a .lib file if we build a DLL.
5792
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
5793
# FIXME: Should let the user specify the lib program.
5794
_LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
5795
_LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
5796
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5799
darwin* | rhapsody*)
5801
rhapsody* | darwin1.[[012]])
5802
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
5805
if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
5806
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
5808
case ${MACOSX_DEPLOYMENT_TARGET} in
5810
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
5813
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
5819
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5820
_LT_AC_TAGVAR(hardcode_direct, $1)=no
5821
_LT_AC_TAGVAR(hardcode_automatic, $1)=yes
5822
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5823
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
5824
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5825
if test "$GCC" = yes ; then
5826
output_verbose_link_cmd='echo'
5827
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
5828
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
5829
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
5830
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5831
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5833
case $cc_basename in
5835
output_verbose_link_cmd='echo'
5836
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
5837
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
5838
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
5839
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5840
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
5843
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5850
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5851
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5852
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5856
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5859
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5860
# support. Future versions do this automatically, but an explicit c++rt0.o
5861
# does not break anything, and helps significantly (at the cost of a little
5864
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5865
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5866
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5867
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5870
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
5872
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5873
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5874
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5875
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5878
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5879
freebsd* | dragonfly*)
5880
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
5881
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5882
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5883
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5887
if test "$GCC" = yes; then
5888
_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5890
_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5892
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5893
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5894
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5896
# hardcode_minus_L: Not really in the search PATH,
5897
# but as the default location of the library.
5898
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5899
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5903
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
5904
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5906
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5908
if test "$with_gnu_ld" = no; then
5909
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5910
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5912
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5913
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5915
# hardcode_minus_L: Not really in the search PATH,
5916
# but as the default location of the library.
5917
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5922
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
5925
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5928
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5931
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5937
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5940
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5943
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5947
if test "$with_gnu_ld" = no; then
5948
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5949
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5953
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
5954
_LT_AC_TAGVAR(hardcode_direct, $1)=no
5955
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5958
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5959
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5961
# hardcode_minus_L: Not really in the search PATH,
5962
# but as the default location of the library.
5963
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5969
irix5* | irix6* | nonstopux*)
5970
if test "$GCC" = yes; then
5971
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5973
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
5974
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
5976
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5977
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5978
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5981
netbsd* | netbsdelf*-gnu)
5982
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
5983
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5985
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5987
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5988
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5989
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5993
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5994
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5995
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5996
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5997
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6001
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
6002
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6003
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6004
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
6005
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
6006
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6007
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6010
openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
6011
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
6012
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6015
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
6016
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6023
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6024
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6025
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6026
_LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
6027
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
6031
if test "$GCC" = yes; then
6032
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6033
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6035
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6036
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
6038
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6039
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6042
osf4* | osf5*) # as osf3* with the addition of -msym flag
6043
if test "$GCC" = yes; then
6044
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6045
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6046
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6048
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6049
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
6050
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
6051
$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
6053
# Both c and cxx compiler support -rpath directly
6054
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6056
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
6060
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
6061
if test "$GCC" = yes; then
6063
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
6064
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
6065
$CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
6068
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
6069
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
6070
$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
6072
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6073
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6075
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6077
# The compiler driver will combine linker options so we
6078
# cannot just pass the convience library names through
6079
# without $wl, iff we do not link with $LD.
6080
# Luckily, gcc supports the same syntax we need for Sun Studio.
6081
# Supported since Solaris 2.6 (maybe 2.5.1?)
6084
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
6086
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
6089
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6093
if test "x$host_vendor" = xsequent; then
6094
# Use $CC to link under sequent, because it throws in some extra .o
6095
# files that make .init and .fini sections work.
6096
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
6098
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
6100
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6101
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
6102
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6103
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6107
case $host_vendor in
6109
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6110
_LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
6113
## LD is ld it makes a PLAMLIB
6114
## CC just makes a GrossModule.
6115
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
6116
_LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
6117
_LT_AC_TAGVAR(hardcode_direct, $1)=no
6120
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6121
_LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
6124
runpath_var='LD_RUN_PATH'
6125
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6129
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6130
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6131
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
6135
if test -d /usr/nec; then
6136
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6137
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6138
runpath_var=LD_RUN_PATH
6139
hardcode_runpath_var=yes
6140
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
6144
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
6145
_LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6146
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6147
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6148
runpath_var='LD_RUN_PATH'
6150
if test "$GCC" = yes; then
6151
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6152
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6154
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6155
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6159
sysv5* | sco3.2v5* | sco5v6*)
6160
# Note: We can NOT use -z defs as we might desire, because we do not
6161
# link with -lc, and that would cause any symbols used from libc to
6162
# always be unresolved, which means just about no library would
6163
# ever link correctly. If we're not using GNU ld we use -z text
6164
# though, which does catch some bad symbols but isn't as heavy-handed
6166
_LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6167
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6168
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6169
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6170
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
6171
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
6172
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
6173
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6174
runpath_var='LD_RUN_PATH'
6176
if test "$GCC" = yes; then
6177
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6178
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6180
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6181
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
6186
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6187
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6188
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6192
_LT_AC_TAGVAR(ld_shlibs, $1)=no
6197
AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
6198
test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6201
# Do we need to explicitly link libc?
6203
case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
6205
# Assume -lc should be added
6206
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6208
if test "$enable_shared" = yes && test "$GCC" = yes; then
6209
case $_LT_AC_TAGVAR(archive_cmds, $1) in
6211
# FIXME: we may have to deal with multi-command sequences.
6214
# Test whether the compiler implicitly links with -lc since on some
6215
# systems, -lgcc has to come before -lc. If gcc already passes -lc
6216
# to ld, don't add -lc before -lgcc.
6217
AC_MSG_CHECKING([whether -lc should be explicitly linked in])
6219
printf "$lt_simple_compile_test_code" > conftest.$ac_ext
6221
if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6224
libobjs=conftest.$ac_objext
6226
wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
6227
pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
6233
lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
6234
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
6235
if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
6237
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6239
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6241
_LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6243
cat conftest.err 1>&5
6246
AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
6252
])# AC_LIBTOOL_PROG_LD_SHLIBS
6255
# _LT_AC_FILE_LTDLL_C
6256
# -------------------
6257
# Be careful that the start marker always follows a newline.
6258
AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
2725
6259
# /* ltdll.c starts here */
2726
6260
# #define WIN32_LEAN_AND_MEAN
2727
6261
# #include <windows.h>
2757
6291
# /* ltdll.c ends here */
2758
# This is a source program that is used to create import libraries
2759
# on Windows for dlls which lack them. Don't remove nor modify the
2760
# starting and closing comments
2761
# /* impgen.c starts here */
2762
# /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
2764
# This file is part of GNU libtool.
2766
# This program is free software; you can redistribute it and/or modify
2767
# it under the terms of the GNU General Public License as published by
2768
# the Free Software Foundation; either version 2 of the License, or
2769
# (at your option) any later version.
2771
# This program is distributed in the hope that it will be useful,
2772
# but WITHOUT ANY WARRANTY; without even the implied warranty of
2773
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2774
# GNU General Public License for more details.
2776
# You should have received a copy of the GNU General Public License
2777
# along with this program; if not, write to the Free Software
2778
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2781
# #include <stdio.h> /* for printf() */
2782
# #include <unistd.h> /* for open(), lseek(), read() */
2783
# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
2784
# #include <string.h> /* for strdup() */
2786
# /* O_BINARY isn't required (or even defined sometimes) under Unix */
2788
# #define O_BINARY 0
2791
# static unsigned int
2792
# pe_get16 (fd, offset)
2796
# unsigned char b[2];
2797
# lseek (fd, offset, SEEK_SET);
2799
# return b[0] + (b[1]<<8);
2802
# static unsigned int
2803
# pe_get32 (fd, offset)
2807
# unsigned char b[4];
2808
# lseek (fd, offset, SEEK_SET);
2810
# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
2813
# static unsigned int
2817
# unsigned char *b = ptr;
2818
# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
2827
# unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
2828
# unsigned long export_rva, export_size, nsections, secptr, expptr;
2829
# unsigned long name_rvas, nexp;
2830
# unsigned char *expdata, *erva;
2831
# char *filename, *dll_name;
2833
# filename = argv[1];
2835
# dll = open(filename, O_RDONLY|O_BINARY);
2839
# dll_name = filename;
2841
# for (i=0; filename[i]; i++)
2842
# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
2843
# dll_name = filename + i +1;
2845
# pe_header_offset = pe_get32 (dll, 0x3c);
2846
# opthdr_ofs = pe_header_offset + 4 + 20;
2847
# num_entries = pe_get32 (dll, opthdr_ofs + 92);
2849
# if (num_entries < 1) /* no exports */
2852
# export_rva = pe_get32 (dll, opthdr_ofs + 96);
2853
# export_size = pe_get32 (dll, opthdr_ofs + 100);
2854
# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
2855
# secptr = (pe_header_offset + 4 + 20 +
2856
# pe_get16 (dll, pe_header_offset + 4 + 16));
2859
# for (i = 0; i < nsections; i++)
2862
# unsigned long secptr1 = secptr + 40 * i;
2863
# unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
2864
# unsigned long vsize = pe_get32 (dll, secptr1 + 16);
2865
# unsigned long fptr = pe_get32 (dll, secptr1 + 20);
2866
# lseek(dll, secptr1, SEEK_SET);
2867
# read(dll, sname, 8);
2868
# if (vaddr <= export_rva && vaddr+vsize > export_rva)
2870
# expptr = fptr + (export_rva - vaddr);
2871
# if (export_rva + export_size > vaddr + vsize)
2872
# export_size = vsize - (export_rva - vaddr);
2877
# expdata = (unsigned char*)malloc(export_size);
2878
# lseek (dll, expptr, SEEK_SET);
2879
# read (dll, expdata, export_size);
2880
# erva = expdata - export_rva;
2882
# nexp = pe_as32 (expdata+24);
2883
# name_rvas = pe_as32 (expdata+32);
2885
# printf ("EXPORTS\n");
2886
# for (i = 0; i<nexp; i++)
2888
# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
2889
# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
2894
# /* impgen.c ends here */
2900
# We use sed instead of cat because bash on DJGPP gets confused if
2901
# if finds mixed CR/LF and LF-only lines. Since sed operates in
2902
# text mode, it properly converts lines to CR/LF. This bash problem
2903
# is reportedly fixed, but why not run on old versions too?
2904
sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
2906
mv -f "${ofile}T" "$ofile" || \
2907
(rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
2911
])# _LT_AC_LTCONFIG_HACK
2913
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
2914
AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
2916
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
2917
AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
2919
# AC_ENABLE_SHARED - implement the --enable-shared flag
2920
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
2921
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
2923
AC_DEFUN([AC_ENABLE_SHARED],
2924
[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
2925
AC_ARG_ENABLE(shared,
2926
changequote(<<, >>)dnl
2927
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
2928
changequote([, ])dnl
2929
[p=${PACKAGE-default}
2931
yes) enable_shared=yes ;;
2932
no) enable_shared=no ;;
2935
# Look at the argument we got. We use all the common list separators.
2936
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
2937
for pkg in $enableval; do
2938
if test "X$pkg" = "X$p"; then
2945
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
2948
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
2949
AC_DEFUN([AC_DISABLE_SHARED],
2950
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2951
AC_ENABLE_SHARED(no)])
2953
# AC_ENABLE_STATIC - implement the --enable-static flag
2954
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
2955
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
2957
AC_DEFUN([AC_ENABLE_STATIC],
2958
[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
2959
AC_ARG_ENABLE(static,
2960
changequote(<<, >>)dnl
2961
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
2962
changequote([, ])dnl
2963
[p=${PACKAGE-default}
2965
yes) enable_static=yes ;;
2966
no) enable_static=no ;;
2969
# Look at the argument we got. We use all the common list separators.
2970
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
2971
for pkg in $enableval; do
2972
if test "X$pkg" = "X$p"; then
2979
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
2982
# AC_DISABLE_STATIC - set the default static flag to --disable-static
2983
AC_DEFUN([AC_DISABLE_STATIC],
2984
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2985
AC_ENABLE_STATIC(no)])
2988
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
2989
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
2990
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
2992
AC_DEFUN([AC_ENABLE_FAST_INSTALL],
2993
[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
2994
AC_ARG_ENABLE(fast-install,
2995
changequote(<<, >>)dnl
2996
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
2997
changequote([, ])dnl
2998
[p=${PACKAGE-default}
3000
yes) enable_fast_install=yes ;;
3001
no) enable_fast_install=no ;;
3003
enable_fast_install=no
3004
# Look at the argument we got. We use all the common list separators.
3005
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3006
for pkg in $enableval; do
3007
if test "X$pkg" = "X$p"; then
3008
enable_fast_install=yes
3014
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
3017
# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
3018
AC_DEFUN([AC_DISABLE_FAST_INSTALL],
3019
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3020
AC_ENABLE_FAST_INSTALL(no)])
3022
# AC_LIBTOOL_PICMODE - implement the --with-pic flag
3023
# Usage: AC_LIBTOOL_PICMODE[(MODE)]
3024
# Where MODE is either `yes' or `no'. If omitted, it defaults to
3026
AC_DEFUN([AC_LIBTOOL_PICMODE],
3027
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3028
pic_mode=ifelse($#,1,$1,default)])
3031
# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
3032
AC_DEFUN([AC_PATH_TOOL_PREFIX],
3033
[AC_MSG_CHECKING([for $1])
3034
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3037
lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
3040
lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
3043
ac_save_MAGIC_CMD="$MAGIC_CMD"
3044
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
3045
dnl $ac_dummy forces splitting on constant user-supplied paths.
3046
dnl POSIX.2 word splitting is done only on the output of word expansions,
3047
dnl not every word. This closes a longstanding sh security hole.
3048
ac_dummy="ifelse([$2], , $PATH, [$2])"
3049
for ac_dir in $ac_dummy; do
3050
test -z "$ac_dir" && ac_dir=.
3051
if test -f $ac_dir/$1; then
3052
lt_cv_path_MAGIC_CMD="$ac_dir/$1"
3053
if test -n "$file_magic_test_file"; then
3054
case $deplibs_check_method in
3056
file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
3057
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3058
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3059
egrep "$file_magic_regex" > /dev/null; then
3064
*** Warning: the command libtool uses to detect shared libraries,
3065
*** $file_magic_cmd, produces output that libtool cannot recognize.
3066
*** The result is that libtool may fail to recognize shared libraries
3067
*** as such. This will affect the creation of libtool libraries that
3068
*** depend on shared libraries, but programs linked with such libtool
3069
*** libraries will work regardless of this problem. Nevertheless, you
3070
*** may want to report the problem to your system manager and/or to
3071
*** bug-libtool@gnu.org
3081
MAGIC_CMD="$ac_save_MAGIC_CMD"
3084
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3085
if test -n "$MAGIC_CMD"; then
3086
AC_MSG_RESULT($MAGIC_CMD)
3093
# AC_PATH_MAGIC - find a file program which can recognise a shared library
3094
AC_DEFUN([AC_PATH_MAGIC],
3095
[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
3096
AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
3097
if test -z "$lt_cv_path_MAGIC_CMD"; then
3098
if test -n "$ac_tool_prefix"; then
3099
AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
3107
# AC_PROG_LD - find the path to the GNU or non-GNU linker
3108
AC_DEFUN([AC_PROG_LD],
3109
[AC_ARG_WITH(gnu-ld,
3110
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
3111
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
3112
AC_REQUIRE([AC_PROG_CC])dnl
3113
AC_REQUIRE([AC_CANONICAL_HOST])dnl
3114
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3115
AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
3117
if test "$GCC" = yes; then
3118
# Check if gcc -print-prog-name=ld gives a path.
3119
AC_MSG_CHECKING([for ld used by GCC])
3122
# gcc leaves a trailing carriage return which upsets mingw
3123
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3125
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3128
# Accept absolute paths.
3129
[[\\/]]* | [[A-Za-z]]:[[\\/]]*)
3130
re_direlt='/[[^/]][[^/]]*/\.\./'
3131
# Canonicalize the path of ld
3132
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
3133
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3134
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
3136
test -z "$LD" && LD="$ac_prog"
3139
# If it fails, then pretend we aren't using GCC.
3143
# If it is relative, then search for the first ld in PATH.
3147
elif test "$with_gnu_ld" = yes; then
3148
AC_MSG_CHECKING([for GNU ld])
3150
AC_MSG_CHECKING([for non-GNU ld])
3152
AC_CACHE_VAL(lt_cv_path_LD,
3153
[if test -z "$LD"; then
3154
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3155
for ac_dir in $PATH; do
3156
test -z "$ac_dir" && ac_dir=.
3157
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3158
lt_cv_path_LD="$ac_dir/$ac_prog"
3159
# Check to see if the program is GNU ld. I'd rather use --version,
3160
# but apparently some GNU ld's only accept -v.
3161
# Break only if it was the GNU/non-GNU ld that we prefer.
3162
if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
3163
test "$with_gnu_ld" != no && break
3165
test "$with_gnu_ld" != yes && break
3171
lt_cv_path_LD="$LD" # Let the user override the test with a path.
3174
if test -n "$LD"; then
3179
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3184
AC_DEFUN([AC_PROG_LD_GNU],
3185
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3186
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
3187
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
3188
lt_cv_prog_gnu_ld=yes
3190
lt_cv_prog_gnu_ld=no
3192
with_gnu_ld=$lt_cv_prog_gnu_ld
3195
# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
3196
# -- PORTME Some linkers may need a different reload flag.
3197
AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
3198
[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
3199
[lt_cv_ld_reload_flag='-r'])
3200
reload_flag=$lt_cv_ld_reload_flag
3201
test -n "$reload_flag" && reload_flag=" $reload_flag"
3204
# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
3205
# -- PORTME fill in with the dynamic library characteristics
3206
AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
3207
[AC_CACHE_CHECK([how to recognise dependant libraries],
3208
lt_cv_deplibs_check_method,
3209
[lt_cv_file_magic_cmd='$MAGIC_CMD'
3210
lt_cv_file_magic_test_file=
3211
lt_cv_deplibs_check_method='unknown'
3212
# Need to set the preceding variable on all platforms that support
3213
# interlibrary dependencies.
3214
# 'none' -- dependencies not supported.
3215
# `unknown' -- same as none, but documents that we really don't know.
3216
# 'pass_all' -- all dependencies passed with no checks.
3217
# 'test_compile' -- check by making test program.
3218
# 'file_magic [[regex]]' -- check by looking for files in library path
3219
# which responds to the $file_magic_cmd with a given egrep regex.
3220
# If you have `file' or equivalent on your system and you're not sure
3221
# whether `pass_all' will *always* work, you probably want this one.
3225
lt_cv_deplibs_check_method=pass_all
3229
lt_cv_deplibs_check_method=pass_all
3233
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3234
lt_cv_file_magic_cmd='/usr/bin/file -L'
3235
lt_cv_file_magic_test_file=/shlib/libc.so
3238
cygwin* | mingw* | pw32*)
3239
lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3240
lt_cv_file_magic_cmd='$OBJDUMP -f'
3243
darwin* | rhapsody*)
3244
lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
3245
lt_cv_file_magic_cmd='/usr/bin/file -L'
3247
rhapsody* | darwin1.[[012]])
3248
lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
3251
lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
3257
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3260
# Not sure whether the presence of OpenBSD here was a mistake.
3261
# Let's accept both of them until this is cleared up.
3262
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
3263
lt_cv_file_magic_cmd=/usr/bin/file
3264
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3268
lt_cv_deplibs_check_method=pass_all
3273
lt_cv_deplibs_check_method=pass_all
3277
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3278
lt_cv_file_magic_cmd=/usr/bin/file
3279
lt_cv_file_magic_test_file=/usr/lib/libc.sl
3285
# this will be overridden with pass_all, but let us keep it just in case
3286
lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
3290
*-32|*"-32 ") libmagic=32-bit;;
3291
*-n32|*"-n32 ") libmagic=N32;;
3292
*-64|*"-64 ") libmagic=64-bit;;
3293
*) libmagic=never-match;;
3295
# this will be overridden with pass_all, but let us keep it just in case
3296
lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
3299
lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
3300
lt_cv_deplibs_check_method=pass_all
3303
# This must be Linux ELF.
3306
alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
3307
lt_cv_deplibs_check_method=pass_all ;;
3309
# glibc up to 2.1.1 does not perform some relocations on ARM
3310
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
3312
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
3316
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3317
lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
3319
lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
3324
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3325
lt_cv_file_magic_cmd=/usr/bin/file
3326
lt_cv_file_magic_test_file=/usr/lib/libnls.so
3330
lt_cv_file_magic_cmd=/usr/bin/file
3331
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3332
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3333
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
3335
lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
3339
osf3* | osf4* | osf5*)
3340
# this will be overridden with pass_all, but let us keep it just in case
3341
lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
3342
lt_cv_file_magic_test_file=/shlib/libc.so
3343
lt_cv_deplibs_check_method=pass_all
3347
lt_cv_deplibs_check_method=pass_all
3351
lt_cv_deplibs_check_method=pass_all
3352
lt_cv_file_magic_test_file=/lib/libc.so
3355
sysv5uw[[78]]* | sysv4*uw2*)
3356
lt_cv_deplibs_check_method=pass_all
3359
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
3360
case $host_vendor in
3362
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3363
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3366
lt_cv_deplibs_check_method=pass_all
3369
lt_cv_file_magic_cmd='/bin/file'
3370
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3373
lt_cv_file_magic_cmd='/bin/file'
3374
lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3375
lt_cv_file_magic_test_file=/lib/libc.so
3381
file_magic_cmd=$lt_cv_file_magic_cmd
3382
deplibs_check_method=$lt_cv_deplibs_check_method
3386
# AC_PROG_NM - find the path to a BSD-compatible name lister
3387
AC_DEFUN([AC_PROG_NM],
3388
[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
3389
AC_MSG_CHECKING([for BSD-compatible nm])
3390
AC_CACHE_VAL(lt_cv_path_NM,
3391
[if test -n "$NM"; then
3392
# Let the user override the test.
3395
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3396
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
3397
test -z "$ac_dir" && ac_dir=.
3398
tmp_nm=$ac_dir/${ac_tool_prefix}nm
3399
if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
3400
# Check to see if the nm accepts a BSD-compat flag.
3401
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
3402
# nm: unknown option "B" ignored
3403
# Tru64's nm complains that /dev/null is an invalid object file
3404
if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
3405
lt_cv_path_NM="$tmp_nm -B"
3407
elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
3408
lt_cv_path_NM="$tmp_nm -p"
3411
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3412
continue # so that we can try to find one that supports BSD flags
3417
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
3420
AC_MSG_RESULT([$NM])
3423
# AC_CHECK_LIBM - check for math library
3424
AC_DEFUN([AC_CHECK_LIBM],
3425
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3428
*-*-beos* | *-*-cygwin* | *-*-pw32*)
3429
# These system don't have libm
3432
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3433
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
3436
AC_CHECK_LIB(m, main, LIBM="-lm")
3441
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
3442
# the libltdl convenience library and INCLTDL to the include flags for
3443
# the libltdl header and adds --enable-ltdl-convenience to the
3444
# configure arguments. Note that LIBLTDL and INCLTDL are not
3445
# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
3446
# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
3447
# with '${top_builddir}/' and INCLTDL will be prefixed with
3448
# '${top_srcdir}/' (note the single quotes!). If your package is not
3449
# flat and you're not using automake, define top_builddir and
3450
# top_srcdir appropriately in the Makefiles.
3451
AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
3452
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3453
case $enable_ltdl_convenience in
3454
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
3455
"") enable_ltdl_convenience=yes
3456
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
3458
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
3459
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3462
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
3463
# the libltdl installable library and INCLTDL to the include flags for
3464
# the libltdl header and adds --enable-ltdl-install to the configure
3465
# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
3466
# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
3467
# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
3468
# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
3469
# with '${top_srcdir}/' (note the single quotes!). If your package is
3470
# not flat and you're not using automake, define top_builddir and
3471
# top_srcdir appropriately in the Makefiles.
3472
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
3473
AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
3474
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3475
AC_CHECK_LIB(ltdl, main,
3476
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
3477
[if test x"$enable_ltdl_install" = xno; then
3478
AC_MSG_WARN([libltdl not installed, but installation disabled])
3480
enable_ltdl_install=yes
3483
if test x"$enable_ltdl_install" = x"yes"; then
3484
ac_configure_args="$ac_configure_args --enable-ltdl-install"
3485
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
3486
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3488
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
6292
])# _LT_AC_FILE_LTDLL_C
6295
# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
6296
# ---------------------------------
6297
AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
3495
6301
AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])