Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 1 | # |
| 2 | # fullbuild creates everything that needs to be created before a |
| 3 | # distribution can be made, and puts it all in the right place. |
| 4 | # |
| 5 | # It expects the projects to be in the places where Jack likes them: |
Jack Jansen | faad995 | 1997-09-01 15:37:07 +0000 | [diff] [blame] | 6 | # in directories named like 'build.mac'. That is fixable, |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 7 | # however. |
| 8 | # |
| 9 | # NOTE: You should proably make a copy of python with which to execute this |
| 10 | # script, rebuilding running programs does not work... |
| 11 | |
Jack Jansen | faad995 | 1997-09-01 15:37:07 +0000 | [diff] [blame] | 12 | MACBUILDNO=":Mac:Include:macbuildno.h" |
| 13 | |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 14 | import os |
| 15 | import sys |
| 16 | import macfs |
Jack Jansen | 1023dff | 1996-02-21 15:28:49 +0000 | [diff] [blame] | 17 | import MacOS |
Jack Jansen | f04fa72 | 1996-04-10 14:51:14 +0000 | [diff] [blame] | 18 | import EasyDialogs |
Jack Jansen | faad995 | 1997-09-01 15:37:07 +0000 | [diff] [blame] | 19 | import regex |
| 20 | import string |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 21 | |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 22 | import aetools |
Jack Jansen | 1023dff | 1996-02-21 15:28:49 +0000 | [diff] [blame] | 23 | import AppleEvents |
Jack Jansen | 87426b9 | 2000-08-17 22:12:12 +0000 | [diff] [blame^] | 24 | |
| 25 | OLDAESUPPORT = 0 |
| 26 | |
| 27 | if OLDAESUPPORT: |
| 28 | from Metrowerks_Shell_Suite import Metrowerks_Shell_Suite |
| 29 | from CodeWarrior_suite import CodeWarrior_suite |
| 30 | from Metrowerks_Standard_Suite import Metrowerks_Standard_Suite |
| 31 | from Required_Suite import Required_Suite |
| 32 | else: |
| 33 | import CodeWarrior |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 34 | |
| 35 | import Res |
| 36 | import Dlg |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 37 | |
Jack Jansen | 490ec9c | 1998-07-31 09:45:27 +0000 | [diff] [blame] | 38 | import buildtools |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 39 | import cfmfile |
| 40 | |
| 41 | # Dialog resource. Note that the item numbers should correspond |
| 42 | # to those in the DITL resource. Also note that the order is important: |
| 43 | # things are built in this order, so there should be no forward dependencies. |
| 44 | DIALOG_ID = 512 |
| 45 | |
| 46 | I_OK=1 |
| 47 | I_CANCEL=2 |
Jack Jansen | 675cda0 | 1997-09-09 13:57:15 +0000 | [diff] [blame] | 48 | I_INC_BUILDNO=19 |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 49 | |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 50 | I_CORE=3 |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 51 | I_PPC_PLUGINS=4 |
| 52 | I_PPC_EXTENSIONS=5 |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 53 | I_68K_PLUGINS=6 |
| 54 | I_68K_EXTENSIONS=7 |
| 55 | I_PPC_FULL=8 |
| 56 | I_PPC_SMALL=9 |
| 57 | I_68K_FULL=10 |
| 58 | I_68K_SMALL=11 |
| 59 | I_APPLETS=12 |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 60 | |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 61 | N_BUTTONS=13 |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 62 | |
Jack Jansen | 87426b9 | 2000-08-17 22:12:12 +0000 | [diff] [blame^] | 63 | if OLDAESUPPORT: |
| 64 | class MwShell(Metrowerks_Shell_Suite, CodeWarrior_suite, Metrowerks_Standard_Suite, |
| 65 | Required_Suite, aetools.TalkTo): |
| 66 | pass |
| 67 | else: |
| 68 | MwShell = CodeWarrior.CodeWarrior |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 69 | |
Jack Jansen | f04fa72 | 1996-04-10 14:51:14 +0000 | [diff] [blame] | 70 | RUNNING=[] |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 71 | |
| 72 | def buildmwproject(top, creator, projects): |
| 73 | """Build projects with an MW compiler""" |
Jack Jansen | b9e5e14 | 1996-09-20 15:30:52 +0000 | [diff] [blame] | 74 | mgr = MwShell(creator, start=1) |
Jack Jansen | 1023dff | 1996-02-21 15:28:49 +0000 | [diff] [blame] | 75 | mgr.send_timeout = AppleEvents.kNoTimeOut |
| 76 | |
Jack Jansen | bc66f95 | 2000-07-24 19:45:07 +0000 | [diff] [blame] | 77 | failed = [] |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 78 | for file in projects: |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 79 | if type(file) == type(()): |
| 80 | file, target = file |
| 81 | else: |
| 82 | target = '' |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 83 | file = os.path.join(top, file) |
Just van Rossum | 2607a44 | 1999-01-30 18:27:12 +0000 | [diff] [blame] | 84 | try: |
| 85 | fss = macfs.FSSpec(file) |
| 86 | except ValueError: |
| 87 | print '** file not found:', file |
| 88 | continue |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 89 | print 'Building', file, target |
Just van Rossum | 2607a44 | 1999-01-30 18:27:12 +0000 | [diff] [blame] | 90 | try: |
| 91 | mgr.open(fss) |
| 92 | except aetools.Error, detail: |
| 93 | print '**', detail, file |
| 94 | continue |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 95 | if target: |
| 96 | try: |
| 97 | mgr.Set_Current_Target(target) |
| 98 | except aetools.Error, arg: |
| 99 | print '**', file, target, 'Cannot select:', arg |
Jack Jansen | 1023dff | 1996-02-21 15:28:49 +0000 | [diff] [blame] | 100 | try: |
| 101 | mgr.Make_Project() |
Jack Jansen | b9e5e14 | 1996-09-20 15:30:52 +0000 | [diff] [blame] | 102 | except aetools.Error, arg: |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 103 | print '**', file, target, 'Failed:', arg |
Jack Jansen | bc66f95 | 2000-07-24 19:45:07 +0000 | [diff] [blame] | 104 | failed.append(fss) |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 105 | mgr.Close_Project() |
Jack Jansen | bc66f95 | 2000-07-24 19:45:07 +0000 | [diff] [blame] | 106 | if failed: |
| 107 | print 'Open failed projects and exit?', |
| 108 | rv = sys.stdin.readline() |
| 109 | if rv[0] in ('y', 'Y'): |
| 110 | for fss in failed: |
| 111 | mgr.open(fss) |
| 112 | sys.exit(0) |
Jack Jansen | f04fa72 | 1996-04-10 14:51:14 +0000 | [diff] [blame] | 113 | ## mgr.quit() |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 114 | |
| 115 | def buildapplet(top, dummy, list): |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 116 | """Create python applets""" |
Jack Jansen | 490ec9c | 1998-07-31 09:45:27 +0000 | [diff] [blame] | 117 | template = buildtools.findtemplate() |
Just van Rossum | 9d609b4 | 1999-02-01 01:21:18 +0000 | [diff] [blame] | 118 | for src, dst in list: |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 119 | if src[-3:] != '.py': |
| 120 | raise 'Should end in .py', src |
| 121 | base = os.path.basename(src) |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 122 | src = os.path.join(top, src) |
Just van Rossum | 9d609b4 | 1999-02-01 01:21:18 +0000 | [diff] [blame] | 123 | dst = os.path.join(top, dst) |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 124 | try: |
| 125 | os.unlink(dst) |
| 126 | except os.error: |
| 127 | pass |
| 128 | print 'Building applet', dst |
Jack Jansen | 490ec9c | 1998-07-31 09:45:27 +0000 | [diff] [blame] | 129 | buildtools.process(template, src, dst, 1) |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 130 | |
| 131 | def buildfat(top, dummy, list): |
| 132 | """Build fat binaries""" |
| 133 | for dst, src1, src2 in list: |
| 134 | dst = os.path.join(top, dst) |
| 135 | src1 = os.path.join(top, src1) |
| 136 | src2 = os.path.join(top, src2) |
| 137 | print 'Building fat binary', dst |
| 138 | cfmfile.mergecfmfiles((src1, src2), dst) |
| 139 | |
Jack Jansen | 675cda0 | 1997-09-09 13:57:15 +0000 | [diff] [blame] | 140 | def handle_dialog(filename): |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 141 | """Handle selection dialog, return list of selected items""" |
| 142 | d = Dlg.GetNewDialog(DIALOG_ID, -1) |
| 143 | d.SetDialogDefaultItem(I_OK) |
| 144 | d.SetDialogCancelItem(I_CANCEL) |
| 145 | results = [0]*N_BUTTONS |
| 146 | while 1: |
| 147 | n = Dlg.ModalDialog(None) |
| 148 | if n == I_OK: |
| 149 | break |
| 150 | if n == I_CANCEL: |
| 151 | return [] |
Jack Jansen | 675cda0 | 1997-09-09 13:57:15 +0000 | [diff] [blame] | 152 | if n == I_INC_BUILDNO: |
| 153 | incbuildno(filename) |
| 154 | continue |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 155 | if n < len(results): |
| 156 | results[n] = (not results[n]) |
Jack Jansen | c9b1e90 | 1999-12-24 13:39:23 +0000 | [diff] [blame] | 157 | ctl = d.GetDialogItemAsControl(n) |
| 158 | ctl.SetControlValue(results[n]) |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 159 | rv = [] |
| 160 | for i in range(len(results)): |
| 161 | if results[i]: |
| 162 | rv.append(i) |
| 163 | return rv |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 164 | |
| 165 | # |
| 166 | # The build instructions. Entries are (routine, arg, list-of-files) |
| 167 | # XXXX We could also include the builds for stdwin and such here... |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 168 | BUILD_DICT = { |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 169 | I_CORE : (buildmwproject, "CWIE", [ |
Jack Jansen | c9bda41 | 1999-01-28 17:46:50 +0000 | [diff] [blame] | 170 | (":Mac:Build:PythonCore.prj", "PythonCore"), |
Jack Jansen | 3b80526 | 1999-02-14 23:12:06 +0000 | [diff] [blame] | 171 | (":Mac:Build:PythonInterpreter.prj", "PythonInterpreter"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 172 | ]), |
| 173 | |
| 174 | I_PPC_PLUGINS : (buildmwproject, "CWIE", [ |
Jack Jansen | 89d017d | 2000-07-07 13:08:09 +0000 | [diff] [blame] | 175 | (":Mac:Build:ucnhash.prj", "ucnhash.ppc"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 176 | (":Mac:Build:calldll.ppc.prj", "calldll.ppc"), |
| 177 | (":Mac:Build:ctb.prj", "ctb.ppc"), |
| 178 | (":Mac:Build:gdbm.prj", "gdbm.ppc"), |
| 179 | (":Mac:Build:icglue.prj", "icglue.ppc"), |
| 180 | (":Mac:Build:macspeech.prj", "macspeech.ppc"), |
| 181 | (":Mac:Build:waste.prj", "waste.ppc"), |
| 182 | (":Mac:Build:zlib.prj", "zlib.ppc"), |
Jack Jansen | bfbf113 | 2000-04-23 22:13:15 +0000 | [diff] [blame] | 183 | ## (":Mac:Build:_tkinter.prj", "_tkinter.ppc"), |
| 184 | (":Extensions:Imaging:_tkinter.prj", "_tkinter.ppc"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 185 | (":Mac:Build:ColorPicker.prj", "ColorPicker.ppc"), |
| 186 | (":Mac:Build:Printing.prj", "Printing.ppc"), |
Jack Jansen | 57ed139 | 1999-03-04 23:00:11 +0000 | [diff] [blame] | 187 | (":Mac:Build:App.prj", "App.ppc"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 188 | (":Mac:Build:Cm.prj", "Cm.ppc"), |
Jack Jansen | 6c38e5b | 2000-04-08 21:29:31 +0000 | [diff] [blame] | 189 | (":Mac:Build:Drag.prj", "Drag.ppc"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 190 | (":Mac:Build:Fm.prj", "Fm.ppc"), |
| 191 | (":Mac:Build:Help.prj", "Help.ppc"), |
| 192 | (":Mac:Build:Icn.prj", "Icn.ppc"), |
| 193 | (":Mac:Build:List.prj", "List.ppc"), |
Jack Jansen | 6a51b37 | 1999-03-07 23:10:32 +0000 | [diff] [blame] | 194 | (":Mac:Build:Qdoffs.prj", "Qdoffs.ppc"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 195 | (":Mac:Build:Qt.prj", "Qt.ppc"), |
| 196 | (":Mac:Build:Scrap.prj", "Scrap.ppc"), |
| 197 | (":Mac:Build:Snd.prj", "Snd.ppc"), |
| 198 | (":Mac:Build:Sndihooks.prj", "Sndihooks.ppc"), |
| 199 | (":Mac:Build:TE.prj", "TE.ppc"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 200 | ]), |
| 201 | |
| 202 | I_68K_PLUGINS : (buildmwproject, "CWIE", [ |
Jack Jansen | 89d017d | 2000-07-07 13:08:09 +0000 | [diff] [blame] | 203 | (":Mac:Build:ucnhash.prj", "ucnhash.CFM68K"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 204 | (":Mac:Build:ctb.prj", "ctb.CFM68K"), |
| 205 | (":Mac:Build:gdbm.prj", "gdbm.CFM68K"), |
| 206 | (":Mac:Build:icglue.prj", "icglue.CFM68K"), |
| 207 | (":Mac:Build:waste.prj", "waste.CFM68K"), |
| 208 | (":Mac:Build:zlib.prj", "zlib.CFM68K"), |
Jack Jansen | bfbf113 | 2000-04-23 22:13:15 +0000 | [diff] [blame] | 209 | ## (":Mac:Build:_tkinter.prj", "_tkinter.CFM68K"), |
| 210 | (":Extensions:Imaging:_tkinter.prj", "_tkinter.CFM68K"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 211 | (":Mac:Build:ColorPicker.prj", "ColorPicker.CFM68K"), |
| 212 | (":Mac:Build:Printing.prj", "Printing.CFM68K"), |
Jack Jansen | 57ed139 | 1999-03-04 23:00:11 +0000 | [diff] [blame] | 213 | (":Mac:Build:App.prj", "App.CFM68K"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 214 | (":Mac:Build:Cm.prj", "Cm.CFM68K"), |
Jack Jansen | 6c38e5b | 2000-04-08 21:29:31 +0000 | [diff] [blame] | 215 | (":Mac:Build:Drag.prj", "Drag.CFM68K"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 216 | (":Mac:Build:Fm.prj", "Fm.CFM68K"), |
| 217 | (":Mac:Build:Help.prj", "Help.CFM68K"), |
| 218 | (":Mac:Build:Icn.prj", "Icn.CFM68K"), |
| 219 | (":Mac:Build:List.prj", "List.CFM68K"), |
Jack Jansen | 6a51b37 | 1999-03-07 23:10:32 +0000 | [diff] [blame] | 220 | (":Mac:Build:Qdoffs.prj", "Qdoffs.CFM68K"), |
Jack Jansen | 87352f8 | 1999-02-12 10:29:06 +0000 | [diff] [blame] | 221 | (":Mac:Build:Qt.prj", "Qt.CFM68K"), |
| 222 | (":Mac:Build:Scrap.prj", "Scrap.CFM68K"), |
| 223 | (":Mac:Build:Snd.prj", "Snd.CFM68K"), |
| 224 | (":Mac:Build:Sndihooks.prj", "Sndihooks.CFM68K"), |
| 225 | (":Mac:Build:TE.prj", "TE.CFM68K"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 226 | ]), |
| 227 | |
| 228 | I_68K_FULL : (buildmwproject, "CWIE", [ |
Jack Jansen | c9bda41 | 1999-01-28 17:46:50 +0000 | [diff] [blame] | 229 | (":Mac:Build:PythonStandalone.prj", "Python68K"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 230 | ]), |
| 231 | |
| 232 | I_68K_SMALL : (buildmwproject, "CWIE", [ |
Jack Jansen | c9bda41 | 1999-01-28 17:46:50 +0000 | [diff] [blame] | 233 | (":Mac:Build:PythonStandSmall.prj", "PythonSmall68K"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 234 | ]), |
| 235 | |
| 236 | I_PPC_FULL : (buildmwproject, "CWIE", [ |
Jack Jansen | c9bda41 | 1999-01-28 17:46:50 +0000 | [diff] [blame] | 237 | (":Mac:Build:PythonStandalone.prj", "PythonStandalone"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 238 | ]), |
| 239 | |
| 240 | I_PPC_SMALL : (buildmwproject, "CWIE", [ |
Jack Jansen | c9bda41 | 1999-01-28 17:46:50 +0000 | [diff] [blame] | 241 | (":Mac:Build:PythonStandSmall.prj", "PythonStandSmall"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 242 | ]), |
| 243 | |
| 244 | I_PPC_EXTENSIONS : (buildmwproject, "CWIE", [ |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 245 | (":Extensions:Imaging:_imaging.prj", "_imaging.ppc"), |
Jack Jansen | bfbf113 | 2000-04-23 22:13:15 +0000 | [diff] [blame] | 246 | ## (":Extensions:Imaging:_tkinter.prj", "_tkinter.ppc"), |
Jack Jansen | 8eea5ba | 1999-02-06 17:44:28 +0000 | [diff] [blame] | 247 | (":Extensions:img:Mac:imgmodules.prj", "imgmodules PPC"), |
Just van Rossum | 7bcd84d | 1999-02-02 23:58:50 +0000 | [diff] [blame] | 248 | (":Extensions:Numerical:Mac:numpymodules.prj", "multiarraymodule"), |
| 249 | (":Extensions:Numerical:Mac:numpymodules.prj", "_numpy"), |
| 250 | (":Extensions:Numerical:Mac:numpymodules.prj", "umathmodule"), |
| 251 | (":Extensions:Numerical:Mac:numpymodules.prj", "fast_umathmodule"), |
| 252 | (":Extensions:Numerical:Mac:numpymodules.prj", "fftpackmodule"), |
| 253 | (":Extensions:Numerical:Mac:numpymodules.prj", "lapack_litemodule"), |
| 254 | (":Extensions:Numerical:Mac:numpymodules.prj", "ranlibmodule"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 255 | ]), |
| 256 | |
| 257 | I_68K_EXTENSIONS : (buildmwproject, "CWIE", [ |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 258 | (":Extensions:Imaging:_imaging.prj", "_imaging.CFM68K"), |
Jack Jansen | bfbf113 | 2000-04-23 22:13:15 +0000 | [diff] [blame] | 259 | ## (":Extensions:Imaging:_tkinter.prj", "_tkinter.CFM68K"), |
Jack Jansen | 8eea5ba | 1999-02-06 17:44:28 +0000 | [diff] [blame] | 260 | (":Extensions:img:Mac:imgmodules.prj", "imgmodules CFM68K"), |
Just van Rossum | 7bcd84d | 1999-02-02 23:58:50 +0000 | [diff] [blame] | 261 | ## (":Extensions:NumPy:numpymodules.prj", "numpymodules.CFM68K"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 262 | ]), |
| 263 | |
| 264 | I_APPLETS : (buildapplet, None, [ |
Just van Rossum | 9d609b4 | 1999-02-01 01:21:18 +0000 | [diff] [blame] | 265 | (":Mac:scripts:EditPythonPrefs.py", "EditPythonPrefs"), |
| 266 | (":Mac:scripts:BuildApplet.py", "BuildApplet"), |
| 267 | (":Mac:scripts:BuildApplication.py", "BuildApplication"), |
| 268 | (":Mac:scripts:ConfigurePython.py", "ConfigurePython"), |
| 269 | (":Mac:Tools:IDE:PythonIDE.py", "Python IDE"), |
Just van Rossum | f84fdfe | 2000-03-28 20:50:36 +0000 | [diff] [blame] | 270 | (":Mac:Tools:CGI:PythonCGISlave.py", ":Mac:Tools:CGI:PythonCGISlave"), |
| 271 | (":Mac:Tools:CGI:BuildCGIApplet.py", ":Mac:Tools:CGI:BuildCGIApplet"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 272 | ]), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 273 | } |
Jack Jansen | faad995 | 1997-09-01 15:37:07 +0000 | [diff] [blame] | 274 | |
| 275 | def incbuildno(filename): |
| 276 | fp = open(filename) |
| 277 | line = fp.readline() |
| 278 | fp.close() |
| 279 | |
| 280 | pat = regex.compile('#define BUILD \([0-9][0-9]*\)') |
| 281 | pat.match(line) |
| 282 | buildno = pat.group(1) |
| 283 | if not buildno: |
| 284 | raise 'Incorrect macbuildno.h line', line |
| 285 | new = string.atoi(buildno) + 1 |
| 286 | fp = open(filename, 'w') |
| 287 | fp.write('#define BUILD %d\n'%new) |
| 288 | fp.close() |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 289 | |
| 290 | def main(): |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 291 | try: |
Jack Jansen | d13c385 | 2000-06-20 21:59:25 +0000 | [diff] [blame] | 292 | h = Res.FSpOpenResFile('fullbuild.rsrc', 1) |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 293 | except Res.Error: |
| 294 | pass # Assume we already have acces to our own resource |
| 295 | |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 296 | dir, ok = macfs.GetDirectory('Python source folder:') |
| 297 | if not ok: |
| 298 | sys.exit(0) |
| 299 | dir = dir.as_pathname() |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 300 | |
Jack Jansen | 675cda0 | 1997-09-09 13:57:15 +0000 | [diff] [blame] | 301 | todo = handle_dialog(os.path.join(dir, MACBUILDNO)) |
| 302 | |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 303 | instructions = [] |
| 304 | for i in todo: |
| 305 | instructions.append(BUILD_DICT[i]) |
| 306 | |
| 307 | for routine, arg, list in instructions: |
Jack Jansen | 8b4c987 | 1997-05-07 15:52:12 +0000 | [diff] [blame] | 308 | routine(dir, arg, list) |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 309 | |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 310 | print "All done!" |
| 311 | sys.exit(1) |
| 312 | |
| 313 | if __name__ == '__main__': |
| 314 | main() |
| 315 | |