Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b3531b8

Browse files
committed
Simplify linking on AIX and BeOS (SF patch #103679).
1 parent 92538fb commit b3531b8

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

configure.in

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -96,30 +96,28 @@ AC_ARG_WITH(gcc, [ --without-gcc never use gcc], [
9696
case $ac_sys_system in
9797
OSF1) CC=cc
9898
without_gcc=;;
99+
AIX*) CC=cc_r
100+
without_gcc=;;
99101
BeOS*)
100102
case $BE_HOST_CPU in
101103
ppc)
102104
CC=mwcc
103105
without_gcc=yes
104106
OPT="-O -D'DL_EXPORT(RTYPE)=__declspec(dllexport) RTYPE' -D'DL_IMPORT(RTYPE)=__declspec(dllexport) RTYPE' -export pragma"
105-
CCSHARED="UDL_IMPORT -D'DL_IMPORT(RTYPE)=__declspec(dllimport) RTYPE'"
107+
CCSHARED="-UDL_IMPORT -D'DL_IMPORT(RTYPE)=__declspec(dllimport) RTYPE'"
106108
LDFLAGS="$LDFLAGS -nodup"
107-
108-
AR="$PWD/BeOS/ar-fake"
109-
RANLIB=:
110109
;;
111110
x86)
112111
CC=gcc
113112
without_gcc=no
114113
OPT=-O
115-
# Really should use srcdir instead of PWD
116-
AR="$PWD/BeOS/ar-fake"
117-
RANLIB=:
118114
;;
119115
*)
120116
AC_ERROR(Unknown BeOS platform \"$BE_HOST_CPU\")
121117
;;
122118
esac
119+
AR="\$(srcdir)/Modules/ar_beos"
120+
RANLIB=:
123121
;;
124122
Monterey*)
125123
RANLIB=:
@@ -225,7 +223,7 @@ if test -z "$LINKCC"
225223
then
226224
case $ac_sys_system in
227225
AIX*)
228-
LINKCC="\$(srcdir)/Modules/makexp_aix python.exp \"\" \$(LIBRARY); \$(PURIFY) \$(CC)";;
226+
LINKCC="\$(srcdir)/Modules/makexp_aix Modules/python.exp \"\" \$(LIBRARY); \$(PURIFY) \$(CC)";;
229227
dgux*)
230228
LINKCC="LD_RUN_PATH=$libdir \$(PURIFY) \$(CC)";;
231229
Monterey64*)
@@ -510,6 +508,7 @@ fi
510508
# Set info about shared libraries.
511509
AC_SUBST(SO)
512510
AC_SUBST(LDSHARED)
511+
AC_SUBST(BLDSHARED)
513512
AC_SUBST(CCSHARED)
514513
AC_SUBST(LINKFORSHARED)
515514
# SO is the extension of shared libraries `(including the dot!)
@@ -532,8 +531,14 @@ AC_MSG_CHECKING(LDSHARED)
532531
if test -z "$LDSHARED"
533532
then
534533
case $ac_sys_system/$ac_sys_release in
535-
AIX*) LDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC)";;
536-
BeOS*) LDSHARED="\$(srcdir)/../BeOS/linkmodule -L.. -lpython\$(VERSION)";;
534+
AIX*)
535+
BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:Modules/python.exp"
536+
LDSHARED="\$(BINLIBDEST)/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/python.exp"
537+
;;
538+
BeOS*)
539+
BLDSHARED="\$(srcdir)/Modules/ld_so_beos $LDLIBRARY"
540+
LDSHARED="\$(BINLIBDEST)/ld_so_beos \$(LIBDIR)/$LDLIBRARY"
541+
;;
537542
IRIX/5*) LDSHARED="ld -shared";;
538543
IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
539544
SunOS/4*) LDSHARED="ld";;
@@ -578,6 +583,7 @@ then
578583
esac
579584
fi
580585
AC_MSG_RESULT($LDSHARED)
586+
BLDSHARED=${BLDSHARED-$LDSHARED}
581587
# CCSHARED are the C *flags* used to create objects to go into a shared
582588
# library (module) -- this is only needed for a few systems
583589
AC_MSG_CHECKING(CCSHARED)
@@ -608,7 +614,7 @@ AC_MSG_CHECKING(LINKFORSHARED)
608614
if test -z "$LINKFORSHARED"
609615
then
610616
case $ac_sys_system/$ac_sys_release in
611-
AIX*) LINKFORSHARED='-Wl,-bE:python.exp -lld';;
617+
AIX*) LINKFORSHARED='-Wl,-bE:Modules/python.exp -lld';;
612618
hp*|HP*)
613619
LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
614620
BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";;

0 commit comments

Comments
 (0)