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 | be614ee | 2001-01-02 22:02:02 +0000 | [diff] [blame] | 19 | import re |
Jack Jansen | faad995 | 1997-09-01 15:37:07 +0000 | [diff] [blame] | 20 | import string |
Jack Jansen | e791a64 | 2001-08-16 20:39:17 +0000 | [diff] [blame] | 21 | import genpluginprojects |
Jack Jansen | 3c06b9a | 2001-08-27 21:41:23 +0000 | [diff] [blame] | 22 | import macresource |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 23 | |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 24 | import aetools |
Jack Jansen | 5a6fdcd | 2001-08-25 12:15:04 +0000 | [diff] [blame] | 25 | from Carbon import AppleEvents |
Jack Jansen | 87426b9 | 2000-08-17 22:12:12 +0000 | [diff] [blame] | 26 | |
| 27 | OLDAESUPPORT = 0 |
| 28 | |
| 29 | if OLDAESUPPORT: |
| 30 | from Metrowerks_Shell_Suite import Metrowerks_Shell_Suite |
| 31 | from CodeWarrior_suite import CodeWarrior_suite |
| 32 | from Metrowerks_Standard_Suite import Metrowerks_Standard_Suite |
| 33 | from Required_Suite import Required_Suite |
| 34 | else: |
| 35 | import CodeWarrior |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 36 | |
Jack Jansen | 5a6fdcd | 2001-08-25 12:15:04 +0000 | [diff] [blame] | 37 | from Carbon import Res |
| 38 | from Carbon import Dlg |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 39 | |
Jack Jansen | 490ec9c | 1998-07-31 09:45:27 +0000 | [diff] [blame] | 40 | import buildtools |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 41 | import cfmfile |
| 42 | |
| 43 | # Dialog resource. Note that the item numbers should correspond |
| 44 | # to those in the DITL resource. Also note that the order is important: |
| 45 | # things are built in this order, so there should be no forward dependencies. |
| 46 | DIALOG_ID = 512 |
| 47 | |
| 48 | I_OK=1 |
| 49 | I_CANCEL=2 |
Jack Jansen | e56e87d | 2001-01-03 11:12:21 +0000 | [diff] [blame] | 50 | # label 3 |
| 51 | I_PPC_EXTLIBS=4 |
| 52 | I_GEN_PROJECTS=5 |
Jack Jansen | 1f5cd70 | 2001-01-21 22:25:11 +0000 | [diff] [blame] | 53 | I_GEN_PROJECTS_FORCE=6 |
| 54 | I_GEN_IMGPROJECTS=7 |
| 55 | I_GEN_IMGPROJECTS_FORCE=8 |
| 56 | I_INC_BUILDNO=9 |
| 57 | # label 10 |
| 58 | I_PPC_CORE=11 |
| 59 | I_PPC_PLUGINS=12 |
| 60 | I_PPC_EXTENSIONS=13 |
| 61 | # label 14 |
| 62 | I_CARBON_CORE=15 |
| 63 | I_CARBON_PLUGINS=16 |
| 64 | I_CARBON_EXTENSIONS=17 |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 65 | I_INTERPRETER=18 |
| 66 | # label 19 |
| 67 | I_PPC_FULL=20 |
| 68 | I_PPC_SMALL=21 |
| 69 | # label 22 |
| 70 | I_CARBON_FULL=23 |
| 71 | I_CARBON_SMALL=24 |
| 72 | # label 25 |
| 73 | I_APPLETS=26 |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 74 | |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 75 | N_BUTTONS=27 |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 76 | |
Jack Jansen | 87426b9 | 2000-08-17 22:12:12 +0000 | [diff] [blame] | 77 | if OLDAESUPPORT: |
| 78 | class MwShell(Metrowerks_Shell_Suite, CodeWarrior_suite, Metrowerks_Standard_Suite, |
| 79 | Required_Suite, aetools.TalkTo): |
| 80 | pass |
| 81 | else: |
| 82 | MwShell = CodeWarrior.CodeWarrior |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 83 | |
Jack Jansen | f04fa72 | 1996-04-10 14:51:14 +0000 | [diff] [blame] | 84 | RUNNING=[] |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 85 | |
| 86 | def buildmwproject(top, creator, projects): |
| 87 | """Build projects with an MW compiler""" |
Jack Jansen | b9e5e14 | 1996-09-20 15:30:52 +0000 | [diff] [blame] | 88 | mgr = MwShell(creator, start=1) |
Jack Jansen | 1023dff | 1996-02-21 15:28:49 +0000 | [diff] [blame] | 89 | mgr.send_timeout = AppleEvents.kNoTimeOut |
| 90 | |
Jack Jansen | bc66f95 | 2000-07-24 19:45:07 +0000 | [diff] [blame] | 91 | failed = [] |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 92 | for file in projects: |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 93 | if type(file) == type(()): |
| 94 | file, target = file |
| 95 | else: |
| 96 | target = '' |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 97 | file = os.path.join(top, file) |
Just van Rossum | 2607a44 | 1999-01-30 18:27:12 +0000 | [diff] [blame] | 98 | try: |
| 99 | fss = macfs.FSSpec(file) |
Jack Jansen | e56e87d | 2001-01-03 11:12:21 +0000 | [diff] [blame] | 100 | except MacOS.Error: |
Just van Rossum | 2607a44 | 1999-01-30 18:27:12 +0000 | [diff] [blame] | 101 | print '** file not found:', file |
| 102 | continue |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 103 | print 'Building', file, target |
Just van Rossum | 2607a44 | 1999-01-30 18:27:12 +0000 | [diff] [blame] | 104 | try: |
| 105 | mgr.open(fss) |
| 106 | except aetools.Error, detail: |
| 107 | print '**', detail, file |
| 108 | continue |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 109 | if target: |
| 110 | try: |
| 111 | mgr.Set_Current_Target(target) |
| 112 | except aetools.Error, arg: |
| 113 | print '**', file, target, 'Cannot select:', arg |
Jack Jansen | 1023dff | 1996-02-21 15:28:49 +0000 | [diff] [blame] | 114 | try: |
| 115 | mgr.Make_Project() |
Jack Jansen | b9e5e14 | 1996-09-20 15:30:52 +0000 | [diff] [blame] | 116 | except aetools.Error, arg: |
Jack Jansen | 82bfde9 | 1997-08-27 14:10:29 +0000 | [diff] [blame] | 117 | print '**', file, target, 'Failed:', arg |
Jack Jansen | bc66f95 | 2000-07-24 19:45:07 +0000 | [diff] [blame] | 118 | failed.append(fss) |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 119 | mgr.Close_Project() |
Jack Jansen | bc66f95 | 2000-07-24 19:45:07 +0000 | [diff] [blame] | 120 | if failed: |
| 121 | print 'Open failed projects and exit?', |
| 122 | rv = sys.stdin.readline() |
| 123 | if rv[0] in ('y', 'Y'): |
| 124 | for fss in failed: |
| 125 | mgr.open(fss) |
| 126 | sys.exit(0) |
Jack Jansen | f04fa72 | 1996-04-10 14:51:14 +0000 | [diff] [blame] | 127 | ## mgr.quit() |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 128 | |
| 129 | def buildapplet(top, dummy, list): |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 130 | """Create python applets""" |
Jack Jansen | cbb5d49 | 2001-02-17 23:31:48 +0000 | [diff] [blame] | 131 | for src, dst, tmpl in list: |
| 132 | template = buildtools.findtemplate(tmpl) |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 133 | if src[-3:] != '.py': |
| 134 | raise 'Should end in .py', src |
| 135 | base = os.path.basename(src) |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 136 | src = os.path.join(top, src) |
Just van Rossum | 9d609b4 | 1999-02-01 01:21:18 +0000 | [diff] [blame] | 137 | dst = os.path.join(top, dst) |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 138 | try: |
| 139 | os.unlink(dst) |
| 140 | except os.error: |
| 141 | pass |
| 142 | print 'Building applet', dst |
Jack Jansen | cbb5d49 | 2001-02-17 23:31:48 +0000 | [diff] [blame] | 143 | try: |
| 144 | buildtools.process(template, src, dst, 1) |
| 145 | except buildtools.BuildError, arg: |
| 146 | print '**', dst, arg |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 147 | |
Jack Jansen | 1f5cd70 | 2001-01-21 22:25:11 +0000 | [diff] [blame] | 148 | def buildprojectfile(top, arg, list): |
Jack Jansen | e56e87d | 2001-01-03 11:12:21 +0000 | [diff] [blame] | 149 | """Create CodeWarrior project files with a script""" |
| 150 | for folder, module, routine in list: |
| 151 | print "Generating project files with", module |
| 152 | sys.path.insert(0, os.path.join(top, folder)) |
| 153 | m = __import__(module) |
| 154 | r = getattr(m, routine) |
Jack Jansen | 1f5cd70 | 2001-01-21 22:25:11 +0000 | [diff] [blame] | 155 | r(arg) |
Jack Jansen | e56e87d | 2001-01-03 11:12:21 +0000 | [diff] [blame] | 156 | del sys.path[0] |
| 157 | |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 158 | def buildfat(top, dummy, list): |
| 159 | """Build fat binaries""" |
| 160 | for dst, src1, src2 in list: |
| 161 | dst = os.path.join(top, dst) |
| 162 | src1 = os.path.join(top, src1) |
| 163 | src2 = os.path.join(top, src2) |
| 164 | print 'Building fat binary', dst |
| 165 | cfmfile.mergecfmfiles((src1, src2), dst) |
| 166 | |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 167 | def buildcopy(top, dummy, list): |
| 168 | import macostools |
| 169 | for src, dst in list: |
| 170 | src = os.path.join(top, src) |
| 171 | dst = os.path.join(top, dst) |
Jack Jansen | c1463c98 | 2001-03-06 22:46:25 +0000 | [diff] [blame] | 172 | macostools.copy(src, dst, forcetype="APPL") |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 173 | |
Jack Jansen | 675cda0 | 1997-09-09 13:57:15 +0000 | [diff] [blame] | 174 | def handle_dialog(filename): |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 175 | """Handle selection dialog, return list of selected items""" |
| 176 | d = Dlg.GetNewDialog(DIALOG_ID, -1) |
| 177 | d.SetDialogDefaultItem(I_OK) |
| 178 | d.SetDialogCancelItem(I_CANCEL) |
| 179 | results = [0]*N_BUTTONS |
| 180 | while 1: |
| 181 | n = Dlg.ModalDialog(None) |
| 182 | if n == I_OK: |
| 183 | break |
| 184 | if n == I_CANCEL: |
| 185 | return [] |
Jack Jansen | 675cda0 | 1997-09-09 13:57:15 +0000 | [diff] [blame] | 186 | if n == I_INC_BUILDNO: |
| 187 | incbuildno(filename) |
| 188 | continue |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 189 | if n < len(results): |
| 190 | results[n] = (not results[n]) |
Jack Jansen | c9b1e90 | 1999-12-24 13:39:23 +0000 | [diff] [blame] | 191 | ctl = d.GetDialogItemAsControl(n) |
| 192 | ctl.SetControlValue(results[n]) |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 193 | rv = [] |
| 194 | for i in range(len(results)): |
| 195 | if results[i]: |
| 196 | rv.append(i) |
| 197 | return rv |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 198 | |
| 199 | # |
| 200 | # The build instructions. Entries are (routine, arg, list-of-files) |
| 201 | # XXXX We could also include the builds for stdwin and such here... |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 202 | BUILD_DICT = { |
Jack Jansen | 1f5cd70 | 2001-01-21 22:25:11 +0000 | [diff] [blame] | 203 | I_GEN_PROJECTS : (buildprojectfile, 0, [ |
Jack Jansen | e56e87d | 2001-01-03 11:12:21 +0000 | [diff] [blame] | 204 | (":Mac:scripts", "genpluginprojects", "genallprojects") |
| 205 | ]), |
| 206 | |
Jack Jansen | 1f5cd70 | 2001-01-21 22:25:11 +0000 | [diff] [blame] | 207 | I_GEN_PROJECTS_FORCE : (buildprojectfile, 1, [ |
| 208 | (":Mac:scripts", "genpluginprojects", "genallprojects") |
| 209 | ]), |
| 210 | |
| 211 | I_GEN_IMGPROJECTS : (buildprojectfile, 0, [ |
Jack Jansen | e56e87d | 2001-01-03 11:12:21 +0000 | [diff] [blame] | 212 | (":Extensions:img:Mac", "genimgprojects", "genallprojects") |
| 213 | ]), |
| 214 | |
Jack Jansen | 1f5cd70 | 2001-01-21 22:25:11 +0000 | [diff] [blame] | 215 | I_GEN_IMGPROJECTS_FORCE : (buildprojectfile, 1, [ |
| 216 | (":Extensions:img:Mac", "genimgprojects", "genallprojects") |
| 217 | ]), |
| 218 | |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 219 | I_INTERPRETER : (buildcopy, None, [ |
| 220 | ("PythonInterpreterCarbon", "PythonInterpreter"), |
| 221 | ]), |
| 222 | |
Jack Jansen | 1f5cd70 | 2001-01-21 22:25:11 +0000 | [diff] [blame] | 223 | I_PPC_CORE : (buildmwproject, "CWIE", [ |
Jack Jansen | a5d384d | 2000-12-03 22:36:42 +0000 | [diff] [blame] | 224 | (":Mac:Build:PythonCore.mcp", "PythonCore"), |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 225 | (":Mac:Build:PythonInterpreter.mcp", "PythonInterpreterClassic"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 226 | ]), |
| 227 | |
Jack Jansen | 1f5cd70 | 2001-01-21 22:25:11 +0000 | [diff] [blame] | 228 | I_CARBON_CORE : (buildmwproject, "CWIE", [ |
| 229 | (":Mac:Build:PythonCore.mcp", "PythonCoreCarbon"), |
| 230 | (":Mac:Build:PythonInterpreter.mcp", "PythonInterpreterCarbon"), |
| 231 | ]), |
| 232 | |
Jack Jansen | e56e87d | 2001-01-03 11:12:21 +0000 | [diff] [blame] | 233 | I_PPC_EXTLIBS : (buildmwproject, "CWIE", [ |
| 234 | ## (":Mac:Build:buildlibs.mcp", "buildlibs ppc plus tcl/tk"), |
| 235 | (":Mac:Build:buildlibs.mcp", "buildlibs ppc"), |
| 236 | ]), |
| 237 | |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 238 | I_PPC_PLUGINS : (buildmwproject, "CWIE", [ |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 239 | (":Mac:Build:_weakref.mcp", "_weakref.ppc"), |
| 240 | (":Mac:Build:_symtable.mcp", "_symtable.ppc"), |
| 241 | (":Mac:Build:_testcapi.mcp", "_testcapi.ppc"), |
Jack Jansen | 7c10008 | 2001-08-29 22:08:06 +0000 | [diff] [blame] | 242 | (":Mac:Build:xx.mcp", "xx.ppc"), |
| 243 | (":Mac:Build:xxsubtype.mcp", "xxsubtype.ppc"), |
Jack Jansen | a5d384d | 2000-12-03 22:36:42 +0000 | [diff] [blame] | 244 | (":Mac:Build:pyexpat.mcp", "pyexpat.ppc"), |
| 245 | (":Mac:Build:calldll.mcp", "calldll.ppc"), |
| 246 | (":Mac:Build:ctb.mcp", "ctb.ppc"), |
| 247 | (":Mac:Build:gdbm.mcp", "gdbm.ppc"), |
| 248 | (":Mac:Build:icglue.mcp", "icglue.ppc"), |
| 249 | (":Mac:Build:macspeech.mcp", "macspeech.ppc"), |
| 250 | (":Mac:Build:waste.mcp", "waste.ppc"), |
| 251 | (":Mac:Build:zlib.mcp", "zlib.ppc"), |
| 252 | ## (":Mac:Build:_tkinter.mcp", "_tkinter.ppc"), |
Jack Jansen | 07d69f6 | 2001-01-01 21:51:33 +0000 | [diff] [blame] | 253 | (":Extensions:Imaging:_tkinter.mcp", "_tkinter.ppc"), |
Jack Jansen | a5d384d | 2000-12-03 22:36:42 +0000 | [diff] [blame] | 254 | (":Mac:Build:ColorPicker.mcp", "ColorPicker.ppc"), |
| 255 | (":Mac:Build:Printing.mcp", "Printing.ppc"), |
Jack Jansen | 77105a9 | 2001-08-23 13:51:46 +0000 | [diff] [blame] | 256 | (":Mac:Build:_AE.mcp", "_AE.ppc"), |
| 257 | (":Mac:Build:_App.mcp", "_App.ppc"), |
| 258 | (":Mac:Build:_Cm.mcp", "_Cm.ppc"), |
| 259 | (":Mac:Build:_Ctl.mcp", "_Ctl.ppc"), |
| 260 | (":Mac:Build:_Dlg.mcp", "_Dlg.ppc"), |
| 261 | (":Mac:Build:_Drag.mcp", "_Drag.ppc"), |
| 262 | (":Mac:Build:_Evt.mcp", "_Evt.ppc"), |
| 263 | (":Mac:Build:_Fm.mcp", "_Fm.ppc"), |
| 264 | (":Mac:Build:_Help.mcp", "_Help.ppc"), |
| 265 | (":Mac:Build:_Icn.mcp", "_Icn.ppc"), |
| 266 | (":Mac:Build:_List.mcp", "_List.ppc"), |
| 267 | (":Mac:Build:_Menu.mcp", "_Menu.ppc"), |
| 268 | (":Mac:Build:_Mlte.mcp", "_Mlte.ppc"), |
| 269 | (":Mac:Build:_Qd.mcp", "_Qd.ppc"), |
| 270 | (":Mac:Build:_Qdoffs.mcp", "_Qdoffs.ppc"), |
| 271 | (":Mac:Build:_Qt.mcp", "_Qt.ppc"), |
| 272 | (":Mac:Build:_Res.mcp", "_Res.ppc"), |
| 273 | (":Mac:Build:_Scrap.mcp", "_Scrap.ppc"), |
| 274 | (":Mac:Build:_Snd.mcp", "_Snd.ppc"), |
| 275 | (":Mac:Build:_Sndihooks.mcp", "_Sndihooks.ppc"), |
| 276 | (":Mac:Build:_TE.mcp", "_TE.ppc"), |
| 277 | (":Mac:Build:_Win.mcp", "_Win.ppc"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 278 | ]), |
| 279 | |
Jack Jansen | c3fc51f | 2001-01-23 22:36:52 +0000 | [diff] [blame] | 280 | I_CARBON_PLUGINS : (buildmwproject, "CWIE", [ |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 281 | (":Mac:Build:_weakref.carbon.mcp", "_weakref.carbon"), |
| 282 | (":Mac:Build:_symtable.carbon.mcp", "_symtable.carbon"), |
| 283 | (":Mac:Build:_testcapi.carbon.mcp", "_testcapi.carbon"), |
Jack Jansen | 7c10008 | 2001-08-29 22:08:06 +0000 | [diff] [blame] | 284 | (":Mac:Build:xx.carbon.mcp", "xx.carbon"), |
| 285 | (":Mac:Build:xxsubtype.carbon.mcp", "xxsubtype.carbon"), |
Jack Jansen | c3fc51f | 2001-01-23 22:36:52 +0000 | [diff] [blame] | 286 | (":Mac:Build:pyexpat.carbon.mcp", "pyexpat.carbon"), |
| 287 | (":Mac:Build:calldll.carbon.mcp", "calldll.carbon"), |
| 288 | (":Mac:Build:gdbm.carbon.mcp", "gdbm.carbon"), |
Jack Jansen | 5a8115c | 2001-01-29 13:27:46 +0000 | [diff] [blame] | 289 | (":Mac:Build:icglue.carbon.mcp", "icglue.carbon"), |
Jack Jansen | 8c98266 | 2001-01-24 16:02:07 +0000 | [diff] [blame] | 290 | (":Mac:Build:waste.carbon.mcp", "waste.carbon"), |
Jack Jansen | c3fc51f | 2001-01-23 22:36:52 +0000 | [diff] [blame] | 291 | (":Mac:Build:zlib.carbon.mcp", "zlib.carbon"), |
Jack Jansen | 875b51d | 2001-03-20 23:30:06 +0000 | [diff] [blame] | 292 | (":Mac:Build:_dummy_tkinter.mcp", "_tkinter.carbon"), |
Jack Jansen | c3fc51f | 2001-01-23 22:36:52 +0000 | [diff] [blame] | 293 | ## (":Extensions:Imaging:_tkinter.carbon.mcp", "_tkinter.carbon"), |
| 294 | (":Mac:Build:ColorPicker.carbon.mcp", "ColorPicker.carbon"), |
Jack Jansen | 77105a9 | 2001-08-23 13:51:46 +0000 | [diff] [blame] | 295 | (":Mac:Build:_AE.carbon.mcp", "_AE.carbon"), |
| 296 | (":Mac:Build:_App.carbon.mcp", "_App.carbon"), |
| 297 | (":Mac:Build:_CF.carbon.mcp", "_CF.carbon"), |
| 298 | (":Mac:Build:_Cm.carbon.mcp", "_Cm.carbon"), |
| 299 | (":Mac:Build:_Ctl.carbon.mcp", "_Ctl.carbon"), |
| 300 | (":Mac:Build:_Dlg.carbon.mcp", "_Dlg.carbon"), |
| 301 | (":Mac:Build:_Drag.carbon.mcp", "_Drag.carbon"), |
| 302 | (":Mac:Build:_Evt.carbon.mcp", "_Evt.carbon"), |
| 303 | (":Mac:Build:_Fm.carbon.mcp", "_Fm.carbon"), |
| 304 | (":Mac:Build:_Icn.carbon.mcp", "_Icn.carbon"), |
| 305 | (":Mac:Build:_List.carbon.mcp", "_List.carbon"), |
| 306 | (":Mac:Build:_Menu.carbon.mcp", "_Menu.carbon"), |
| 307 | (":Mac:Build:_Mlte.carbon.mcp", "_Mlte.carbon"), |
| 308 | (":Mac:Build:_Qd.carbon.mcp", "_Qd.carbon"), |
| 309 | (":Mac:Build:_Qdoffs.carbon.mcp", "_Qdoffs.carbon"), |
| 310 | (":Mac:Build:_Qt.carbon.mcp", "_Qt.carbon"), |
| 311 | (":Mac:Build:_Res.carbon.mcp", "_Res.carbon"), |
| 312 | (":Mac:Build:_Scrap.carbon.mcp", "_Scrap.carbon"), |
| 313 | (":Mac:Build:_Snd.carbon.mcp", "_Snd.carbon"), |
| 314 | (":Mac:Build:_Sndihooks.carbon.mcp", "_Sndihooks.carbon"), |
| 315 | (":Mac:Build:_TE.carbon.mcp", "_TE.carbon"), |
| 316 | (":Mac:Build:_Win.carbon.mcp", "_Win.carbon"), |
Jack Jansen | f4b9fb7 | 2001-06-26 21:52:08 +0000 | [diff] [blame] | 317 | |
Jack Jansen | c3fc51f | 2001-01-23 22:36:52 +0000 | [diff] [blame] | 318 | ]), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 319 | |
Jack Jansen | 131c288 | 2001-01-24 14:06:35 +0000 | [diff] [blame] | 320 | I_PPC_FULL : (buildmwproject, "CWIE", [ |
| 321 | (":Mac:Build:PythonStandalone.mcp", "PythonStandalone"), |
| 322 | ]), |
| 323 | |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 324 | I_PPC_SMALL : (buildmwproject, "CWIE", [ |
Jack Jansen | a5d384d | 2000-12-03 22:36:42 +0000 | [diff] [blame] | 325 | (":Mac:Build:PythonStandSmall.mcp", "PythonStandSmall"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 326 | ]), |
| 327 | |
Jack Jansen | 5288c47 | 2001-02-12 14:46:53 +0000 | [diff] [blame] | 328 | I_CARBON_FULL : (buildmwproject, "CWIE", [ |
| 329 | (":Mac:Build:PythonStandalone.mcp", "PythonCarbonStandalone"), |
| 330 | ]), |
| 331 | |
| 332 | I_CARBON_SMALL : (buildmwproject, "CWIE", [ |
| 333 | (":Mac:Build:PythonStandSmall.mcp", "PythonStandSmallCarbon"), |
| 334 | ]), |
| 335 | |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 336 | I_PPC_EXTENSIONS : (buildmwproject, "CWIE", [ |
Jack Jansen | a5d384d | 2000-12-03 22:36:42 +0000 | [diff] [blame] | 337 | (":Extensions:Imaging:_imaging.mcp", "_imaging.ppc"), |
| 338 | ## (":Extensions:Imaging:_tkinter.mcp", "_tkinter.ppc"), |
Jack Jansen | 7b7e713 | 2001-01-23 23:19:41 +0000 | [diff] [blame] | 339 | (":Extensions:img:Mac:imgmodules.mcp", "imgmodules.ppc"), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 340 | ]), |
| 341 | |
Jack Jansen | 7b7e713 | 2001-01-23 23:19:41 +0000 | [diff] [blame] | 342 | I_CARBON_EXTENSIONS : (buildmwproject, "CWIE", [ |
Jack Jansen | a647807 | 2001-03-01 23:15:01 +0000 | [diff] [blame] | 343 | (":Extensions:Imaging:_imaging.mcp", "_imaging.carbon"), |
Jack Jansen | 7b7e713 | 2001-01-23 23:19:41 +0000 | [diff] [blame] | 344 | ## (":Extensions:Imaging:_tkinter.mcp", "_tkinter.carbon"), |
| 345 | (":Extensions:img:Mac:imgmodules.mcp", "imgmodules.carbon"), |
Jack Jansen | 7b7e713 | 2001-01-23 23:19:41 +0000 | [diff] [blame] | 346 | ]), |
| 347 | |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 348 | I_APPLETS : (buildapplet, None, [ |
Jack Jansen | cbb5d49 | 2001-02-17 23:31:48 +0000 | [diff] [blame] | 349 | (":Mac:scripts:EditPythonPrefs.py", "EditPythonPrefs", None), |
| 350 | (":Mac:scripts:BuildApplet.py", "BuildApplet", None), |
| 351 | (":Mac:scripts:BuildApplication.py", "BuildApplication", None), |
| 352 | (":Mac:scripts:ConfigurePython.py", "ConfigurePython", None), |
| 353 | (":Mac:scripts:ConfigurePython.py", "ConfigurePythonCarbon", "PythonInterpreterCarbon"), |
| 354 | (":Mac:scripts:ConfigurePython.py", "ConfigurePythonClassic", "PythonInterpreterClassic"), |
| 355 | (":Mac:Tools:IDE:PythonIDE.py", "Python IDE", None), |
| 356 | (":Mac:Tools:CGI:PythonCGISlave.py", ":Mac:Tools:CGI:PythonCGISlave", None), |
| 357 | (":Mac:Tools:CGI:BuildCGIApplet.py", ":Mac:Tools:CGI:BuildCGIApplet", None), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 358 | ]), |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 359 | } |
Jack Jansen | faad995 | 1997-09-01 15:37:07 +0000 | [diff] [blame] | 360 | |
| 361 | def incbuildno(filename): |
| 362 | fp = open(filename) |
| 363 | line = fp.readline() |
| 364 | fp.close() |
| 365 | |
Jack Jansen | be614ee | 2001-01-02 22:02:02 +0000 | [diff] [blame] | 366 | pat = re.compile('#define BUILD ([0-9]+)') |
| 367 | m = pat.search(line) |
| 368 | if not m or not m.group(1): |
Jack Jansen | faad995 | 1997-09-01 15:37:07 +0000 | [diff] [blame] | 369 | raise 'Incorrect macbuildno.h line', line |
Jack Jansen | be614ee | 2001-01-02 22:02:02 +0000 | [diff] [blame] | 370 | buildno = m.group(1) |
Jack Jansen | faad995 | 1997-09-01 15:37:07 +0000 | [diff] [blame] | 371 | new = string.atoi(buildno) + 1 |
| 372 | fp = open(filename, 'w') |
| 373 | fp.write('#define BUILD %d\n'%new) |
| 374 | fp.close() |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 375 | |
| 376 | def main(): |
Jack Jansen | 3c06b9a | 2001-08-27 21:41:23 +0000 | [diff] [blame] | 377 | macresource.need('DLOG', DIALOG_ID, 'fullbuild.rsrc') |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 378 | dir, ok = macfs.GetDirectory('Python source folder:') |
| 379 | if not ok: |
| 380 | sys.exit(0) |
| 381 | dir = dir.as_pathname() |
Jack Jansen | e791a64 | 2001-08-16 20:39:17 +0000 | [diff] [blame] | 382 | # Set genpluginprojects to use this folder (slight hack) |
| 383 | genpluginprojects.PYTHONDIR = dir |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 384 | |
Jack Jansen | 675cda0 | 1997-09-09 13:57:15 +0000 | [diff] [blame] | 385 | todo = handle_dialog(os.path.join(dir, MACBUILDNO)) |
| 386 | |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 387 | instructions = [] |
| 388 | for i in todo: |
| 389 | instructions.append(BUILD_DICT[i]) |
| 390 | |
| 391 | for routine, arg, list in instructions: |
Jack Jansen | 8b4c987 | 1997-05-07 15:52:12 +0000 | [diff] [blame] | 392 | routine(dir, arg, list) |
Jack Jansen | 0f00c5e | 1997-05-06 16:15:32 +0000 | [diff] [blame] | 393 | |
Jack Jansen | e56e87d | 2001-01-03 11:12:21 +0000 | [diff] [blame] | 394 | if todo: |
| 395 | print "All done!" |
Jack Jansen | 6655c4e | 1995-09-01 12:03:32 +0000 | [diff] [blame] | 396 | |
| 397 | if __name__ == '__main__': |
| 398 | main() |
| 399 | |