SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core

(Contributed by Bob Ippolito.)

This patch trims down the Python core on Darwin by making it
independent of CoreFoundation and CoreServices. It does this by:

Changed linker flags in configure/configure.in
Removed the unused PyMac_GetAppletScriptFile
Moved the implementation of PyMac_StrError to the MacOS module
Moved the implementation of PyMac_GetFullPathname to the
Carbon.File module
This commit is contained in:
Raymond Hettinger 2004-11-05 07:02:59 +00:00
parent e0bdaefaf4
commit ec6eb369d5
5 changed files with 189 additions and 188 deletions

View file

@ -1193,14 +1193,12 @@ then
fi
case "$enable_toolbox_glue" in
yes)
extra_frameworks="-framework CoreServices -framework Foundation"
extra_machdep_objs="Python/mactoolboxglue.o"
extra_undefs="-u __dummy -u _PyMac_Error"
extra_undefs="-u _PyMac_Error"
AC_DEFINE(USE_TOOLBOX_OBJECT_GLUE, 1,
[Define if you want to use MacPython modules on MacOSX in unix-Python.])
;;
*)
extra_frameworks=""
extra_machdep_objs=""
extra_undefs=""
;;
@ -1211,12 +1209,11 @@ AC_SUBST(LIBTOOL_CRUFT)
case $ac_sys_system/$ac_sys_release in
Darwin/1.3*)
LIBTOOL_CRUFT="-lcc_dynamic -arch_only ppc"
LIBTOOL_CRUFT="$LIBTOOL_CRUFT $extra_frameworks"
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
Darwin/*)
LIBTOOL_CRUFT="-lcc_dynamic -arch_only ppc"
LIBTOOL_CRUFT="$LIBTOOL_CRUFT $extra_frameworks"
LIBTOOL_CRUFT="$LIBTOOL_CRUFT"
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
esac
@ -1418,22 +1415,20 @@ then
Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";;
# -u libsys_s pulls in all symbols in libsys
Darwin/*)
# -u __dummy makes the linker aware of the objc runtime
# in System.framework; otherwise, __objcInit (referenced in
# crt1.o) gets erroneously defined as common, which breaks dynamic
# loading of any modules which reference it in System.framework.
# -u _PyMac_Error is needed to pull in the mac toolbox glue, which is
# -u _PyMac_Error is needed to pull in the mac toolbox glue,
# which is
# not used by the core itself but which needs to be in the core so
# that dynamically loaded extension modules have access to it.
# -prebind is no longer used, because it actually seems to give a
# slowdown in stead of a speedup, maybe due to the large number of
# dynamic loads Python does.
LINKFORSHARED="$extra_undefs -framework System"
LINKFORSHARED="$extra_undefs"
if test "$enable_framework"
then
LINKFORSHARED="$LINKFORSHARED -Wl,-F. -framework "'$(PYTHONFRAMEWORK)'
fi
LINKFORSHARED="$LINKFORSHARED $extra_frameworks";;
LINKFORSHARED="$LINKFORSHARED";;
OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";;
SCO_SV*) LINKFORSHARED="-Wl,-Bexport";;
ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";;