Index: aclocal/shobj.m4 ================================================================== --- aclocal/shobj.m4 +++ aclocal/shobj.m4 @@ -167,5 +167,33 @@ SHOBJLDFLAGS='-shared -Wl,--enable-auto-image-base -Wl,--output-def,$[@].def,--out-implib,$[@].a' ;; esac fi ]) + +AC_DEFUN(SHOBJ_SET_SONAME, [ + SAVE_LDFLAGS="$LDFLAGS" + + AC_MSG_CHECKING([how to specify soname]) + + for try in "-Wl,--soname,$1" "Wl,-install_name,$1" '__fail__'; do + LDFLAGS="$SAVE_LDFLAGS" + + if test "${try}" = '__fail__'; then + AC_MSG_RESULT([can't]) + + break + fi + + LDFLAGS="${LDFLAGS} ${try}" + AC_TRY_LINK([void TestTest(void) { return; }], [], [ + LDFLAGS="${SAVE_LDFLAGS}" + SHOBJLDFLAGS="${SHOBJLDFLAGS} ${try}" + + AC_MSG_RESULT([$try]) + + break + ]) + done + + AC_SUBST(SHOBJLDFLAGS) +]) Index: aclocal/versionscript.m4 ================================================================== --- aclocal/versionscript.m4 +++ aclocal/versionscript.m4 @@ -33,18 +33,22 @@ ]) done rm -f "${TMPSYMFILE}" rm -f "${TMPVERSIONSCRIPT}" + + LDFLAGS="${SAVE_LDFLAGS}" if test -n "${addldflags}"; then - LDFLAGS="${SAVE_LDFLAGS} ${addldflags}" + SHOBJLDFLAGS="${SHOBJLDFLAGS} ${addldflags}" + AC_MSG_RESULT($addldflags) else - LDFLAGS="${SAVE_LDFLAGS}" AC_MSG_RESULT([don't know]) fi + + AC_SUBST(SHOBJLDFLAGS) ]) AC_DEFUN([DC_FIND_STRIP_AND_REMOVESYMS], [ SYMFILE="$1"