Make it possible to install a framework build of Python 3.x on OSX.
This the build machinery on OSX to re-enable building (and installing)
PythonLauncher.app and IDLE.app.
This needs ports of fixes to Lib/distutils/util.py and Include/pymacconfig.h
to be fully functiontional, to be fully functional.
I also have a patch for Makefile.pre.in that I'll post on bugs.python.org
for review.
diff --git a/Mac/PythonLauncher/Makefile.in b/Mac/PythonLauncher/Makefile.in
index 0b09e2a..2d8da33 100644
--- a/Mac/PythonLauncher/Makefile.in
+++ b/Mac/PythonLauncher/Makefile.in
@@ -19,13 +19,63 @@
MACOSX_DEPLOYMENT_TARGET=@CONFIGURE_MACOSX_DEPLOYMENT_TARGET@
@EXPORT_MACOSX_DEPLOYMENT_TARGET@export MACOSX_DEPLOYMENT_TARGET
-BUNDLEBULDER=$(srcdir)/../../Lib/plat-mac/bundlebuilder.py
+BUNDLEBULDER=$(srcdir)/../Tools/bundlebuilder.py
PYTHONAPPSDIR=/Applications/$(PYTHONFRAMEWORK) $(VERSION)
OBJECTS=FileSettings.o MyAppDelegate.o MyDocument.o PreferencesWindowController.o doscript.o main.o
-install:
+install: Python\ Launcher.app
test -d "$(DESTDIR)$(PYTHONAPPSDIR)" || mkdir -p "$(DESTDIR)$(PYTHONAPPSDIR)"
-test -d "$(DESTDIR)$(PYTHONAPPSDIR)/Python Launcher.app" && rm -r "$(DESTDIR)$(PYTHONAPPSDIR)/Python Launcher.app"
cp -r "Python Launcher.app" "$(DESTDIR)$(PYTHONAPPSDIR)"
touch "$(DESTDIR)$(PYTHONAPPSDIR)/Python Launcher.app"
+
+
+clean:
+ rm -f *.o "Python Launcher"
+ rm -rf "Python Launcher.app"
+
+Python\ Launcher.app: Info.plist \
+ Python\ Launcher $(srcdir)/../Icons/PythonLauncher.icns \
+ $(srcdir)/../Icons/PythonSource.icns \
+ $(srcdir)/../Icons/PythonCompiled.icns \
+ $(srcdir)/factorySettings.plist
+ rm -fr "Python Launcher.app"
+ $(RUNSHARED) $(BUILDPYTHON) $(BUNDLEBULDER) \
+ --builddir=. \
+ --name="Python Launcher" \
+ --executable="Python Launcher" \
+ --iconfile=$(srcdir)/../Icons/PythonLauncher.icns \
+ --bundle-id=org.python.PythonLauncher \
+ --resource=$(srcdir)/../Icons/PythonSource.icns \
+ --resource=$(srcdir)/../Icons/PythonCompiled.icns \
+ --resource=$(srcdir)/English.lproj \
+ --resource=$(srcdir)/factorySettings.plist \
+ --plist Info.plist \
+ build
+ find "Python Launcher.app" -name '.svn' -print0 | xargs -0 rm -r
+
+
+FileSettings.o: $(srcdir)/FileSettings.m
+ $(CC) $(CFLAGS) -o $@ -c $(srcdir)/FileSettings.m
+
+MyAppDelegate.o: $(srcdir)/MyAppDelegate.m
+ $(CC) $(CFLAGS) -o $@ -c $(srcdir)/MyAppDelegate.m
+
+MyDocument.o: $(srcdir)/MyDocument.m
+ $(CC) $(CFLAGS) -o $@ -c $(srcdir)/MyDocument.m
+
+PreferencesWindowController.o: $(srcdir)/PreferencesWindowController.m
+ $(CC) $(CFLAGS) -o $@ -c $(srcdir)/PreferencesWindowController.m
+
+doscript.o: $(srcdir)/doscript.m
+ $(CC) $(CFLAGS) -o $@ -c $(srcdir)/doscript.m
+
+main.o: $(srcdir)/main.m
+ $(CC) $(CFLAGS) -o $@ -c $(srcdir)/main.m
+
+Python\ Launcher: $(OBJECTS)
+ $(CC) $(LDFLAGS) -o "Python Launcher" $(OBJECTS) -framework AppKit -framework Carbon
+
+Info.plist: $(srcdir)/Info.plist.in
+ sed 's/%VERSION%/'"`$(RUNSHARED) $(BUILDPYTHON) -c 'import platform; print(platform.python_version())'`"'/g' < $(srcdir)/Info.plist.in > Info.plist