Mercurial > cpython-lru_cache-weakref
annotate Mac/scripts/ConfigurePython.py @ 16834:52fe377f07f2 legacy-trunk
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.
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Wed, 28 Feb 2001 11:23:04 +0000 |
| parents | b2cff5705775 |
| children | 5902b5794a17 |
| 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 |
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
16 |
|
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
|
17 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
|
18 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
|
19 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
|
20 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
|
21 |
|
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 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
|
23 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
|
24 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
|
25 ALERT_NONBOOT_ALIAS=2 |
|
6274
7a3808edc539
Run NumPy installer, if present.
Jack Jansen <jack.jansen@cwi.nl>
parents:
6175
diff
changeset
|
26 |
|
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
|
27 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
|
28 (":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
|
29 (":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
|
30 (":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
|
31 ## (":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
|
32 ## (":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
|
33 ## (":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
|
34 (":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
|
35 (":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
|
36 (":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
|
37 ] |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
38 |
|
4447
1ba22f749489
Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents:
4362
diff
changeset
|
39 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
|
40 import macfs |
|
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 |
|
16815
b2cff5705775
Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents:
16654
diff
changeset
|
42 try: |
|
b2cff5705775
Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents:
16654
diff
changeset
|
43 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
|
44 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
|
45 except macfs.error: |
|
b2cff5705775
Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents:
16654
diff
changeset
|
46 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
|
47 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
|
48 |
|
1ba22f749489
Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents:
4362
diff
changeset
|
49 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
|
50 import string |
|
1ba22f749489
Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents:
4362
diff
changeset
|
51 import macostools |
|
1ba22f749489
Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents:
4362
diff
changeset
|
52 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
|
53 dst = getextensiondirfile(src+ ' ' + version) |
|
16815
b2cff5705775
Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents:
16654
diff
changeset
|
54 if not dst: |
|
b2cff5705775
Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents:
16654
diff
changeset
|
55 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
|
56 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
|
57 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
|
58 return 0 |
|
1ba22f749489
Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents:
4362
diff
changeset
|
59 src = altsrc |
|
1ba22f749489
Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents:
4362
diff
changeset
|
60 try: |
|
1ba22f749489
Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents:
4362
diff
changeset
|
61 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
|
62 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
|
63 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
|
64 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
|
65 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
|
66 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
|
67 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
|
68 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
|
69 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
|
70 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
|
71 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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 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
|
77 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
|
78 |
|
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 # 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
|
80 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
|
81 """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
|
82 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
|
83 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
|
84 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
|
85 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
|
86 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
|
87 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
|
88 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
|
89 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
|
90 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
|
91 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
|
92 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
|
93 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
|
94 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
|
95 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
|
96 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
|
97 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
|
98 |
|
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 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
|
100 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
|
101 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
|
102 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
|
103 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
|
104 macostools.copy(src, dst) |
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
105 |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
106 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
|
107 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
|
108 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
|
109 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
|
110 del h |
|
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 except: |
|
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
|
112 verbose = 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
|
113 os.chdir(sys.prefix) |
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
114 |
|
6475
f5f744ed8137
Fixup sys.path to be able to find macostools
Jack Jansen <jack.jansen@cwi.nl>
parents:
6297
diff
changeset
|
115 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
|
116 import macostools |
|
16597
07ffb0c3bd5e
Also create alias to PythonCoreCarbon.
Jack Jansen <jack.jansen@cwi.nl>
parents:
15210
diff
changeset
|
117 |
|
4447
1ba22f749489
Also put aliases to PythonCore{PPC,CFM68K} in the extensions folder
Jack Jansen <jack.jansen@cwi.nl>
parents:
4362
diff
changeset
|
118 # 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
|
119 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
|
120 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
|
121 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
|
122 n = 0 |
|
6109
8cb2afd10119
MkPluginAliases now knows about fat PythonCore (and all resource files
Jack Jansen <jack.jansen@cwi.nl>
parents:
4447
diff
changeset
|
123 n = n + mkcorealias('PythonCore', 'PythonCore') |
|
16597
07ffb0c3bd5e
Also create alias to PythonCoreCarbon.
Jack Jansen <jack.jansen@cwi.nl>
parents:
15210
diff
changeset
|
124 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
|
125 if n == 0: |
|
16815
b2cff5705775
Various tweaks to make it work on MacOSX.
Jack Jansen <jack.jansen@cwi.nl>
parents:
16654
diff
changeset
|
126 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
|
127 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
|
128 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
|
129 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
|
130 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
|
131 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
|
132 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 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
|
138 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 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
|
145 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
|
146 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
|
147 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
|
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 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
|
150 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
|
151 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
|
152 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
|
153 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
|
154 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
|
155 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
|
156 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
|
157 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
|
158 |
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
159 if __name__ == '__main__': |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
160 main() |
