diff --git a/configure.in b/configure.in index d64174fe7db..46560e9b2f9 100644 --- a/configure.in +++ b/configure.in @@ -793,8 +793,9 @@ then # Link against the framework. All externals should be defined. LDSHARED="$LDSHARED "'-framework $(PYTHONFRAMEWORK)' else - # No framework. Ignore undefined symbols, assuming they come from Python - LDSHARED="$LDSHARED -flat_namespace -undefined suppress" + # No framework, use the Python app as bundle-loader + BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)' + LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/$(PYTHON)' fi ;; Linux*|GNU*) LDSHARED="gcc -shared";; dgux*) LDSHARED="ld -G";; diff --git a/setup.py b/setup.py index 7f34c32b3bd..cc423c58ba6 100644 --- a/setup.py +++ b/setup.py @@ -604,7 +604,8 @@ class PyBuildExt(build_ext): # available here. This Makefile variable is also what the install # procedure triggers on. frameworkdir = sysconfig.get_config_var('PYTHONFRAMEWORKDIR') - exts.append( Extension('gestalt', ['gestaltmodule.c']) ) + exts.append( Extension('gestalt', ['gestaltmodule.c'], + extra_link_args=['-framework', 'Carbon']) ) exts.append( Extension('MacOS', ['macosmodule.c'], extra_link_args=['-framework', 'Carbon']) ) exts.append( Extension('icglue', ['icgluemodule.c'], @@ -613,8 +614,10 @@ class PyBuildExt(build_ext): ['macfsmodule.c', '../Python/getapplbycreator.c'], extra_link_args=['-framework', 'Carbon']) ) - exts.append( Extension('_CF', ['cf/_CFmodule.c']) ) - exts.append( Extension('_Res', ['res/_Resmodule.c']) ) + exts.append( Extension('_CF', ['cf/_CFmodule.c'], + extra_link_args=['-framework', 'CoreFoundation']) ) + exts.append( Extension('_Res', ['res/_Resmodule.c'], + extra_link_args=['-framework', 'Carbon']) ) exts.append( Extension('_Snd', ['snd/_Sndmodule.c'], extra_link_args=['-framework', 'Carbon']) ) if frameworkdir: