ltconfig
上传用户:zm130024
上传日期:2007-01-04
资源大小:432k
文件大小:92k
- #! /bin/sh
- # ltconfig - Create a system-specific libtool.
- # Copyright (C) 1996-1999 Free Software Foundation, Inc.
- # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
- #
- # This file is free software; you can redistribute it and/or modify it
- # under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- # General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- #
- # As a special exception to the GNU General Public License, if you
- # distribute this file as part of a program that contains a
- # configuration script generated by Autoconf, you may include it under
- # the same distribution terms that you use for the rest of that program.
- # A lot of this script is taken from autoconf-2.10.
- # Check that we are running under the correct shell.
- SHELL=${CONFIG_SHELL-/bin/sh}
- echo=echo
- if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
- elif test "X`($echo 't') 2>/dev/null`" = 'Xt'; then
- # Yippee, $echo works!
- :
- else
- # Restart under the correct shell.
- exec "$SHELL" "$0" --no-reexec ${1+"$@"}
- fi
- if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
- $*
- EOF
- exit 0
- fi
- # Find the correct PATH separator. Usually this is `:', but
- # DJGPP uses `;' like DOS.
- if test "X${PATH_SEPARATOR+set}" != "Xset"; then
- UNAME=${UNAME-`uname 2>/dev/null`}
- case X$UNAME in
- *-DOS) PATH_SEPARATOR=';' ;;
- *) PATH_SEPARATOR=':' ;;
- esac
- fi
- # The HP-UX ksh and POSIX shell print the target directory to stdout
- # if CDPATH is set.
- if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
- if test "X${echo_test_string+set}" != "Xset"; then
- # find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string="`eval $cmd`") 2>/dev/null &&
- echo_test_string="`eval $cmd`" &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
- break
- fi
- done
- fi
- if test "X`($echo 't') 2>/dev/null`" != 'Xt' ||
- test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\/\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
- for dir in $PATH /usr/ucb; do
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo 't') 2>/dev/null`" = 'Xt' &&
- test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$save_ifs"
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r 't') 2>/dev/null`" = 'Xt' &&
- test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running ltconfig again with it.
- ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- echo='printf "%sn"'
- if test "X`($echo 't') 2>/dev/null`" = 'Xt' &&
- test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
- # Cool, printf works
- :
- elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo 't') 2>/dev/null`" = 'Xt' &&
- test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
- CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL $0 --fallback-echo"
- elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo 't') 2>/dev/null`" = 'Xt' &&
- test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
- echo="$CONFIG_SHELL $0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
- break
- fi
- prev="$cmd"
- done
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
- fi
- # Sed substitution that helps us do robust quoting. It backslashifies
- # metacharacters that are still active within double-quoted strings.
- Xsed='sed -e s/^X//'
- sed_quote_subst='s/([\"\`$\\])/\1/g'
- # Same as above, but do not quote variable references.
- double_quote_subst='s/([\"\`\\])/\1/g'
- # Sed substitution to delay expansion of an escaped shell variable in a
- # double_quote_subst'ed string.
- delay_variable_subst='s/\\\\\$/\\\$/g'
- # The name of this program.
- progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
- # Constants:
- PROGRAM=ltconfig
- PACKAGE=libtool
- VERSION=1.3.3
- TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)"
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
- ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
- rm="rm -f"
- help="Try `$progname --help' for more information."
- # Global variables:
- default_ofile=libtool
- can_build_shared=yes
- enable_shared=yes
- # All known linkers require a `.a' archive for static linking (except M$VC,
- # which needs '.lib').
- enable_static=yes
- enable_fast_install=yes
- enable_dlopen=unknown
- enable_win32_dll=no
- ltmain=
- silent=
- srcdir=
- ac_config_guess=
- ac_config_sub=
- host=
- nonopt=
- ofile="$default_ofile"
- verify_host=yes
- with_gcc=no
- with_gnu_ld=no
- need_locks=yes
- ac_ext=c
- objext=o
- libext=a
- exeext=
- cache_file=
- old_AR="$AR"
- old_CC="$CC"
- old_CFLAGS="$CFLAGS"
- old_CPPFLAGS="$CPPFLAGS"
- old_LDFLAGS="$LDFLAGS"
- old_LD="$LD"
- old_LN_S="$LN_S"
- old_LIBS="$LIBS"
- old_NM="$NM"
- old_RANLIB="$RANLIB"
- old_DLLTOOL="$DLLTOOL"
- old_OBJDUMP="$OBJDUMP"
- old_AS="$AS"
- # Parse the command line options.
- args=
- prev=
- for option
- do
- case "$option" in
- -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- eval "$prev=$option"
- prev=
- continue
- fi
- case "$option" in
- --help) cat <<EOM
- Usage: $progname [OPTION]... [HOST [LTMAIN]]
- Generate a system-specific libtool script.
- --debug enable verbose shell tracing
- --disable-shared do not build shared libraries
- --disable-static do not build static libraries
- --disable-fast-install do not optimize for fast installation
- --enable-dlopen enable dlopen support
- --enable-win32-dll enable building dlls on win32 hosts
- --help display this help and exit
- --no-verify do not verify that HOST is a valid host type
- -o, --output=FILE specify the output file [default=$default_ofile]
- --quiet same as `--silent'
- --silent do not print informational messages
- --srcdir=DIR find `config.guess' in DIR
- --version output version information and exit
- --with-gcc assume that the GNU C compiler will be used
- --with-gnu-ld assume that the C compiler uses the GNU linker
- --disable-lock disable file locking
- --cache-file=FILE configure cache file
- LTMAIN is the `ltmain.sh' shell script fragment or `ltmain.c' program
- that provides basic libtool functionality.
- HOST is the canonical host system name [default=guessed].
- EOM
- exit 0
- ;;
- --debug)
- echo "$progname: enabling shell trace mode"
- set -x
- ;;
- --disable-shared) enable_shared=no ;;
- --disable-static) enable_static=no ;;
- --disable-fast-install) enable_fast_install=no ;;
- --enable-dlopen) enable_dlopen=yes ;;
- --enable-win32-dll) enable_win32_dll=yes ;;
- --quiet | --silent) silent=yes ;;
- --srcdir) prev=srcdir ;;
- --srcdir=*) srcdir="$optarg" ;;
- --no-verify) verify_host=no ;;
- --output | -o) prev=ofile ;;
- --output=*) ofile="$optarg" ;;
- --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
- --with-gcc) with_gcc=yes ;;
- --with-gnu-ld) with_gnu_ld=yes ;;
- --disable-lock) need_locks=no ;;
- --cache-file=*) cache_file="$optarg" ;;
- -*)
- echo "$progname: unrecognized option `$option'" 1>&2
- echo "$help" 1>&2
- exit 1
- ;;
- *)
- if test -z "$ltmain"; then
- ltmain="$option"
- elif test -z "$host"; then
- # This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
- # if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
- # echo "$progname: warning `$option' is not a valid host type" 1>&2
- # fi
- host="$option"
- else
- echo "$progname: too many arguments" 1>&2
- echo "$help" 1>&2
- exit 1
- fi ;;
- esac
- done
- if test -z "$ltmain"; then
- echo "$progname: you must specify a LTMAIN file" 1>&2
- echo "$help" 1>&2
- exit 1
- fi
- if test ! -f "$ltmain"; then
- echo "$progname: `$ltmain' does not exist" 1>&2
- echo "$help" 1>&2
- exit 1
- fi
- # Quote any args containing shell metacharacters.
- ltconfig_args=
- for arg
- do
- case "$arg" in
- *" "*|*" "*|*[[]~#$^&*(){}\|;<>?]*)
- ltconfig_args="$ltconfig_args '$arg'" ;;
- *) ltconfig_args="$ltconfig_args $arg" ;;
- esac
- done
- # A relevant subset of AC_INIT.
- # File descriptor usage:
- # 0 standard input
- # 1 file creation
- # 2 errors and warnings
- # 3 some systems may open it to /dev/tty
- # 4 used on the Kubota Titan
- # 5 compiler messages saved in config.log
- # 6 checking for... messages and results
- if test "$silent" = yes; then
- exec 6>/dev/null
- else
- exec 6>&1
- fi
- exec 5>>./config.log
- # NLS nuisances.
- # Only set LANG and LC_ALL to C if already set.
- # These must not be set unconditionally because not all systems understand
- # e.g. LANG=C (notably SCO).
- if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
- if test "${LANG+set}" = set; then LANG=C; export LANG; fi
- if test -n "$cache_file" && test -r "$cache_file"; then
- echo "loading cache $cache_file within ltconfig"
- . $cache_file
- fi
- if (echo "testingc"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
- ' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
- else
- ac_n= ac_c='c' ac_t=
- fi
- if test -z "$srcdir"; then
- # Assume the source directory is the same one as the path to LTMAIN.
- srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
- test "$srcdir" = "$ltmain" && srcdir=.
- fi
- trap "$rm conftest*; exit 1" 1 2 15
- if test "$verify_host" = yes; then
- # Check for config.guess and config.sub.
- ac_aux_dir=
- for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/config.guess; then
- ac_aux_dir=$ac_dir
- break
- fi
- done
- if test -z "$ac_aux_dir"; then
- echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
- echo "$help" 1>&2
- exit 1
- fi
- ac_config_guess=$ac_aux_dir/config.guess
- ac_config_sub=$ac_aux_dir/config.sub
- # Make sure we can run config.sub.
- if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
- else
- echo "$progname: cannot run $ac_config_sub" 1>&2
- echo "$help" 1>&2
- exit 1
- fi
- echo $ac_n "checking host system type""... $ac_c" 1>&6
- host_alias=$host
- case "$host_alias" in
- "")
- if host_alias=`$SHELL $ac_config_guess`; then :
- else
- echo "$progname: cannot guess host type; you must specify one" 1>&2
- echo "$help" 1>&2
- exit 1
- fi ;;
- esac
- host=`$SHELL $ac_config_sub $host_alias`
- echo "$ac_t$host" 1>&6
- # Make sure the host verified.
- test -z "$host" && exit 1
- elif test -z "$host"; then
- echo "$progname: you must specify a host type if you use `--no-verify'" 1>&2
- echo "$help" 1>&2
- exit 1
- else
- host_alias=$host
- fi
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case "$host_os" in
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^(.*-.*-linux)(.*)$/1-gnu2/'`
- esac
- host_cpu=`echo $host | sed 's/^([^-]*)-([^-]*)-(.*)$/1/'`
- host_vendor=`echo $host | sed 's/^([^-]*)-([^-]*)-(.*)$/2/'`
- host_os=`echo $host | sed 's/^([^-]*)-([^-]*)-(.*)$/3/'`
- case "$host_os" in
- aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "${COLLECT_NAMES+set}" != set; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
- esac
- # Determine commands to create old-style static archives.
- old_archive_cmds='$AR cru $oldlib$oldobjs'
- old_postinstall_cmds='chmod 644 $oldlib'
- old_postuninstall_cmds=
- # Set a sane default for `AR'.
- test -z "$AR" && AR=ar
- # Set a sane default for `OBJDUMP'.
- test -z "$OBJDUMP" && OBJDUMP=objdump
- # If RANLIB is not set, then run the test.
- if test "${RANLIB+set}" != "set"; then
- result=no
- echo $ac_n "checking for ranlib... $ac_c" 1>&6
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then
- RANLIB="ranlib"
- result="ranlib"
- break
- fi
- done
- IFS="$save_ifs"
- echo "$ac_t$result" 1>&6
- fi
- if test -n "$RANLIB"; then
- old_archive_cmds="$old_archive_cmds~$RANLIB $oldlib"
- old_postinstall_cmds="$RANLIB $oldlib~$old_postinstall_cmds"
- fi
- # Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin.
- test -z "$DLLTOOL" && DLLTOOL=dlltool
- test -z "$OBJDUMP" && OBJDUMP=objdump
- test -z "$AS" && AS=as
- # Check to see if we are using GCC.
- if test "$with_gcc" != yes || test -z "$CC"; then
- # If CC is not set, then try to find GCC or a usable CC.
- if test -z "$CC"; then
- echo $ac_n "checking for gcc... $ac_c" 1>&6
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then
- CC="gcc"
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$CC"; then
- echo "$ac_t$CC" 1>&6
- else
- echo "$ac_t"no 1>&6
- fi
- fi
- # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
- if test -z "$CC"; then
- echo $ac_n "checking for cc... $ac_c" 1>&6
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
- cc_rejected=no
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/cc || test -f $dir/cc$ac_exeext; then
- if test "$dir/cc" = "/usr/ucb/cc"; then
- cc_rejected=yes
- continue
- fi
- CC="cc"
- break
- fi
- done
- IFS="$save_ifs"
- if test $cc_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same name, so the bogon will be chosen
- # first if we set CC to just the name; use the full file name.
- shift
- set dummy "$dir/cc" "$@"
- shift
- CC="$@"
- fi
- fi
- if test -n "$CC"; then
- echo "$ac_t$CC" 1>&6
- else
- echo "$ac_t"no 1>&6
- fi
- if test -z "$CC"; then
- echo "$progname: error: no acceptable cc found in $PATH" 1>&2
- exit 1
- fi
- fi
- # Now see if the compiler is really GCC.
- with_gcc=no
- echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
- echo "$progname:581: checking whether we are using GNU C" >&5
- $rm conftest.c
- cat > conftest.c <<EOF
- #ifdef __GNUC__
- yes;
- #endif
- EOF
- if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: "$ac_try") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- with_gcc=yes
- fi
- $rm conftest.c
- echo "$ac_t$with_gcc" 1>&6
- fi
- # Allow CC to be a program name with arguments.
- set dummy $CC
- compiler="$2"
- echo $ac_n "checking for object suffix... $ac_c" 1>&6
- $rm conftest*
- echo 'int i = 1;' > conftest.c
- echo "$progname:603: checking for object suffix" >& 5
- if { (eval echo $progname:604: "$ac_compile") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
- # Append any warnings to the config.log.
- cat conftest.err 1>&5
- for ac_file in conftest.*; do
- case $ac_file in
- *.c) ;;
- *) objext=`echo $ac_file | sed -e s/conftest.//` ;;
- esac
- done
- else
- cat conftest.err 1>&5
- echo "$progname: failed program was:" >&5
- cat conftest.c >&5
- fi
- $rm conftest*
- echo "$ac_t$objext" 1>&6
- echo $ac_n "checking for executable suffix... $ac_c" 1>&6
- if eval "test "`echo '$''{'ac_cv_exeext'+set}'`" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- ac_cv_exeext="no"
- $rm conftest*
- echo 'main () { return 0; }' > conftest.c
- echo "$progname:629: checking for executable suffix" >& 5
- if { (eval echo $progname:630: "$ac_link") 1>&5; (eval $ac_link) 2>conftest.err; }; then
- # Append any warnings to the config.log.
- cat conftest.err 1>&5
- for ac_file in conftest.*; do
- case $ac_file in
- *.c | *.err | *.$objext ) ;;
- *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;;
- esac
- done
- else
- cat conftest.err 1>&5
- echo "$progname: failed program was:" >&5
- cat conftest.c >&5
- fi
- $rm conftest*
- fi
- if test "X$ac_cv_exeext" = Xno; then
- exeext=""
- else
- exeext="$ac_cv_exeext"
- fi
- echo "$ac_t$ac_cv_exeext" 1>&6
- echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
- pic_flag=
- special_shlib_compile_flags=
- wl=
- link_static_flag=
- no_builtin_flag=
- if test "$with_gcc" = yes; then
- wl='-Wl,'
- link_static_flag='-static'
- case "$host_os" in
- beos* | irix5* | irix6* | osf3* | osf4*)
- # PIC is the default for these OSes.
- ;;
- aix*)
- # Below there is a dirty hack to force normal static linking with -ldl
- # The problem is because libdl dynamically linked with both libc and
- # libC (AIX C++ library), which obviously doesn't included in libraries
- # list by gcc. This cause undefined symbols with -static flags.
- # This hack allows C programs to be linked with "-static -ldl", but
- # we not sure about C++ programs.
- link_static_flag="$link_static_flag ${wl}-lC"
- ;;
- cygwin* | mingw* | os2*)
- # We can build DLLs from non-PIC.
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- pic_flag='-m68020 -resident32 -malways-restore-a4'
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- pic_flag=-Kconform_pic
- fi
- ;;
- *)
- pic_flag='-fPIC'
- ;;
- esac
- else
- # PORTME Check for PIC flags for the system compiler.
- case "$host_os" in
- aix3* | aix4*)
- # All AIX code is PIC.
- link_static_flag='-bnso -bI:/lib/syscalls.exp'
- ;;
- hpux9* | hpux10* | hpux11*)
- # Is there a better link_static_flag that works with the bundled CC?
- wl='-Wl,'
- link_static_flag="${wl}-a ${wl}archive"
- pic_flag='+Z'
- ;;
- irix5* | irix6*)
- wl='-Wl,'
- link_static_flag='-non_shared'
- # PIC (with -KPIC) is the default.
- ;;
- cygwin* | mingw* | os2*)
- # We can build DLLs from non-PIC.
- ;;
- osf3* | osf4*)
- # All OSF/1 code is PIC.
- wl='-Wl,'
- link_static_flag='-non_shared'
- ;;
- sco3.2v5*)
- pic_flag='-Kpic'
- link_static_flag='-dn'
- special_shlib_compile_flags='-belf'
- ;;
- solaris*)
- pic_flag='-KPIC'
- link_static_flag='-Bstatic'
- wl='-Wl,'
- ;;
- sunos4*)
- pic_flag='-PIC'
- link_static_flag='-Bstatic'
- wl='-Qoption ld '
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- pic_flag='-KPIC'
- link_static_flag='-Bstatic'
- wl='-Wl,'
- ;;
- uts4*)
- pic_flag='-pic'
- link_static_flag='-Bstatic'
- ;;
- sysv4*MP*)
- if test -d /usr/nec ;then
- pic_flag='-Kconform_pic'
- link_static_flag='-Bstatic'
- fi
- ;;
- *)
- can_build_shared=no
- ;;
- esac
- fi
- if test -n "$pic_flag"; then
- echo "$ac_t$pic_flag" 1>&6
- # Check to make sure the pic_flag actually works.
- echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
- $rm conftest*
- echo "int some_variable = 0;" > conftest.c
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $pic_flag -DPIC"
- echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5
- if { (eval echo $progname:777: "$ac_compile") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
- # Append any warnings to the config.log.
- cat conftest.err 1>&5
-
- case "$host_os" in
- hpux9* | hpux10* | hpux11*)
- # On HP-UX, both CC and GCC only warn that PIC is supported... then they
- # create non-PIC objects. So, if there were any warnings, we assume that
- # PIC is not supported.
- if test -s conftest.err; then
- echo "$ac_t"no 1>&6
- can_build_shared=no
- pic_flag=
- else
- echo "$ac_t"yes 1>&6
- pic_flag=" $pic_flag"
- fi
- ;;
- *)
- echo "$ac_t"yes 1>&6
- pic_flag=" $pic_flag"
- ;;
- esac
- else
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- can_build_shared=no
- pic_flag=
- echo "$ac_t"no 1>&6
- fi
- CFLAGS="$save_CFLAGS"
- $rm conftest*
- else
- echo "$ac_t"none 1>&6
- fi
- # Check to see if options -o and -c are simultaneously supported by compiler
- echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- $rm conftest*
- echo "int some_variable = 0;" > conftest.c
- mkdir out
- # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
- # that will create temporary files in the current directory regardless of
- # the output directory. Thus, making CWD read-only will cause this test
- # to fail, enabling locking or at least warning the user not to do parallel
- # builds.
- chmod -w .
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -o out/conftest2.o"
- echo "$progname:829: checking if $compiler supports -c -o file.o" >&5
- if { (eval echo $progname:830: "$ac_compile") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s out/conftest.err; then
- echo "$ac_t"no 1>&6
- compiler_c_o=no
- else
- echo "$ac_t"yes 1>&6
- compiler_c_o=yes
- fi
- else
- # Append any errors to the config.log.
- cat out/conftest.err 1>&5
- compiler_c_o=no
- echo "$ac_t"no 1>&6
- fi
- CFLAGS="$save_CFLAGS"
- chmod u+w .
- $rm conftest* out/*
- rmdir out
- cd ..
- rmdir conftest
- $rm -r conftest 2>/dev/null
- if test x"$compiler_c_o" = x"yes"; then
- # Check to see if we can write to a .lo
- echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
- $rm conftest*
- echo "int some_variable = 0;" > conftest.c
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -c -o conftest.lo"
- echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5
- if { (eval echo $progname:863: "$ac_compile") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- echo "$ac_t"no 1>&6
- compiler_o_lo=no
- else
- echo "$ac_t"yes 1>&6
- compiler_o_lo=yes
- fi
- else
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- compiler_o_lo=no
- echo "$ac_t"no 1>&6
- fi
- CFLAGS="$save_CFLAGS"
- $rm conftest*
- else
- compiler_o_lo=no
- fi
- # Check to see if we can do hard links to lock some files if needed
- hard_links="nottested"
- if test "$compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$ac_t$hard_links" 1>&6
- $rm conftest*
- if test "$hard_links" = no; then
- echo "*** WARNING: `$CC' does not support `-c -o', so `make -j' may be unsafe" >&2
- need_locks=warn
- fi
- else
- need_locks=no
- fi
- if test "$with_gcc" = yes; then
- # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
- echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
- $rm conftest*
- echo "int some_variable = 0;" > conftest.c
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
- echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
- if { (eval echo $progname:915: "$ac_compile") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- echo "$ac_t"no 1>&6
- compiler_rtti_exceptions=no
- else
- echo "$ac_t"yes 1>&6
- compiler_rtti_exceptions=yes
- fi
- else
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- compiler_rtti_exceptions=no
- echo "$ac_t"no 1>&6
- fi
- CFLAGS="$save_CFLAGS"
- $rm conftest*
- if test "$compiler_rtti_exceptions" = "yes"; then
- no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
- else
- no_builtin_flag=' -fno-builtin'
- fi
-
- fi
- # Check for any special shared library compilation flags.
- if test -n "$special_shlib_compile_flags"; then
- echo "$progname: warning: `$CC' requires `$special_shlib_compile_flags' to build shared libraries" 1>&2
- if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$special_shlib_compile_flags[ ]" >/dev/null; then :
- else
- echo "$progname: add `$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
- can_build_shared=no
- fi
- fi
- echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
- $rm conftest*
- echo 'main(){return(0);}' > conftest.c
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $link_static_flag"
- echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5
- if { (eval echo $progname:959: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- echo "$ac_t$link_static_flag" 1>&6
- else
- echo "$ac_t"none 1>&6
- link_static_flag=
- fi
- LDFLAGS="$save_LDFLAGS"
- $rm conftest*
- if test -z "$LN_S"; then
- # Check to see if we can use ln -s, or we need hard links.
- echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
- $rm conftest.dat
- if ln -s X conftest.dat 2>/dev/null; then
- $rm conftest.dat
- LN_S="ln -s"
- else
- LN_S=ln
- fi
- if test "$LN_S" = "ln -s"; then
- echo "$ac_t"yes 1>&6
- else
- echo "$ac_t"no 1>&6
- fi
- fi
- # Make sure LD is an absolute path.
- if test -z "$LD"; then
- ac_prog=ld
- if test "$with_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
- echo "$progname:991: checking for ld used by GCC" >&5
- ac_prog=`($CC -print-prog-name=ld) 2>&5`
- case "$ac_prog" in
- # Accept absolute paths.
- [\/]* | [A-Za-z]:[\/]*)
- re_direlt='/[^/][^/]*/../'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we are not using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
- elif test "$with_gnu_ld" = yes; then
- echo $ac_n "checking for GNU ld... $ac_c" 1>&6
- echo "$progname:1015: checking for GNU ld" >&5
- else
- echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
- echo "$progname:1018: checking for non-GNU ld" >&5
- fi
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- fi
- if test -n "$LD"; then
- echo "$ac_t$LD" 1>&6
- else
- echo "$ac_t"no 1>&6
- fi
- if test -z "$LD"; then
- echo "$progname: error: no acceptable ld found in $PATH" 1>&2
- exit 1
- fi
- fi
- # Check to see if it really is or is not GNU ld.
- echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
- if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- with_gnu_ld=yes
- else
- with_gnu_ld=no
- fi
- echo "$ac_t$with_gnu_ld" 1>&6
- # See if the linker supports building shared libraries.
- echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
- allow_undefined_flag=
- no_undefined_flag=
- need_lib_prefix=unknown
- need_version=unknown
- # when you set need_version to no, make sure it does not cause -set_version
- # flags to be left without arguments
- archive_cmds=
- archive_expsym_cmds=
- old_archive_from_new_cmds=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- thread_safe_flag_spec=
- hardcode_libdir_flag_spec=
- hardcode_libdir_separator=
- hardcode_direct=no
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- runpath_var=
- always_export_symbols=no
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '''s/.* //''' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an egrep regular expression of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- case "$host_os" in
- cygwin* | mingw*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$with_gcc" != yes; then
- with_gnu_ld=no
- fi
- ;;
- esac
- ld_shlibs=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
- # See if GNU ld supports shared libraries.
- case "$host_os" in
- aix3* | aix4*)
- # On AIX, the GNU linker is very broken
- ld_shlibs=no
- cat <<EOF 1>&2
- *** Warning: the GNU linker, at least up to release 2.9.1, is reported
- *** to be unable to reliably create shared libraries on AIX.
- *** Therefore, libtool is disabling shared libraries support. If you
- *** really care for shared libraries, you may want to modify your PATH
- *** so that a non-GNU linker is found, and then restart.
- EOF
- ;;
- amigaos*)
- archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can use
- # them.
- ld_shlibs=no
- ;;
- beos*)
- if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- cygwin* | mingw*)
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- # Extract the symbol export list from an `--export-all' def file,
- # then regenerate the def file from the symbol export list, so that
- # the compiled dll only exports the symbol export list.
- export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# /* ltdll.c starts here *//,/^# /* ltdll.c ends here *// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
- test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
- $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~
- sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols'
- archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
- _lt_hint=1;
- for symbol in `cat $export_symbols`; do
- echo " $symbol @ $_lt_hint ; " >> $objdir/$soname-def;
- _lt_hint=`expr 1 + $_lt_hint`;
- done~
- test -f $objdir/$soname-ltdll.c || sed -e "/^# /* ltdll.c starts here *//,/^# /* ltdll.c ends here *// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
- test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
- $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
- $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
- $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
- $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
- $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
- old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a'
- ;;
- netbsd*)
- if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
- # can we support soname and/or expsyms with a.out? -oliva
- fi
- ;;
- solaris*)
- if $LD -v 2>&1 | egrep 'BFD 2.8' > /dev/null; then
- ld_shlibs=no
- cat <<EOF 1>&2
- *** Warning: The releases 2.8.* of the GNU linker cannot reliably
- *** create shared libraries on Solaris systems. Therefore, libtool
- *** is disabling shared libraries support. We urge you to upgrade GNU
- *** binutils to release 2.9.1 or newer. Another option is to modify
- *** your PATH or compiler configuration so that the native linker is
- *** used, and then restart.
- EOF
- elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- *)
- if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- if test "$ld_shlibs" = yes; then
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- case $host_os in
- cygwin* | mingw*)
- # dlltool doesn't understand --whole-archive et. al.
- whole_archive_flag_spec=
- ;;
- *)
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- ;;
- esac
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case "$host_os" in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$with_gcc" = yes && test -z "$link_static_flag"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
- aix4*)
- hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
- hardcode_libdir_separator=':'
- if test "$with_gcc" = yes; then
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct=yes
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- shared_flag='-shared'
- else
- shared_flag='${wl}-bM:SRE'
- hardcode_direct=yes
- fi
- allow_undefined_flag=' ${wl}-berok'
- archive_cmds="$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
- archive_expsym_cmds="$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
- case "$host_os" in aix4.[01]|aix4.[01].*)
- # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
- always_export_symbols=yes ;;
- esac
- ;;
- amigaos*)
- archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
- ;;
- cygwin* | mingw*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '''s/ -lc$//'''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib /OUT:$oldlib$oldobjs'
- fix_srcfile_path='`cygpath -w $srcfile`'
- ;;
- freebsd1*)
- ld_shlibs=no
- ;;
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd*)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- hpux9* | hpux10* | hpux11*)
- case "$host_os" in
- hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;;
- *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;;
- esac
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_minus_L=yes # Not in the search PATH, but as the default
- # location of the library.
- export_dynamic_flag_spec='${wl}-E'
- ;;
- irix5* | irix6*)
- if test "$with_gcc" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
- else
- archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF
- fi
- hardcode_libdir_flag_spec='${wl}-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- openbsd*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION "$libname"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
- ;;
- osf3* | osf4*)
- if test "$with_gcc" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved *'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- sco3.2v5*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
- solaris*)
- no_undefined_flag=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/(.*)/1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case "$host_os" in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *) # Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- esac
- ;;
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
- sysv4)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
- sysv4*MP*)
- if test -d /usr/nec ;then
- # archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs'
- archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
- echo "$ac_t$ld_shlibs" 1>&6
- test "$ld_shlibs" = no && can_build_shared=no
- if test -z "$NM"; then
- echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
- case "$NM" in
- [\/]* | [A-Za-z]:[\/]*) ;; # Let the user override the test with a path.
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
- for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- NM="$ac_dir/nm -B"
- break
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- NM="$ac_dir/nm -p"
- break
- else
- NM=${NM="$ac_dir/nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$NM" && NM=nm
- ;;
- esac
- echo "$ac_t$NM" 1>&6
- fi
- # Check for command to grab the raw symbol name followed by C symbol from nm.
- echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
- # These are sane defaults that work on at least a few old systems.
- # [They come from Ultrix. What could be older than Ultrix?!! ;)]
- # Character class describing NM global symbol codes.
- symcode='[BCDEGRST]'
- # Regexp to match symbols that can be accessed directly from C.
- sympat='([_A-Za-z][_A-Za-z0-9]*)'
- # Transform the above into a raw symbol and a C symbol.
- symxfrm='1 23 3'
- # Transform an extracted symbol line into a proper C declaration
- global_symbol_to_cdecl="sed -n -e 's/^. .* (.*)$/extern char 1;/p'"
- # Define system-specific variables.
- case "$host_os" in
- aix*)
- symcode='[BCDT]'
- ;;
- cygwin* | mingw*)
- symcode='[ABCDGISTW]'
- ;;
- hpux*) # Its linker distinguishes data from code symbols
- global_symbol_to_cdecl="sed -n -e 's/^T .* (.*)$/extern char 1();/p' -e 's/^. .* (.*)$/extern char 1;/p'"
- ;;
- irix*)
- symcode='[BCDEGRST]'
- ;;
- solaris*)
- symcode='[BDT]'
- ;;
- sysv4)
- symcode='[DFNSTU]'
- ;;
- esac
- # If we're using GNU nm, then use its standard symbol codes.
- if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
- symcode='[ABCDGISTW]'
- fi
- # Try without a prefix undercore, then with it.
- for ac_symprfx in "" "_"; do
- # Write the raw and C identifiers.
- global_symbol_pipe="sed -n -e 's/^.*[ ]($symcode)[ ][ ]*($ac_symprfx)$sympat$/$symxfrm/p'"
- # Check to see that the pipe works correctly.
- pipe_works=no
- $rm conftest*
- cat > conftest.c <<EOF
- #ifdef __cplusplus
- extern "C" {
- #endif
- char nm_test_var;
- void nm_test_func(){}
- #ifdef __cplusplus
- }
- #endif
- main(){nm_test_var='a';nm_test_func();return(0);}
- EOF
- echo "$progname:1592: checking if global_symbol_pipe works" >&5
- if { (eval echo $progname:1593: "$ac_compile") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { echo "$progname:1596: eval "$NM conftest.$objext | $global_symbol_pipe > $nlist"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
- # Make sure that we snagged all the symbols we need.
- if egrep ' nm_test_var$' "$nlist" >/dev/null; then
- if egrep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.c
- #ifdef __cplusplus
- extern "C" {
- #endif
- EOF
- # Now generate the symbol file.
- eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
- cat <<EOF >> conftest.c
- #if defined (__STDC__) && __STDC__
- # define lt_ptr_t void *
- #else
- # define lt_ptr_t char *
- # define const
- #endif
- /* The mapping between symbol names and symbols. */
- const struct {
- const char *name;
- lt_ptr_t address;
- }
- lt_preloaded_symbols[] =
- {
- EOF
- sed 's/^. (.*) (.*)$/ {"2", (lt_ptr_t) &2},/' < "$nlist" >> conftest.c
- cat <<EOF >> conftest.c
- {0, (lt_ptr_t) 0}
- };
- #ifdef __cplusplus
- }
- #endif
- EOF
- # Now try linking the two files.
- mv conftest.$objext conftstm.$objext
- save_LIBS="$LIBS"
- save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$objext"
- CFLAGS="$CFLAGS$no_builtin_flag"
- if { (eval echo $progname:1648: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- pipe_works=yes
- else
- echo "$progname: failed program was:" >&5
- cat conftest.c >&5
- fi
- LIBS="$save_LIBS"
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.c >&5
- fi
- $rm conftest* conftst*
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- global_symbol_pipe=
- fi
- done
- if test "$pipe_works" = yes; then
- echo "${ac_t}ok" 1>&6
- else
- echo "${ac_t}failed" 1>&6
- fi
- if test -z "$global_symbol_pipe"; then
- global_symbol_to_cdecl=
- fi
- # Check hardcoding attributes.
- echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
- hardcode_action=
- if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var"; then
- # We can hardcode non-existant directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$hardcode_shlibpath_var" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
- else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
- fi
- echo "$ac_t$hardcode_action" 1>&6
- reload_flag=
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
- # PORTME Some linkers may need a different reload flag.
- reload_flag='-r'
- echo "$ac_t$reload_flag" 1>&6
- test -n "$reload_flag" && reload_flag=" $reload_flag"
- # PORTME Fill in your ld.so characteristics
- library_names_spec=
- libname_spec='lib$name'
- soname_spec=
- postinstall_cmds=
- postuninstall_cmds=
- finish_cmds=
- finish_eval=
- shlibpath_var=
- shlibpath_overrides_runpath=unknown
- version_type=none
- dynamic_linker="$host_os ld.so"
- sys_lib_dlsearch_path_spec="/lib /usr/lib"
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
- file_magic_cmd=
- file_magic_test_file=
- deplibs_check_method='unknown'
- # Need to set the preceding variable on all platforms that support
- # interlibrary dependencies.
- # 'none' -- dependencies not supported.
- # `unknown' -- same as none, but documents that we really don't know.
- # 'pass_all' -- all dependencies passed with no checks.
- # 'test_compile' -- check by making test program.
- # 'file_magic [regex]' -- check by looking for files in library path
- # which responds to the $file_magic_cmd with a given egrep regex.
- # If you have `file' or equivalent on your system and you're not sure
- # whether `pass_all' will *always* work, you probably want this one.
- echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
- case "$host_os" in
- aix3*)
- version_type=linux
- library_names_spec='${libname}${release}.so$versuffix ${libname}.so $libname.a'
- shlibpath_var=LIBPATH
- # AIX has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}.so$major'
- ;;
- aix4*)
- version_type=linux
- # AIX has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- # We preserve .a as extension for shared libraries though AIX4.2
- # and later linker supports .so
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}.so $libname.a'
- shlibpath_var=LIBPATH
- deplibs_check_method=pass_all
- ;;
- amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- 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'
- ;;
- beos*)
- library_names_spec='${libname}.so'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- deplibs_check_method=pass_all
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
- bsdi4*)
- version_type=linux
- library_names_spec='${libname}.so$major ${libname}.so'
- soname_spec='${libname}.so'
- finish_cmds='PATH="$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- file_magic_cmd=/usr/bin/file
- file_magic_test_file=/shlib/libc.so
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
- cygwin* | mingw*)
- version_type=windows
- need_version=no
- need_lib_prefix=no
- if test "$with_gcc" = yes; then
- library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
- else
- library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
- fi
- dynamic_linker='Win32 ld.exe'
- deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- file_magic_cmd='${OBJDUMP} -f'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
- freebsd1*)
- dynamic_linker=no
- ;;
-
- freebsd*)
- objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
- version_type=freebsd-$objformat
- case "$version_type" in
- freebsd-elf*)
- deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
- file_magic_cmd=/usr/bin/file
- file_magic_test_file=`echo /usr/lib/libc.so*`
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- deplibs_check_method=unknown
- library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix ${libname}.so'
- need_version=yes
- ;;
- esac
- finish_cmds='PATH="$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- case "$host_os" in
- freebsd2* | freebsd3.[01]*)
- shlibpath_overrides_runpath=yes
- ;;
- *) # from 3.2 on
- shlibpath_overrides_runpath=no
- ;;
- esac
- ;;
- gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
- soname_spec='${libname}${release}.so$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
- hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- dynamic_linker="$host_os dld.sl"
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major ${libname}.so $libname.sl'
- soname_spec='${libname}${release}.sl$major'
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
- irix5* | irix6*)
- version_type=irix
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}.so.$major'
- library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so'
- case "$host_os" in
- irix5*)
- libsuff= shlibsuff=
- # this will be overridden with pass_all, but let us keep it just in case
- deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
- ;;
- *)
- case "$LD" in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- # this will be overridden with pass_all, but let us keep it just in case
- deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- file_magic_cmd=/usr/bin/file
- file_magic_test_file=`echo /lib${libsuff}/libc.so*`
- deplibs_check_method='pass_all'
- ;;
- # No shared lib support for Linux oldld, aout, or coff.
- linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
- dynamic_linker=no
- ;;
- # This must be Linux ELF.
- linux-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
- finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- file_magic_cmd=/usr/bin/file
- file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- if test -f /lib/ld.so.1; then
- dynamic_linker='GNU ld.so'
- else
- # Only the GNU ld.so supports shared libraries on MkLinux.
- case "$host_cpu" in
- powerpc*) dynamic_linker=no ;;
- *) dynamic_linker='Linux ld.so' ;;
- esac
- fi
- ;;
- netbsd*)
- version_type=sunos
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix ${libname}.so'
- finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
- soname_spec='${libname}${release}.so$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- ;;
- openbsd*)
- version_type=sunos
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- need_version=no
- fi
- library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix ${libname}.so'
- finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
- os2*)
- libname_spec='$name'
- need_lib_prefix=no
- library_names_spec='$libname.dll $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
- osf3* | osf4*)
- version_type=osf
- need_version=no
- soname_spec='${libname}${release}.so'
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
- shlibpath_var=LD_LIBRARY_PATH
- # this will be overridden with pass_all, but let us keep it just in case
- deplibs_check_method='file_magic COFF format alpha shared library'
- file_magic_cmd=/usr/bin/file
- file_magic_test_file=/shlib/libc.so
- deplibs_check_method='pass_all'
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
- sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}.so$major'
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
- solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib"
- file_magic_cmd=/usr/bin/file
- file_magic_test_file=/lib/libc.so
- ;;
- sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
- finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- version_type=linux
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
- shlibpath_var=LD_LIBRARY_PATH
- case "$host_vendor" in
- ncr)
- deplibs_check_method='pass_all'
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- file_magic_cmd=/usr/bin/file
- file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- esac
- ;;
- uts4*)
- version_type=linux
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
- dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
- soname_spec='${libname}${release}.so$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
- sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
- soname_spec='$libname.so.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
- *)
- dynamic_linker=no
- ;;
- esac
- echo "$ac_t$dynamic_linker" 1>&6
- test "$dynamic_linker" = no && can_build_shared=no
- # Report the final consequences.
- echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
- # Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
- # configure.in, otherwise build static only libraries.
- case "$host_os" in
- cygwin* | mingw* | os2*)
- if test x$can_build_shared = xyes; then
- test x$enable_win32_dll = xno && can_build_shared=no
- echo "checking if package supports dlls... $can_build_shared" 1>&6
- fi
- ;;
- esac
- if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
- case "$deplibs_check_method" in
- "file_magic "*)
- file_magic_regex="`expr "$deplibs_check_method" : "file_magic (.*)"`"
- if eval $file_magic_cmd $file_magic_test_file 2> /dev/null |
- egrep "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
- *** Warning: the command libtool uses to detect shared libraries,
- *** $file_magic_cmd, produces output that libtool cannot recognize.
- *** The result is that libtool may fail to recognize shared libraries
- *** as such. This will affect the creation of libtool libraries that
- *** depend on shared libraries, but programs linked with such libtool
- *** libraries will work regardless of this problem. Nevertheless, you
- *** may want to report the problem to your system manager and/or to
- *** bug-libtool@gnu.org
- EOF
- fi ;;
- esac
- fi
- echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
- test "$can_build_shared" = "no" && enable_shared=no
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case "$host_os" in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~$RANLIB $lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix4*)
- test "$enable_shared" = yes && enable_static=no
- ;;
- esac
- echo "$ac_t$enable_shared" 1>&6
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- echo "checking whether to build static libraries... $enable_static" 1>&6
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
- elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
- fi
- echo $ac_n "checking for objdir... $ac_c" 1>&6
- rm -f .libs 2>/dev/null
- mkdir .libs 2>/dev/null
- if test -d .libs; then
- objdir=.libs
- else
- # MS-DOS does not allow filenames that begin with a dot.
- objdir=_libs
- fi
- rmdir .libs 2>/dev/null
- echo "$ac_t$objdir" 1>&6
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
- else
- if eval "test "`echo '$''{'lt_cv_dlopen'+set}'`" != set"; then
- lt_cv_dlopen=no lt_cv_dlopen_libs=
- echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
- echo "$progname:2170: checking for dlopen in -ldl" >&5
- ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
- if eval "test "`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- ac_save_LIBS="$LIBS"
- LIBS="-ldl $LIBS"
- cat > conftest.$ac_ext <<EOF
- #line 2178 "ltconfig"
- /* Override any gcc2 internal prototype to avoid an error. */
- /* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
- char dlopen();
- int main() {
- dlopen()
- ; return 0; }
- EOF
- if { (eval echo $progname:2188: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
- fi
- rm -f conftest*
- LIBS="$ac_save_LIBS"
- fi
- if eval "test "`echo '$ac_cv_lib_'$ac_lib_var`" = yes"; then
- echo "$ac_t""yes" 1>&6
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
- else
- echo "$ac_t""no" 1>&6
- echo $ac_n "checking for dlopen""... $ac_c" 1>&6
- echo "$progname:2207: checking for dlopen" >&5
- if eval "test "`echo '$''{'ac_cv_func_dlopen'+set}'`" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
- #line 2212 "ltconfig"
- /* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen(); below. */
- #include <assert.h>
- /* Override any gcc2 internal prototype to avoid an error. */
- /* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
- char dlopen();
- int main() {
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
- #if defined (__stub_dlopen) || defined (__stub___dlopen)
- choke me
- #else
- dlopen();
- #endif
- ; return 0; }
- EOF
- if { (eval echo $progname:2234: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_dlopen=yes"
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_dlopen=no"
- fi
- rm -f conftest*
- fi
- if eval "test "`echo '$ac_cv_func_'dlopen`" = yes"; then
- echo "$ac_t""yes" 1>&6
- lt_cv_dlopen="dlopen"
- else
- echo "$ac_t""no" 1>&6
- echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
- echo "$progname:2251: checking for dld_link in -ldld" >&5
- ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
- if eval "test "`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- ac_save_LIBS="$LIBS"
- LIBS="-ldld $LIBS"
- cat > conftest.$ac_ext <<EOF
- #line 2259 "ltconfig"
- /* Override any gcc2 internal prototype to avoid an error. */
- /* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
- char dld_link();
- int main() {
- dld_link()
- ; return 0; }
- EOF
- if { (eval echo $progname:2269: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
- fi
- rm -f conftest*
- LIBS="$ac_save_LIBS"
- fi
- if eval "test "`echo '$ac_cv_lib_'$ac_lib_var`" = yes"; then
- echo "$ac_t""yes" 1>&6
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
- else
- echo "$ac_t""no" 1>&6
- echo $ac_n "checking for shl_load""... $ac_c" 1>&6
- echo "$progname:2288: checking for shl_load" >&5
- if eval "test "`echo '$''{'ac_cv_func_shl_load'+set}'`" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
- #line 2293 "ltconfig"
- /* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load(); below. */
- #include <assert.h>
- /* Override any gcc2 internal prototype to avoid an error. */
- /* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
- char shl_load();
- int main() {
- /* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
- #if defined (__stub_shl_load) || defined (__stub___shl_load)
- choke me
- #else
- shl_load();
- #endif
- ; return 0; }
- EOF
- if { (eval echo $progname:2315: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_shl_load=yes"
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_shl_load=no"
- fi
- rm -f conftest*
- fi
- if eval "test "`echo '$ac_cv_func_'shl_load`" = yes"; then
- echo "$ac_t""yes" 1>&6
- lt_cv_dlopen="shl_load"
- else
- echo "$ac_t""no" 1>&6
- echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
- echo "$progname:2333: checking for shl_load in -ldld" >&5
- ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
- if eval "test "`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- ac_save_LIBS="$LIBS"
- LIBS="-ldld $LIBS"
- cat > conftest.$ac_ext <<EOF
- #line 2341 "ltconfig"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error. */
- /* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
- char shl_load();
- int main() {
- shl_load()
- ; return 0; }
- EOF
- if { (eval echo $progname:2352: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
- fi
- rm -f conftest*
- LIBS="$ac_save_LIBS"
- fi
- if eval "test "`echo '$ac_cv_lib_'$ac_lib_var`" = yes"; then
- echo "$ac_t""yes" 1>&6
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
- else
- echo "$ac_t""no" 1>&6
- fi
- fi
-
- fi
-
- fi
- fi
- fi
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- fi
- case "$lt_cv_dlopen" in
- dlopen)
- for ac_hdr in dlfcn.h; do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
- echo "$progname:2395: checking for $ac_hdr" >&5
- if eval "test "`echo '$''{'ac_cv_header_$ac_safe'+set}'`" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
- #line 2400 "ltconfig"
- #include <$ac_hdr>
- int fnord = 0;
- EOF
- ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out"
- { (eval echo $progname:2405: "$ac_try") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}$"`
- if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
- else
- echo "$ac_err" >&5
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
- fi
- rm -f conftest*
- fi
- if eval "test "`echo '$ac_cv_header_'$ac_safe`" = yes"; then
- echo "$ac_t""yes" 1>&6
- else
- echo "$ac_t""no" 1>&6
- fi
- done
- if test "x$ac_cv_header_dlfcn_h" = xyes; then
- CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- fi
- eval LDFLAGS="$LDFLAGS $export_dynamic_flag_spec"
- LIBS="$lt_cv_dlopen_libs $LIBS"
- echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
- echo "$progname:2433: checking whether a program can dlopen itself" >&5
- if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- if test "$cross_compiling" = yes; then
- lt_cv_dlopen_self=cross
- else
- cat > conftest.c <<EOF
- #line 2441 "ltconfig"
- #if HAVE_DLFCN_H
- #include <dlfcn.h>
- #endif
- #include <stdio.h>
- #ifdef RTLD_GLOBAL
- # define LTDL_GLOBAL RTLD_GLOBAL
- #else
- # ifdef DL_GLOBAL
- # define LTDL_GLOBAL DL_GLOBAL
- # else
- # define LTDL_GLOBAL 0
- # endif
- #endif
- /* We may have to define LTDL_LAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
- #ifndef LTDL_LAZY_OR_NOW
- # ifdef RTLD_LAZY
- # define LTDL_LAZY_OR_NOW RTLD_LAZY
- # else
- # ifdef DL_LAZY
- # define LTDL_LAZY_OR_NOW DL_LAZY
- # else
- # ifdef RTLD_NOW
- # define LTDL_LAZY_OR_NOW RTLD_NOW
- # else
- # ifdef DL_NOW
- # define LTDL_LAZY_OR_NOW DL_NOW
- # else
- # define LTDL_LAZY_OR_NOW 0
- # endif
- # endif
- # endif
- # endif
- #endif
- fnord() { int i=42;}
- main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
- if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
- if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
- EOF
- if { (eval echo $progname:2487: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
- then
- lt_cv_dlopen_self=yes
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- lt_cv_dlopen_self=no
- fi
- rm -fr conftest*
- fi
- fi
- echo "$ac_t""$lt_cv_dlopen_self" 1>&6
- if test "$lt_cv_dlopen_self" = yes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
- echo "$progname:2506: checking whether a statically linked program can dlopen itself" >&5
- if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- if test "$cross_compiling" = yes; then
- lt_cv_dlopen_self_static=cross
- else
- cat > conftest.c <<EOF
- #line 2514 "ltconfig"
- #if HAVE_DLFCN_H
- #include <dlfcn.h>
- #endif
- #include <stdio.h>
- #ifdef RTLD_GLOBAL
- # define LTDL_GLOBAL RTLD_GLOBAL
- #else
- # ifdef DL_GLOBAL
- # define LTDL_GLOBAL DL_GLOBAL
- # else
- # define LTDL_GLOBAL 0
- # endif
- #endif
- /* We may have to define LTDL_LAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
- #ifndef LTDL_LAZY_OR_NOW
- # ifdef RTLD_LAZY
- # define LTDL_LAZY_OR_NOW RTLD_LAZY
- # else
- # ifdef DL_LAZY
- # define LTDL_LAZY_OR_NOW DL_LAZY
- # else
- # ifdef RTLD_NOW
- # define LTDL_LAZY_OR_NOW RTLD_NOW
- # else
- # ifdef DL_NOW
- # define LTDL_LAZY_OR_NOW DL_NOW
- # else
- # define LTDL_LAZY_OR_NOW 0
- # endif
- # endif
- # endif
- # endif
- #endif
- fnord() { int i=42;}
- main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
- if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
- if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
- EOF
- if { (eval echo $progname:2560: "$ac_link") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
- then
- lt_cv_dlopen_self_static=yes
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- lt_cv_dlopen_self_static=no
- fi
- rm -fr conftest*
- fi
- fi
- echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
- fi
- ;;
- esac
- case "$lt_cv_dlopen_self" in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
- case "$lt_cv_dlopen_self_static" in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
- fi
- # Copy echo and quote the copy, instead of the original, because it is
- # used later.
- ltecho="$echo"
- if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- ltecho="$CONFIG_SHELL $0 --fallback-echo"
- fi
- LTSHELL="$SHELL"
- LTCONFIG_VERSION="$VERSION"
- # Only quote variables if we're using ltmain.sh.
- case "$ltmain" in
- *.sh)
- # Now quote all the things that may contain metacharacters.
- for var in ltecho old_CC old_CFLAGS old_CPPFLAGS
- old_LD old_LDFLAGS old_LIBS
- old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS
- AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION
- reload_flag reload_cmds wl
- pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec
- thread_safe_flag_spec whole_archive_flag_spec libname_spec
- library_names_spec soname_spec
- RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds
- old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds
- file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag
- finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl
- hardcode_libdir_flag_spec hardcode_libdir_separator
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec
- compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
- case "$var" in
- reload_cmds | old_archive_cmds | old_archive_from_new_cmds |
- old_postinstall_cmds | old_postuninstall_cmds |
- export_symbols_cmds | archive_cmds | archive_expsym_cmds |
- postinstall_cmds | postuninstall_cmds |
- finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "$var=\"`$echo "X$$var" | $Xsed -e "$double_quote_subst" -e "$sed_quote_subst" -e "$delay_variable_subst"`\""
- ;;
- *)
- eval "$var=\"`$echo "X$$var" | $Xsed -e "$sed_quote_subst"`\""
- ;;
- esac
- done
- case "$ltecho" in
- *'$0 --fallback-echo"')
- ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
- trap "$rm "$ofile"; exit 1" 1 2 15
- echo "creating $ofile"
- $rm "$ofile"
- cat <<EOF > "$ofile"
- #! $SHELL
- # `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
- # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
- # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
- #
- # Copyright (C) 1996-1999 Free Software Foundation, Inc.
- # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- # General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- #
- # As a special exception to the GNU General Public License, if you
- # distribute this file as part of a program that contains a
- # configuration script generated by Autoconf, you may include it under
- # the same distribution terms that you use for the rest of that program.
- # Sed that helps us avoid accidentally triggering echo(1) options like -n.
- Xsed="sed -e s/^X//"
- # The HP-UX ksh and POSIX shell print the target directory to stdout
- # if CDPATH is set.
- if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
- ### BEGIN LIBTOOL CONFIG
- EOF
- cfgfile="$ofile"
- ;;
- *)
- # Double-quote the variables that need it (for aesthetics).
- for var in old_CC old_CFLAGS old_CPPFLAGS
- old_LD old_LDFLAGS old_LIBS
- old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do
- eval "$var=\"$var\""
- done
- # Just create a config file.
- cfgfile="$ofile.cfg"
- trap "$rm "$cfgfile"; exit 1" 1 2 15
- echo "creating $cfgfile"
- $rm "$cfgfile"
- cat <<EOF > "$cfgfile"
- # `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
- # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
- EOF
- ;;
- esac
- cat <<EOF >> "$cfgfile"
- # Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
- #
- # CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \
- # LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \
- # NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \
- # DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \
- # $0$ltconfig_args
- #
- # Compiler and other test output produced by $progname, useful for
- # debugging $progname, is in ./config.log if it exists.
- # The version of $progname that generated this script.
- LTCONFIG_VERSION=$LTCONFIG_VERSION
- # Shell to use when invoking shell scripts.
- SHELL=$LTSHELL
- # Whether or not to build shared libraries.
- build_libtool_libs=$enable_shared
- # Whether or not to build static libraries.
- build_old_libs=$enable_static
- # Whether or not to optimize for fast installation.
- fast_install=$enable_fast_install
- # The host system.
- host_alias=$host_alias
- host=$host
- # An echo program that does not interpret backslashes.
- echo=$ltecho
- # The archiver.
- AR=$AR
- # The default C compiler.
- CC=$CC
- # The linker used to build libraries.
- LD=$LD
- # Whether we need hard or soft links.
- LN_S=$LN_S
- # A BSD-compatible nm program.
- NM=$NM
- # Used on cygwin: DLL creation program.
- DLLTOOL="$DLLTOOL"
- # Used on cygwin: object dumper.
- OBJDUMP="$OBJDUMP"
- # Used on cygwin: assembler.
- AS="$AS"
- # The name of the directory that contains temporary libtool files.
- objdir=$objdir
- # How to create reloadable object files.
- reload_flag=$reload_flag
- reload_cmds=$reload_cmds
- # How to pass a linker flag through the compiler.
- wl=$wl
- # Object file suffix (normally "o").
- objext="$objext"
- # Old archive suffix (normally "a").
- libext="$libext"
- # Executable file suffix (normally "").
- exeext="$exeext"
- # Additional compiler flags for building library objects.
- pic_flag=$pic_flag
- # Does compiler simultaneously support -c and -o options?
- compiler_c_o=$compiler_c_o
- # Can we write directly to a .lo ?
- compiler_o_lo=$compiler_o_lo
- # Must we lock files when doing compilation ?
- need_locks=$need_locks
- # Do we need the lib prefix for modules?
- need_lib_prefix=$need_lib_prefix
- # Do we need a version for libraries?
- need_version=$need_version
- # Whether dlopen is supported.
- dlopen=$enable_dlopen
- # Whether dlopen of programs is supported.
- dlopen_self=$enable_dlopen_self
- # Whether dlopen of statically linked programs is supported.
- dlopen_self_static=$enable_dlopen_self_static
- # Compiler flag to prevent dynamic linking.
- link_static_flag=$link_static_flag
- # Compiler flag to turn off builtin functions.
- no_builtin_flag=$no_builtin_flag
- # Compiler flag to allow reflexive dlopens.
- export_dynamic_flag_spec=$export_dynamic_flag_spec
- # Compiler flag to generate shared objects directly from archives.
- whole_archive_flag_spec=$whole_archive_flag_spec
- # Compiler flag to generate thread-safe objects.
- thread_safe_flag_spec=$thread_safe_flag_spec
- # Library versioning type.
- version_type=$version_type
- # Format of library name prefix.
- libname_spec=$libname_spec
- # List of archive names. First name is the real one, the rest are links.
- # The last name is the one that the linker finds with -lNAME.
- library_names_spec=$library_names_spec
- # The coded name of the library, if different from the real name.
- soname_spec=$soname_spec
- # Commands used to build and install an old-style archive.
- RANLIB=$RANLIB
- old_archive_cmds=$old_archive_cmds
- old_postinstall_cmds=$old_postinstall_cmds
- old_postuninstall_cmds=$old_postuninstall_cmds
- # Create an old-style archive from a shared archive.
- old_archive_from_new_cmds=$old_archive_from_new_cmds
- # Commands used to build and install a shared archive.
- archive_cmds=$archive_cmds
- archive_expsym_cmds=$archive_expsym_cmds
- postinstall_cmds=$postinstall_cmds
- postuninstall_cmds=$postuninstall_cmds
- # Method to check whether dependent libraries are shared objects.
- deplibs_check_method=$deplibs_check_method
- # Command to use when deplibs_check_method == file_magic.
- file_magic_cmd=$file_magic_cmd
- # Flag that allows shared libraries with undefined symbols to be built.
- allow_undefined_flag=$allow_undefined_flag
- # Flag that forces no undefined symbols.
- no_undefined_flag=$no_undefined_flag
- # Commands used to finish a libtool library installation in a directory.
- finish_cmds=$finish_cmds
- # Same as above, but a single script fragment to be evaled but not shown.
- finish_eval=$finish_eval
- # Take the output of nm and produce a listing of raw symbols and C names.
- global_symbol_pipe=$global_symbol_pipe
- # Transform the output of nm in a proper C declaration
- global_symbol_to_cdecl=$global_symbol_to_cdecl
- # This is the shared library runtime path variable.
- runpath_var=$runpath_var
- # This is the shared library path variable.
- shlibpath_var=$shlibpath_var
- # Is shlibpath searched before the hard-coded library search path?
- shlibpath_overrides_runpath=$shlibpath_overrides_runpath
- # How to hardcode a shared library path into an executable.
- hardcode_action=$hardcode_action
- # Flag to hardcode $libdir into a binary during linking.
- # This must work even if $libdir does not exist.
- hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
- # Whether we need a single -rpath flag with a separated argument.
- hardcode_libdir_separator=$hardcode_libdir_separator
- # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
- # resulting binary.
- hardcode_direct=$hardcode_direct
- # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
- # resulting binary.
- hardcode_minus_L=$hardcode_minus_L
- # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
- # the resulting binary.
- hardcode_shlibpath_var=$hardcode_shlibpath_var
- # Compile-time system search path for libraries
- sys_lib_search_path_spec=$sys_lib_search_path_spec
- # Run-time system search path for libraries
- sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
- # Fix the shell variable $srcfile for the compiler.
- fix_srcfile_path="$fix_srcfile_path"
- # Set to yes if exported symbols are required.
- always_export_symbols=$always_export_symbols
- # The commands to list exported symbols.
- export_symbols_cmds=$export_symbols_cmds
- # Symbols that should not be listed in the preloaded symbols.
- exclude_expsyms=$exclude_expsyms
- # Symbols that must always be exported.
- include_expsyms=$include_expsyms
- EOF
- case "$ltmain" in
- *.sh)
- echo '### END LIBTOOL CONFIG' >> "$ofile"
- echo >> "$ofile"
- case "$host_os" in
- aix3*)
- cat <<EOF >> "$ofile"
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "${COLLECT_NAMES+set}" != set; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- EOF
- ;;
- esac
- # Append the ltmain.sh script.
- sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
- chmod +x "$ofile"
- ;;
- *)
- # Compile the libtool program.
- echo "FIXME: would compile $ltmain"
- ;;
- esac
- test -n "$cache_file" || exit 0
- # AC_CACHE_SAVE
- trap '' 1 2 15
- cat > confcache <<EOF
- # This file is a shell script that caches the results of configure
- # tests run on this system so they can be shared between configure
- # scripts and configure runs. It is not useful on other systems.
- # If it contains results you don't want to keep, you may remove or edit it.
- #
- # By default, configure uses ./config.cache as the cache file,
- # creating it if it does not exist already. You can give configure
- # the --cache-file=FILE option to use a different cache file; that is
- # what configure does when it calls configure scripts in
- # subdirectories, so they share the cache.
- # Giving --cache-file=/dev/null disables caching, for debugging configure.
- # config.status only pays attention to the cache file if you give it the
- # --recheck option to rerun configure.
- #
- EOF
- # The following way of writing the cache mishandles newlines in values,
- # but we know of no workaround that is simple, portable, and efficient.
- # So, don't put newlines in cache variables' values.
- # Ultrix sh set writes to stderr and can't be redirected directly,
- # and sets the high bit in the cache file unless we assign to the vars.
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space= *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\ into \, and sed turns \ into ).
- sed -n
- -e "s/'/'\\''/g"
- -e "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1='\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*)=(.*)/1=${1=2}/p'
- ;;
- esac >> confcache
- if cmp -s $cache_file confcache; then
- :
- else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
- fi
- rm -f confcache
- exit 0
- # Local Variables:
- # mode:shell-script
- # sh-indentation:2
- # End: