summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2001-06-19 15:00:23 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2001-06-19 15:00:23 (GMT)
commitc49e5b7386e3019b539d6b37f107055f3e507a62 (patch)
treed3a71d37f8dbf038f638b44b7dad8d76966d39de
parent82ac8d13ff4b6470400a4b639fdab398183fdbbc (diff)
downloadcpython-c49e5b7386e3019b539d6b37f107055f3e507a62.zip
cpython-c49e5b7386e3019b539d6b37f107055f3e507a62.tar.gz
cpython-c49e5b7386e3019b539d6b37f107055f3e507a62.tar.bz2
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.
-rw-r--r--Makefile.pre.in4
-rw-r--r--config.h.in3
-rw-r--r--configure.in18
3 files changed, 24 insertions, 1 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in
index c6a053e..7fd60a1 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -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
diff --git a/config.h.in b/config.h.in
index 6753327..18c6211 100644
--- a/config.h.in
+++ b/config.h.in
@@ -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.
diff --git a/configure.in b/configure.in
index 890aae2..561c104 100644
--- a/configure.in
+++ b/configure.in
@@ -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 \