210
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
211
AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
213
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
214
AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
216
# AC_ENABLE_SHARED - implement the --enable-shared flag
217
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
218
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
517
need_locks="$enable_libtool_lock"
522
# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
523
# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
524
# ----------------------------------------------------------------
525
# Check whether the given compiler option works
526
AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
527
[AC_CACHE_CHECK([$1], [$2],
529
ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
530
save_CFLAGS="$CFLAGS"
532
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
533
if (eval $ac_compile 2>conftest.err) && test -s $ac_outfile; then
534
# The compiler can only warn and ignore the option if not recognized
535
# So say no if there are warnings
536
if test -s conftest.err; then
537
# Append any errors to the config.log.
538
cat conftest.err 1>&AS_MESSAGE_LOG_FD
544
CFLAGS="$save_CFLAGS"
547
if test x"[$]$2" = xyes; then
548
ifelse([$5], , :, [$5])
550
ifelse([$6], , :, [$6])
552
])# AC_LIBTOOL_COMPILER_OPTION
555
# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
556
# [ACTION-SUCCESS], [ACTION-FAILURE])
557
# ------------------------------------------------------------
558
# Check whether the given compiler option works
559
AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
560
[AC_CACHE_CHECK([$1], [$2],
562
save_LDFLAGS="$LDFLAGS"
563
LDFLAGS="$LDFLAGS $3"
564
echo "$lt_simple_link_test_code" > conftest.$ac_ext
565
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
566
# The compiler can only warn and ignore the option if not recognized
567
# So say no if there are warnings
568
if test -s conftest.err; then
569
# Append any errors to the config.log.
570
cat conftest.err 1>&AS_MESSAGE_LOG_FD
576
LDFLAGS="$save_LDFLAGS"
579
if test x"[$]$2" = xyes; then
580
ifelse([$4], , :, [$4])
582
ifelse([$5], , :, [$5])
584
])# AC_LIBTOOL_LINKER_OPTION
587
# AC_LIBTOOL_SYS_MAX_CMD_LEN
588
# --------------------------
589
AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
590
[# find the maximum length of command line arguments
591
AC_MSG_CHECKING([the maximum length of command line arguments])
592
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
598
# On DJGPP, this test can blow up pretty badly due to problems in libc
599
# (any single argument exceeding 2000 bytes causes a buffer overrun
600
# during glob expansion). Even if it were fixed, the result of this
601
# check would be larger than it should be.
602
lt_cv_sys_max_cmd_len=12288; # 12K is about right
606
# Under GNU Hurd, this test is not required because there is
607
# no limit to the length of command line arguments.
608
# Libtool will interpret -1 as no limit whatsoever
609
lt_cv_sys_max_cmd_len=-1;
613
# If test is not a shell built-in, we'll probably end up computing a
614
# maximum length that is only half of the actual maximum length, but
616
while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \
617
= "XX$testring") >/dev/null 2>&1 &&
618
new_result=`expr "X$testring" : ".*" 2>&1` &&
619
lt_cv_sys_max_cmd_len=$new_result &&
620
test $i != 17 # 1/2 MB should be enough
623
testring=$testring$testring
626
# Add a significant safety factor because C++ compilers can tack on massive
627
# amounts of additional arguments before passing them to the linker.
628
# It appears as though 1/2 is a usable value.
629
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
633
if test -n $lt_cv_sys_max_cmd_len ; then
634
AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
638
])# AC_LIBTOOL_SYS_MAX_CMD_LEN
642
# --------------------
643
AC_DEFUN([_LT_AC_CHECK_DLFCN],
644
[AC_CHECK_HEADERS(dlfcn.h)dnl
645
])# _LT_AC_CHECK_DLFCN
648
# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
649
# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
650
# ------------------------------------------------------------------
651
AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
652
[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
653
if test "$cross_compiling" = yes; then :
656
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
657
lt_status=$lt_dlunknown
658
cat > conftest.$ac_ext <<EOF
659
[#line __oline__ "configure"
660
#include "confdefs.h"
669
# define LT_DLGLOBAL RTLD_GLOBAL
672
# define LT_DLGLOBAL DL_GLOBAL
674
# define LT_DLGLOBAL 0
678
/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
679
find out it does not work in some platform. */
680
#ifndef LT_DLLAZY_OR_NOW
682
# define LT_DLLAZY_OR_NOW RTLD_LAZY
685
# define LT_DLLAZY_OR_NOW DL_LAZY
688
# define LT_DLLAZY_OR_NOW RTLD_NOW
691
# define LT_DLLAZY_OR_NOW DL_NOW
693
# define LT_DLLAZY_OR_NOW 0
701
extern "C" void exit (int);
704
void fnord() { int i=42;}
707
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
708
int status = $lt_dlunknown;
712
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
713
else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
714
/* dlclose (self); */
720
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
721
(./conftest; exit; ) 2>/dev/null
724
x$lt_dlno_uscore) $1 ;;
725
x$lt_dlneed_uscore) $2 ;;
726
x$lt_unknown|x*) $3 ;;
734
])# _LT_AC_TRY_DLOPEN_SELF
737
# AC_LIBTOOL_DLOPEN_SELF
738
# -------------------
739
AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
740
[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
741
if test "x$enable_dlopen" != xyes; then
742
enable_dlopen=unknown
743
enable_dlopen_self=unknown
744
enable_dlopen_self_static=unknown
751
lt_cv_dlopen="load_add_on"
753
lt_cv_dlopen_self=yes
756
cygwin* | mingw* | pw32*)
757
lt_cv_dlopen="LoadLibrary"
762
AC_CHECK_FUNC([shl_load],
763
[lt_cv_dlopen="shl_load"],
764
[AC_CHECK_LIB([dld], [shl_load],
765
[lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
766
[AC_CHECK_FUNC([dlopen],
767
[lt_cv_dlopen="dlopen"],
768
[AC_CHECK_LIB([dl], [dlopen],
769
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
770
[AC_CHECK_LIB([svld], [dlopen],
771
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
772
[AC_CHECK_LIB([dld], [dld_link],
773
[lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
782
if test "x$lt_cv_dlopen" != xno; then
788
case $lt_cv_dlopen in
790
save_CPPFLAGS="$CPPFLAGS"
791
test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
793
save_LDFLAGS="$LDFLAGS"
794
eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
797
LIBS="$lt_cv_dlopen_libs $LIBS"
799
AC_CACHE_CHECK([whether a program can dlopen itself],
800
lt_cv_dlopen_self, [dnl
801
_LT_AC_TRY_DLOPEN_SELF(
802
lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
803
lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
806
if test "x$lt_cv_dlopen_self" = xyes; then
807
LDFLAGS="$LDFLAGS $link_static_flag"
808
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
809
lt_cv_dlopen_self_static, [dnl
810
_LT_AC_TRY_DLOPEN_SELF(
811
lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
812
lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
816
CPPFLAGS="$save_CPPFLAGS"
817
LDFLAGS="$save_LDFLAGS"
822
case $lt_cv_dlopen_self in
823
yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
824
*) enable_dlopen_self=unknown ;;
827
case $lt_cv_dlopen_self_static in
828
yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
829
*) enable_dlopen_self_static=unknown ;;
832
])# AC_LIBTOOL_DLOPEN_SELF
835
# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
836
# ---------------------------------
837
# Check to see if options -c and -o are simultaneously supported by compiler
838
AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
839
[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
840
AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
841
[_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
842
[_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
843
$rm -r conftest 2>/dev/null
847
ifelse([$1],[],[save_CFLAGS="$CFLAGS"
848
CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"],
849
[$1],[CXX],[save_CXXFLAGS="$CXXFLAGS"
850
CXXFLAGS="$CXXFLAGS -o out/conftest2.$ac_objext"],
851
[$1],[GCJ],[save_GCJFLAGS="$GCJFLAGS"
852
GCJFLAGS="$GCJFLAGS -o out/conftest2.$ac_objext"])
853
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
855
# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
856
# that will create temporary files in the current directory regardless of
857
# the output directory. Thus, making CWD read-only will cause this test
858
# to fail, enabling locking or at least warning the user not to do parallel
862
if (eval $ac_compile 2>out/conftest.err) && test -s out/conftest2.$ac_objext
864
# The compiler can only warn and ignore the option if not recognized
865
# So say no if there are warnings
866
if test -s out/conftest.err; then
867
# Append any errors to the config.log.
868
cat out/conftest.err 1>&AS_MESSAGE_LOG_FD
870
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
873
ifelse([$1],[],[CFLAGS="$save_CFLAGS"],
874
[$1],[CXX],[CXXFLAGS="$save_CXXFLAGS"],
875
[$1],[GCJ],[GCJFLAGS="$save_GCJFLAGS"])
883
])# AC_LIBTOOL_PROG_CC_C_O
886
# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
887
# -----------------------------------------
888
# Check to see if we can do hard links to lock some files if needed
889
AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
890
[AC_REQUIRE([_LT_AC_LOCK])dnl
892
hard_links="nottested"
893
if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
894
# do not overwrite the value of need_locks provided by the user
895
AC_MSG_CHECKING([if we can lock with hard links])
898
ln conftest.a conftest.b 2>/dev/null && hard_links=no
900
ln conftest.a conftest.b 2>&5 || hard_links=no
901
ln conftest.a conftest.b 2>/dev/null && hard_links=no
902
AC_MSG_RESULT([$hard_links])
903
if test "$hard_links" = no; then
904
AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
910
])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
915
AC_DEFUN([AC_LIBTOOL_OBJDIR],
916
[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
917
[rm -f .libs 2>/dev/null
918
mkdir .libs 2>/dev/null
919
if test -d .libs; then
922
# MS-DOS does not allow filenames that begin with a dot.
925
rmdir .libs 2>/dev/null])
927
])# AC_LIBTOOL_OBJDIR
930
# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
931
# ----------------------------------------------
932
# Check hardcoding attributes.
933
AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
934
[AC_MSG_CHECKING([how to hardcode library paths into programs])
935
_LT_AC_TAGVAR(hardcode_action, $1)=
936
if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
937
test -n "$_LT_AC_TAGVAR(runpath_var $1)"; then
939
# We can hardcode non-existant directories.
940
if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
941
# If the only mechanism to avoid hardcoding is shlibpath_var, we
942
# have to relink, otherwise we might link with an installed library
943
# when we should be linking with a yet-to-be-installed one
944
## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
945
test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
946
# Linking always hardcodes the temporary library directory.
947
_LT_AC_TAGVAR(hardcode_action, $1)=relink
949
# We can link without hardcoding, and we can hardcode nonexisting dirs.
950
_LT_AC_TAGVAR(hardcode_action, $1)=immediate
953
# We cannot hardcode anything, or else we can only hardcode existing
955
_LT_AC_TAGVAR(hardcode_action, $1)=unsupported
957
AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
959
if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
960
# Fast installation is not supported
961
enable_fast_install=no
962
elif test "$shlibpath_overrides_runpath" = yes ||
963
test "$enable_shared" = no; then
964
# Fast installation is not necessary
965
enable_fast_install=needless
967
])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
970
# AC_LIBTOOL_SYS_LIB_STRIP
971
# ------------------------
972
AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
975
AC_MSG_CHECKING([whether stripping libraries is possible])
976
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
977
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
978
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
983
])# AC_LIBTOOL_SYS_LIB_STRIP
986
# AC_LIBTOOL_SYS_DYNAMIC_LINKER
987
# -----------------------------
988
# PORTME Fill in your ld.so characteristics
989
AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
990
[AC_MSG_CHECKING([dynamic linker characteristics])
992
libname_spec='lib$name'
999
shlibpath_overrides_runpath=unknown
1001
dynamic_linker="$host_os ld.so"
1002
sys_lib_dlsearch_path_spec="/lib /usr/lib"
1003
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
1004
need_lib_prefix=unknown
1005
hardcode_into_libs=no
1007
# when you set need_version to no, make sure it does not cause -set_version
1008
# flags to be left without arguments
1009
need_version=unknown
1014
library_names_spec='${libname}${release}.so$versuffix $libname.a'
1015
shlibpath_var=LIBPATH
1017
# AIX 3 has no versioning support, so we append a major version to the name.
1018
soname_spec='${libname}${release}.so$major'
1023
if test "$host_cpu" = ia64; then
1024
# AIX 5 supports IA64
1025
library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
1026
shlibpath_var=LD_LIBRARY_PATH
1028
# With GCC up to 2.95.x, collect2 would create an import file
1029
# for dependence libraries. The import file would start with
1030
# the line `#! .'. This would cause the generated library to
1031
# depend on `.', always an invalid library. This was fixed in
1032
# development snapshots of GCC prior to 3.0.
1034
aix4 | aix4.[[01]] | aix4.[[01]].*)
1035
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
1037
echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
1044
# AIX (on Power*) has no versioning support, so currently we can not hardcode correct
1045
# soname into executable. Probably we can add versioning support to
1046
# collect2, so additional links can be useful in future.
1047
if test "$aix_use_runtimelinking" = yes; then
1048
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
1049
# instead of lib<name>.a to let people know that these are not
1050
# typical AIX shared libraries.
1051
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1053
# We preserve .a as extension for shared libraries through AIX4.2
1054
# and later when we are not doing run time linking.
1055
library_names_spec='${libname}${release}.a $libname.a'
1056
soname_spec='${libname}${release}.so$major'
1058
shlibpath_var=LIBPATH
1063
library_names_spec='$libname.ixlibrary $libname.a'
1064
# Create ${libname}_ixlibrary.a entries in /sys/libs.
1065
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
1069
library_names_spec='${libname}.so'
1070
dynamic_linker="$host_os ld.so"
1071
shlibpath_var=LIBRARY_PATH
1077
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1078
soname_spec='${libname}${release}.so$major'
1079
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
1080
shlibpath_var=LD_LIBRARY_PATH
1081
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
1082
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
1083
# the default ld.so.conf also contains /usr/contrib/lib and
1084
# /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
1085
# libtool to hard-code these into programs
1088
cygwin* | mingw* | pw32*)
1089
version_type=windows
1092
case $GCC,$host_os in
1094
library_names_spec='$libname.dll.a'
1095
sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
1096
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
1097
postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
1098
dldir=$destdir/`dirname \$dlpath`~
1099
test -d \$dldir || mkdir -p \$dldir~
1100
$install_prog .libs/$dlname \$dldir/$dlname'
1101
postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
1102
dlpath=$dir/\$dldll~
1106
library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
1107
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://"`
1108
if echo "$sys_lib_search_path_spec" | [egrep ';[C-Z]:/' >/dev/null]; then
1109
# It is most probably a Windows format PATH printed by
1110
# mingw gcc, but we are running on Cygwin. Gcc prints its search
1111
# path with ; separators, and with drive letters. We can handle the
1112
# drive letters (cygwin fileutils understands them), so leave them,
1113
# especially as we might pass files found there to a mingw objdump,
1114
# which wouldn't understand a cygwinified path. Ahh.
1115
sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e 's/;/ /g'`
1117
sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e "s/$PATH_SEPARATOR/ /g"`
1121
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
1124
library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
1127
dynamic_linker='Win32 ld.exe'
1128
# FIXME: first we should search . and the directory the executable is in
1132
darwin* | rhapsody*)
1133
dynamic_linker="$host_os dyld"
1137
# FIXME: Relying on posixy $() will cause problems for
1138
# cross-compilation, but unfortunately the echo tests do not
1139
# yet detect zsh echo's removal of \ escapes.
1140
library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
1141
soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
1142
shlibpath_overrides_runpath=yes
1143
shlibpath_var=DYLD_LIBRARY_PATH
1150
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1151
soname_spec='${libname}${release}.so$major'
1152
shlibpath_var=LD_LIBRARY_PATH
1160
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
1161
version_type=freebsd-$objformat
1162
case $version_type in
1164
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
1169
library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
1173
shlibpath_var=LD_LIBRARY_PATH
1176
shlibpath_overrides_runpath=yes
1178
freebsd3.[01]* | freebsdelf3.[01]*)
1179
shlibpath_overrides_runpath=yes
1180
hardcode_into_libs=yes
1183
shlibpath_overrides_runpath=no
1184
hardcode_into_libs=yes
1193
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
1194
soname_spec='${libname}${release}.so$major'
1195
shlibpath_var=LD_LIBRARY_PATH
1196
hardcode_into_libs=yes
1199
hpux9* | hpux10* | hpux11*)
1200
# Give a soname corresponding to the major version so that dld.sl refuses to
1201
# link against other versions.
1205
if test "$host_cpu" = ia64; then
1206
hardcode_into_libs=yes
1207
dynamic_linker="$host_os dld.so"
1208
shlibpath_var=LD_LIBRARY_PATH
1209
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
1210
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1211
soname_spec='${libname}${release}.so$major'
1212
if test "X$HPUX_IA64_MODE" = X32; then
1213
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
1215
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
1217
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
1219
dynamic_linker="$host_os dld.sl"
1220
shlibpath_var=SHLIB_PATH
1221
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
1222
library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
1223
soname_spec='${libname}${release}.sl$major'
1225
# HP-UX runs *really* slowly unless shared libraries are mode 555.
1226
postinstall_cmds='chmod 555 $lib'
1229
irix5* | irix6* | nonstopux*)
1231
nonstopux*) version_type=nonstopux ;;
1232
*) version_type=irix ;;
1236
soname_spec='${libname}${release}.so$major'
1237
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
1239
irix5* | nonstopux*)
1243
case $LD in # libtool.m4 will add one of these switches to LD
1244
*-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
1245
*-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
1246
*-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
1247
*) libsuff= shlibsuff= libmagic=never-match;;
1251
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
1252
shlibpath_overrides_runpath=no
1253
sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
1254
sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
1257
# No shared lib support for Linux oldld, aout, or coff.
1258
linux*oldld* | linux*aout* | linux*coff*)
1262
# This must be Linux ELF.
1267
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1268
soname_spec='${libname}${release}.so$major'
1269
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
1271
if test "x$LINUX_64_MODE" = x64; then
1272
# Some platforms are per default 64-bit, so there's no /lib64
1273
if test -d /lib64; then
1277
shlibpath_var=LD_LIBRARY_PATH
1278
shlibpath_overrides_runpath=no
1279
sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
1280
sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
1281
# This implies no fast_install, which is unacceptable.
1282
# Some rework will be needed to allow for fast_install
1283
# before this can be enabled.
1284
hardcode_into_libs=yes
1286
# We used to test for /lib/ld.so.1 and disable shared libraries on
1287
# powerpc, because MkLinux only supported shared libraries with the
1288
# GNU dynamic linker. Since this was broken with cross compilers,
1289
# most powerpc-linux boxes support dynamic linking these days and
1290
# people can always --disable-shared, the test was removed, and we
1291
# assume the GNU/Linux dynamic linker is in use.
1292
dynamic_linker='GNU/Linux ld.so'
1299
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1300
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1301
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1302
dynamic_linker='NetBSD (a.out) ld.so'
1304
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
1305
soname_spec='${libname}${release}.so$major'
1306
dynamic_linker='NetBSD ld.elf_so'
1308
shlibpath_var=LD_LIBRARY_PATH
1309
shlibpath_overrides_runpath=yes
1310
hardcode_into_libs=yes
1315
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1316
shlibpath_var=LD_LIBRARY_PATH
1317
shlibpath_overrides_runpath=yes
1324
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1325
soname_spec='${libname}${release}.so$major'
1326
shlibpath_var=LD_LIBRARY_PATH
1327
shlibpath_overrides_runpath=yes
1334
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1335
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1336
shlibpath_var=LD_LIBRARY_PATH
1337
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
1339
openbsd2.[[89]] | openbsd2.[[89]].*)
1340
shlibpath_overrides_runpath=no
1343
shlibpath_overrides_runpath=yes
1347
shlibpath_overrides_runpath=yes
1352
libname_spec='$name'
1354
library_names_spec='$libname.dll $libname.a'
1355
dynamic_linker='OS/2 ld.exe'
1356
shlibpath_var=LIBPATH
1359
osf3* | osf4* | osf5*)
1363
soname_spec='${libname}${release}.so'
1364
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
1365
shlibpath_var=LD_LIBRARY_PATH
1366
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
1367
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
1372
soname_spec='${libname}${release}.so$major'
1373
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1374
shlibpath_var=LD_LIBRARY_PATH
1381
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1382
soname_spec='${libname}${release}.so$major'
1383
shlibpath_var=LD_LIBRARY_PATH
1384
shlibpath_overrides_runpath=yes
1385
hardcode_into_libs=yes
1386
# ldd complains unless libraries are executable
1387
postinstall_cmds='chmod +x $lib'
1392
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1393
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
1394
shlibpath_var=LD_LIBRARY_PATH
1395
shlibpath_overrides_runpath=yes
1396
if test "$with_gnu_ld" = yes; then
1402
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
1404
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1405
soname_spec='${libname}${release}.so$major'
1406
shlibpath_var=LD_LIBRARY_PATH
1407
case $host_vendor in
1409
shlibpath_overrides_runpath=no
1414
shlibpath_overrides_runpath=no
1415
sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
1421
if test -d /usr/nec ;then
1423
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
1424
soname_spec='$libname.so.$major'
1425
shlibpath_var=LD_LIBRARY_PATH
1431
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1432
soname_spec='${libname}${release}.so$major'
1433
shlibpath_var=LD_LIBRARY_PATH
1440
AC_MSG_RESULT([$dynamic_linker])
1441
test "$dynamic_linker" = no && can_build_shared=no
1442
])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
1447
AC_DEFUN([_LT_AC_TAGCONFIG],
1448
[AC_ARG_WITH([tags],
1449
[AC_HELP_STRING([--with-tags=TAGS],
1450
[include additional configurations @<:@CXX,GCJ@:>@])],
1451
[tagnames="$withval"],
1454
mingw*|cygwin*) tagnames="$tagnames,RC" ;;
1457
if test -f "$ltmain" && test -n "$tagnames"; then
1458
if test ! -f "${ofile}"; then
1459
AC_MSG_WARN([output file `$ofile' does not exist])
1462
if test -z "$LTCC"; then
1463
eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
1464
if test -z "$LTCC"; then
1465
AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
1467
AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
1471
# Extract list of available tagged configurations in $ofile.
1472
# Note that this assumes the entire list is on one line.
1473
available_tags=`grep "^available_tags=" "${ofile}" | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
1475
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1476
for tagname in $tagnames; do
1478
# Check whether tagname contains only valid characters
1479
case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
1481
*) AC_MSG_ERROR([invalid tag name: $tagname])
1485
if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
1487
AC_MSG_ERROR([tag name \"$tagname\" already exists])
1490
# Update the list of available tags.
1491
if test -n "$tagname"; then
1492
echo appending configuration tag \"$tagname\" to $ofile
1496
AC_LIBTOOL_LANG_CXX_CONFIG
1500
AC_LIBTOOL_LANG_GCJ_CONFIG
1504
AC_LIBTOOL_LANG_RC_CONFIG
1508
AC_MSG_ERROR([Unsupported tag name: $tagname])
1512
# Append the new tag name to the list of available tags.
1513
available_tags="$available_tags $tagname"
1518
# Now substitute the updated list of available tags.
1519
if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
1520
mv "${ofile}T" "$ofile"
1524
AC_MSG_ERROR([unable to update list of available tagged configurations.])
1527
])# _LT_AC_TAGCONFIG
1532
# enable checks for dlopen support
1533
AC_DEFUN([AC_LIBTOOL_DLOPEN],
1534
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
1535
])# AC_LIBTOOL_DLOPEN
1538
# AC_LIBTOOL_WIN32_DLL
1539
# --------------------
1540
# declare package support for building win32 dll's
1541
AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
1542
[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
1543
])# AC_LIBTOOL_WIN32_DLL
1546
# AC_ENABLE_SHARED([DEFAULT])
1547
# ---------------------------
1548
# implement the --enable-shared flag
1549
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
220
1550
AC_DEFUN([AC_ENABLE_SHARED],
221
1551
[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
222
AC_ARG_ENABLE(shared,
223
changequote(<<, >>)dnl
224
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
226
[p=${PACKAGE-default}
228
yes) enable_shared=yes ;;
229
no) enable_shared=no ;;
232
# Look at the argument we got. We use all the common list separators.
233
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
234
for pkg in $enableval; do
235
if test "X$pkg" = "X$p"; then
242
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
245
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
246
AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
247
AC_ENABLE_SHARED(no)])
249
# AC_ENABLE_STATIC - implement the --enable-static flag
250
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
251
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
1552
AC_ARG_ENABLE([shared],
1553
[AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
1554
[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
1555
[p=${PACKAGE-default}
1557
yes) enable_shared=yes ;;
1558
no) enable_shared=no ;;
1561
# Look at the argument we got. We use all the common list separators.
1562
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1563
for pkg in $enableval; do
1565
if test "X$pkg" = "X$p"; then
1572
[enable_shared=]AC_ENABLE_SHARED_DEFAULT)
1573
])# AC_ENABLE_SHARED
1578
#- set the default shared flag to --disable-shared
1579
AC_DEFUN([AC_DISABLE_SHARED],
1580
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1581
AC_ENABLE_SHARED(no)
1582
])# AC_DISABLE_SHARED
1585
# AC_ENABLE_STATIC([DEFAULT])
1586
# ---------------------------
1587
# implement the --enable-static flag
1588
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
253
1589
AC_DEFUN([AC_ENABLE_STATIC],
254
1590
[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
255
AC_ARG_ENABLE(static,
256
changequote(<<, >>)dnl
257
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
259
[p=${PACKAGE-default}
261
yes) enable_static=yes ;;
262
no) enable_static=no ;;
265
# Look at the argument we got. We use all the common list separators.
266
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
267
for pkg in $enableval; do
268
if test "X$pkg" = "X$p"; then
275
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
278
# AC_DISABLE_STATIC - set the default static flag to --disable-static
1591
AC_ARG_ENABLE([static],
1592
[AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
1593
[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
1594
[p=${PACKAGE-default}
1596
yes) enable_static=yes ;;
1597
no) enable_static=no ;;
1600
# Look at the argument we got. We use all the common list separators.
1601
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1602
for pkg in $enableval; do
1604
if test "X$pkg" = "X$p"; then
1611
[enable_static=]AC_ENABLE_STATIC_DEFAULT)
1612
])# AC_ENABLE_STATIC
1617
# set the default static flag to --disable-static
279
1618
AC_DEFUN([AC_DISABLE_STATIC],
280
1619
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
281
AC_ENABLE_STATIC(no)])
284
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
285
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
286
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
1620
AC_ENABLE_STATIC(no)
1621
])# AC_DISABLE_STATIC
1624
# AC_ENABLE_FAST_INSTALL([DEFAULT])
1625
# ---------------------------------
1626
# implement the --enable-fast-install flag
1627
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
288
1628
AC_DEFUN([AC_ENABLE_FAST_INSTALL],
289
1629
[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
290
AC_ARG_ENABLE(fast-install,
291
changequote(<<, >>)dnl
292
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
294
[p=${PACKAGE-default}
296
yes) enable_fast_install=yes ;;
297
no) enable_fast_install=no ;;
299
enable_fast_install=no
300
# Look at the argument we got. We use all the common list separators.
301
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
302
for pkg in $enableval; do
303
if test "X$pkg" = "X$p"; then
304
enable_fast_install=yes
310
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
313
# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
1630
AC_ARG_ENABLE([fast-install],
1631
[AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
1632
[optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
1633
[p=${PACKAGE-default}
1635
yes) enable_fast_install=yes ;;
1636
no) enable_fast_install=no ;;
1638
enable_fast_install=no
1639
# Look at the argument we got. We use all the common list separators.
1640
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1641
for pkg in $enableval; do
1643
if test "X$pkg" = "X$p"; then
1644
enable_fast_install=yes
1650
[enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
1651
])# AC_ENABLE_FAST_INSTALL
1654
# AC_DISABLE_FAST_INSTALL
1655
# -----------------------
1656
# set the default to --disable-fast-install
314
1657
AC_DEFUN([AC_DISABLE_FAST_INSTALL],
315
1658
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
316
AC_ENABLE_FAST_INSTALL(no)])
318
# AC_LIBTOOL_PICMODE - implement the --with-pic flag
319
# Usage: AC_LIBTOOL_PICMODE[(MODE)]
320
# Where MODE is either `yes' or `no'. If omitted, it defaults to
1659
AC_ENABLE_FAST_INSTALL(no)
1660
])# AC_DISABLE_FAST_INSTALL
1663
# AC_LIBTOOL_PICMODE([MODE])
1664
# --------------------------
1665
# implement the --with-pic flag
1666
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
322
1667
AC_DEFUN([AC_LIBTOOL_PICMODE],
323
1668
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
324
pic_mode=ifelse($#,1,$1,default)])
327
# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
1669
pic_mode=ifelse($#,1,$1,default)
1670
])# AC_LIBTOOL_PICMODE
1673
# AC_PATH_TOOL_PREFIX
1674
# -------------------
1675
# find a file program which can recognise shared library
328
1676
AC_DEFUN([AC_PATH_TOOL_PREFIX],
329
1677
[AC_MSG_CHECKING([for $1])
330
1678
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
331
1679
[case $MAGIC_CMD in
1680
[[\\/*] | ?:[\\/]*])
333
1681
lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
336
lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
339
ac_save_MAGIC_CMD="$MAGIC_CMD"
340
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
1684
lt_save_MAGIC_CMD="$MAGIC_CMD"
1685
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
341
1686
dnl $ac_dummy forces splitting on constant user-supplied paths.
342
1687
dnl POSIX.2 word splitting is done only on the output of word expansions,
343
1688
dnl not every word. This closes a longstanding sh security hole.
344
1689
ac_dummy="ifelse([$2], , $PATH, [$2])"
345
1690
for ac_dir in $ac_dummy; do
346
1692
test -z "$ac_dir" && ac_dir=.
347
1693
if test -f $ac_dir/$1; then
348
1694
lt_cv_path_MAGIC_CMD="$ac_dir/$1"
771
2165
if test x"$enable_ltdl_install" = x"yes"; then
772
2166
ac_configure_args="$ac_configure_args --enable-ltdl-install"
773
2167
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
774
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2168
LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
776
2170
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
777
2171
LIBLTDL="-lltdl"
2174
# For backwards non-gettext consistent compatibility...
2176
])# AC_LIBLTDL_INSTALLABLE
782
2179
# If this macro is not defined by Autoconf, define it here.
783
2180
ifdef([AC_PROVIDE_IFELSE],
785
2182
[define([AC_PROVIDE_IFELSE],
786
[ifdef([AC_PROVIDE_$1],
789
# AC_LIBTOOL_CXX - enable support for C++ libraries
790
AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_AC_LIBTOOL_CXX])])
792
AC_DEFUN([_AC_LIBTOOL_CXX],
2183
[ifdef([AC_PROVIDE_$1],
2189
# enable support for C++ libraries
2190
AC_DEFUN([AC_LIBTOOL_CXX],
2191
[AC_REQUIRE([_LT_AC_LANG_CXX])
2197
AC_DEFUN([_LT_AC_LANG_CXX],
793
2198
[AC_REQUIRE([AC_PROG_CXX])
794
2199
AC_REQUIRE([AC_PROG_CXXCPP])
795
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
797
lt_save_CFLAGS="$CFLAGS"
798
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
799
dnl is set to the C++ compiler.
800
AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
801
MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
802
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
803
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
804
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
805
deplibs_check_method="$deplibs_check_method" \
806
file_magic_cmd="$file_magic_cmd" \
807
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
808
--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
809
|| AC_MSG_ERROR([libtool tag configuration failed])
811
CFLAGS="$lt_save_CFLAGS"
813
# Redirect the config.log output again, so that the ltconfig log is not
814
# clobbered by the next message.
818
# AC_LIBTOOL_GCJ - enable support for GCJ libraries
819
AC_DEFUN([AC_LIBTOOL_GCJ],[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
821
AC_DEFUN([_AC_LIBTOOL_GCJ],
822
[AC_REQUIRE([AC_PROG_LIBTOOL])
823
AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
2205
# enable support for GCJ libraries
2206
AC_DEFUN([AC_LIBTOOL_GCJ],
2207
[AC_REQUIRE([_LT_AC_LANG_GCJ])
2213
AC_DEFUN([_LT_AC_LANG_GCJ],
2214
[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
824
2215
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
825
2216
[AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
826
2217
[ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
827
[ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
828
[AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
829
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
831
lt_save_CFLAGS="$CFLAGS"
832
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
833
dnl is set to the C++ compiler.
834
AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="$CPPFLAGS" \
835
MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
836
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
837
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
838
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
839
deplibs_check_method="$deplibs_check_method" \
840
file_magic_cmd="$file_magic_cmd" \
841
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
842
--build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
843
|| AC_MSG_ERROR([libtool tag configuration failed])
845
CFLAGS="$lt_save_CFLAGS"
847
# Redirect the config.log output again, so that the ltconfig log is not
848
# clobbered by the next message.
2218
[ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
2219
[AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
2225
# enable support for Windows resource files
2226
AC_DEFUN([AC_LIBTOOL_RC],
2227
[AC_REQUIRE([AC_PROG_RC])
2231
# AC_LIBTOOL_LANG_C_CONFIG
2232
# ------------------------
2233
# Ensure that the configuration vars for the C compiler are
2234
# suitably defined. Those variables are subsequently used by
2235
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2236
AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
2237
AC_DEFUN([_LT_AC_LANG_C_CONFIG],
2241
# Source file extension for C test sources.
2244
# Object file extension for compiled C test sources.
2246
_LT_AC_TAGVAR(objext, $1)=$objext
2248
# Code to be used in simple compile tests
2249
lt_simple_compile_test_code="int some_variable = 0;"
2251
# Code to be used in simple link tests
2252
lt_simple_link_test_code='main(){return(0);}'
2257
# Check for any special shared library compilation flags.
2259
_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
2260
if test "$GCC" = no; then
2263
_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
2267
if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
2268
AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
2269
if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then :
2271
AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
2272
_LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
2278
# Check to make sure the static flag actually works.
2280
AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
2281
_LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
2282
$_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
2284
[_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
2288
## There is no encapsulation within the following macros, do not change
2289
## the running order or otherwise move them around unless you know exactly
2290
## what you are doing...
2291
AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
2292
AC_LIBTOOL_PROG_COMPILER_PIC($1)
2293
AC_LIBTOOL_PROG_CC_C_O($1)
2294
AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
2295
AC_LIBTOOL_PROG_LD_SHLIBS($1)
2296
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
2297
AC_LIBTOOL_SYS_LIB_STRIP
2298
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
2299
AC_LIBTOOL_DLOPEN_SELF($1)
2301
# Report which librarie types wil actually be built
2302
AC_MSG_CHECKING([if libtool supports shared libraries])
2303
AC_MSG_RESULT([$can_build_shared])
2305
AC_MSG_CHECKING([whether to build shared libraries])
2306
test "$can_build_shared" = "no" && enable_shared=no
2308
# On AIX, shared libraries and static libraries use the same namespace, and
2309
# are all built from PIC.
2312
test "$enable_shared" = yes && enable_static=no
2313
if test -n "$RANLIB"; then
2314
archive_cmds="$archive_cmds~\$RANLIB \$lib"
2315
postinstall_cmds='$RANLIB $lib'
2320
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2321
test "$enable_shared" = yes && enable_static=no
2325
AC_MSG_RESULT([$enable_shared])
2327
AC_MSG_CHECKING([whether to build static libraries])
2328
# Make sure either enable_shared or enable_static is yes.
2329
test "$enable_shared" = yes || enable_static=yes
2330
AC_MSG_RESULT([$enable_static])
2332
AC_LIBTOOL_CONFIG($1)
2336
])# AC_LIBTOOL_LANG_C_CONFIG
2339
# AC_LIBTOOL_LANG_CXX_CONFIG
2340
# --------------------------
2341
# Ensure that the configuration vars for the C compiler are
2342
# suitably defined. Those variables are subsequently used by
2343
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2344
AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
2345
AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
2347
AC_REQUIRE([AC_PROG_CXX])
2348
AC_REQUIRE([AC_PROG_CXXCPP])
2350
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2351
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
2352
_LT_AC_TAGVAR(always_export_symbols, $1)=no
2353
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
2354
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
2355
_LT_AC_TAGVAR(hardcode_direct, $1)=no
2356
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
2357
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2358
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
2359
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
2360
_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
2361
_LT_AC_TAGVAR(no_undefined_flag, $1)=
2362
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2364
# Dependencies to place before and after the object being linked:
2365
_LT_AC_TAGVAR(predep_objects, $1)=
2366
_LT_AC_TAGVAR(postdep_objects, $1)=
2367
_LT_AC_TAGVAR(predeps, $1)=
2368
_LT_AC_TAGVAR(postdeps, $1)=
2369
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
2371
# Source file extension for C test sources.
2374
# Object file extension for compiled C test sources.
2376
_LT_AC_TAGVAR(objext, $1)=$objext
2378
# Code to be used in simple compile tests
2379
lt_simple_compile_test_code="int some_variable = 0;"
2381
# Code to be used in simple link tests
2382
lt_simple_link_test_code='int main(int char *[]) { return(0); }'
2384
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
2387
# Allow CC to be a program name with arguments.
2392
_LT_AC_TAGVAR(compiler, $1)=$CC
2393
cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
2395
# We don't want -fno-exception wen compiling C++ code, so set the
2396
# no_builtin_flag separately
2397
if test "$GXX" = yes; then
2398
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
2400
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
2403
if test "$GXX" = yes; then
2404
# Set up default GNU C++ configuration
2406
# Check if GNU C++ uses GNU ld as the underlying linker, since the
2407
# archiving commands below assume that GNU ld is being used.
2408
if eval "`$CC -print-prog-name=ld` --version 2>&1" | \
2409
egrep 'GNU ld' > /dev/null; then
2412
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
2413
_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'
2415
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
2416
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
2418
# If archive_cmds runs LD, not CC, wlarc should be empty
2419
# XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
2420
# investigate it a little bit more. (MM)
2423
# ancient GNU ld didn't support --whole-archive et. al.
2424
if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
2425
egrep 'no-whole-archive' > /dev/null; then
2426
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
2428
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2434
# A generic and very simple default shared library creation
2435
# command for GNU C++ for the case where it uses the native
2436
# linker, instead of GNU ld. If possible, this setting should
2437
# overridden to take advantage of the native linker features on
2438
# the platform it is being used on.
2439
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
2442
# Commands to make compiler produce verbose output that lists
2443
# what "hidden" libraries, object files and flags are used when
2444
# linking a shared library.
2445
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
2453
# PORTME: fill in a description of your system's C++ link characteristics
2454
AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
2455
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
2458
# FIXME: insert proper C++ library support
2459
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2462
if test "$host_cpu" = ia64; then
2463
# On IA64, the linker does run time linking by default, so we don't
2464
# have to do anything special.
2465
aix_use_runtimelinking=no
2466
exp_sym_flag='-Bexport'
2469
# KDE requires run time linking. Make it the default.
2470
aix_use_runtimelinking=yes
2471
exp_sym_flag='-bexport'
2472
no_entry_flag='-bnoentry'
2475
# When large executables or shared objects are built, AIX ld can
2476
# have problems creating the table of contents. If linking a library
2477
# or program results in "error TOC overflow" add -mminimal-toc to
2478
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
2479
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
2481
_LT_AC_TAGVAR(archive_cmds, $1)=''
2482
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
2483
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
2484
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2486
if test "$GXX" = yes; then
2487
case $host_os in aix4.[012]|aix4.[012].*)
2488
# We only want to do this on AIX 4.2 and lower, the check
2489
# below for broken collect2 doesn't work under 4.3+
2490
collect2name=`${CC} -print-prog-name=collect2`
2491
if test -f "$collect2name" && \
2492
strings "$collect2name" | grep resolve_lib_name >/dev/null
2494
# We have reworked collect2
2495
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
2497
# We have old collect2
2498
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
2499
# It fails to find uninstalled libraries when the uninstalled
2500
# path is not listed in the libpath. Setting hardcode_minus_L
2501
# to unsupported forces relinking
2502
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
2503
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2504
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2507
shared_flag='-shared'
2510
if test "$host_cpu" = ia64; then
2511
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
2512
# chokes on -Wl,-G. The following line is correct:
2515
if test "$aix_use_runtimelinking" = yes; then
2516
shared_flag='-qmkshrobj ${wl}-G'
2518
shared_flag='-qmkshrobj'
2523
# Let the compiler handle the export list.
2524
_LT_AC_TAGVAR(always_export_symbols, $1)=no
2525
if test "$aix_use_runtimelinking" = yes; then
2526
# Warning - without using the other runtime loading flags (-brtl),
2527
# -berok will link without error, but may produce a broken library.
2528
_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
2529
# Determine the default libpath from the value encoded in an empty executable.
2530
_LT_AC_SYS_LIBPATH_AIX
2531
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
2533
_LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
2534
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$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}$exp_sym_flag:\$export_symbols $shared_flag"
2536
if test "$host_cpu" = ia64; then
2537
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
2538
_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
2539
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
2541
# Determine the default libpath from the value encoded in an empty executable.
2542
_LT_AC_SYS_LIBPATH_AIX
2543
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
2544
# Warning - without using the other run time loading flags,
2545
# -berok will link without error, but may produce a broken library.
2546
_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
2547
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
2548
# -bexpall does not export symbols beginning with underscore (_)
2549
_LT_AC_TAGVAR(always_export_symbols, $1)=yes
2550
# Exported symbols can be pulled into shared objects from archives
2551
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
2552
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
2553
# This is similar to how AIX traditionally builds it's shared libraries.
2554
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
2559
case $cc_basename in
2561
# FIXME: insert proper C++ library support
2562
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2567
case $cc_basename in
2569
# FIXME: insert proper C++ library support
2570
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2573
# Green Hills C++ Compiler
2574
# FIXME: insert proper C++ library support
2575
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2578
# FIXME: insert proper C++ library support
2579
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2584
# C++ shared libraries reported to be fairly broken before switch to ELF
2585
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2588
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2591
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
2593
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
2598
if test $with_gnu_ld = no; then
2599
if test "$host_cpu" = ia64; then
2600
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2602
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
2603
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2604
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
2607
if test "$host_cpu" = ia64; then
2608
_LT_AC_TAGVAR(hardcode_direct, $1)=no
2609
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
2611
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
2613
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
2614
# but as the default
2615
# location of the library.
2617
case $cc_basename in
2619
# FIXME: insert proper C++ library support
2620
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2625
_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'
2628
if test "$host_cpu" = ia64; then
2629
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
2631
_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'
2635
# Commands to make compiler produce verbose output that lists
2636
# what "hidden" libraries, object files and flags are used when
2637
# linking a shared library.
2639
# There doesn't appear to be a way to prevent this compiler from
2640
# explicitly linking system object files so we need to strip them
2641
# from the output so that they don't get included in the library
2643
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2646
if test "$GXX" = yes; then
2647
if test $with_gnu_ld = no; then
2650
_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'
2653
if test "$host_cpu" = ia64; then
2654
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
2656
_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'
2662
# FIXME: insert proper C++ library support
2663
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2669
case $cc_basename in
2672
_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 ${objdir}/so_locations -o $lib'
2674
# Archives containing C++ object files must be created using
2675
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
2676
# necessary to make sure instantiated templates are included
2678
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
2681
if test "$GXX" = yes; then
2682
if test "$with_gnu_ld" = no; then
2683
_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}${objdir}/so_locations -o $lib'
2685
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
2688
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2691
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
2692
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2695
case $cc_basename in
2697
# Kuck and Associates, Inc. (KAI) C++ Compiler
2699
# KCC will only create a shared library if the output file
2700
# ends with ".so" (or ".sl" for HP-UX), so rename the library
2701
# to its proper name (with version) after linking.
2702
_LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
2703
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
2705
# Commands to make compiler produce verbose output that lists
2706
# what "hidden" libraries, object files and flags are used when
2707
# linking a shared library.
2709
# There doesn't appear to be a way to prevent this compiler from
2710
# explicitly linking system object files so we need to strip them
2711
# from the output so that they don't get included in the library
2713
output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2715
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
2716
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
2718
# Archives containing C++ object files must be created using
2719
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
2720
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
2724
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
2725
_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'
2727
runpath_var=LD_RUN_PATH
2728
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
2729
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2731
# Commands to make compiler produce verbose output that lists
2732
# what "hidden" libraries, object files and flags are used when
2733
# linking a shared library.
2735
# There doesn't appear to be a way to prevent this compiler from
2736
# explicitly linking system object files so we need to strip them
2737
# from the output so that they don't get included in the library
2739
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'
2744
# FIXME: insert proper C++ library support
2745
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2748
# FIXME: insert proper C++ library support
2749
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2752
case $cc_basename in
2754
# FIXME: insert proper C++ library support
2755
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2758
# FIXME: insert proper C++ library support
2759
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2764
# NetBSD uses g++ - do we need to do anything?
2767
case $cc_basename in
2769
# Kuck and Associates, Inc. (KAI) C++ Compiler
2771
# KCC will only create a shared library if the output file
2772
# ends with ".so" (or ".sl" for HP-UX), so rename the library
2773
# to its proper name (with version) after linking.
2774
_LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
2776
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
2777
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2779
# Archives containing C++ object files must be created using
2780
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
2781
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
2785
# Rational C++ 2.4.1
2786
# FIXME: insert proper C++ library support
2787
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2790
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
2791
_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 ${objdir}/so_locations -o $lib'
2793
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
2794
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2796
# Commands to make compiler produce verbose output that lists
2797
# what "hidden" libraries, object files and flags are used when
2798
# linking a shared library.
2800
# There doesn't appear to be a way to prevent this compiler from
2801
# explicitly linking system object files so we need to strip them
2802
# from the output so that they don't get included in the library
2804
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'
2807
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
2808
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
2809
_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}${objdir}/so_locations -o $lib'
2811
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
2812
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2814
# Commands to make compiler produce verbose output that lists
2815
# what "hidden" libraries, object files and flags are used when
2816
# linking a shared library.
2817
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
2820
# FIXME: insert proper C++ library support
2821
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2827
case $cc_basename in
2829
# Kuck and Associates, Inc. (KAI) C++ Compiler
2831
# KCC will only create a shared library if the output file
2832
# ends with ".so" (or ".sl" for HP-UX), so rename the library
2833
# to its proper name (with version) after linking.
2834
_LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
2836
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
2837
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2839
# Archives containing C++ object files must be created using
2840
# the KAI C++ compiler.
2841
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
2844
# Rational C++ 2.4.1
2845
# FIXME: insert proper C++ library support
2846
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2849
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
2850
_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 ${objdir}/so_locations -o $lib'
2851
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done~
2852
echo "-hidden">> $lib.exp~
2853
$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 $objdir/so_locations -o $lib~
2856
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
2857
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2859
# Commands to make compiler produce verbose output that lists
2860
# what "hidden" libraries, object files and flags are used when
2861
# linking a shared library.
2863
# There doesn't appear to be a way to prevent this compiler from
2864
# explicitly linking system object files so we need to strip them
2865
# from the output so that they don't get included in the library
2867
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'
2870
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
2871
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
2872
_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}${objdir}/so_locations -o $lib'
2874
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
2875
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2877
# Commands to make compiler produce verbose output that lists
2878
# what "hidden" libraries, object files and flags are used when
2879
# linking a shared library.
2880
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
2883
# FIXME: insert proper C++ library support
2884
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2890
# FIXME: insert proper C++ library support
2891
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2894
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2895
case $cc_basename in
2897
# FIXME: insert proper C++ library support
2898
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2901
# FIXME: insert proper C++ library support
2902
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2907
case $cc_basename in
2910
# FIXME: insert proper C++ library support
2911
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2915
# FIXME: insert proper C++ library support
2916
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2919
# FIXME: insert proper C++ library support
2920
_LT_AC_TAGVAR(ld_shlibs, $1)=no
2925
case $cc_basename in
2927
# Sun C++ 4.2, 5.x and Centerline C++
2928
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
2929
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
2930
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
2931
$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
2933
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
2934
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
2936
solaris2.[0-5] | solaris2.[0-5].*) ;;
2938
# The C++ compiler is used as linker so we must use $wl
2939
# flag to pass the commands to the underlying system
2941
# Supported since Solaris 2.6 (maybe 2.5.1?)
2942
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
2945
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2947
# Commands to make compiler produce verbose output that lists
2948
# what "hidden" libraries, object files and flags are used when
2949
# linking a shared library.
2951
# There doesn't appear to be a way to prevent this compiler from
2952
# explicitly linking system object files so we need to strip them
2953
# from the output so that they don't get included in the library
2955
output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2957
# Archives containing C++ object files must be created using
2958
# "CC -xar", where "CC" is the Sun C++ compiler. This is
2959
# necessary to make sure instantiated templates are included
2961
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
2964
# Green Hills C++ Compiler
2965
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
2967
# The C++ compiler must be used to create the archive.
2968
_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
2971
# GNU C++ compiler with Solaris linker
2972
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
2973
_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
2974
if $CC --version | egrep -v '^2\.7' > /dev/null; then
2975
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
2976
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
2977
$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
2979
# Commands to make compiler produce verbose output that lists
2980
# what "hidden" libraries, object files and flags are used when
2981
# linking a shared library.
2982
output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
2984
# g++ 2.7 appears to require `-G' NOT `-shared' on this
2986
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
2987
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
2988
$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
2990
# Commands to make compiler produce verbose output that lists
2991
# what "hidden" libraries, object files and flags are used when
2992
# linking a shared library.
2993
output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
2996
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
3001
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
3002
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3005
case $cc_basename in
3007
# NonStop-UX NCC 3.20
3008
# FIXME: insert proper C++ library support
3009
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3012
# FIXME: insert proper C++ library support
3013
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3018
# FIXME: insert proper C++ library support
3019
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3022
# FIXME: insert proper C++ library support
3023
_LT_AC_TAGVAR(ld_shlibs, $1)=no
3026
AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
3027
test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
3029
# Figure out "hidden" C++ library dependencies from verbose
3030
# compiler output whening linking a shared library.
3031
cat > conftest.$ac_ext <<EOF
3035
Foo (void) { a = 0; }
3042
if AC_TRY_EVAL(ac_compile); then
3043
# Parse the compiler output and extract the necessary
3044
# objects, libraries and library flags.
3046
# Sentinel used to keep track of whether or not we are before
3047
# the conftest object file.
3048
pre_test_object_deps_done=no
3050
# The `*' in the case matches for architectures that use `case' in
3051
# $output_verbose_cmd can trigger glob expansion during the loop
3052
# eval without this substitution.
3053
output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
3055
for p in `eval $output_verbose_link_cmd`; do
3059
# Some compilers place space between "-{L,R}" and the path.
3062
|| test $p = "-R"; then
3069
if test "$pre_test_object_deps_done" = no; then
3072
# Internal compiler library paths should come after those
3073
# provided the user. The postdeps already come after the
3074
# user supplied libs so there is no need to process them.
3075
if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
3076
_LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
3078
_LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
3081
# The "-l" case would never come before the object being
3082
# linked, so don't bother handling this case.
3085
if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
3086
_LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
3088
_LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
3093
*.$objext|*.$libext)
3094
# This assumes that the test object file only shows up
3095
# once in the compiler output.
3096
if test "$p" = "conftest.$objext"; then
3097
pre_test_object_deps_done=yes
3101
if test "$pre_test_object_deps_done" = no; then
3102
if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
3103
_LT_AC_TAGVAR(predep_objects, $1)="$p"
3105
_LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
3108
if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
3109
_LT_AC_TAGVAR(postdep_objects, $1)="$p"
3111
_LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
3116
*) ;; # Ignore the rest.
3124
echo "libtool.m4: error: problem compiling C++ test program"
3127
$rm -f confest.$objext
3129
case " $_LT_AC_TAGVAR(postdeps, $1) " in
3130
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
3131
*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ;;
3134
_LT_AC_TAGVAR(GCC, $1)="$GXX"
3135
_LT_AC_TAGVAR(LD, $1)="$LD"
3138
## There is no encapsulation within the following macros, do not change
3139
## the running order or otherwise move them around unless you know exactly
3140
## what you are doing...
3141
AC_LIBTOOL_PROG_COMPILER_PIC($1)
3142
AC_LIBTOOL_PROG_CC_C_O($1)
3143
AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3144
AC_LIBTOOL_PROG_LD_SHLIBS($1)
3145
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3146
AC_LIBTOOL_SYS_LIB_STRIP
3147
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3148
AC_LIBTOOL_DLOPEN_SELF($1)
3150
AC_LIBTOOL_CONFIG($1)
3154
])# AC_LIBTOOL_LANG_CXX_CONFIG
3157
# AC_LIBTOOL_LANG_GCJ_CONFIG
3158
# --------------------------
3159
# Ensure that the configuration vars for the C compiler are
3160
# suitably defined. Those variables are subsequently used by
3161
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3162
AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
3163
AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
3166
# Source file extension for C test sources.
3169
# Object file extension for compiled C test sources.
3171
_LT_AC_TAGVAR(objext, $1)=$objext
3173
# Code to be used in simple compile tests
3174
lt_simple_compile_test_code="class foo {}"
3176
# Code to be used in simple link tests
3177
lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
3179
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
3182
# Allow CC to be a program name with arguments.
3187
_LT_AC_TAGVAR(compiler, $1)=$CC
3189
# GCJ did not exist at the time GCC didn't implicitly link libc in.
3190
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3193
## There is no encapsulation within the following macros, do not change
3194
## the running order or otherwise move them around unless you know exactly
3195
## what you are doing...
3196
AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
3197
AC_LIBTOOL_PROG_COMPILER_PIC($1)
3198
AC_LIBTOOL_PROG_CC_C_O($1)
3199
AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3200
AC_LIBTOOL_PROG_LD_SHLIBS($1)
3201
AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3202
AC_LIBTOOL_SYS_LIB_STRIP
3203
AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3204
AC_LIBTOOL_DLOPEN_SELF($1)
3206
AC_LIBTOOL_CONFIG($1)
3210
])# AC_LIBTOOL_LANG_GCJ_CONFIG
3213
# AC_LIBTOOL_LANG_RC_CONFIG
3214
# --------------------------
3215
# Ensure that the configuration vars for the Windows resource compiler are
3216
# suitably defined. Those variables are subsequently used by
3217
# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3218
AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
3219
AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
3222
# Source file extension for RC test sources.
3225
# Object file extension for compiled RC test sources.
3227
_LT_AC_TAGVAR(objext, $1)=$objext
3229
# Code to be used in simple compile tests
3230
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
3232
# Code to be used in simple link tests
3233
lt_simple_link_test_code="$lt_simple_compile_test_code"
3235
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
3238
# Allow CC to be a program name with arguments.
3243
_LT_AC_TAGVAR(compiler, $1)=$CC
3244
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
3246
AC_LIBTOOL_CONFIG($1)
3250
])# AC_LIBTOOL_LANG_RC_CONFIG
3253
# AC_LIBTOOL_CONFIG([TAGNAME])
3254
# ----------------------------
3255
# If TAGNAME is not passed, then create an initial libtool script
3256
# with a default configuration from the untagged config vars. Otherwise
3257
# add code to config.status for appending the configuration named by
3258
# TAGNAME from the matching tagged config vars.
3259
AC_DEFUN([AC_LIBTOOL_CONFIG],
3260
[# The else clause should only fire when bootstrapping the
3261
# libtool distribution, otherwise you forgot to ship ltmain.sh
3262
# with your package, and you will get complaints that there are
3263
# no rules to generate ltmain.sh.
3264
if test -f "$ltmain"; then
3265
# Now quote all the things that may contain metacharacters while being
3266
# careful not to overquote the AC_SUBSTed values. We take copies of the
3267
# variables and quote the copies for generation of the libtool script.
3268
for var in echo old_CC old_CFLAGS AR AR_FLAGS RANLIB LN_S LTCC NM SED SHELL \
3269
libname_spec library_names_spec soname_spec extract_expsyms_cmds \
3270
old_striplib striplib file_magic_cmd finish_cmds finish_eval \
3271
deplibs_check_method reload_flag reload_cmds need_locks \
3272
lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
3273
lt_cv_sys_global_symbol_to_c_name_address \
3274
sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
3275
old_postinstall_cmds old_postuninstall_cmds \
3276
_LT_AC_TAGVAR(compiler, $1) \
3277
_LT_AC_TAGVAR(CC, $1) \
3278
_LT_AC_TAGVAR(LD, $1) \
3279
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
3280
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
3281
_LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
3282
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
3283
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
3284
_LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
3285
_LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
3286
_LT_AC_TAGVAR(old_archive_cmds, $1) \
3287
_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
3288
_LT_AC_TAGVAR(predep_objects, $1) \
3289
_LT_AC_TAGVAR(postdep_objects, $1) \
3290
_LT_AC_TAGVAR(predeps, $1) \
3291
_LT_AC_TAGVAR(postdeps, $1) \
3292
_LT_AC_TAGVAR(compiler_lib_search_path, $1) \
3293
_LT_AC_TAGVAR(archive_cmds, $1) \
3294
_LT_AC_TAGVAR(archive_expsym_cmds, $1) \
3295
_LT_AC_TAGVAR(postinstall_cmds, $1) \
3296
_LT_AC_TAGVAR(postuninstall_cmds, $1) \
3297
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
3298
_LT_AC_TAGVAR(allow_undefined_flag, $1) \
3299
_LT_AC_TAGVAR(no_undefined_flag, $1) \
3300
_LT_AC_TAGVAR(export_symbols_cmds, $1) \
3301
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
3302
_LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
3303
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
3304
_LT_AC_TAGVAR(exclude_expsyms, $1) \
3305
_LT_AC_TAGVAR(include_expsyms, $1); do
3308
_LT_AC_TAGVAR(old_archive_cmds, $1) | \
3309
_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
3310
_LT_AC_TAGVAR(archive_cmds, $1) | \
3311
_LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
3312
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
3313
_LT_AC_TAGVAR(export_symbols_cmds, $1) | \
3314
extract_expsyms_cmds | reload_cmds | finish_cmds | \
3315
postinstall_cmds | postuninstall_cmds | \
3316
old_postinstall_cmds | old_postuninstall_cmds | \
3317
sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
3318
# Double-quote double-evaled strings.
3319
eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
3322
eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
3328
*'\[$]0 --fallback-echo"')
3329
lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
3334
[cfgfile="${ofile}T"
3335
trap "$rm \"$cfgfile\"; exit 1" 1 2 15
3337
AC_MSG_NOTICE([creating $ofile])],
3340
cat <<__EOF__ >> "$cfgfile"
3344
# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
3345
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
3346
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
3348
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
3349
# Free Software Foundation, Inc.
3351
# This file is part of GNU Libtool:
3352
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
3354
# This program is free software; you can redistribute it and/or modify
3355
# it under the terms of the GNU General Public License as published by
3356
# the Free Software Foundation; either version 2 of the License, or
3357
# (at your option) any later version.
3359
# This program is distributed in the hope that it will be useful, but
3360
# WITHOUT ANY WARRANTY; without even the implied warranty of
3361
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3362
# General Public License for more details.
3364
# You should have received a copy of the GNU General Public License
3365
# along with this program; if not, write to the Free Software
3366
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3368
# As a special exception to the GNU General Public License, if you
3369
# distribute this file as part of a program that contains a
3370
# configuration script generated by Autoconf, you may include it under
3371
# the same distribution terms that you use for the rest of that program.
3373
# Sed that helps us avoid accidentally triggering echo(1) options like -n.
3374
Xsed="sed -e s/^X//"
3376
# The HP-UX ksh and POSIX shell print the target directory to stdout
3378
if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
3380
# The names of the tagged configurations supported by this script.
3383
# ### BEGIN LIBTOOL CONFIG],
3384
[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
3386
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
3388
# Shell to use when invoking shell scripts.
3391
# Whether or not to build shared libraries.
3392
build_libtool_libs=$enable_shared
3394
# Whether or not to build static libraries.
3395
build_old_libs=$enable_static
3397
# Whether or not to add -lc for building shared libraries.
3398
build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
3400
# Whether or not to optimize for fast installation.
3401
fast_install=$enable_fast_install
3404
host_alias=$host_alias
3407
# An echo program that does not interpret backslashes.
3412
AR_FLAGS=$lt_AR_FLAGS
3417
# A language-specific compiler.
3418
CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
3420
# Is the compiler the GNU C compiler?
3421
with_gcc=$_LT_AC_TAGVAR(GCC, $1)
3423
# The linker used to build libraries.
3424
LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
3426
# Whether we need hard or soft links.
3429
# A BSD-compatible nm program.
3432
# A sed program that does not truncate output.
3435
# A symbol stripping program
3438
# Used to examine libraries when file_magic_cmd begins "file"
3439
MAGIC_CMD=$MAGIC_CMD
3441
# Used on cygwin: DLL creation program.
3444
# Used on cygwin: object dumper.
3447
# Used on cygwin: assembler.
3450
# The name of the directory that contains temporary libtool files.
3453
# How to create reloadable object files.
3454
reload_flag=$lt_reload_flag
3455
reload_cmds=$lt_reload_cmds
3457
# How to pass a linker flag through the compiler.
3458
wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
3460
# Object file suffix (normally "o").
3463
# Old archive suffix (normally "a").
3466
# Executable file suffix (normally "").
3469
# Additional compiler flags for building library objects.
3470
pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
3473
# What is the maximum length of a command?
3474
max_cmd_len=$lt_cv_sys_max_cmd_len
3476
# Does compiler simultaneously support -c and -o options?
3477
compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
3479
# Must we lock files when doing compilation ?
3480
need_locks=$lt_need_locks
3482
# Do we need the lib prefix for modules?
3483
need_lib_prefix=$need_lib_prefix
3485
# Do we need a version for libraries?
3486
need_version=$need_version
3488
# Whether dlopen is supported.
3489
dlopen_support=$enable_dlopen
3491
# Whether dlopen of programs is supported.
3492
dlopen_self=$enable_dlopen_self
3494
# Whether dlopen of statically linked programs is supported.
3495
dlopen_self_static=$enable_dlopen_self_static
3497
# Compiler flag to prevent dynamic linking.
3498
link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
3500
# Compiler flag to turn off builtin functions.
3501
no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
3503
# Compiler flag to allow reflexive dlopens.
3504
export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
3506
# Compiler flag to generate shared objects directly from archives.
3507
whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
3509
# Compiler flag to generate thread-safe objects.
3510
thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
3512
# Library versioning type.
3513
version_type=$version_type
3515
# Format of library name prefix.
3516
libname_spec=$lt_libname_spec
3518
# List of archive names. First name is the real one, the rest are links.
3519
# The last name is the one that the linker finds with -lNAME.
3520
library_names_spec=$lt_library_names_spec
3522
# The coded name of the library, if different from the real name.
3523
soname_spec=$lt_soname_spec
3525
# Commands used to build and install an old-style archive.
3527
old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
3528
old_postinstall_cmds=$lt_old_postinstall_cmds
3529
old_postuninstall_cmds=$lt_old_postuninstall_cmds
3531
# Create an old-style archive from a shared archive.
3532
old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
3534
# Create a temporary old-style archive to link instead of a shared archive.
3535
old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
3537
# Commands used to build and install a shared archive.
3538
archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
3539
archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
3540
postinstall_cmds=$lt_postinstall_cmds
3541
postuninstall_cmds=$lt_postuninstall_cmds
3543
# Commands to strip libraries.
3544
old_striplib=$lt_old_striplib
3545
striplib=$lt_striplib
3547
# Dependencies to place before the objects being linked to create a
3549
predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
3551
# Dependencies to place after the objects being linked to create a
3553
postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
3555
# Dependencies to place before the objects being linked to create a
3557
predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
3559
# Dependencies to place after the objects being linked to create a
3561
postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
3563
# The library search path used internally by the compiler when linking
3565
compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
3567
# Method to check whether dependent libraries are shared objects.
3568
deplibs_check_method=$lt_deplibs_check_method
3570
# Command to use when deplibs_check_method == file_magic.
3571
file_magic_cmd=$lt_file_magic_cmd
3573
# Flag that allows shared libraries with undefined symbols to be built.
3574
allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
3576
# Flag that forces no undefined symbols.
3577
no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
3579
# Commands used to finish a libtool library installation in a directory.
3580
finish_cmds=$lt_finish_cmds
3582
# Same as above, but a single script fragment to be evaled but not shown.
3583
finish_eval=$lt_finish_eval
3585
# Take the output of nm and produce a listing of raw symbols and C names.
3586
global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
3588
# Transform the output of nm in a proper C declaration
3589
global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
3591
# Transform the output of nm in a C name address pair
3592
global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
3594
# This is the shared library runtime path variable.
3595
runpath_var=$runpath_var
3597
# This is the shared library path variable.
3598
shlibpath_var=$shlibpath_var
3600
# Is shlibpath searched before the hard-coded library search path?
3601
shlibpath_overrides_runpath=$shlibpath_overrides_runpath
3603
# How to hardcode a shared library path into an executable.
3604
hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
3606
# Whether we should hardcode library paths into libraries.
3607
hardcode_into_libs=$hardcode_into_libs
3609
# Flag to hardcode \$libdir into a binary during linking.
3610
# This must work even if \$libdir does not exist.
3611
hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
3613
# Whether we need a single -rpath flag with a separated argument.
3614
hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
3616
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
3618
hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
3620
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
3622
hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
3624
# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
3625
# the resulting binary.
3626
hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
3628
# Variables whose values should be saved in libtool wrapper scripts and
3629
# restored at relink time.
3630
variables_saved_for_relink="$variables_saved_for_relink"
3632
# Whether libtool must link a program against all its dependency libraries.
3633
link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
3635
# Compile-time system search path for libraries
3636
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
3638
# Run-time system search path for libraries
3639
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
3641
# Fix the shell variable \$srcfile for the compiler.
3642
fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
3644
# Set to yes if exported symbols are required.
3645
always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
3647
# The commands to list exported symbols.
3648
export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
3650
# The commands to extract the exported symbol list from a shared archive.
3651
extract_expsyms_cmds=$lt_extract_expsyms_cmds
3653
# Symbols that should not be listed in the preloaded symbols.
3654
exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
3656
# Symbols that must always be exported.
3657
include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
3660
[# ### END LIBTOOL CONFIG],
3661
[# ### END LIBTOOL TAG CONFIG: $tagname])
3668
cat <<\EOF >> "$cfgfile"
3670
# AIX sometimes has problems with the GCC collect2 program. For some
3671
# reason, if we set the COLLECT_NAMES environment variable, the problems
3672
# vanish in a puff of smoke.
3673
if test "X${COLLECT_NAMES+set}" != Xset; then
3675
export COLLECT_NAMES
3680
cygwin* | mingw* | pw32* | os2*)
3681
cat <<'EOF' >> "$cfgfile"
3682
# This is a source program that is used to create dlls on Windows
3683
# Don't remove nor modify the starting and closing comments
3685
# This is a source program that is used to create import libraries
3686
# on Windows for dlls which lack them. Don't remove nor modify the
3687
# starting and closing comments
3688
_LT_AC_FILE_IMPGEN_C
3693
# We use sed instead of cat because bash on DJGPP gets confused if
3694
# if finds mixed CR/LF and LF-only lines. Since sed operates in
3695
# text mode, it properly converts lines to CR/LF. This bash problem
3696
# is reportedly fixed, but why not run on old versions too?
3697
sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
3699
mv -f "$cfgfile" "$ofile" || \
3700
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
3704
# If there is no Makefile yet, we rely on a make rule to execute
3705
# `config.status --recheck' to rerun these tests and create the
3706
# libtool script then.
3707
test -f Makefile && make "$ltmain"
3709
])# AC_LIBTOOL_CONFIG
3712
# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
3713
# -------------------------------------------
3714
AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
3715
[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
3717
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3719
if test "$GCC" = yes; then
3720
_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3722
AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3723
lt_cv_prog_compiler_rtti_exceptions,
3724
[-fno-rtti -fno-exceptions -c conftest.$ac_ext], [],
3725
[_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3727
])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
3730
# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
3731
# ---------------------------------
3732
AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
3733
[AC_REQUIRE([AC_CANONICAL_HOST])
3734
AC_REQUIRE([AC_PROG_NM])
3735
AC_REQUIRE([AC_OBJEXT])
3736
# Check for command to grab the raw symbol name followed by C symbol from nm.
3737
AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3738
AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3740
# These are sane defaults that work on at least a few old systems.
3741
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3743
# Character class describing NM global symbol codes.
3744
symcode='[[BCDEGRST]]'
3746
# Regexp to match symbols that can be accessed directly from C.
3747
sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3749
# Transform the above into a raw symbol and a C symbol.
3750
symxfrm='\1 \2\3 \3'
3752
# Transform an extracted symbol line into a proper C declaration
3753
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
3755
# Transform an extracted symbol line into symbol name and symbol address
3756
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'"
3758
# Define system-specific variables.
3763
cygwin* | mingw* | pw32*)
3764
symcode='[[ABCDGISTW]]'
3766
hpux*) # Its linker distinguishes data from code symbols
3767
if test "$host_cpu" = ia64; then
3768
symcode='[[ABCDEGRST]]'
3770
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3771
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'"
3774
symcode='[[BCDEGRST]]'
3780
symcode='[[DFNSTU]]'
3784
# Handle CRLF in mingw tool chain
3788
opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3792
# If we're using GNU nm, then use its standard symbol codes.
3793
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
3794
symcode='[[ABCDGISTW]]'
3797
# Try without a prefix undercore, then with it.
3798
for ac_symprfx in "" "_"; do
3800
# Write the raw and C identifiers.
3801
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
3803
# Check to see that the pipe works correctly.
3807
cat > conftest.$ac_ext <<EOF
3812
void nm_test_func(){}
3816
int main(){nm_test_var='a';nm_test_func();return(0);}
3819
if AC_TRY_EVAL(ac_compile); then
3820
# Now try to grab the symbols.
3822
if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3823
# Try sorting and uniquifying the output.
3824
if sort "$nlist" | uniq > "$nlist"T; then
3825
mv -f "$nlist"T "$nlist"
3830
# Make sure that we snagged all the symbols we need.
3831
if egrep ' nm_test_var$' "$nlist" >/dev/null; then
3832
if egrep ' nm_test_func$' "$nlist" >/dev/null; then
3833
cat <<EOF > conftest.$ac_ext
3839
# Now generate the symbol file.
3840
eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
3842
cat <<EOF >> conftest.$ac_ext
3843
#if defined (__STDC__) && __STDC__
3844
# define lt_ptr_t void *
3846
# define lt_ptr_t char *
3850
/* The mapping between symbol names and symbols. */
3855
lt_preloaded_symbols[[]] =
3858
sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
3859
cat <<\EOF >> conftest.$ac_ext
3867
# Now try linking the two files.
3868
mv conftest.$ac_objext conftstm.$ac_objext
3869
lt_save_LIBS="$LIBS"
3870
lt_save_CFLAGS="$CFLAGS"
3871
LIBS="conftstm.$ac_objext"
3872
CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3873
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3876
LIBS="$lt_save_LIBS"
3877
CFLAGS="$lt_save_CFLAGS"
3879
echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3882
echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3885
echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3888
echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3889
cat conftest.$ac_ext >&5
3891
rm -f conftest* conftst*
3893
# Do not use the global_symbol_pipe unless it works.
3894
if test "$pipe_works" = yes; then
3897
lt_cv_sys_global_symbol_pipe=
3901
if test -z "$lt_cv_sys_global_symbol_pipe"; then
3902
lt_cv_sys_global_symbol_to_cdecl=
3904
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3905
AC_MSG_RESULT(failed)
3909
]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
3912
# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
3913
# ---------------------------------------
3914
AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
3915
[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
3916
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
3917
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
3919
AC_MSG_CHECKING([for $compiler option to produce PIC])
3921
# C++ specific cases for pic, static, wl, etc.
3922
if test "$GXX" = yes; then
3923
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3924
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
3928
# All AIX code is PIC.
3929
if test "$host_cpu" = ia64; then
3930
# AIX 5 now supports IA64 processor
3931
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3935
# FIXME: we need at least 68020 code to build shared libraries, but
3936
# adding the `-m68020' flag to GCC prevents building anything better,
3938
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3940
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3941
# PIC is the default for these OSes.
3943
cygwin* | mingw* | os2*)
3944
# This hack is so that the source file can tell whether it is being
3945
# built for inclusion in a dll (and should export symbols for example).
3946
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
3948
darwin* | rhapsody*)
3949
# PIC is the default on this platform
3950
# Common symbols not allowed in MH_DYLIB files
3951
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3954
# DJGPP does not support shared libraries at all
3955
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
3958
if test -d /usr/nec; then
3959
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3963
# PIC is the default for IA64 HP-UX, but not for PA HP-UX.
3964
if test "$host_cpu" != ia64; then
3965
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3969
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3975
# All AIX code is PIC.
3976
if test "$host_cpu" = ia64; then
3977
# AIX 5 now supports IA64 processor
3978
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3980
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3984
case $cc_basename in
3986
# Green Hills C++ Compiler
3987
# _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"
3992
case $cc_basename in
3994
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3997
# Green Hills C++ Compiler
3998
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4005
# FreeBSD uses GNU C++
4007
hpux9* | hpux10* | hpux11*)
4008
case $cc_basename in
4010
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4011
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
4012
if test "$host_cpu" != ia64; then
4013
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4017
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4018
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
4019
if test "$host_cpu" != ia64; then
4020
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4027
irix5* | irix6* | nonstopux*)
4028
case $cc_basename in
4030
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4031
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4032
# CC pic flag -KPIC is the default.
4039
case $cc_basename in
4042
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4043
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4047
# Make sure the PIC flag is empty. It appears that all Alpha
4048
# Linux and Compaq Tru64 Unix objects are PIC.
4049
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4050
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4061
case $cc_basename in
4063
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4071
osf3* | osf4* | osf5*)
4072
case $cc_basename in
4074
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4077
# Rational C++ 2.4.1
4078
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4081
# Digital/Compaq C++
4082
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4083
# Make sure the PIC flag is empty. It appears that all Alpha
4084
# Linux and Compaq Tru64 Unix objects are PIC.
4085
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4086
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4095
case $cc_basename in
4097
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4104
case $cc_basename in
4106
# Sun C++ 4.2, 5.x and Centerline C++
4107
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4108
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4109
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4112
# Green Hills C++ Compiler
4113
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4120
case $cc_basename in
4123
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4124
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4128
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4135
case $cc_basename in
4137
# NonStop-UX NCC 3.20
4138
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4149
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4155
if test "$GCC" = yes; then
4156
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4157
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4161
# All AIX code is PIC.
4162
if test "$host_cpu" = ia64; then
4163
# AIX 5 now supports IA64 processor
4164
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4169
# FIXME: we need at least 68020 code to build shared libraries, but
4170
# adding the `-m68020' flag to GCC prevents building anything better,
4172
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4175
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4176
# PIC is the default for these OSes.
4179
cygwin* | mingw* | pw32* | os2*)
4180
# This hack is so that the source file can tell whether it is being
4181
# built for inclusion in a dll (and should export symbols for example).
4182
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
4185
darwin* | rhapsody*)
4186
# PIC is the default on this platform
4187
# Common symbols not allowed in MH_DYLIB files
4188
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4192
# Just because we use GCC doesn't mean we suddenly get shared libraries
4193
# on systems that don't support them.
4194
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4199
if test -d /usr/nec; then
4200
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4205
# PIC is the default for IA64 HP-UX, but not for PA HP-UX.
4206
if test "$host_cpu" != ia64; then
4207
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4212
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4216
# PORTME Check for flag to pass linker flags through the system compiler.
4219
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4220
if test "$host_cpu" = ia64; then
4221
# AIX 5 now supports IA64 processor
4222
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4224
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4228
cygwin* | mingw* | pw32* | os2*)
4229
# This hack is so that the source file can tell whether it is being
4230
# built for inclusion in a dll (and should export symbols for example).
4231
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
4234
hpux9* | hpux10* | hpux11*)
4235
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4236
if test "$host_cpu" != ia64; then
4237
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4239
# Is there a better lt_prog_compiler_static that works with the bundled CC?
4240
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4243
irix5* | irix6* | nonstopux*)
4244
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4245
# PIC (with -KPIC) is the default.
4246
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4250
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4251
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4254
osf3* | osf4* | osf5*)
4255
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4256
# All OSF/1 code is PIC.
4257
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4261
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
4262
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
4266
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4267
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4268
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4272
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4273
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4274
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4277
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
4278
if test "x$host_vendor" = xsni; then
4279
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-LD'
4281
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4283
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4284
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4288
if test -d /usr/nec ;then
4289
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4290
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4295
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4296
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4300
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4305
AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
4308
# Check to make sure the PIC flag actually works.
4310
if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
4311
AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
4312
_LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
4313
[$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC], [],
4314
[case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
4316
*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4318
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4319
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4322
# For platforms which do not support PIC, -DPIC is meaningless:
4324
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4327
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC"
4333
# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
4334
# ------------------------------------
4335
# See if the linker supports building shared libraries.
4336
AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
4337
[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4339
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
4342
# If we're using GNU nm, then we don't want the "-C" option.
4343
# -C means demangle to AIX nm, but means don't demangle with GNU nm
4344
if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then
4345
_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'
4347
_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'
4350
cygwin* | mingw* | pw32*)
4351
_LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4354
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
4359
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
4361
_LT_AC_TAGVAR(archive_cmds, $1)=
4362
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=
4363
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
4364
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
4365
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4366
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
4367
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
4368
_LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
4369
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
4370
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4371
_LT_AC_TAGVAR(hardcode_direct, $1)=no
4372
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
4373
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4374
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
4375
_LT_AC_TAGVAR(always_export_symbols, $1)=no
4376
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
4377
# include_expsyms should be a list of space-separated symbols to be *always*
4378
# included in the symbol list
4379
_LT_AC_TAGVAR(include_expsyms, $1)=
4380
# exclude_expsyms can be an egrep regular expression of symbols to exclude
4381
# it will be wrapped by ` (' and `)$', so one must not match beginning or
4382
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4383
# as well as any symbol that contains `d'.
4384
_LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
4385
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4386
# platforms (ab)use it in PIC code, but their linkers get confused if
4387
# the symbol is explicitly referenced. Since portable code cannot
4388
# rely on this symbol name, it's probably fine to never include it in
4389
# preloaded symbol tables.
4390
extract_expsyms_cmds=
4393
cygwin* | mingw* | pw32*)
4394
# FIXME: the MSVC++ port hasn't been tested in a loooong time
4395
# When not using gcc, we currently assume that we are using
4396
# Microsoft Visual C++.
4397
if test "$GCC" != yes; then
4406
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
4407
if test "$with_gnu_ld" = yes; then
4408
# If archive_cmds runs LD, not CC, wlarc should be empty
4411
# See if GNU ld supports shared libraries.
4413
aix3* | aix4* | aix5*)
4414
# On AIX/PPC, the GNU linker is very broken
4415
if test "$host_cpu" != ia64; then
4416
_LT_AC_TAGVAR(ld_shlibs, $1)=no
4419
*** Warning: the GNU linker, at least up to release 2.9.1, is reported
4420
*** to be unable to reliably create shared libraries on AIX.
4421
*** Therefore, libtool is disabling shared libraries support. If you
4422
*** really care for shared libraries, you may want to modify your PATH
4423
*** so that a non-GNU linker is found, and then restart.
4430
_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)'
4431
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4432
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4434
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
4435
# that the semantics of dynamic libraries on AmigaOS, at least up
4436
# to version 4, is to share data among multiple programs linked
4437
# with the same dynamic library. Since this doesn't match the
4438
# behavior of shared libraries on other platforms, we can't use
4440
_LT_AC_TAGVAR(ld_shlibs, $1)=no
4444
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
4445
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4446
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4447
# support --undefined. This deserves some investigation. FIXME
4448
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4450
_LT_AC_TAGVAR(ld_shlibs, $1)=no
4454
cygwin* | mingw* | pw32*)
4455
# _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, as there is
4456
# no search path for DLLs.
4457
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4458
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4459
_LT_AC_TAGVAR(always_export_symbols, $1)=yes
4461
extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
4462
sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
4463
test -f $output_objdir/impgen.exe || (cd $output_objdir && \
4464
if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
4465
else $CC -o impgen impgen.c ; fi)~
4466
$output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
4468
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
4470
# cygwin and mingw dlls have different entry points and sets of symbols
4472
# FIXME: what about values for MSVC?
4473
dll_entry=__cygwin_dll_entry@12
4474
dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
4478
dll_entry=_DllMainCRTStartup@12
4479
dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
4483
# mingw and cygwin differ, and it's simplest to just exclude the union
4484
# of the two symbol sets.
4485
dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
4487
# recent cygwin and mingw systems supply a stub DllMain which the user
4488
# can override, but on older systems we have to supply one (in ltdll.c)
4489
if test "x$lt_cv_need_dllmain" = "xyes"; then
4490
ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
4491
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~
4492
test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
4498
# Extract the symbol export list from an `--export-all' def file,
4499
# then regenerate the def file from the symbol export list, so that
4500
# the compiled dll only exports the symbol export list.
4501
# Be careful not to strip the DATA tag left by newer dlltools.
4502
_LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"'
4503
$DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
4504
sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
4506
# If the export-symbols file already is a .def file (1st line
4507
# is EXPORTS), use it as is.
4508
# If DATA tags from a recent dlltool are present, honour them!
4509
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`head -1 $export_symbols`" = xEXPORTS; then
4510
cp $export_symbols $output_objdir/$soname-def;
4512
echo EXPORTS > $output_objdir/$soname-def;
4514
cat $export_symbols | while read symbol; do
4517
2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
4518
*) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
4520
_lt_hint=`expr 1 + \$_lt_hint`;
4524
$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~
4525
$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~
4526
$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~
4527
$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~
4528
$CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
4532
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
4533
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4536
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4537
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4542
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
4543
_LT_AC_TAGVAR(ld_shlibs, $1)=no
4546
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4547
*** create shared libraries on Solaris systems. Therefore, libtool
4548
*** is disabling shared libraries support. We urge you to upgrade GNU
4549
*** binutils to release 2.9.1 or newer. Another option is to modify
4550
*** your PATH or compiler configuration so that the native linker is
4551
*** used, and then restart.
4554
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
4555
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4556
_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'
4558
_LT_AC_TAGVAR(ld_shlibs, $1)=no
4563
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4565
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4566
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4570
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
4571
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4572
_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'
4574
_LT_AC_TAGVAR(ld_shlibs, $1)=no
4579
if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
4580
runpath_var=LD_RUN_PATH
4581
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
4582
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4584
cygwin* | mingw* | pw32*)
4585
# dlltool doesn't understand --whole-archive et. al.
4586
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
4589
# ancient GNU ld didn't support --whole-archive et. al.
4590
if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
4591
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4593
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
4599
# PORTME fill in a description of your system's linker (not GNU ld)
4602
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4603
_LT_AC_TAGVAR(always_export_symbols, $1)=yes
4604
_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'
4605
# Note: this linker hardcodes the directories in LIBPATH if there
4606
# are no directories specified by -L.
4607
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4608
if test "$GCC" = yes && test -z "$link_static_flag"; then
4609
# Neither direct hardcoding nor static linking is supported with a
4611
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
4616
if test "$host_cpu" = ia64; then
4617
# On IA64, the linker does run time linking by default, so we don't
4618
# have to do anything special.
4619
aix_use_runtimelinking=no
4620
exp_sym_flag='-Bexport'
4623
# If we're using GNU nm, then we don't want the "-C" option.
4624
# -C means demangle to AIX nm, but means don't demangle with GNU nm
4625
if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then
4626
_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'
4628
_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'
4631
# KDE requires run time linking. Make it the default.
4632
aix_use_runtimelinking=yes
4633
exp_sym_flag='-bexport'
4634
no_entry_flag='-bnoentry'
4637
# When large executables or shared objects are built, AIX ld can
4638
# have problems creating the table of contents. If linking a library
4639
# or program results in "error TOC overflow" add -mminimal-toc to
4640
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4641
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4643
_LT_AC_TAGVAR(archive_cmds, $1)=''
4644
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4645
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
4646
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4648
if test "$GCC" = yes; then
4649
case $host_os in aix4.[012]|aix4.[012].*)
4650
# We only want to do this on AIX 4.2 and lower, the check
4651
# below for broken collect2 doesn't work under 4.3+
4652
collect2name=`${CC} -print-prog-name=collect2`
4653
if test -f "$collect2name" && \
4654
strings "$collect2name" | grep resolve_lib_name >/dev/null
4656
# We have reworked collect2
4657
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4659
# We have old collect2
4660
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
4661
# It fails to find uninstalled libraries when the uninstalled
4662
# path is not listed in the libpath. Setting hardcode_minus_L
4663
# to unsupported forces relinking
4664
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4665
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4666
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4669
shared_flag='-shared'
4672
if test "$host_cpu" = ia64; then
4673
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4674
# chokes on -Wl,-G. The following line is correct:
4677
if test "$aix_use_runtimelinking" = yes; then
4678
shared_flag='-qmkshrobj ${wl}-G'
4680
shared_flag='-qmkshrobj'
4685
# Let the compiler handle the export list.
4686
_LT_AC_TAGVAR(always_export_symbols, $1)=no
4687
if test "$aix_use_runtimelinking" = yes; then
4688
# Warning - without using the other runtime loading flags (-brtl),
4689
# -berok will link without error, but may produce a broken library.
4690
_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
4691
# Determine the default libpath from the value encoded in an empty executable.
4692
_LT_AC_SYS_LIBPATH_AIX
4693
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4694
_LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
4695
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$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}$exp_sym_flag:\$export_symbols $shared_flag"
4697
if test "$host_cpu" = ia64; then
4698
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4699
_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4700
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
4702
# Determine the default libpath from the value encoded in an empty executable.
4703
_LT_AC_SYS_LIBPATH_AIX
4704
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4705
# Warning - without using the other run time loading flags,
4706
# -berok will link without error, but may produce a broken library.
4707
_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4708
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4709
# -bexpall does not export symbols beginning with underscore (_)
4710
_LT_AC_TAGVAR(always_export_symbols, $1)=yes
4711
# Exported symbols can be pulled into shared objects from archives
4712
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
4713
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
4714
# This is similar to how AIX traditionally builds it's shared libraries.
4715
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
4721
_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)'
4722
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4723
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4724
# see comment about different semantics on the GNU ld section
4725
_LT_AC_TAGVAR(ld_shlibs, $1)=no
4729
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
4732
cygwin* | mingw* | pw32*)
4733
# When not using gcc, we currently assume that we are using
4734
# Microsoft Visual C++.
4735
# hardcode_libdir_flag_spec is actually meaningless, as there is
4736
# no search path for DLLs.
4737
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4738
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4739
# Tell ltmain to make .lib files, not .a files.
4741
# FIXME: Setting linknames here is a bad hack.
4742
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4743
# The linker will automatically build a .lib file if we build a DLL.
4744
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
4745
# FIXME: Should let the user specify the lib program.
4746
_LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
4747
fix_srcfile_path='`cygpath -w "$srcfile"`'
4750
darwin* | rhapsody*)
4752
rhapsody* | darwin1.[[012]])
4753
_LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
4756
_LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
4760
# FIXME: Relying on posixy $() will cause problems for
4761
# cross-compilation, but unfortunately the echo tests do not
4762
# yet detect zsh echo's removal of \ escapes. Also zsh mangles
4763
# `"' quotes if we put them in here... so don't!
4764
_LT_AC_TAGVAR(archive_cmds, $1)='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
4765
# We need to add '_' to the symbols in $export_symbols first
4766
#_LT_AC_TAGVAR(archive_expsym_cmds, $1)="$_LT_AC_TAGVAR(archive_cmds, $1)"' && strip -s $export_symbols'
4767
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4768
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4769
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
4773
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4774
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4775
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4779
_LT_AC_TAGVAR(ld_shlibs, $1)=no
4782
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4783
# support. Future versions do this automatically, but an explicit c++rt0.o
4784
# does not break anything, and helps significantly (at the cost of a little
4787
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4788
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4789
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4790
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4793
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
4795
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4796
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4797
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4798
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4801
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4803
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4804
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4805
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4806
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4809
hpux9* | hpux10* | hpux11*)
4810
if test "$GCC" = yes; then
4813
_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'
4816
if test "$host_cpu" = ia64; then
4817
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4819
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4826
_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'
4829
if test "$host_cpu" = ia64; then
4830
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
4832
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4837
if test "$host_cpu" = ia64; then
4838
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4839
_LT_AC_TAGVAR(hardcode_direct, $1)=no
4840
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4842
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4843
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4844
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4846
# hardcode_minus_L: Not really in the search PATH,
4847
# but as the default location of the library.
4848
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4849
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4852
irix5* | irix6* | nonstopux*)
4853
if test "$GCC" = yes; then
4854
_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'
4856
_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'
4858
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4859
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4860
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4864
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
4865
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
4867
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
4869
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4870
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4871
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4875
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4876
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4877
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4878
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4879
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4883
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4884
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4886
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4887
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
4888
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4889
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4892
openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4893
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4894
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4897
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
4898
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4905
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4906
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4907
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4908
_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'
4909
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4913
if test "$GCC" = yes; then
4914
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4915
_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'
4917
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4918
_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'
4920
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4921
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4924
osf4* | osf5*) # as osf3* with the addition of -msym flag
4925
if test "$GCC" = yes; then
4926
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4927
_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'
4928
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4930
_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4931
_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'
4932
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
4933
$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'
4935
# Both c and cxx compiler support -rpath directly
4936
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4938
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4942
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4943
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4944
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
4945
runpath_var=LD_RUN_PATH
4946
hardcode_runpath_var=yes
4950
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
4951
if test "$GCC" = yes; then
4952
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4953
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4954
$CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
4956
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4957
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4958
$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
4960
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4961
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4963
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4964
*) # Supported since Solaris 2.6 (maybe 2.5.1?)
4965
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
4967
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4971
if test "x$host_vendor" = xsequent; then
4972
# Use $CC to link under sequent, because it throws in some extra .o
4973
# files that make .init and .fini sections work.
4974
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
4976
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
4978
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4979
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4980
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4981
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4985
if test "x$host_vendor" = xsni; then
4986
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
4987
_LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
4989
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4990
_LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
4992
runpath_var='LD_RUN_PATH'
4993
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4997
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4998
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4999
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5003
if test -d /usr/nec; then
5004
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5005
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5006
runpath_var=LD_RUN_PATH
5007
hardcode_runpath_var=yes
5008
_LT_AC_TAGVAR(ld_shlibs, $1)=yes
5013
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5014
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
5015
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
5016
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5017
hardcode_runpath_var=yes
5018
runpath_var=LD_RUN_PATH
5021
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
5022
_LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
5023
if test "$GCC" = yes; then
5024
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5026
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5028
runpath_var='LD_RUN_PATH'
5029
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5033
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
5034
# $CC -shared without GNU ld will not create a library from C++
5035
# object files and a static libstdc++, better avoid it by now
5036
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5037
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
5038
$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
5039
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5040
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5041
runpath_var='LD_RUN_PATH'
5045
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5046
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5047
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5051
_LT_AC_TAGVAR(ld_shlibs, $1)=no
5056
AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
5057
test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5059
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
5060
if test "$GCC" = yes; then
5061
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
5065
# Do we need to explicitly link libc?
5067
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5068
if test "$enable_shared" = yes && test "$GCC" = yes; then
5069
case $_LT_AC_TAGVAR(archive_cmds, $1) in
5071
# FIXME: we may have to deal with multi-command sequences.
5074
# Test whether the compiler implicitly links with -lc since on some
5075
# systems, -lgcc has to come before -lc. If gcc already passes -lc
5076
# to ld, don't add -lc before -lgcc.
5077
AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5079
echo 'static int dummy;' > conftest.$ac_ext
5081
if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5084
libobjs=conftest.$ac_objext
5086
wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
5092
lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
5093
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
5094
if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
5096
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5098
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5100
_LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5102
cat conftest.err 1>&5
5105
AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
5109
])# AC_LIBTOOL_PROG_LD_SHLIBS
5112
# _LT_AC_FILE_LTDLL_C
5113
# -------------------
5114
# Be careful that the start marker always follows a newline.
5115
AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
5116
# /* ltdll.c starts here */
5117
# #define WIN32_LEAN_AND_MEAN
5118
# #include <windows.h>
5119
# #undef WIN32_LEAN_AND_MEAN
5120
# #include <stdio.h>
5122
# #ifndef __CYGWIN__
5123
# # ifdef __CYGWIN32__
5124
# # define __CYGWIN__ __CYGWIN32__
5128
# #ifdef __cplusplus
5131
# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
5132
# #ifdef __cplusplus
5137
# #include <cygwin/cygwin_dll.h>
5138
# DECLARE_CYGWIN_DLL( DllMain );
5140
# HINSTANCE __hDllInstance_base;
5143
# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
5145
# __hDllInstance_base = hInst;
5148
# /* ltdll.c ends here */
5149
])# _LT_AC_FILE_LTDLL_C
5152
# _LT_AC_FILE_IMPGEN_C
5153
# --------------------
5154
# Be careful that the start marker always follows a newline.
5155
AC_DEFUN([_LT_AC_FILE_IMPGEN_C], [
5156
# /* impgen.c starts here */
5157
# /* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
5159
# This file is part of GNU libtool.
5161
# This program is free software; you can redistribute it and/or modify
5162
# it under the terms of the GNU General Public License as published by
5163
# the Free Software Foundation; either version 2 of the License, or
5164
# (at your option) any later version.
5166
# This program is distributed in the hope that it will be useful,
5167
# but WITHOUT ANY WARRANTY; without even the implied warranty of
5168
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5169
# GNU General Public License for more details.
5171
# You should have received a copy of the GNU General Public License
5172
# along with this program; if not, write to the Free Software
5173
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
5176
# #include <stdio.h> /* for printf() */
5177
# #include <unistd.h> /* for open(), lseek(), read() */
5178
# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
5179
# #include <string.h> /* for strdup() */
5181
# /* O_BINARY isn't required (or even defined sometimes) under Unix */
5183
# #define O_BINARY 0
5186
# static unsigned int
5187
# pe_get16 (fd, offset)
5191
# unsigned char b[2];
5192
# lseek (fd, offset, SEEK_SET);
5194
# return b[0] + (b[1]<<8);
5197
# static unsigned int
5198
# pe_get32 (fd, offset)
5202
# unsigned char b[4];
5203
# lseek (fd, offset, SEEK_SET);
5205
# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
5208
# static unsigned int
5212
# unsigned char *b = ptr;
5213
# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
5222
# unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
5223
# unsigned long export_rva, export_size, nsections, secptr, expptr;
5224
# unsigned long name_rvas, nexp;
5225
# unsigned char *expdata, *erva;
5226
# char *filename, *dll_name;
5228
# filename = argv[1];
5230
# dll = open(filename, O_RDONLY|O_BINARY);
5234
# dll_name = filename;
5236
# for (i=0; filename[i]; i++)
5237
# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
5238
# dll_name = filename + i +1;
5240
# pe_header_offset = pe_get32 (dll, 0x3c);
5241
# opthdr_ofs = pe_header_offset + 4 + 20;
5242
# num_entries = pe_get32 (dll, opthdr_ofs + 92);
5244
# if (num_entries < 1) /* no exports */
5247
# export_rva = pe_get32 (dll, opthdr_ofs + 96);
5248
# export_size = pe_get32 (dll, opthdr_ofs + 100);
5249
# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
5250
# secptr = (pe_header_offset + 4 + 20 +
5251
# pe_get16 (dll, pe_header_offset + 4 + 16));
5254
# for (i = 0; i < nsections; i++)
5257
# unsigned long secptr1 = secptr + 40 * i;
5258
# unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
5259
# unsigned long vsize = pe_get32 (dll, secptr1 + 16);
5260
# unsigned long fptr = pe_get32 (dll, secptr1 + 20);
5261
# lseek(dll, secptr1, SEEK_SET);
5262
# read(dll, sname, 8);
5263
# if (vaddr <= export_rva && vaddr+vsize > export_rva)
5265
# expptr = fptr + (export_rva - vaddr);
5266
# if (export_rva + export_size > vaddr + vsize)
5267
# export_size = vsize - (export_rva - vaddr);
5272
# expdata = (unsigned char*)malloc(export_size);
5273
# lseek (dll, expptr, SEEK_SET);
5274
# read (dll, expdata, export_size);
5275
# erva = expdata - export_rva;
5277
# nexp = pe_as32 (expdata+24);
5278
# name_rvas = pe_as32 (expdata+32);
5280
# printf ("EXPORTS\n");
5281
# for (i = 0; i<nexp; i++)
5283
# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
5284
# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
5289
# /* impgen.c ends here */
5290
])# _LT_AC_FILE_IMPGEN_C
5292
# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
5293
# ---------------------------------
5294
AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
853
5298
AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
854
5299
AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
855
5300
AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])