case "$uname" in
Linux* | linux* | GNU | GNU/* | solaris*)
LDSHARED=${LDSHARED-"$cc"}
- LDSHAREDFLAGS="-shared -Wl,-soname,${LIBNAME}.so.${VER1},--version-script,${SRCDIR}/${MAPNAME}" ;;
+ LDSHAREDFLAGS="-shared -Wl,-soname,${LIBNAME}.so.${VER1}" ;;
*BSD | *bsd* | DragonFly)
LDSHARED=${LDSHARED-"$cc"}
- LDSHAREDFLAGS="-shared -Wl,-soname,${LIBNAME}.so.${VER1},--version-script,${SRCDIR}/${MAPNAME}"
+ LDSHAREDFLAGS="-shared -Wl,-soname,${LIBNAME}.so.${VER1}"
LDCONFIG="ldconfig -m" ;;
CYGWIN* | Cygwin* | cygwin*)
visibility=0
SHAREDTARGET=$SHAREDLIB
IMPORTLIB="${LIBNAME}.dll.a"
LDSHARED=${LDSHARED-"$cc"}
- LDSHAREDFLAGS="-shared -Wl,--out-implib,${IMPORTLIB},--version-script,${SRCDIR}/${MAPNAME}"
+ LDSHAREDFLAGS="-shared -Wl,--out-implib,${IMPORTLIB}"
LDSHAREDLIBC=""
if test $gzfileops -eq 0; then
DEFFILE='win32/${LIBNAME2}.def'
SHAREDTARGET=$SHAREDLIB
IMPORTLIB="${LIBNAME}.dll.a"
LDSHARED=${LDSHARED-"$cc"}
- LDSHAREDFLAGS="-shared -Wl,--out-implib=${IMPORTLIB} -Wl,--version-script=${SRCDIR}/${MAPNAME}"
+ LDSHAREDFLAGS="-shared -Wl,--out-implib=${IMPORTLIB}"
LDSHAREDLIBC=""
if test $gzfileops -eq 0; then
DEFFILE='win32/${LIBNAME2}.def'
ARFLAGS="-o" ;;
aarch64)
LDSHARED=${LDSHARED-"$cc"}
- LDSHAREDFLAGS="-shared -Wl,-soname,${LIBNAME}.so.${VER1} -Wl,--version-script,${SRCDIR}/${MAPNAME}"
+ LDSHAREDFLAGS="-shared -Wl,-soname,${LIBNAME}.so.${VER1}"
LDSHAREDLIBC="-Wl,--start-group -lc -lrdimon -Wl,--end-group" ;;
*)
LDSHARED=${LDSHARED-"$cc"}
echo >> configure.log
+# check for version script support
+cat > $test.c <<EOF
+int foo(void) { return 0; }
+EOF
+cat > $test.map <<EOF
+{
+ global:
+ foo;
+ local:
+ *;
+};
+EOF
+if test $shared -eq 1; then
+ LDVERSIONSCRIPT="-Wl,--version-script,$SRCDIR/$MAPNAME"
+ if try $CC -c $SFLAGS $test.c && try $LDSHARED $LDVERSIONSCRIPT $LDSHAREDFLAGS $LDFLAGS -o $test$shared_ext $test.o $LDSHAREDLIBC; then
+ echo "Checking for version script support... $LDVERSIONSCRIPT." | tee -a configure.log
+ else
+ echo "Checking for version script support... No." | tee -a configure.log
+ LDVERSIONSCRIPT=""
+ fi
+fi
+echo >> configure.log
+
# check for large file support, and if none, check for fseeko()
cat > $test.c <<EOF
#include <sys/types.h>
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
/^LDSHARED *=/s#=.*#=$LDSHARED#
/^LDSHAREDFLAGS *=/s#=.*#=$LDSHAREDFLAGS#
+/^LDVERSIONSCRIPT *=/s#=.*#=$LDVERSIONSCRIPT#
/^LIBNAME1 *=/s#=.*#=$LIBNAME#
/^LIBNAME2 *=/s#=.*#=$LIBNAME2#
/^SUFFIX *=/s#=.*#=$SUFFIX#