annotate Mac/scripts/ConfigurePython.py @ 16835:5902b5794a17 legacy-trunk

Oops, need to import Res.
author Jack Jansen <jack.jansen@cwi.nl>
date Wed, 28 Feb 2001 15:53:18 +0000
parents 52fe377f07f2
children b7b048da1673
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2939
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 # This python script creates Finder aliases for all the
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2 # dynamically-loaded modules that "live in" in a single
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3 # shared library.
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 #
4169
687899c563e3 Merged Guido's mkaliases and Jack's MkPluginAliases
Jack Jansen <jack.jansen@cwi.nl>
parents: 4058
diff changeset
5 # This is sort-of a merger between Jack's MkPluginAliases
687899c563e3 Merged Guido's mkaliases and Jack's MkPluginAliases
Jack Jansen <jack.jansen@cwi.nl>
parents: 4058
diff changeset
6 # and Guido's mkaliases.
687899c563e3 Merged Guido's mkaliases and Jack's MkPluginAliases
Jack Jansen <jack.jansen@cwi.nl>
parents: 4058
diff changeset
7 #
687899c563e3 Merged Guido's mkaliases and Jack's MkPluginAliases
Jack Jansen <jack.jansen@cwi.nl>
parents: 4058
diff changeset
8 # Jack Jansen, CWI, August 1996
2939
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 import sys
4169
687899c563e3 Merged Guido's mkaliases and Jack's MkPluginAliases
Jack Jansen <jack.jansen@cwi.nl>
parents: 4058
diff changeset
11 import os
3122
2caa3e283568 Load toolbox modules "by hand" using imp, so this script should now
Jack Jansen <jack.jansen@cwi.nl>
parents: 2978
diff changeset
12 import macfs
6274
7a3808edc539 Run NumPy installer, if present.
Jack Jansen <jack.jansen@cwi.nl>
parents: 6175
diff changeset
13 import MacOS
16815
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
14 import gestalt
16834
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
15 import string
16835
5902b5794a17 Oops, need to import Res.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16834
diff changeset
16 import Res
2939
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
18 SPLASH_COPYCORE=512
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
19 SPLASH_COPYCARBON=513
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
20 SPLASH_COPYCLASSIC=514
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
21 SPLASH_BUILDAPPLETS=515
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
22
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
23 ALERT_NOCORE=516
15210
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
24 ALERT_NONBOOT=517
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
25 ALERT_NONBOOT_COPY=1
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
26 ALERT_NONBOOT_ALIAS=2
6274
7a3808edc539 Run NumPy installer, if present.
Jack Jansen <jack.jansen@cwi.nl>
parents: 6175
diff changeset
27
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
28 APPLET_LIST=[
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
29 (":Mac:scripts:EditPythonPrefs.py", "EditPythonPrefs", None),
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
30 (":Mac:scripts:BuildApplet.py", "BuildApplet", None),
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
31 (":Mac:scripts:BuildApplication.py", "BuildApplication", None),
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
32 ## (":Mac:scripts:ConfigurePython.py", "ConfigurePython", None),
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
33 ## (":Mac:scripts:ConfigurePython.py", "ConfigurePythonCarbon", "PythonInterpreterCarbon"),
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
34 ## (":Mac:scripts:ConfigurePython.py", "ConfigurePythonClassic", "PythonInterpreterClassic"),
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
35 (":Mac:Tools:IDE:PythonIDE.py", "Python IDE", None),
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
36 (":Mac:Tools:CGI:PythonCGISlave.py", ":Mac:Tools:CGI:PythonCGISlave", None),
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
37 (":Mac:Tools:CGI:BuildCGIApplet.py", ":Mac:Tools:CGI:BuildCGIApplet", None),
2939
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38 ]
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39
4447
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
40 def getextensiondirfile(fname):
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
41 import macfs
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
42 import MACFS
16815
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
43 try:
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
44 vrefnum, dirid = macfs.FindFolder(MACFS.kOnSystemDisk, MACFS.kExtensionFolderType, 0)
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
45 fss = macfs.FSSpec((vrefnum, dirid, fname))
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
46 except macfs.error:
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
47 return None
4447
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
48 return fss.as_pathname()
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
49
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
50 def mkcorealias(src, altsrc):
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
51 import string
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
52 import macostools
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
53 version = string.split(sys.version)[0]
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
54 dst = getextensiondirfile(src+ ' ' + version)
16815
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
55 if not dst:
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
56 return 0
10040
3ad2b2e31f53 Fixed two typo's (Plugins -> PlugIns) and added some explicit path munging to allow the script to also work from the Scripts folder. Somehow either of these fixes solved a problem where it suddenly refused to make a PythonCore alias in the Extensions folder. -- jvr
Just van Rossum <just@lettererror.com>
parents: 9990
diff changeset
57 if not os.path.exists(os.path.join(sys.exec_prefix, src)):
3ad2b2e31f53 Fixed two typo's (Plugins -> PlugIns) and added some explicit path munging to allow the script to also work from the Scripts folder. Somehow either of these fixes solved a problem where it suddenly refused to make a PythonCore alias in the Extensions folder. -- jvr
Just van Rossum <just@lettererror.com>
parents: 9990
diff changeset
58 if not os.path.exists(os.path.join(sys.exec_prefix, altsrc)):
4447
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
59 return 0
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
60 src = altsrc
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
61 try:
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
62 os.unlink(dst)
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
63 except os.error:
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
64 pass
15210
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
65 do_copy = 0
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
66 if macfs.FSSpec(sys.exec_prefix).as_tuple()[0] != -1: # XXXX
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
67 try:
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
68 import Dlg
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
69 rv = Dlg.CautionAlert(ALERT_NONBOOT, None)
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
70 if rv == ALERT_NONBOOT_COPY:
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
71 do_copy = 1
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
72 except ImportError:
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
73 pass
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
74 if do_copy:
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
75 macostools.copy(os.path.join(sys.exec_prefix, src), dst)
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
76 else:
d2c205c36d8a If we're installing to another partition than the system partition offer to copy PythonCore in stead of aliasing it. This should fix the applet problems some people have.
Jack Jansen <jack.jansen@cwi.nl>
parents: 10113
diff changeset
77 macostools.mkalias(os.path.join(sys.exec_prefix, src), dst)
4447
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
78 return 1
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
79
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
80 # Copied from fullbuild, should probably go to buildtools
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
81 def buildapplet(top, dummy, list):
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
82 """Create python applets"""
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
83 import buildtools
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
84 for src, dst, tmpl in list:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
85 template = buildtools.findtemplate(tmpl)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
86 if src[-3:] != '.py':
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
87 raise 'Should end in .py', src
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
88 base = os.path.basename(src)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
89 src = os.path.join(top, src)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
90 dst = os.path.join(top, dst)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
91 try:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
92 os.unlink(dst)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
93 except os.error:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
94 pass
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
95 try:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
96 buildtools.process(template, src, dst, 1)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
97 except buildtools.BuildError, arg:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
98 print '**', dst, arg
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
99
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
100 def buildcopy(top, dummy, list):
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
101 import macostools
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
102 for src, dst in list:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
103 src = os.path.join(top, src)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
104 dst = os.path.join(top, dst)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
105 macostools.copy(src, dst)
2939
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
106
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
107 def main():
16834
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
108 verbose = 0
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
109 try:
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
110 h = Res.GetResource('DLOG', SPLASH_COPYCORE)
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
111 del h
16835
5902b5794a17 Oops, need to import Res.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16834
diff changeset
112 except Res.Error:
16834
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
113 verbose = 1
16835
5902b5794a17 Oops, need to import Res.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16834
diff changeset
114 print "Not running as applet: verbose on"
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
115 os.chdir(sys.prefix)
2939
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
116
6475
f5f744ed8137 Fixup sys.path to be able to find macostools
Jack Jansen <jack.jansen@cwi.nl>
parents: 6297
diff changeset
117 sys.path.append('::Mac:Lib')
4169
687899c563e3 Merged Guido's mkaliases and Jack's MkPluginAliases
Jack Jansen <jack.jansen@cwi.nl>
parents: 4058
diff changeset
118 import macostools
16597
07ffb0c3bd5e Also create alias to PythonCoreCarbon.
Jack Jansen <jack.jansen@cwi.nl>
parents: 15210
diff changeset
119
4447
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
120 # Create the PythonCore alias(es)
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
121 MacOS.splash(SPLASH_COPYCORE)
16834
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
122 if verbose:
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
123 print "Copying PythonCore..."
4447
1ba22f749489 Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents: 4362
diff changeset
124 n = 0
6109
8cb2afd10119 MkPluginAliases now knows about fat PythonCore (and all resource files
Jack Jansen <jack.jansen@cwi.nl>
parents: 4447
diff changeset
125 n = n + mkcorealias('PythonCore', 'PythonCore')
16597
07ffb0c3bd5e Also create alias to PythonCoreCarbon.
Jack Jansen <jack.jansen@cwi.nl>
parents: 15210
diff changeset
126 n = n + mkcorealias('PythonCoreCarbon', 'PythonCoreCarbon')
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
127 if n == 0:
16815
b2cff5705775 Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16654
diff changeset
128 import Dlg
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
129 Dlg.CautionAlert(ALERT_NOCORE, None)
16834
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
130 if verbose:
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
131 print "Warning: PythonCore not copied to Extensions folder"
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
132 if sys.argv[0][-7:] == 'Classic':
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
133 do_classic = 1
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
134 elif sys.argv[0][-6:] == 'Carbon':
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
135 do_classic = 0
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
136 else:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
137 print "I don't know the sys.argv[0] function", sys.argv[0]
16834
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
138 if verbose:
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
139 print "Configure classic or carbon - ",
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
140 rv = string.strip(sys.stdin.readline())
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
141 while rv and rv != "classic" and rv != "carbon":
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
142 print "Configure classic or carbon - ",
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
143 rv = string.strip(sys.stdin.readline())
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
144 if rv == "classic":
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
145 do_classic = 1
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
146 elif rv == "carbon":
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
147 do_classic = 0
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
148 else:
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
149 return
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
150 else:
52fe377f07f2 If we can't find our splash dialog (i.e. we're probably running from source) go into interactive mode: print what we're doing and ask about carbon/classic configure.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16815
diff changeset
151 sys.exit(1)
16653
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
152 if do_classic:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
153 MacOS.splash(SPLASH_COPYCLASSIC)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
154 buildcopy(sys.prefix, None, [("PythonInterpreterClassic", "PythonInterpreter")])
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
155 else:
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
156 MacOS.splash(SPLASH_COPYCARBON)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
157 buildcopy(sys.prefix, None, [("PythonInterpreterCarbon", "PythonInterpreter")])
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
158 MacOS.splash(SPLASH_BUILDAPPLETS)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
159 buildapplet(sys.prefix, None, APPLET_LIST)
b9fe8bd9e5f4 ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16597
diff changeset
160
2939
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
161 if __name__ == '__main__':
4dfdf234cda8 MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
162 main()
16835
5902b5794a17 Oops, need to import Res.
Jack Jansen <jack.jansen@cwi.nl>
parents: 16834
diff changeset
163 MacOS.splash()