Added a MACHDEP_OBJS to the python link. Use this on MacOSX to include

Mac/macglue.c into the core interpreter. This file contains the glue code that
allows extension modules for Mac toolboxes to live in different shared libraries
but still communicate with each other. The glue code is controlled by the
USE_MAC_TOOLBOX_GLUE define.
This commit is contained in:
Jack Jansen 2001-06-19 15:00:23 +00:00
parent 82ac8d13ff
commit c49e5b7386
3 changed files with 24 additions and 1 deletions

View File

@ -138,6 +138,7 @@ MAINOBJ= @MAINOBJ@
LIBOBJS= @LIBOBJS@
DLINCLDIR= @DLINCLDIR@
DYNLOADFILE= @DYNLOADFILE@
MACHDEP_OBJS= @MACHDEP_OBJS@
PYTHON= python$(EXE)
@ -222,6 +223,7 @@ PYTHON_OBJS= \
Python/traceback.o \
Python/getopt.o \
Python/$(DYNLOADFILE) \
$(MACHDEP_OBJS) \
$(LIBOBJS)
@ -411,6 +413,8 @@ Objects/object.o: $(srcdir)/Objects/object.c $(srcdir)/Objects/obmalloc.c
Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
$(srcdir)/Objects/unicodetype_db.h
Mac/Python/macglue.o: $(srcdir)/Mac/Python/macglue.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) -I$(srcdir)/Mac/Include -I$(srcdir)/Python -o $@ $(srcdir)/Mac/Python/macglue.c
############################################################################
# Header files

View File

@ -229,6 +229,9 @@
(shared library plus accessory files). */
#undef WITH_NEXT_FRAMEWORK
/* Define if you want to use MacPython modules on MacOSX in unix-Python */
#undef USE_TOOLBOX_OBJECT_GLUE
/* Define if you want to use SGI (IRIX 4) dynamic linking.
This requires the "dl" library by Jack Jansen,
ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.

View File

@ -677,7 +677,7 @@ then
# crt1.o) gets erroneously defined as common, which breaks dynamic
# loading of any modules which reference it in System.framework
next/4*|next/5*) LINKFORSHARED="-u __dummy -framework System" ;;
Darwin/*) LINKFORSHARED="-u __dummy -framework System -framework Foundation" ;;
Darwin/*) LINKFORSHARED="-u __dummy -u _PyMac_Error -framework System -framework Foundation -framework Carbon" ;;
UnixWare*) LINKFORSHARED="-dy -Bdynamic -Wl,-Bexport";;
SCO_SV*) LINKFORSHARED="-Bdynamic -dy -Wl,-Bexport";;
ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";;
@ -997,6 +997,22 @@ then
AC_DEFINE(HAVE_DYNAMIC_LOADING)
fi
# MACHDEP_OBJS can be set to platform-specific object files needed by Python
AC_SUBST(MACHDEP_OBJS)
AC_MSG_CHECKING(MACHDEP_OBJS)
if test -z "$MACHDEP_OBJS"
then
case $ac_sys_system/$ac_sys_release in
Darwin/*)
MACHDEP_OBJS="Mac/Python/macglue.o"
AC_DEFINE(USE_TOOLBOX_OBJECT_GLUE)
;;
*) MACHDEP_OBJS="";;
esac
fi
AC_MSG_RESULT($DYNLOADFILE)
# checks for library functions
AC_CHECK_FUNCS(alarm chown clock confstr ctermid ctermid_r execv \
flock fork fsync fdatasync fpathconf ftime ftruncate \