always create shared-ld-sh as we always need it for bundles (even when we don't need it for dylibs)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2005-10-10 12:48:40 +00:00
parent 0ffc92133b
commit 89ec5d1421

View File

@ -309,15 +309,18 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
;; ;;
*-*-darwin* ) *-*-darwin* )
AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH
chmod +x shared-ld-sh
SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -headerpad_max_install_names -o"
SHARED_LD_MODULE_CXX="$SHARED_LD_MODULE_CC"
dnl Most apps benefit from being fully binded (its faster and static dnl Most apps benefit from being fully binded (its faster and static
dnl variables initialized at startup work). dnl variables initialized at startup work).
dnl This can be done either with the exe linker flag -Wl,-bind_at_load dnl This can be done either with the exe linker flag -Wl,-bind_at_load
dnl or with a double stage link in order to create a single module dnl or with a double stage link in order to create a single module
dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved
SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -headerpad_max_install_names -o"
SHARED_LD_MODULE_CXX="$SHARED_LD_MODULE_CC"
dnl If using newer dev tools then there is a -single_module flag that dnl If using newer dev tools then there is a -single_module flag that
dnl we can use to do this for dylibs, otherwise we'll need to use a helper dnl we can use to do this for dylibs, otherwise we'll need to use a helper
dnl script. Check the version of gcc to see which way we can go: dnl script. Check the version of gcc to see which way we can go:
@ -338,9 +341,6 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
) )
]) ])
if test "$bakefile_cv_gcc31" = "no"; then if test "$bakefile_cv_gcc31" = "no"; then
AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH
chmod +x shared-ld-sh
dnl Use the shared-ld-sh helper script dnl Use the shared-ld-sh helper script
SHARED_LD_CC="`pwd`/shared-ld-sh -dynamiclib -headerpad_max_install_names -o" SHARED_LD_CC="`pwd`/shared-ld-sh -dynamiclib -headerpad_max_install_names -o"
SHARED_LD_CXX="$SHARED_LD_CC" SHARED_LD_CXX="$SHARED_LD_CC"
@ -360,29 +360,29 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
*-*-aix* ) *-*-aix* )
if test "x$GCC" = "xyes"; then if test "x$GCC" = "xyes"; then
dnl at least gcc 2.95 warns that -fPIC is ignored when dnl at least gcc 2.95 warns that -fPIC is ignored when
dnl compiling each and every file under AIX which is annoying, dnl compiling each and every file under AIX which is annoying,
dnl so don't use it there (it's useless as AIX runs on dnl so don't use it there (it's useless as AIX runs on
dnl position-independent architectures only anyhow) dnl position-independent architectures only anyhow)
PIC_FLAG="" PIC_FLAG=""
dnl -bexpfull is needed by AIX linker to export all symbols (by dnl -bexpfull is needed by AIX linker to export all symbols (by
dnl default it doesn't export any and even with -bexpall it dnl default it doesn't export any and even with -bexpall it
dnl doesn't export all C++ support symbols, e.g. vtable dnl doesn't export all C++ support symbols, e.g. vtable
dnl pointers) but it's only available starting from 5.1 (with dnl pointers) but it's only available starting from 5.1 (with
dnl maintenance pack 2, whatever this is), see dnl maintenance pack 2, whatever this is), see
dnl http://www-128.ibm.com/developerworks/eserver/articles/gnu.html dnl http://www-128.ibm.com/developerworks/eserver/articles/gnu.html
case "${BAKEFILE_HOST}" in case "${BAKEFILE_HOST}" in
*-*-aix5* ) *-*-aix5* )
LD_EXPFULL="-Wl,-bexpfull" LD_EXPFULL="-Wl,-bexpfull"
;; ;;
esac esac
SHARED_LD_CC="\$(CC) -shared $LD_EXPFULL -o" SHARED_LD_CC="\$(CC) -shared $LD_EXPFULL -o"
SHARED_LD_CXX="\$(CXX) -shared $LD_EXPFULL -o" SHARED_LD_CXX="\$(CXX) -shared $LD_EXPFULL -o"
else else
dnl FIXME: makeC++SharedLib is obsolete, what should we do for dnl FIXME: makeC++SharedLib is obsolete, what should we do for
dnl recent AIX versions? dnl recent AIX versions?
AC_CHECK_PROG(AIX_CXX_LD, makeC++SharedLib, AC_CHECK_PROG(AIX_CXX_LD, makeC++SharedLib,
makeC++SharedLib, /usr/lpp/xlC/bin/makeC++SharedLib) makeC++SharedLib, /usr/lpp/xlC/bin/makeC++SharedLib)
SHARED_LD_CC="$AIX_CC_LD -p 0 -o" SHARED_LD_CC="$AIX_CC_LD -p 0 -o"
@ -403,7 +403,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
PIC_FLAG="-KPIC" PIC_FLAG="-KPIC"
fi fi
;; ;;
*-*-cygwin* | *-*-mingw32* ) *-*-cygwin* | *-*-mingw32* )
PIC_FLAG="" PIC_FLAG=""
SHARED_LD_CC="\$(CC) -shared -o" SHARED_LD_CC="\$(CC) -shared -o"
@ -418,7 +418,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
AC_BAKEFILE_CREATE_FILE_DLLAR_SH AC_BAKEFILE_CREATE_FILE_DLLAR_SH
chmod +x dllar.sh chmod +x dllar.sh
;; ;;
powerpc-apple-macos* | \ powerpc-apple-macos* | \
*-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \ *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \
*-*-sunos4* | \ *-*-sunos4* | \