Simplify linking on AIX and BeOS (SF patch #103679).

This commit is contained in:
Neil Schemenauer 2001-02-16 04:09:05 +00:00
parent 92538fbf85
commit b3531b8638

View file

@ -96,30 +96,28 @@ AC_ARG_WITH(gcc, [ --without-gcc never use gcc], [
case $ac_sys_system in case $ac_sys_system in
OSF1) CC=cc OSF1) CC=cc
without_gcc=;; without_gcc=;;
AIX*) CC=cc_r
without_gcc=;;
BeOS*) BeOS*)
case $BE_HOST_CPU in case $BE_HOST_CPU in
ppc) ppc)
CC=mwcc CC=mwcc
without_gcc=yes without_gcc=yes
OPT="-O -D'DL_EXPORT(RTYPE)=__declspec(dllexport) RTYPE' -D'DL_IMPORT(RTYPE)=__declspec(dllexport) RTYPE' -export pragma" OPT="-O -D'DL_EXPORT(RTYPE)=__declspec(dllexport) RTYPE' -D'DL_IMPORT(RTYPE)=__declspec(dllexport) RTYPE' -export pragma"
CCSHARED="UDL_IMPORT -D'DL_IMPORT(RTYPE)=__declspec(dllimport) RTYPE'" CCSHARED="-UDL_IMPORT -D'DL_IMPORT(RTYPE)=__declspec(dllimport) RTYPE'"
LDFLAGS="$LDFLAGS -nodup" LDFLAGS="$LDFLAGS -nodup"
AR="$PWD/BeOS/ar-fake"
RANLIB=:
;; ;;
x86) x86)
CC=gcc CC=gcc
without_gcc=no without_gcc=no
OPT=-O OPT=-O
# Really should use srcdir instead of PWD
AR="$PWD/BeOS/ar-fake"
RANLIB=:
;; ;;
*) *)
AC_ERROR(Unknown BeOS platform \"$BE_HOST_CPU\") AC_ERROR(Unknown BeOS platform \"$BE_HOST_CPU\")
;; ;;
esac esac
AR="\$(srcdir)/Modules/ar_beos"
RANLIB=:
;; ;;
Monterey*) Monterey*)
RANLIB=: RANLIB=:
@ -225,7 +223,7 @@ if test -z "$LINKCC"
then then
case $ac_sys_system in case $ac_sys_system in
AIX*) AIX*)
LINKCC="\$(srcdir)/Modules/makexp_aix python.exp \"\" \$(LIBRARY); \$(PURIFY) \$(CC)";; LINKCC="\$(srcdir)/Modules/makexp_aix Modules/python.exp \"\" \$(LIBRARY); \$(PURIFY) \$(CC)";;
dgux*) dgux*)
LINKCC="LD_RUN_PATH=$libdir \$(PURIFY) \$(CC)";; LINKCC="LD_RUN_PATH=$libdir \$(PURIFY) \$(CC)";;
Monterey64*) Monterey64*)
@ -510,6 +508,7 @@ fi
# Set info about shared libraries. # Set info about shared libraries.
AC_SUBST(SO) AC_SUBST(SO)
AC_SUBST(LDSHARED) AC_SUBST(LDSHARED)
AC_SUBST(BLDSHARED)
AC_SUBST(CCSHARED) AC_SUBST(CCSHARED)
AC_SUBST(LINKFORSHARED) AC_SUBST(LINKFORSHARED)
# SO is the extension of shared libraries `(including the dot!) # SO is the extension of shared libraries `(including the dot!)
@ -532,8 +531,14 @@ AC_MSG_CHECKING(LDSHARED)
if test -z "$LDSHARED" if test -z "$LDSHARED"
then then
case $ac_sys_system/$ac_sys_release in case $ac_sys_system/$ac_sys_release in
AIX*) LDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC)";; AIX*)
BeOS*) LDSHARED="\$(srcdir)/../BeOS/linkmodule -L.. -lpython\$(VERSION)";; BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:Modules/python.exp"
LDSHARED="\$(BINLIBDEST)/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/python.exp"
;;
BeOS*)
BLDSHARED="\$(srcdir)/Modules/ld_so_beos $LDLIBRARY"
LDSHARED="\$(BINLIBDEST)/ld_so_beos \$(LIBDIR)/$LDLIBRARY"
;;
IRIX/5*) LDSHARED="ld -shared";; IRIX/5*) LDSHARED="ld -shared";;
IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";; IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
SunOS/4*) LDSHARED="ld";; SunOS/4*) LDSHARED="ld";;
@ -578,6 +583,7 @@ then
esac esac
fi fi
AC_MSG_RESULT($LDSHARED) AC_MSG_RESULT($LDSHARED)
BLDSHARED=${BLDSHARED-$LDSHARED}
# CCSHARED are the C *flags* used to create objects to go into a shared # CCSHARED are the C *flags* used to create objects to go into a shared
# library (module) -- this is only needed for a few systems # library (module) -- this is only needed for a few systems
AC_MSG_CHECKING(CCSHARED) AC_MSG_CHECKING(CCSHARED)
@ -608,7 +614,7 @@ AC_MSG_CHECKING(LINKFORSHARED)
if test -z "$LINKFORSHARED" if test -z "$LINKFORSHARED"
then then
case $ac_sys_system/$ac_sys_release in case $ac_sys_system/$ac_sys_release in
AIX*) LINKFORSHARED='-Wl,-bE:python.exp -lld';; AIX*) LINKFORSHARED='-Wl,-bE:Modules/python.exp -lld';;
hp*|HP*) hp*|HP*)
LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";; BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";;