|
1 Version is unchanged |
|
2 =============== |
|
3 Made by Zheng Shen 24/08/2009 |
|
4 1. REQ12628 Tools codeline refactoring for SymTB9.2 |
|
5 ROM Tools are removed from MCL. |
|
6 |
|
7 Version 2.2.0 (readimage) |
|
8 =============== |
|
9 Made by Zhi Dou 31/07/2009 |
|
10 |
|
11 1. PREQ2465 REQ12562 Byte-pair compression update |
|
12 |
|
13 Version 2.12.0 (rombuild) |
|
14 ================ |
|
15 (Made by Zhi Dou, 31/07/2009) |
|
16 1. PREQ2465 REQ12562 Byte-pair compression update |
|
17 |
|
18 Version 2.5.0 (rofsbuild) |
|
19 ================ |
|
20 (Made by Zhi Dou, 31/07/2009) |
|
21 1. PREQ2465 REQ12562 Byte-pair compression update |
|
22 |
|
23 Version 2.11.0 (rombuild) |
|
24 ================ |
|
25 (Made by Zheng Shen, 23/07/2009) |
|
26 1. PREQ2465 REQ11939 Warnings for unpaged memory size overflows |
|
27 |
|
28 Version 2.10.1 (rombuild) |
|
29 =============== |
|
30 Made by Zhi Dou 29/07/2009 |
|
31 |
|
32 1. DEF140763 ROMBUILD should prevent kernel extensions linking to user side |
|
33 |
|
34 Version 2.10.0 (rombuild) |
|
35 =============== |
|
36 Made by Zhi Dou 20/07/2009 |
|
37 |
|
38 1. REQ13110 HCR file in ROM (ROMBUILD) |
|
39 |
|
40 Version 2.4.0 (rofsbuild) |
|
41 =============== |
|
42 Made by Zhi Dou 20/07/2009 |
|
43 |
|
44 1. REQ13111 HCR file in a separate NAND partition (ROFSBUILD) |
|
45 |
|
46 Version 2.1.602 |
|
47 =============== |
|
48 Made by Vino Jose 10/07/2009 |
|
49 |
|
50 1. ChrisN |
|
51 1. MILESTONE: SymTB9.2, GT0419, MS3.36, DS.1815 PREQ2621 System Architecture Relocating header files - K&HS support |
|
52 |
|
53 Version 2.1.601 |
|
54 =============== |
|
55 Made by DeleOgunjumelo 15/01/2009 |
|
56 |
|
57 1. JonCo |
|
58 1. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ11822: WDP support for SBSv1 |
|
59 2. MILESTONE: Diran, GT0421, MS3.20, DS1210, REQ11823: WDP support for romtools |
|
60 PREQ1954 Writeable data paging: prototype release |
|
61 |
|
62 Version 2.1.600 |
|
63 =============== |
|
64 Released by Kun Xu, 20/06/2008 |
|
65 1. DEF122540: Slight issue with readimage and sis files that specify a drive letter. |
|
66 |
|
67 Version 2.1.599 |
|
68 =============== |
|
69 Released by Kun Xu, 17/06/2008 |
|
70 1. DEF122721 READIMAGE:Files are extracted in 'reftsp.ini' directory for an ROFS image. |
|
71 |
|
72 Version 2.1.598 |
|
73 =============== |
|
74 Released by Kun Xu, 02/06/2008 |
|
75 1. DEF122243: ROMBuild deal with file contain line more than 255 characters incorrectly |
|
76 |
|
77 Version 2.1.597 |
|
78 =============== |
|
79 Released by Kun Xu, 02/06/2008 |
|
80 1. DEF122827: Rom build failure with _ONENAND switch |
|
81 2. DEF119470: ROFSBUILD hangs when an empty OBY file is passed as input |
|
82 3. DEF122024: Many warnings when compiling readimage tool with MSVC++ 6.0 |
|
83 4. DEF122533: ROFSBUILD loglevel2 generates logs which don't work for interpretsis |
|
84 |
|
85 Version 2.1.596 |
|
86 =============== |
|
87 Released by ReubenH, 12/05/2008 |
|
88 1. DEF115401: Incomplete validation of data in loader |
|
89 |
|
90 Version 2.1.595 |
|
91 =============== |
|
92 Released by Mool Chand Tyagi, 13/12/2007 |
|
93 1. PDEF115166 Symbian rombuild.exe work incorrectly when compression is used |
|
94 |
|
95 Version 2.1.594 |
|
96 =============== |
|
97 Released by Tamilarasu Byran, 04/12/2007 |
|
98 1. PDEF114692: elf2e32 - failed to report relocation data. |
|
99 |
|
100 Version 2.1.593 |
|
101 =============== |
|
102 Released by Tamilarasu Byran, 07/11/2007 |
|
103 1. DEF113140: Buildrom fails with error "Use the keyword 'romsize' " for extension ROFS image. |
|
104 |
|
105 Version 2.1.592 |
|
106 =============== |
|
107 Released by Madhu, 31/10/2007 |
|
108 1. PDEF107501: readimage is not able to display output of the patched dll. |
|
109 |
|
110 Version 2.1.591 |
|
111 =============== |
|
112 Released by Tamilarasu Byran, 26/10/2007 |
|
113 1. INC112577: Readimage tool crashes when run on S60 3.2 rom image. |
|
114 |
|
115 Version 2.1.590 |
|
116 =============== |
|
117 Released by Tamilarasu Byran, 25/10/2007 |
|
118 1. DEF107096: Postlinker ignores references to imports from the data segment. |
|
119 2. DEF112586: Buildrom fails while building extension rofs image. |
|
120 |
|
121 Version 2.1.589 |
|
122 =============== |
|
123 Released by Saurabh, 11/10/2007 |
|
124 1. INC112241: Operator precedence bug in Rombuild |
|
125 |
|
126 Version 2.1.588 |
|
127 =============== |
|
128 Released by Moolchand, 10/10/2007 |
|
129 1. PDEF109724: Rombuild/Rofsbuild should warn if dll or exe is located outside standard paths |
|
130 |
|
131 Version 2.1.587 |
|
132 =============== |
|
133 Released by Saurabh, 03/10/2007 |
|
134 1. DEF111903: Elf2e32 GT warning base e32 |
|
135 |
|
136 Version 2.1.586 |
|
137 =============== |
|
138 Released by Madhu, 28/09/2007 |
|
139 1. PDEF102323: rofsbuild crashes without generating appropriate error message |
|
140 |
|
141 Version 2.1.585 |
|
142 =============== |
|
143 Released by Tamilarasu Byran, 25/09/2007 |
|
144 1. DEF111695: Data drive image generation failed |
|
145 2. DEF104630: elf2e32 crashes |
|
146 |
|
147 Version 2.1.584 |
|
148 =============== |
|
149 Released by AndrewSmi, 09/08/2007 |
|
150 1. AndrewSmi |
|
151 1. DEF110094: Run mode debug: debuggable keyword not supported for armv5_abiv1 in MCL |
|
152 |
|
153 Version 2.1.583 |
|
154 =============== |
|
155 Released by Tamilarasu Byran, 08/08/2007 |
|
156 1. DEF106861: Specifying a compression method in buildrom doesn't work |
|
157 |
|
158 Version 2.1.582 |
|
159 =============== |
|
160 Released by MiguelB, 06/06/2007 |
|
161 |
|
162 1. Andrew Haigh |
|
163 1. PREQ1426: Added Debuggable bitfield to E32 header and associated changes |
|
164 |
|
165 |
|
166 Version 2.1.581 |
|
167 =============== |
|
168 Released by ???, dd/mm/yyyy |
|
169 1. SivashankarN |
|
170 1. EC114: Core OS: Enhance File Server to solve 1085/1086 interoperability issue. |
|
171 Enhanced rofsbuild tools to handle the special attributes to create the rofs image |
|
172 |
|
173 Version 2.1.580 |
|
174 =============== |
|
175 Released by JonC, 03/04/2007 |
|
176 |
|
177 1) DEF104558 ELF2E32 should build dynamically for TOOLS2 rather than statically for TOOLS |
|
178 |
|
179 Version 2.1.579 |
|
180 =============== |
|
181 Released by KunalM, 27/03/2007 |
|
182 |
|
183 1) Seclib built as part of the system build |
|
184 |
|
185 Version 2.1.578 |
|
186 =============== |
|
187 Released by KunalM, 20/03/2007 |
|
188 |
|
189 1) ROM building tools (ROMBUILD,ROFSBUILD) ported to the TOOLS2 platform, under PREQ1182, MS3.1 |
|
190 |
|
191 Version 2.00.577 |
|
192 ========================== |
|
193 (Made by SushmitaR, 19/03/2007) |
|
194 |
|
195 1) OlegI |
|
196 DEFECT FIX: PDEF102522: DP: unhandled exception readimage.exe when using a XIP ROM paged core image |
|
197 |
|
198 Version 2.1.576 |
|
199 =============== |
|
200 Released by KunalM, 06/03/2007 |
|
201 |
|
202 1) Build tools (elfdump,uidcrc) ported to the TOOLS2 platform, under PREQ1182, MS3.6.2 |
|
203 2) Seclib and Zlib added as pre-built libraries in the MCL for TOOLS2 |
|
204 |
|
205 |
|
206 Version 2.00.575 |
|
207 ========================== |
|
208 (Made by JonathanM, 07/02/2007) |
|
209 |
|
210 1) JonathanM |
|
211 DEFECT FIX: DEF101095: DP: Rofsbuild doesn't support paged, unpaged and pagingoverride keywords |
|
212 |
|
213 Version 2.00.574 |
|
214 ========================== |
|
215 (Made by Dusko, 12/12/2006) |
|
216 |
|
217 1) Dusko |
|
218 DEF097419: DemandPaging:Keywords paged/unpaged are case sensitive |
|
219 |
|
220 Version 2.00.573 |
|
221 ========================== |
|
222 (Made by Dusko, 11/10/2006) |
|
223 |
|
224 1) Dusko |
|
225 DEF095506: Change in behaviour for 0 length files (rofsbuild) |
|
226 |
|
227 Version 2.00.572 |
|
228 ========================== |
|
229 (Made by Dusko, 27/09/2006) |
|
230 |
|
231 1. Dusko |
|
232 DEF093537: Re-Introducing warnings when creating demand paged ROMs |
|
233 |
|
234 2. RajeswariR |
|
235 DEF087061 : PR0104 test failures - Incorrect function call, incorrect msg checking |
|
236 DEF088937: Incorrect usage of $ChopSrcPath in cl_bpabi.pm. |
|
237 DEF091008: ignorenoncallablefunction not supported in ABIV2 mode toolchain. |
|
238 DEF093342: Symbol name for absent exports present in the DSO file. |
|
239 DEF093344: ABIV2 fixup should not happen for export table relocation entries in postlinker. |
|
240 DEF093345: Support for no exception compiler option in the ABIV2 mode toolchain. |
|
241 DEF094731: Workaround to handle ARM linker veneer problem. |
|
242 |
|
243 Version 2.00.571 |
|
244 ========================== |
|
245 (Made by RichardC, 13/09/2006) |
|
246 |
|
247 1. RichardCo |
|
248 1. DEF093954: GetSecurityInfo does not support opening unicode filenames |
|
249 2. DEF092758: E32ImageFile::Open does not support opening unicode filenames |
|
250 |
|
251 Version 2.00.570 |
|
252 ========================== |
|
253 (Made by Dusko, 05/09/2006) |
|
254 |
|
255 1. Dusko |
|
256 INC088317 Elftran crashes during compilation of ARMV5 dll |
|
257 |
|
258 Version 2.00.569 |
|
259 ========================== |
|
260 (Made by JonathanM, 01/09/2006) |
|
261 |
|
262 1. DanH |
|
263 1. DEF091669: Several rombuild problems in demand paged roms. |
|
264 Fixed various rombuild problems with different demand paging configurations, including |
|
265 unhandled exceptions with certain edge cases and missing support for the 'alwayspage' |
|
266 value for the pagingoverride keyword. |
|
267 |
|
268 Version 2.00.568 |
|
269 ========================== |
|
270 (Made by Dusko, 23/08/2006) |
|
271 |
|
272 1. Dusko |
|
273 DEF092459: Warnings when creating demand paged ROMs |
|
274 |
|
275 Version 2.00.567 |
|
276 ========================== |
|
277 (Made by ????, ??/??/2006) |
|
278 |
|
279 1. AttilaV |
|
280 1. DEF090973: elf2e32 can't dump header of a byte pair compressed binary |
|
281 Added missing image header wirting code fragment into e32imagefile.cpp |
|
282 E32ImageFile::WriteImage()method Bytepair compressed image generation branch. |
|
283 Added new case: branch for display bytepair compression method in t the imgdump.cpp |
|
284 E32ImageFile::DumpHeader method. |
|
285 |
|
286 2. DEF091564: Spurious warnings when using BytePair compression. |
|
287 In \e32tools\e32image\e32image.cpp there are spuriou 'warning' messages whenever |
|
288 BytePair compression is used in "ostream& operator<<". These should be deleted. |
|
289 |
|
290 Version 2.00.566 |
|
291 ========================== |
|
292 (Made by RobertJ, 20/07/2006) |
|
293 |
|
294 1. DanH |
|
295 1. DEF090813: Rofsbuild has warnings when creating demand paged ROMs |
|
296 Added support for paged/unpaged attributes in rofsbuild. No action is taken with these |
|
297 attributes yet (not needed until "Code Paging" support is added) but the warnings have |
|
298 been removed when DP ROMs are created. |
|
299 |
|
300 Version 2.00.565 |
|
301 =========================== |
|
302 (Made by DmitryL, 28/06/2006) |
|
303 |
|
304 1. AttilaV |
|
305 1. DEF088473: ELF2E32 tool terminates if --compressionmethod bytepair CLI parameter presents |
|
306 Fixed an uninitialised pointer use at create byte pair compressed executable image. |
|
307 |
|
308 |
|
309 Version 2.00.564 |
|
310 =========================== |
|
311 (Made by Dusko, 19/06/2006) |
|
312 |
|
313 1. JohanG |
|
314 DEF088447 Change in the rom log file format breaks CW debugging ... |
|
315 |
|
316 |
|
317 Version 2.00.563 |
|
318 =========================== |
|
319 (Made by Dusko, 19/06/2006) |
|
320 |
|
321 1. JohanG |
|
322 1. DEF079348: ROMBUILD doesn't always fail cleanly on OOM |
|
323 2. DEF083206: elftran only dumps inferred relocations, not code or data |
|
324 |
|
325 |
|
326 Version 2.00.562 |
|
327 =========================== |
|
328 (Made by DjordjeK, 06/06/2006) |
|
329 |
|
330 1. AttilaV |
|
331 1. DEF081770: The Loader should verify compression type. |
|
332 |
|
333 |
|
334 Version 2.00.561 |
|
335 =========================== |
|
336 (Made by DavidM, 26/05/2006) |
|
337 |
|
338 1. AttilaV |
|
339 Milestone: Argus,GT0286,MS3.2 |
|
340 Extended PETRAN, ELFTRAN, ELF2E32, ROMBUILD, ROFSBUILD to handle new compression method Byte Pair |
|
341 and new executable image compressed by the new compression |
|
342 |
|
343 |
|
344 Version 2.00.560 |
|
345 =========================== |
|
346 (Made by DuskoJ, 30/05/2006) |
|
347 1) SatyakamM |
|
348 DEF083920: Rofsbuild crashes on using patchdata for ABIV2 DLL (ABIV1 works fine) |
|
349 |
|
350 Version 2.00.559 |
|
351 =========================== |
|
352 (Made by DuskoJ, 13/04/2006) |
|
353 1) Dusko |
|
354 DEF083116 Validaterel always fails |
|
355 |
|
356 Version 2.00.558 |
|
357 =========================== |
|
358 (Made by DuskoJ, 16/03/2006) |
|
359 1) JonC |
|
360 DEF082002 - EVALID can't deal with case differences in ARMV5 DLL |
|
361 |
|
362 Version 2.00.557 |
|
363 =========================== |
|
364 (Made by JonathanM, 06/03/2006) |
|
365 |
|
366 1) JonathanM |
|
367 MILESTONE: Argus GT0286, MS3.1 PREQ209 Demand Paging Prototype. |
|
368 First delivery of demand paging prototype. Delivery step DS204. |
|
369 |
|
370 Version 2.00.556 |
|
371 =========================== |
|
372 (Made by KuldipN, 08/02/2006) |
|
373 1) KuldipN |
|
374 DEF078510 buildrom does not validate new XML files |
|
375 DEF077827 buildrom feature management - should disallow default ranges with extra flags |
|
376 |
|
377 Version 2.00.555 |
|
378 =========================== |
|
379 (Made by DuskoJ, 24/01/2006) |
|
380 1) DuskoJ |
|
381 DEF075849 Feature registry API returning error when featreg.cfg file is greater than 64KB |
|
382 DEF077941 VA_* macros cannot be used with GCCE |
|
383 |
|
384 Version 2.00.554 |
|
385 =========================== |
|
386 (Made by JonathanM, 04/01/2006) |
|
387 |
|
388 1) JonathanM |
|
389 PREQ1030 - Kernel support for device driver test suites - Generic Logging Engine. |
|
390 This adds support for the following keywords into ROMBUILD: |
|
391 btrace, btracemode and btracebuffer |
|
392 See base/documentation/Base_How_To_BTrace.doc |
|
393 |
|
394 Version 2.00.553 |
|
395 =========================== |
|
396 (Made by KuldipN, 21/10/2005) |
|
397 1) KuldipN |
|
398 PREQ1086 - Device Feature Management (DS 069) |
|
399 Version 2.00.552 |
|
400 =========================== |
|
401 (Made by KuldipN, 12/10/2005) |
|
402 1) KuldipN |
|
403 PREQ1028 - Plug-in compiler integration (DS 063) |
|
404 Version 2.00.551 |
|
405 =========================== |
|
406 (Made by KuldipN, 06/10/2005) |
|
407 1) KuldipN |
|
408 PREQ1085 Flexible device ROM configuration |
|
409 Version 2.00.550 |
|
410 =========================== |
|
411 (Made by KuldipN, 14/09/2005) |
|
412 1) KuldipN |
|
413 REQ5412: Enhance ROM tools compression options (part of PREQ1192) |
|
414 |
|
415 Version 2.00.549 |
|
416 =========================== |
|
417 (Made by DuskoJ, 12/07/2005) |
|
418 1) RajeswariR |
|
419 DEF065105 Using GCC-E should not require modification of existing bld.inf files |
|
420 DEF063447 Postlinker crashes with unsupported outfile |
|
421 |
|
422 Version 2.00.548 |
|
423 ================ |
|
424 (Made by JonC, 21/07/2005) |
|
425 1) JonC |
|
426 PREQ1032 Hardware-dependent support for "VFP" floating point acceleration and accelerated maths functions |
|
427 |
|
428 Version 2.00.547 |
|
429 =========================== |
|
430 (Made by DuskoJ, 13/07/2005) |
|
431 1) Dusko |
|
432 DEF063791 ROFSBUILD resets main ROFS file attributes when processing a ROFS extension |
|
433 |
|
434 Version 2.00.546 |
|
435 =========================== |
|
436 (Made by DuskoJ, 01/07/2005) |
|
437 |
|
438 1) Dusko |
|
439 DEF062362 PE_DUMP does not report all significant content in NSIS files |
|
440 DEF064173 secdump.exe blows up when you try and use it |
|
441 |
|
442 Version 2.00.545 |
|
443 =========================== |
|
444 (Made by KuldipN, 22/06/2005) |
|
445 |
|
446 1) KuldipN |
|
447 DEF060825 PR0104: Addition of GCCE support to CodeWarrior |
|
448 |
|
449 Version 2.00.544 |
|
450 =========================== |
|
451 (Made by KuldipN, 10/06/2005) |
|
452 |
|
453 1) KuldipN |
|
454 DEF062125 PR104: Custom DLL generation is failing |
|
455 |
|
456 Version 2.00.543 |
|
457 =========================== |
|
458 (Made by DuskoJ, 10/06/2005) |
|
459 |
|
460 1) Dusko |
|
461 DEF061701 Petran.exe can crash on certain non E32 files |
|
462 |
|
463 Version 2.00.542 |
|
464 =========================== |
|
465 (Made by KuldipN, 27/05/2005) |
|
466 |
|
467 1) KuldipN |
|
468 PREQ413 Changes to support the GCCE toolchain. |
|
469 PREQ414 Enable Commercial Compatible Compilers |
|
470 DEF061420 Elf2e32 Problems |
|
471 |
|
472 Version 2.00.541 |
|
473 =========================== |
|
474 (Made by DuskoJ, 27/05/2005) |
|
475 |
|
476 1) BalaT |
|
477 DEF060837 RVCT2.2 emits unresolved symbols which ELFTRAN does not notice. |
|
478 |
|
479 |
|
480 Version 2.00.540 |
|
481 =========================== |
|
482 (Made by KuldipN, 11/05/2005) |
|
483 |
|
484 1) KuldipN |
|
485 DEF060826 - PR0104 - PostLinker Memory Leaks |
|
486 |
|
487 Version 2.00.539 |
|
488 =========================== |
|
489 (Made by KuldipN, 3/05/2005) |
|
490 |
|
491 1) KuldipN |
|
492 PREQ413 - Changes to support the GCCE toolchain. |
|
493 |
|
494 Version 2.00.538 |
|
495 =========================== |
|
496 (Made by BalaT, 1/04/2005) |
|
497 |
|
498 1) BalaT |
|
499 DEF058002 - [System Build] Failed to build EIKCORE.DLL using RVCT2.2 |
|
500 |
|
501 Version 2.00.537 |
|
502 =========================== |
|
503 (Made by MiguelB, 1/03/2005) |
|
504 |
|
505 1) MiguelB |
|
506 DEF055301 - ROFSBUILD, COREIMAGE keyword: problem with single-char files/directories |
|
507 |
|
508 Version 2.00.536 |
|
509 =========================== |
|
510 (Made by Bala, 22/02/2005) |
|
511 1) Bala |
|
512 PREQ1027 Submission of RVCT 2.2 Run-Time ABI Compliance to MCL |
|
513 |
|
514 Version 2.00.535 |
|
515 =========================== |
|
516 (Made by Dusko, 21/02/2005) |
|
517 |
|
518 1) BalaT |
|
519 DEF051265 Problems debugging .cia files in ARMV5 builds. |
|
520 |
|
521 Version 2.00.534 |
|
522 =========================== |
|
523 (Made by Dusko, 19/01/2005) |
|
524 |
|
525 1) Dusko |
|
526 DEF052809 - GENSTUB ERROR: can't open output file.... |
|
527 |
|
528 Version 2.00.533 |
|
529 =========================== |
|
530 (Made by Dusko, 23/11/2004) |
|
531 |
|
532 1) BalaT |
|
533 1) DEF051128 - armv5 library build in parallel cause conflicts |
|
534 |
|
535 Version 2.00.532 |
|
536 =========================== |
|
537 (Made by KamranN, 11/11/2004) |
|
538 |
|
539 1) KamranN |
|
540 1) Fix for defect DEF051421 Problems with binary search in ROFS |
|
541 |
|
542 Version 2.00.531 |
|
543 =========================== |
|
544 (Made by Dusko, 08/10/2004) |
|
545 |
|
546 1) BalaT |
|
547 1) DEF047934 - ROMBUILD:EXE corrupts ROM directory of an extension ROM |
|
548 |
|
549 Version 2.00.530 |
|
550 =========================== |
|
551 (Made by Dusko, 04/10/2004) |
|
552 |
|
553 1) BalaT |
|
554 1. Fix for DEF046271 - EVALID cannot cope with differing temp paths present in some ARMV5 .lib files. |
|
555 |
|
556 Patch to Version 2.00.529 |
|
557 =========================== |
|
558 (Made by ???, ??/??/2004) |
|
559 |
|
560 1. JonathanM |
|
561 1. Fix for -dump option in PETRAN. |
|
562 |
|
563 Patch to Version 2.00.529 |
|
564 =========================== |
|
565 (Made by MichaelP, 27/08/2004) |
|
566 |
|
567 1. JonathanM |
|
568 1. Defect Fix: DEF048051 - ROMBUILD can when PlatSecEnforceSysBin is ON |
|
569 |
|
570 |
|
571 Version 2.00.529 |
|
572 =========================== |
|
573 (Made by KuldipN, 25/08/2004) |
|
574 |
|
575 1. NaheedA |
|
576 1. DEF047579 - petran fails to report a corrupted input file. |
|
577 2. DEF046271 - EVALID cannot cope with differing temp paths present in some ARMV5 .lib files |
|
578 |
|
579 Patch to Version 2.00.528 |
|
580 =========================== |
|
581 (Made by JonathanM, 19/08/2004) |
|
582 |
|
583 1. JonathanM |
|
584 1. Defect Fix: DEF048015 - [System Build] ROMs failed to build for MCL 03344 8.1b/9.0 |
|
585 |
|
586 Version 2.00.528 |
|
587 =========================== |
|
588 (Made by DjordjeK, 18/08/2004) |
|
589 |
|
590 1. JonathanM |
|
591 1. Added -dump option to PETRAN and ELFTRAN to select what information should |
|
592 be displayed about an image file. This takes a string argument consisting |
|
593 of letters to select the information to be dumped: |
|
594 h All header info |
|
595 s Platform Security info |
|
596 c Code section |
|
597 d Data section |
|
598 e Exports |
|
599 i Imports |
|
600 These letters can be used in any combinations, e.g. "PETRAN -dump ie foo.exe" |
|
601 will show all Imports and Exports of FOO.EXE |
|
602 |
|
603 Version 2.00.527 |
|
604 =========================== |
|
605 (Made by JonathanM, 26/07/2004) |
|
606 |
|
607 1. JonathanM |
|
608 1. Added PlatSecEnforceSysBin setting to ROMBUILD which forces all binary files to |
|
609 be placed under the \sys\bin\ directory. |
|
610 Part of Yankee,GT0217,MS3.1.4 PS6.3.2 Ignore path information for binary files |
|
611 within ROM build and loader. |
|
612 |
|
613 Version 2.00.526 |
|
614 =========================== |
|
615 (Made by JonathanM, 26/05/2004) |
|
616 |
|
617 1. DennisM |
|
618 1. Fixed defect DEF041434 EKA2 ROMBUILD can't build extension ROMs |
|
619 2. ROMBUILD now checks that kernel side code doesn't link to user side |
|
620 code, and vice-versa. |
|
621 |
|
622 Version 2.00.525 |
|
623 ================ |
|
624 Made by Dusko, 18/05/2004 |
|
625 |
|
626 1) Dusko |
|
627 1) Fix for DEF045146 EVALID does not correctly handle ARMV5 lib files or RVCT .MAP files. |
|
628 |
|
629 Version 2.00.524 |
|
630 ================ |
|
631 Made by JonC, 29/04/2004 |
|
632 |
|
633 1) Jon |
|
634 Fixes for: |
|
635 1) DEF044567 gendirective obtains ELF section header data incorrectly |
|
636 2) DEF044048 RVCT version of DEF2DLL camplains about DLLs not having exports |
|
637 |
|
638 Version 2.00.523 |
|
639 =========================== |
|
640 (Made by JonathanM, 19/03/2004) |
|
641 |
|
642 1. JonathanM |
|
643 1. Implemented the requirements: |
|
644 REQ2632 - Configurability of the enforcement of capabilities |
|
645 REQ2633 - Security violation diagnostic |
|
646 REQ3142 - Associate Platform Security information with an executable. |
|
647 See /cedar/generic/base/documentation/Base_How_To_Configure_Platform_Security_Settings.doc |
|
648 |
|
649 Version 2.00.522 |
|
650 =========================== |
|
651 (Made by JonathanM, 26/02/2004) |
|
652 |
|
653 1) JonathanM |
|
654 1) Modifications made for implementation of |
|
655 Change Request JDOD-5VUJ7F - Change in executable format of EKA2 binaries. |
|
656 2) Tools now use the sytax "cap1+cap2+cap3" to specify a named set of capabilities |
|
657 (Rather than specifying a single hexadecimal number.) |
|
658 3) Added three new keywords to ROMBUILD: |
|
659 PlatSecEnforcement |
|
660 PlatSecDiagnostics |
|
661 PlatSecDiasabledCaps cap1+cap2+cap3 |
|
662 these are used for specifying Platform Security settings which are then placed |
|
663 in the ROM Header. |
|
664 |
|
665 Version 1.00.521 |
|
666 ================ |
|
667 Made by DuskoJ, 16/02/2004 |
|
668 |
|
669 1) Dusko |
|
670 1) Fix for DEF042440 - elfdump creates a new file with zero length. |
|
671 |
|
672 |
|
673 Version 2.01.520 |
|
674 ================ |
|
675 Made by AndrewJ, 13/02/2004 |
|
676 |
|
677 1) StephanGu |
|
678 Implemented CLCT-5VEK4P - "Binary search in ROFS |
|
679 together with 'expanding ROFS entries with UIDs'". |
|
680 Changed Rofsbuild to provide a sorted array of offsets |
|
681 in order to allow the file system to perform binary search |
|
682 through the image. Also expended the TRofsEntry structure |
|
683 to include a copy of the file UID data. |
|
684 |
|
685 |
|
686 Version 2.01.519 |
|
687 ================ |
|
688 Made by DuskoJ, 30/01/2004 |
|
689 |
|
690 1) Jon |
|
691 1) Fix for - DEF040324 PETRAN access violation whilst converting THUMB build EXEDLL |
|
692 (Further amendment). |
|
693 |
|
694 Version 2.01.518 |
|
695 ================ |
|
696 Made by DuskoJ, 22/01/2004 |
|
697 |
|
698 1) Kuldip |
|
699 1) Fix for DEF40965 Changes to stop overwriting readonly attribute for directories. |
|
700 |
|
701 |
|
702 Version 2.01.517 |
|
703 ================ |
|
704 Made by DuskoJ, 05/01/2004 |
|
705 |
|
706 1) Kuldip |
|
707 Fix for DEF039055 "Change in behaviour for 0 length files" |
|
708 |
|
709 Version 2.01.516 |
|
710 ================ |
|
711 Made by DuskoJ, 19/12/2003 |
|
712 |
|
713 1) Dusko |
|
714 1) fix for DEF039365 - Petran ignores -fixed keyword |
|
715 |
|
716 |
|
717 Version 2.01.515 |
|
718 ================ |
|
719 Made by Dusko, 17/12/2003 |
|
720 |
|
721 1. Kuldip |
|
722 1) REQ1733, A3.2 Improved Command Line Build Tools |
|
723 ROFSBUILD ROM flexing, Automatic sizing behaviour |
|
724 Automatic XIP-extension OBEYFILE, header generation |
|
725 |
|
726 Version 2.01.514 |
|
727 ================ |
|
728 Made by Dusko, 24/11/2003 |
|
729 |
|
730 1. Dusko |
|
731 1) DEF039411 pediff does not ignore the header CRC |
|
732 File changed pediff.cpp |
|
733 |
|
734 Version 2.01.513 |
|
735 ================ |
|
736 Made by Dusko, 03/11/2003 |
|
737 |
|
738 1. Dusko |
|
739 1. fix for DEF039536 Non existing files referenced in Tools_e32tools.mrp... |
|
740 |
|
741 |
|
742 1) William |
|
743 1) Added PE_DUMP to support the new EVALID. |
|
744 |
|
745 Version 2.01.512 |
|
746 ================ |
|
747 Made by Dusko, 10/10/2003 |
|
748 |
|
749 1. Dusko |
|
750 1. Zephyr,PRO0085,REQ1663, Remove dependencies on MSDEV |
|
751 Changes to BIN2COFF and WVECONV in order to build with CW |
|
752 |
|
753 |
|
754 Version 2.01.511 |
|
755 ================ |
|
756 Made by Dusko, 02/10/2003 |
|
757 |
|
758 1. Dusko |
|
759 1. fix for DEF037065 Problem with error message from uidcrc |
|
760 |
|
761 Version 2.01.510 |
|
762 ================ |
|
763 |
|
764 Made by Dennis, 24/09/2003 |
|
765 |
|
766 1. Dennis |
|
767 1. ROMBUILD adds sorted offsets to directory structures to enable binary |
|
768 searching of the ROM file system. |
|
769 2. Implemented CR ATHE-5PZEAU (Add Version Numbers to Symbian OS Executables). |
|
770 |
|
771 Version 1.00.505 |
|
772 ================ |
|
773 Made by DuskoJ, 22/08/2003 |
|
774 |
|
775 1) Morgan |
|
776 Ported ROFSBUILD extension support from beech |
|
777 1) Added ROFSBUILD extension support. Start a ROFS extension with obey file |
|
778 commands |
|
779 extensionrofs = <filename> |
|
780 rofssize = <size> |
|
781 Added support for ALIASing, HIDEing and RENAMEing. Semantics and syntax |
|
782 for these commands are the same as ROMBUILD. |
|
783 Core image and extension can be joined together with |
|
784 tools\e32tools\rombuild\addextensions.pl |
|
785 Added TRofsExtensionHeader to ROFS.H |
|
786 Padding, Alignment and Repro assumptions: |
|
787 The extension assumes it will be added TRofsHeader::iMaxSize bytes |
|
788 after the start of the core image. It is assumed the max size of the core |
|
789 image will be aligned appropriately for the underlying ROM device. |
|
790 Core image has signature "ROFS" at offset 0, extension has signature |
|
791 "ROFx" at offset 0 into extension (= iMaxSize after start of core image). |
|
792 |
|
793 2) Morgan |
|
794 1) Added rofsbuild\dumpdirs.pl - utility for dumping the ROFS directory |
|
795 structure. |
|
796 2) Ported ROFSBUILD executable compression from beech |
|
797 |
|
798 3) Dusko Changes to a number of e32tools components in order to build cleanly with CodeWarrior |
|
799 |
|
800 |
|
801 Version 1.00.504 |
|
802 ================ |
|
803 Made by DuskoJ, 25/07/2003 |
|
804 |
|
805 1. Jon |
|
806 1. Fixed DEF036679 by adding copyright statements where appropriate. |
|
807 |
|
808 |
|
809 Version 2.00.503 |
|
810 ================ |
|
811 |
|
812 1) Morgan |
|
813 1) Removed ROMBUILD build warning |
|
814 |
|
815 Version 2.00.503 |
|
816 ================ |
|
817 |
|
818 1) Dennis |
|
819 |
|
820 ROMBUILD changes: |
|
821 |
|
822 1) 'kernelstackaddress' keyword removed. This is now always calculated by |
|
823 ROMBUILD. |
|
824 2) Address allocation strategy modified. The initial stack is now placed |
|
825 immediately after the kernel .data/.bss area. The kernel heap follows |
|
826 the initial stack (as before). In the moving model, fixed process data |
|
827 chunks are placed after the kernel heap (on chunk boundaries). |
|
828 3) TRomHeader::iKernStackAddress replaced with TRomHeader::iKernelLimit, |
|
829 which gives the end of the kernel heap rounded up to a chunk boundary |
|
830 except on the moving memory model where it is advanced past the space |
|
831 reserved for fixed process data chunks. |
|
832 |
|
833 |
|
834 Version 2.00.502 |
|
835 ================ |
|
836 |
|
837 1) Dennis |
|
838 1) Pulled out general E32Image file handling code into e32tools/e32image/... |
|
839 directories. This includes compression/decompression and all stuff which |
|
840 doesn't require the native PE or ELF file. |
|
841 2) Merged the two versions of ROMBUILD. ROMBUILD.EXE now accepts E32Image |
|
842 files derived from either PE or ELF. It no longer accepts the native |
|
843 PE/ELF files directly. XIPRMBLD.EXE is no longer built. |
|
844 3) Added a special instruction (TST PC, #0) to the beginning of all EKA2 |
|
845 entry points. This is detected by PETRAN/ELFTRAN and the file marked as |
|
846 having an EKA2 style entry point. The ELF-derived and JFormat flags have |
|
847 been generalised into header format, import format and ABI fields. An |
|
848 entry point type field has been added to distinguish EKA1 and EKA2 entry |
|
849 points. |
|
850 4) Add 'nowrapper' keyword to ROMBUILD. If specified in OBY file it causes |
|
851 the 256 byte wrapper to be omitted. This setting can still be overridden |
|
852 on the command line. |
|
853 |
|
854 |
|
855 |
|
856 ====================== |
|
857 ELFDUMP version 1.0.0 |
|
858 1) Dusko |
|
859 1) Adding elfdump.cpp. Elfdump is required to be a standalone program |
|
860 which can present an ELF object file in a form suitable for use with |
|
861 EVALID. It prints hex dumps of relevant sections, directive section as |
|
862 text and relocation information showing the symbol the name and of the |
|
863 section in which the relocation occurs. |
|
864 |
|
865 Version 1.00.501 |
|
866 ================ |
|
867 EKA2 Tools |
|
868 |
|
869 1) RobertJ |
|
870 1) Support for compressed executables introduced. Source code for the compression |
|
871 & decompression is in petran\szip. Changed PEDUMP to dump compressed executables |
|
872 added -compress & -nocompress options to PETRAN |
|
873 2) Bumped version number of written executables to 1.10 |
|
874 3) Added a new format bit to iFlags JFormat (Jetstream format) |
|
875 |
|
876 Version 1.00.500 |
|
877 ================ |
|
878 EKA2 Tools |
|
879 |
|
880 1) Dennis |
|
881 1) Added support for the x86 development target to PETRAN |
|
882 2) Added various values to the ROM header for EKA2 in ROMBUILD |
|
883 2) William |
|
884 1) Added -capability <mask> option to PETRAN. There isn't yet an iCapability field in the |
|
885 E32ImageHeader, but everything else is ready to go. |
|
886 |
|
887 |
|
888 ================ |
|
889 ROMBUILD version 2.05 |
|
890 |
|
891 1) William |
|
892 1) Fixed defect ROS-52XF6E "ROMBUILD produces incorrect S-Record checksums" by getting the length |
|
893 right (actually by checksumming the bytes we write instead of calculating the values twice). |
|
894 2) Disable the 3-byte address form of S-Record with a #define, since it upsets some external |
|
895 tools and only benefitted serial download to M*Core. |
|
896 3) Fixed defect ROS-52ZED7 "ROMBUILD crashes if section 1 overflows in 2 section ROMs" by |
|
897 checking for overflows in the right place. |
|
898 4) Made verification failure use Print(EError, ...) in all cases, so that it will cause a |
|
899 ROMBUILD failure rather than just a small complaint at the end of the log file. |
|
900 5) Extend checkstubs.pl to handle the R3UNUSED Thumb stubs, and update stubs.lst |
|
901 |
|
902 Todo |
|
903 handle section 1 DLLs linking to section 2 DLLs so that section 2 can be replaced |
|
904 respect the E32Image flags for dll static data and called entrypoints |
|
905 |
|
906 |
|
907 2) Chris |
|
908 1) Updated romimage.rtf to remove screensize keyword |
|
909 |
|
910 3) Nicolas (work done as part of CR JPAR-54XMZD) |
|
911 1) Added new keyword: DEBUGPORT. It takes a numeric argument |
|
912 which is a magic cookie as far as rombuild is concerned and |
|
913 is stored in the ROM header for interpretation by the |
|
914 kernel and bootstrap. The default value is -1. |
|
915 2) Updated romimage.rtf to include DEBUGPORT. |
|
916 |
|
917 |
|
918 ================ |
|
919 ROMBUILD version 2.04 |
|
920 |
|
921 1) Nicolas |
|
922 1) Fixed bug where EPOC crashes during boot if there is a non-empty |
|
923 area after an empty one in the relocation table. |
|
924 2) Modified the way the kernel extensions list is built to |
|
925 ensure the extensions are always in the same order in the |
|
926 list as in the obey file even when some extensions are in |
|
927 areas and other aren't. This is necessary because the |
|
928 kernel extension ordering in the obey file is important |
|
929 (for example an extension registering a power handler |
|
930 *must* be loaded after the extension that loads the power |
|
931 model). |
|
932 3) Fixed bug in AreaSet::AddArea() (overlap was not detected |
|
933 when an existing area is embedded in the new one). |
|
934 4) Overlap unit tests updated. |
|
935 5) Fixed bug in TDllExportInfo ctor: The ptr to the export directory in |
|
936 the ROM buffer was wrong when the file was relocated to a non-default |
|
937 area (iRunAddress / iImageAddr mismatch). |
|
938 |
|
939 |
|
940 ================ |
|
941 ROMBUILD version 2.03 |
|
942 |
|
943 1) William |
|
944 1) Set the default srecordbase to zero, and remove the srecordbase validation. |
|
945 2) Added "data-align" attribute, and used it in the calculation of dataOffset for |
|
946 things sharing the SvData. It's not a great name, but it will do for now... |
|
947 3) Added "KeepIAT" attribute, which builds an old-style Import Address Table instead |
|
948 of pointing the stubs directly at the export data. NB. this won't work for |
|
949 section 1 DLLs, because I haven't reinstated the machinery for putting the IAT into |
|
950 the second section. |
|
951 4) Fix defect CLE-4ZEJBB "rom building: fatal error when file to hide isn't found" by |
|
952 dealing with (aKeyword==EKeywordHide) before testing for !existingFile, and issuing |
|
953 a warning if the existing file wasn't found. |
|
954 5) Export checkstubs.pl to \epoc32\rom\tools |
|
955 |
|
956 --------------------- |
|
957 ROMBUILD version 2.02 |
|
958 |
|
959 1) Nicolas |
|
960 |
|
961 1) ROMBUILD: Introduced new area syntax (incompatible with the existing |
|
962 scheme): |
|
963 |
|
964 a) The "area <name> <start> <size>" statement declares an area |
|
965 (there is no need to declare the default ROM area). |
|
966 |
|
967 b) The "area=<name>" file attribute relocates individual files to |
|
968 the designated area. |
|
969 |
|
970 c) When invoking rombuild with -s, a summary of the free and used |
|
971 space in each area is printed. |
|
972 |
|
973 d) Areas can be used only in the first section of a sectioned ROM |
|
974 and are forbidden in extension ROMs. |
|
975 |
|
976 e) It is forbidden to patch a relocated file. |
|
977 |
|
978 2) ROMBUILD: Introduced classes Area and AreaSet and associated |
|
979 iterators to replace all the existing dynamic arrays and indexes |
|
980 used to store the area-related state. Unit tests for these are |
|
981 built using r_t_areaset.mmp. Refactored existing code (notably |
|
982 E32Rom::LayoutRom()) to use those new classes. |
|
983 |
|
984 3) ROMBUILD: Moved global variables from rombuild.cpp to r_global.cpp |
|
985 to allow build of r_t_areaset.exe. Made static the globals which |
|
986 were used only in rombuild.cpp. |
|
987 |
|
988 4) ROMBUILD: Merged TAddressSet into TAddressRange. Renamed every |
|
989 "i.*Set" variable to either "i.*Range" or "i.*Section" (previously |
|
990 existing "i.*Section" variables have been suffixed with "Number"). |
|
991 |
|
992 5) ROMBUILD: Updated version number to 2.02. |
|
993 |
|
994 6) HOST: Turned the various overloads of Val() into a template |
|
995 function. |
|
996 |
|
997 --------------------- |
|
998 ROMBUILD version 2.01 |
|
999 |
|
1000 1) William |
|
1001 1) Fixed bug in ParseArea() which reused the area address as the area length |
|
1002 2) Allow for executables generated before GCC 530 by changing the assertion about |
|
1003 unexpected data. If it looks as though the rdata is after the IAT, then the whole |
|
1004 of the E32ImageFile text area is included in the ROM. |
|
1005 3) The rounding up for the ROM size to a multiple of a megabyte must not exceed the |
|
1006 originally specified size. |
|
1007 4) Increased the ROMBUILD version to 2.01 |
|
1008 |
|
1009 Version 1.00.174 |
|
1010 ================ |
|
1011 Made by William, 23/03/2001 |
|
1012 |
|
1013 1) William |
|
1014 1) Removed the old .ipr files associated with the predecessor to DISTRIBUTION.TXT |
|
1015 2) Moved ROMBUILD.MMP into the ROMBUILD directory |
|
1016 3) Gave ROMBUILD it's own major and minor version numbers - now 2.0 |
|
1017 4) Moved the collapsing routines into ROMBUILD\R_COLLAPSE.CPP |
|
1018 5) Substantial rework of the way that the E32Image files are put into the ROM: it's now |
|
1019 almost the case that the ROM layout is established before copying any data. The layout |
|
1020 is expressed by setting up TAddressRange and TImageSection values in the TRomBuilderEntry, |
|
1021 and the rest of the relocation and copying to the ROM image follows from those values. |
|
1022 6) Change of approach on relocation: instead of relocating the file contents after copying |
|
1023 into the ROM image, do the relocation beforehand. This allows the relocation to operate on |
|
1024 a simple fixed layout (the one which PETRAN set up), and frees the ROM layout to be |
|
1025 entirely different. |
|
1026 7) Unified all the various ROM flavours: in particular the "areas" support is part of the |
|
1027 normal layout process. The use of TAddressSets and their derived forms makes this |
|
1028 pretty painless. |
|
1029 8) Removed the Import Address Tables, saving ~240K in a Quartz 6.1 ROM. The import stubs |
|
1030 are fixed up to point directly into the export directory for the relevant DLL. In two |
|
1031 section ROMs the export directories are now placed at the start of the upper section |
|
1032 to support patching: this was previously done using the import address tables. |
|
1033 9) Various special case handling for the Primary has been reworked using generic support. |
|
1034 In particular the primary now gets a default code alignment of 4K, which allows the |
|
1035 gap to be occupied by other files if the obey file is suitably arranged. |
|
1036 10) Area relocation is more pervasive than before. The import stubs in relocated executable |
|
1037 no longer refer back to the unrelocated original contents of the area. |
|
1038 11) The sizes of the DLL reference tables are now reported in the log. |
|
1039 12) Fixed a bug which caused ROMBUILD to crash if a file was marked as "patched" in a |
|
1040 two section ROM. |
|
1041 13) Size information in the ROM is more consistent: the size in the ROM filesystem is always |
|
1042 the length of the contiguous section beginning at the given address, and the size summary |
|
1043 in the log file reports the SizeInRom() information for the file, which should always |
|
1044 reflect the real cost in ROM of the file regardless of layout. |
|
1045 |
|
1046 Version 1.00.173 |
|
1047 ================ |
|
1048 Made by Morgan, 08/03/2001 |
|
1049 |
|
1050 1) Morgan |
|
1051 1) Fixed ROMBUILD to accept DLLs with no imports and DLLs with no exports |
|
1052 |
|
1053 |
|
1054 Version 1.00.172 |
|
1055 ================ |
|
1056 Made by William, 07/12/2000 |
|
1057 |
|
1058 1) William |
|
1059 1) Introduced ROMBUILD support for extension ROMs, the deliverable from project PR0027. |
|
1060 Lots of churn, but the key new data structure is the TRomNode which separates the |
|
1061 ROM directory structure information from the individual files (TRomBuilderEntry). The |
|
1062 TRomNodes handle the DLL name matching and are used to drive the multiple-variant clever |
|
1063 directory structure operations. |
|
1064 2) Reworked the ROMBUILD parsing strategy to remove the need for "files=", allowing the |
|
1065 header statements and file statements to be mixed freely in the OBY file. |
|
1066 3) Use the tables which now drive the ROMBUILD parsing to generate the help information. |
|
1067 4) Don't create ROMBUILD.LOG unless processing an OBY file, and put extra useful information |
|
1068 into the log. In particular, print a line include the ROM image name before processing |
|
1069 the files and after writing the ROM image, e.g. |
|
1070 |
|
1071 Creating Rom image testrom.IMG |
|
1072 ... |
|
1073 Writing Rom image with repro header to file testrom.IMG |
|
1074 |
|
1075 Also report the "Writing" line to the screen, as a comfort to the user. |
|
1076 5) Fix ROS-4RJPTK "ROMBUILD checksums are incorrect" by computing the checksum at the |
|
1077 right stage, and cross check to make sure it's still right when displaying the ROM stats. |
|
1078 ROMs built with this version of ROMBUILD are likely to be different in up to 4 bytes |
|
1079 at offsets 0x1A8 to 0x1AB (0xA8 to 0xAB for images without a REPRO header). |
|
1080 6) Make "unicode" the default, and introduce sensible defaults for various other keywords. |
|
1081 7) Remove the ROMBUILD support for bigendian images (it's still present in the files |
|
1082 shared with PETRAN. |
|
1083 8) Added dumpdirs.pl which prints out the ROM root directory structures. |
|
1084 9) Added addextension.pl which concatenates a kernel ROM and an extension ROM, making a |
|
1085 combined image suitable for use with Brutus. |
|
1086 10) Try harder to continue reporting errors rather than stopping immediately. In particular, |
|
1087 report all of the unresolved DLL linkages rather than just the first one. |
|
1088 11) Introduce new keywords "hide", "alias" and "rename" to manipulate the directory structure. |
|
1089 12) Added romimage.rtf documentation (from the BPK, but somewhat edited) and export it to |
|
1090 \epoc32\engdoc\e32tools |
|
1091 |
|
1092 |
|
1093 Version 1.00.171 |
|
1094 ================ |
|
1095 Made by Nicolas, 19/10/2000 |
|
1096 |
|
1097 1) William |
|
1098 1) Rework internals of ROMBUILD to remove arrays indexed by file number. |
|
1099 TRomBuilderEntry is now derived from E32ImageFile, and the various arrays |
|
1100 have become member data in the associated TRomBuilderEntry - OO, dontcha just love it! |
|
1101 2) Added -coff-header option, which could remove the need for bin2coff |
|
1102 3) Use the .idata information to get the DLL ordinals, not the IAT. |
|
1103 This is preparation for the IAT removal idea, which involves turning the IAT into |
|
1104 a table of pointers back to the associated stubs. |
|
1105 4) Added a range check to TRomBuilderEntry::AddressOfOrdinal |
|
1106 5) Added documentation about various forms of import stub, and checkstubs.pl which |
|
1107 scans all of the stubs in a ROM to check that they lead to a function of the |
|
1108 correct name. |
|
1109 6) Introduced TAddressSet for recording the various addresses associated with |
|
1110 code in a ROM (address of ROMBUILD.EXE working copy, address in ROM, execution address). |
|
1111 Currently used for handling ImportAddressTable and DllRefTable and seems to work in |
|
1112 a two-section Brutus ROM. |
|
1113 7) Partial fix for EDNRFID-4J6DV3 "Corrupt reloc table generated" |
|
1114 Allow for the possibility that there is only .bss with no .data when applying the |
|
1115 heuristic for relocs that don't point into any known section. |
|
1116 Fix printf format specifier typo by changing %0x8 -> %08x |
|
1117 8) Added a verbose option to W32REPRO |
|
1118 |
|
1119 |
|
1120 Version 1.00.170 |
|
1121 ================ |
|
1122 Made by Dennis, 13/09/2000 |
|
1123 |
|
1124 1) William |
|
1125 1) Dust off the S-Record support in ROMBUILD |
|
1126 Use the full 78-bytes available per line, and add support for the |
|
1127 3-byte address form, since this is beneficial to M*Core Cogent. |
|
1128 2) Use "srecordfilename=*" to mean "append .srec to romname and use that" |
|
1129 Same approach for "romnameodd=*" and "romnameeven=*" filenames. |
|
1130 3) Set the RomHeader iSize to be iSizeUsed rounded up to a megabyte. This is |
|
1131 particularly beneficial on platforms which RAM-load a ROM image (Brutus, Cogent) |
|
1132 because it allows the bootstrap to use only the amount of RAM really needed |
|
1133 for the ROM image. |
|
1134 4) Add "hide" keyword to ROMBUILD, as requested by a licensee. This stops the |
|
1135 specified file from being included in the ROM directory, but doesn't stop other |
|
1136 ROM files from linking to the hidden file. A consequence of hiding a DLL is that |
|
1137 it can't be dynamically loaded, which means that you can't hide kernel extensions. |
|
1138 |
|
1139 |
|
1140 Version 1.00.156 |
|
1141 ================ |
|
1142 Made by Morgan, 5/7/2000 |
|
1143 |
|
1144 1) Anon |
|
1145 1) Changes to ETOUCH |
|
1146 ==== //EPOC/development/base/6.0/e32tools/ETOUCH/ETOUCH.CPP#1 |
|
1147 @@ -3,6 +3,10 @@ |
|
1148 // Copyright (c) 1996-1999 Symbian Ltd. All rights reserved. |
|
1149 // |
|
1150 |
|
1151 +#if defined(__VC32__) |
|
1152 +#pragma warning(disable : 4710) // function '...' not expanded |
|
1153 +#endif |
|
1154 + |
|
1155 |
|
1156 |
|
1157 Version 1.00.155 |
|
1158 ================ |
|
1159 Made by Dennis 22-06-2000. |
|
1160 |
|
1161 1) Dennis |
|
1162 1) Modified W32REPRO so that the -HEX option only makes it receive in hex. |
|
1163 It always transmits in base 10. This is so it works with REPROC. |
|
1164 2) Fixed bug in ROMBUILD - it didn't like files with no imports. |
|
1165 |
|
1166 Version 1.00.154 |
|
1167 ================ |
|
1168 (Made by Alastair, 10.3.2000) |
|
1169 |
|
1170 1) William |
|
1171 1) Added M*Core support |
|
1172 Basically just another PE magic number and another TCpu code. |
|
1173 |
|
1174 Version 1.00.153 |
|
1175 ================ |
|
1176 (Made by Pete, 24/02/2000) |
|
1177 |
|
1178 1) William |
|
1179 1) Updated PETRAN to report exports with value 0 as |
|
1180 |
|
1181 WARNING: No export specified for ordinal 62 |
|
1182 |
|
1183 and promoted the non-zero exports from an unknown section to be errors. |
|
1184 2) Added more information to the warning about failure to identify a section for relocation, |
|
1185 just in case it ever happens... |
|
1186 |
|
1187 2) Simon |
|
1188 1) Added bin2coff, a utility to add a coff header to a binary |
|
1189 image. Mainly for use with the cogent smartfirmware |
|
1190 |
|
1191 Version 1.00.152 |
|
1192 ================ |
|
1193 (Made by Dennis, 19/01/2000) |
|
1194 |
|
1195 1) William |
|
1196 1) Updated W32REPRO usage statement to remove misleading limit on the baud rate |
|
1197 The baud rate is actually passed directly to the Win32 comms device, so it should |
|
1198 be possible to specify any baud rate supported by the device. |
|
1199 2) Updated W32REPRO to add a -RAW option for use with Brutus REPROB (and others). |
|
1200 This tells W32REPRO not to expect a 256-byte header on the image, but it will |
|
1201 still pretend that there is one, as expected by the existing REPRO code. |
|
1202 3) Updated W32REPRO to a -BOOT <boostrap_image> and -HEX options, to support |
|
1203 the Cirrus Logic board. The bootstrap is sent at 9600 baud before starting the |
|
1204 normal REPRO protocol, and -HEX changes the protocol to use base 16 rather than |
|
1205 base 10 for numbers transmitted between W32REPRO and the other end. |
|
1206 4) Added W32REPRO protocol support for a new command 'D' which tells W32REPRO to |
|
1207 disconnect after a successful transfer: REPROB could usefully be extended to |
|
1208 send this command... |
|
1209 |
|
1210 2) Morgan |
|
1211 1) Fixed ROMBUILD so it gives appropriate errors if passed an empty file |
|
1212 2) ROMBUILD.LOG reports inclusion of 256 ROM repro header (Defect EDN147097) |
|
1213 3) Fixed EDN580686 Rombuild is not very tolerant |
|
1214 4) Fixed EDN210727 PEDIFF returns stupid result codes |
|
1215 PEDIFF now returns 0 for identical files, and 2 for different files |
|
1216 5) Improved PETRAN dump output (Fixed EDNGLAY-463LNN) |
|
1217 |
|
1218 |
|
1219 Version 1.00.151 |
|
1220 ================ |
|
1221 (Made by Morgan, 3/12/99) |
|
1222 |
|
1223 1) Alastair |
|
1224 1) Created a new utility, ERUNTEST.EXE, which will take a batch file |
|
1225 listing tests as generated by ABLD and run each test in turn, checking |
|
1226 whether each test has succeeded or not by checking the return value from |
|
1227 the process and also checking output to the EPOCWIND.OUT file in the |
|
1228 temporary directory. ERUNTEST.EXE logs output to standard output. |
|
1229 Obviously this utility will only run WINS/WINC tests. It must be invoked |
|
1230 from the directory in which the test executables reside. |
|
1231 |
|
1232 2) Morgan |
|
1233 1) Fixed some warnings |
|
1234 |
|
1235 |
|
1236 Version 1.00.150 |
|
1237 ================ |
|
1238 (Made by Morgan, 27/9/99) |
|
1239 |
|
1240 1) Alastair |
|
1241 1) Created new directory COLTAB and added COLTAB.CPP, BASEKEYS.TXT, |
|
1242 COMPKEYS.TXT and README.TXT. COLTAB comes from Graham Asher, and is a |
|
1243 tool for writing the collation tables in COLLATE.CPP. README.TXT |
|
1244 contains details of the URL from which data files BASEKEYS.TXT and |
|
1245 COMPKEYS.TXT were sourced. Type COLTAB without any parameters for help, |
|
1246 and/or read the header in COLTAB.CPP. Console APP COLTAB.EXE will be |
|
1247 built into \EPOC32\Tools\. |
|
1248 |
|
1249 2) Malcolm |
|
1250 1) Added code to allow the kernel debug mask to be set via the ROM.OBY |
|
1251 file via the new KERNELTRACE keyword. |
|
1252 |
|
1253 3) Morgan |
|
1254 1) ROMBUILD internal directory structure is now sorted wrt a unique |
|
1255 identifier for each Dir. This (hopefully) fixes the reproducability |
|
1256 problems ("drifting-directories") experienced when building identical |
|
1257 Roms in different NT environments. |
|
1258 |
|
1259 |
|
1260 Version 1.00.125 |
|
1261 ================ |
|
1262 (Made by Morgan, 26/8/99) |
|
1263 |
|
1264 1) Dennis |
|
1265 1) Added "defaultstackreserve" keyword. The argument to this keyword is |
|
1266 added to the combined size of .data and .bss to determine the address |
|
1267 space to reserve for the $DAT chunk of a 'fixed' process. The value |
|
1268 defaults to zero for compatibility with previous versions. |
|
1269 Added "stackreserve" keyword to override the default setting on a |
|
1270 per-file basis. |
|
1271 |
|
1272 |
|
1273 Version 1.00.124 |
|
1274 ================ |
|
1275 (Made by Alastair, 2nd August 1999) |
|
1276 |
|
1277 1) Jonathan |
|
1278 1) Removed MAKSYM - moved to e32toolp. |
|
1279 |
|
1280 |
|
1281 Version 1.00.123 |
|
1282 ================ |
|
1283 (Made by Kal Patel, 22 July 1999) |
|
1284 |
|
1285 1) Morgan |
|
1286 1) New ROMMASK. Added a -verbose flag for logging, and added a -no-header |
|
1287 for Roms with no Epoc header. |
|
1288 |
|
1289 2) Malcolm |
|
1290 |
|
1291 1) Added Area support to ROMBUILD for Roxette. This allows the |
|
1292 code to be fixed up to execute outside the rom where it's stored. |
|
1293 Relocation info is written into the rom and the bootstrap uses |
|
1294 this to copy the info out to its final location. Any file can |
|
1295 be in any arbitrary area. This is only enabled in |
|
1296 singleprocess mode, since the same effect can be achieved with |
|
1297 an MMU on a real system. |
|
1298 |
|
1299 This is enabled by placing a "areas=<num>" line in the first |
|
1300 section of the .oby file. Then, in the files= section, the |
|
1301 next tranche of files can be sent to another area with a |
|
1302 directive like "area 0x81000000 0x100000" where the first value |
|
1303 is the address and the next the length. Up to <num> area lines |
|
1304 can be in the file section. |
|
1305 |
|
1306 A relocation table is placed in ROM for the bootstrap. Its |
|
1307 address is stored in the romheader info that rombuild uses. |
|
1308 The table is a list of <length> <src> <dest> triples, ending |
|
1309 with a <0,0,0> tuple. |
|
1310 |
|
1311 Note that any bootstrap that uses this should not process a |
|
1312 relocation table address of 0, as this maintains backwards |
|
1313 compatability with old rombuilds which will put zero in the |
|
1314 address location. |
|
1315 |
|
1316 3) Alastair |
|
1317 1) Removed all .DSP and .MAK files, now that makefiles are generated. |
|
1318 2) Fixed minor typo in W32Repro. |
|
1319 |
|
1320 |
|
1321 Version 1.00.122 |
|
1322 ================ |
|
1323 (Made by Alastair, 12.7.99) |
|
1324 |
|
1325 1) Alastair |
|
1326 1) Added fetcher definition file, E32TOOLS.FTC, to the group directory. |
|
1327 2) Added William's new version of E32UID.CPP which no longer requires |
|
1328 WINDOWS.H. |
|
1329 3) Added William's new UIDCRC.EXE, which provides a simple way to calculate |
|
1330 the checksum: |
|
1331 |
|
1332 uidcrc <uid1> <uid2> <uid3> [<outputfile>] |
|
1333 |
|
1334 This reads the three uids (using strtoul, so decimal and 0x9999 hex are |
|
1335 found), computes the checksum, and either prints the 4 hex values to standard |
|
1336 output or creates <outputfile> as the 32 byte sequence which is the specified |
|
1337 UIDs and checksum in little-endian byte order. |
|
1338 |
|
1339 |
|
1340 Version 1.00.121 |
|
1341 ================ |
|
1342 (Made by Alastair, 16.6.99) |
|
1343 |
|
1344 1) Alastair |
|
1345 1) Fixed EDN459831 "Wveconv help is out of date" . |
|
1346 2) Removed MAKTRAN, DEFMAKE and DEFTOOL. |
|
1347 3) Converted all projects to MAKMAKE building for the new TOOLS platform. |
|
1348 4) Changed zip of releasables onto the network - this is now called |
|
1349 TOOLS.<ver> rather than E32TOOLS.<ver>. It also contains full paths to |
|
1350 the releasables so make sure you're in the root of your EPOC drive |
|
1351 before calling, say, "getrel e32tools tools 121". |
|
1352 5) Updated MNT.CMD in various ways, including adding an MNT CHECKREL. |
|
1353 6) Added dopcvs.pl and lock.pl to GROUP directory for use with MNT.BAT. |
|
1354 |
|
1355 |
|
1356 Version 1.00.120 |
|
1357 ================ |
|
1358 (Made by Morgan, 30th March 1999) |
|
1359 |
|
1360 1) Morgan |
|
1361 1) Fixed EDNGBON-46BQK4, "ROMBUILD "patched" keyword is broken". |
|
1362 (merged in from ER5 release E32TOOLS 110) |
|
1363 2) Left a gap in the build numbers for ER5 maintenance releases |
|
1364 3) Introduced a new version of ROMMASK.EXE. The syntax has changed |
|
1365 from previous versions. Type "ROMMASK" to see the new syntax. |
|
1366 For example, to produce a 10Meg image split into 8 and 2, |
|
1367 type the following: |
|
1368 rommask -rom p2rom.img -output rom.img -log rom.log -size 10 -section 8 -section 2 |
|
1369 (You can leave off the final -section 2, and ROMMASK will do the |
|
1370 calculations for you.) |
|
1371 The output of Rommask will be "rom.log", and the 2 mask files |
|
1372 "rom.img" and "rom.im2" |
|
1373 ROMMASK still expects the image to contain a Psion 256byte header. |
|
1374 |
|
1375 |
|
1376 Version 1.00.100 |
|
1377 ================ |
|
1378 (Made by Morgan, 16th February 1999 |
|
1379 |
|
1380 1) Morgan |
|
1381 1) Added the keyword 'srecordbase' to change the base address of |
|
1382 the motorola srecord output file. (Defaults to address 0x0000) |
|
1383 2) Fixed srecord output for big and little endians. |
|
1384 3) Removed unused dependencies from MNT GETCOMPS |
|
1385 |
|
1386 |
|
1387 Version 1.00.099 |
|
1388 ================ |
|
1389 (Made by Jonathan, 8th February 1999) |
|
1390 |
|
1391 1) Alastair |
|
1392 1) Edited PETRAN.MAK so that sources depend upon |
|
1393 \Epoc32\Include\E32uid.h rather than ..\E32uid\E32uid.h. This |
|
1394 change should complete the fixing of bug EDN057832 "E32Tools won't |
|
1395 rebuild on my PC". |
|
1396 |
|
1397 2) Jonathan |
|
1398 1) Fixed ROMBUILD defect EDN853437 "Dual Boot ROM does not function on |
|
1399 Series 5" by applying Dennis' fix to fix up data as well as |
|
1400 executables in dual-boot images. |
|
1401 |
|
1402 |
|
1403 Version 1.00.098 |
|
1404 ================ |
|
1405 (Made by Jonathan, 1st February 1999) |
|
1406 |
|
1407 1) Petteri |
|
1408 1) Applied boilerplate copyright to sources. |
|
1409 |
|
1410 2) Jonathan |
|
1411 1) Fixed copyright message in executables. |
|
1412 2) Removed odbc32.lib and odbccp32.lib from all .DSP and .MAK files |
|
1413 since these libraries are neither required nor always installed. |
|
1414 |
|
1415 |
|
1416 Version 1.00.97 |
|
1417 =============== |
|
1418 (Made by Alastair, 28th January 1999) |
|
1419 |
|
1420 1) Alastair |
|
1421 GENERAL |
|
1422 1) Created and added VC5 .DSP files for all projects for debugging. |
|
1423 2) Removed hard-coded drive letters from .DSP files. |
|
1424 3) Re-generated makefiles from .DSP files. |
|
1425 4) Reinstated E32UID directory containing files E32UID.CPP and STDAFX.H |
|
1426 required for building ROMBUILD, PEDIFF and PETRAN. |
|
1427 5) Replaced hard-coded instances of 'R:' in MNT.CMD with '%s%'. |
|
1428 MAKSYM |
|
1429 1) Added proper handling of two functions appearing at the same address in |
|
1430 a ROM. |
|
1431 2) Removed an unnecessary destructor to prevent allocated memory being |
|
1432 deleted twice. |
|
1433 TMAKTRAN |
|
1434 1) Removed MAKTRAN tests. |
|
1435 PEIGER, PREPRO |
|
1436 1) Removed these executables. Previously MNT.CMD attempted to unzip these |
|
1437 from S:\ptool\ and then zip them up again in the e32tools release zip |
|
1438 file. Plans are afoot to provide these tools elsewhere, since we no |
|
1439 longer have access to S:. |
|
1440 |
|
1441 |
|
1442 Version 1.00.096 |
|
1443 ================ |
|
1444 (Made by Morgan, 21st January 1999) |
|
1445 |
|
1446 1) Morgan |
|
1447 GENERAL |
|
1448 1) Removed E32UID |
|
1449 2) Converted all makefiles to VC5 |
|
1450 3) Built with VC5 |
|
1451 ROMBUILD |
|
1452 4) Rectified the drifting directory problem. ROM images can now |
|
1453 be reproduced and validated reliably. |
|
1454 READTYPE |
|
1455 5) Removed definitions for "true" and "false" so readtype will |
|
1456 compile with VC5. |
|
1457 |
|
1458 |
|
1459 Version 0.01.095 |
|
1460 ================ |
|
1461 (Made by Alastair, 18th August 1998) |
|
1462 |
|
1463 Morgan |
|
1464 ROMBUILD |
|
1465 1) Big-endian bug fix |
|
1466 |
|
1467 Alastair |
|
1468 DEFMAKE |
|
1469 1) Fixed Epoc S/W Problem SW1-141 - 'DEFMAKE adds an "E" to the end of |
|
1470 the generated DEF file' |
|
1471 ROMBUILD |
|
1472 1) Fixed Bluebell defect SW1-734 - "What do the tools have against August?". |
|
1473 A rom time of 08/08/2008 08:08:08 is now acceptable. |
|
1474 |
|
1475 |
|
1476 Version 0.01.094 |
|
1477 ================ |
|
1478 (Made by Jonathan, 10th June 1998) |
|
1479 |
|
1480 1) Morgan |
|
1481 ROMBUILD |
|
1482 1) Added extra info to log output. |
|
1483 |
|
1484 2) Graham Asher |
|
1485 READTYPE |
|
1486 1) New uniflds.txt and unidata2.txt from release 2.1 of the charater |
|
1487 database from Unicode Inc. Many additions and corrections have been |
|
1488 made. One of them fixes defect SW1-42 (User::UpperCase is wrong for |
|
1489 Greek final sigma (03C2) in the Unicode build) in the EPOC32 |
|
1490 Software Problems database. |
|
1491 2) Changes to readtype.cpp to accommodate the new character categories |
|
1492 in unidata2.txt. |
|
1493 |
|
1494 Version 0.01.093 |
|
1495 ================ |
|
1496 (Made by Morgan, 15th May 1998) |
|
1497 |
|
1498 1) Dennis |
|
1499 ROMBUILD |
|
1500 1) Added support to ROMBUILD for multiple-boot ROMs: |
|
1501 a) Added keywords 'singlekernel' and 'multikernel' to declare whether a |
|
1502 single kernel ROM or multiple-kernel ROM is required (defaults to single). |
|
1503 b) Added keyword 'variant' to declare which files define hardware variants; |
|
1504 this keyword should be applied to the variant DLL (ECUST.DLL) of each |
|
1505 hardware variant to be supported. |
|
1506 c) Added keywords 'extension' and 'device'. These define kernel-mode DLLs |
|
1507 which may have global data, the address of which is generated by ROMBUILD. |
|
1508 'device' DLLs are simply LDDs or PDDs with global data. |
|
1509 'extension' DLLs are not yet supported by E32. |
|
1510 d) Files declared with one of the keywords |
|
1511 {primary, file, data, dll, variant, extension, device} |
|
1512 may have an additional hardware variant discriminator specified by means |
|
1513 of the syntax |
|
1514 file[0x05040001]=filename |
|
1515 The hardware variant discriminator (HWVD) is an 8-digit hex number whose |
|
1516 purpose is to specify which hardware variants the file is relevant to. |
|
1517 The top 16 bits indicate which conceptual layer the file belongs to: |
|
1518 0100=independent - file is required by all hardware variants |
|
1519 xx03=CPU-specific - file is required by all variants with same CPU |
|
1520 yyxx=ASIC/variant specific - file is required by all variants with |
|
1521 CPU xx and ASIC yy. |
|
1522 |
|
1523 The bottom 16 bits are only relevant in the last of these three cases. |
|
1524 They form a bit mask indicating which specific variants the file is |
|
1525 required for. A file declared with the variant keyword must be totally |
|
1526 variant-specific, i.e. must have only one bit set in the bit mask. |
|
1527 If the HWVD is not specified, a value of 01000000 is assumed, which means |
|
1528 that the file appears in all hardware variants. |
|
1529 |
|
1530 Examples (from forthcoming Bluebell/Protea upgrade ROM): |
|
1531 |
|
1532 primary[0504ffff] - kernel for EIGER |
|
1533 primary[0706ffff] - kernel for WINDERMERE (different CPU core and ASIC) |
|
1534 variant[05040001] - variant DLL for PROTEA |
|
1535 variant[07060001] - variant DLL for BLUEBELL v.1 |
|
1536 variant[07060002] - variant DLL for BLUEBELL v.2 (for illustration) |
|
1537 |
|
1538 Static linkage between files is now restricted by the HWVDs of those |
|
1539 files. It is possible for file A to link statically to file B iff |
|
1540 {variants V | V requires A} is a subset of {variants V | V requires B}. |
|
1541 For the example above, variant[0x05040001] can link to primary[0x0504ffff] |
|
1542 but not the other way round. |
|
1543 |
|
1544 It is possible to have two or more files of the same name in the same |
|
1545 directory provided that they have HWVDs which are mutually exclusive, so |
|
1546 that the two files can never appear on the same machine. The HWVD is used |
|
1547 to determine which of the files to use to resolve any static linkage. |
|
1548 |
|
1549 e) The ROM file system now has multiple root directories and directory trees, |
|
1550 one for each hardware variant supported by the ROM. This automatically |
|
1551 ensures that F32 only sees the files which are relevant to the hardware |
|
1552 on which it is running. |
|
1553 |
|
1554 f) DLLs declared with one of the keywords {variant, device, extension} can |
|
1555 have global data (.data and .bss) which will be allocated in the kernel |
|
1556 static data chunk after the kernel data itself. |
|
1557 |
|
1558 2) The 'fixed' flag is now propagated through from PETRAN. |
|
1559 |
|
1560 3) The 'kernstackaddress' keyword is now optional - if it is not present in |
|
1561 the obey file, ROMBUILD uses a default value of |
|
1562 kerneldataaddress + Round(kernel-mode dataBss size) + |
|
1563 Sum over all fixed .EXEs(Round(DataBss size of .EXE file)) |
|
1564 where Round(x) rounds up to the PDE size (1Mb on ARM). |
|
1565 |
|
1566 |
|
1567 Version 0.01.092 |
|
1568 ================ |
|
1569 (Made by Morgan, 25th February 1998) |
|
1570 |
|
1571 ROMBUILD |
|
1572 1) Fixed the 'code-align' file attribute |
|
1573 2) Forced the image file size to a multiple of 4k for the good of Rome. |
|
1574 |
|
1575 |
|
1576 Version 0.01.091 |
|
1577 ================ |
|
1578 (Made by Alastair, 18th February 1998) |
|
1579 |
|
1580 Removed MAKMAKE and BLDMAKE - these tools are now part of |
|
1581 new project E32TOOLP. |
|
1582 |
|
1583 |
|
1584 Version 0.01.090 |
|
1585 ================ |
|
1586 (Made by Morgan, 13th February 1998) |
|
1587 |
|
1588 ROMBUILD |
|
1589 1) Added support for 'fix'ing LDDs with global static data in Rom. |
|
1590 2) The 'file=' specifier now honours the KNoCallEntryPoints flag in |
|
1591 the image header (as set by PETRAN). This means all 'dll=' |
|
1592 specifiers should be changed to 'file=' and MAKMAKE used to |
|
1593 control the entrypoint behaviour with the CALLDLLENTRYPOINTS |
|
1594 keyword. |
|
1595 3) Added a '-no-header' switch to suppress the Rom loader header. |
|
1596 |
|
1597 |
|
1598 Version 0.01.089 |
|
1599 ================ |
|
1600 (Made by Alastair, 9th February 1998) |
|
1601 |
|
1602 DEFMAKE |
|
1603 1) Changed defmake.exe so that it processes freeze files without |
|
1604 carraige returns at the end of the last line correctly. |
|
1605 Fixes SW1-803. |
|
1606 2) Put in warning for unfrozen exports. |
|
1607 |
|
1608 MAKMAKE |
|
1609 1) Changed the warning generated if parameters appear with the |
|
1610 NOSTRICTDEF keyword so that it doesn't just appear when MAKMAKE |
|
1611 is invoked with the -V flag. The NOSTRICTDEF keyword, |
|
1612 if required, should be used in addition to the DEFFILE keyword, |
|
1613 not instead of it. |
|
1614 2) Intermediate deffiles created by command-line makefiles no |
|
1615 longer have the basename extensions, eg D for narrow debug, |
|
1616 if the NOSTRICTDEF keyword is specified. |
|
1617 2) Added warning for any SUBPROJECT keyword appearing before a |
|
1618 project has been specified with the PROJECT keyword. This |
|
1619 is now necessary because MAKMAKE now stores SUBPROJECT directories |
|
1620 as absolute paths rather than paths relative to the PROJECT directory. |
|
1621 If a SUBPROJECT statement specifies a directory beginning with a |
|
1622 backslash, it will be treated as an absolute directory; otherwise |
|
1623 it will be treated as a directory relative to the PROJECT directory, |
|
1624 as before. |
|
1625 3) Added warnings for the non-existence of SYSTEMINCLUDE, USERINCLUDE, |
|
1626 \PROJECT, SUBPROJECT and \PROJECT\SUBPROJECT directories. |
|
1627 4) Put in START WINS .. END block option, NOBROWSEINFO, which can |
|
1628 be used to stop generation of .SBR and .BSC files for command-line |
|
1629 WINS and WINC builds. |
|
1630 5) Changed MAKMAKE.BAT so that the help for the batch command "CALL" |
|
1631 is no longer produced if MAKMAKE /? is typed. |
|
1632 6) Moved all makmake releasables out of \epoc32\tools\makmake into |
|
1633 \epoc32\tools. |
|
1634 7) Changed MAKMAKE.BAT over to using the -S PERL switch so that the |
|
1635 system path is searched for MAKMAKE.PL, then MAKMAKE.PL searches |
|
1636 for the modules it depends upon in whichever \epoc32\tools is |
|
1637 specified in the system path. This means that makmake can be |
|
1638 installed on one drive and called to operate on .MMP files from |
|
1639 another. |
|
1640 8) The second UID for targettypes APP, LDD and PDD will now be added |
|
1641 if not present. |
|
1642 9) Restructured MAKMAKE and moved some functionality into new modules |
|
1643 to facilitate code reuse. MAKMAKE and BLDMAKE now depend upon the |
|
1644 following shared modules |
|
1645 PARSECOM.PM, E32ENV.PM, E32TVER.PM, MODLOAD.PM, PATHUTL.PM, PREPFILE.PM. |
|
1646 MMP.PM and GENUTL.PM are currently only used by MAKMAKE but may be |
|
1647 useful for other purposes in the future. |
|
1648 10) Renamed MAKPREP.PM MAKDEPS.PM. |
|
1649 |
|
1650 |
|
1651 BLDMAKE |
|
1652 1) Added warning that BLDMAKE ALL won't create batchfiles for preparing |
|
1653 IDE makefiles. |
|
1654 |
|
1655 |
|
1656 Version 0.01.088 |
|
1657 ================ |
|
1658 (Made by Morgan, 29th January 1998) |
|
1659 |
|
1660 MAKMAKE |
|
1661 1) Inserted '-bigendian' on the PETRAN command line for BE builds |
|
1662 |
|
1663 PETRAN and ROMBUILD |
|
1664 1) Added -bigendian switches to both tools |
|
1665 |
|
1666 From Simon Lewis |
|
1667 1) Added a new file attribute 'code-align' to ROMBUILD |
|
1668 2) Added the switches '-align-const-section' and |
|
1669 'const-section-address-mask' to PETRAN |
|
1670 |
|
1671 |
|
1672 Version 0.01.087 |
|
1673 ================ |
|
1674 (Made by Alastair, 23th January 1998) |
|
1675 |
|
1676 MAKMAKE |
|
1677 1) Changed paths within created makefiles so that they are relative |
|
1678 to the directory where MAKMAKE was invoked rather than relative |
|
1679 to the makefile. If you are using the /D makmake command-line |
|
1680 flag and invoking makmake from directory \[project]\group there |
|
1681 is therefore no longer a need to change directory to |
|
1682 \Epoc32\Make\[platform] before calling NMAKE. |
|
1683 |
|
1684 2) Deffiles created by the build process in the build directories |
|
1685 now have the build-variant dependent U, D, and UD suffixes, and |
|
1686 are removed by a makmake -clean. |
|
1687 |
|
1688 3) Changed handling of EXEDLL targettypes so that they can export |
|
1689 functions under MARM. MAKMAKE will expect EXEDLL targettypes to |
|
1690 be function exporters for MARM if a deffile is specified in the |
|
1691 MMP file, otherwise it will make no use of the intermediate deffile |
|
1692 created during the build process. This means that, until a fix for |
|
1693 dlltool becomes available from Cygnus, the first time functions are |
|
1694 frozen for EXEDLL targettypes for MARM it is necessary to build once, |
|
1695 put a deffile statement for MARM in the MMP file, put the intermediate |
|
1696 deffile where the MMP deffile statement expects the freeze file to be, |
|
1697 and build once again so that the target is frozen by ordinal. |
|
1698 |
|
1699 4) Changed MAKMAKE warnings so they go to STDERR rather than STDOUT. |
|
1700 |
|
1701 5) Added LONGBLDPATH keyword to MAKMAKE which inserts an extra directory |
|
1702 into the build path for a project. The extra directory may be |
|
1703 specified as a parameter to the new keyword but will default |
|
1704 to the basename of the MMP file if the keyword is specified |
|
1705 without a parameter. |
|
1706 |
|
1707 6) Added new TARGETTYPE, LIB, for creating static libraries. This |
|
1708 is not yet implemented for MSVC5.0. The object file compiled |
|
1709 from the first source file specified in the mmpfile is copied |
|
1710 into the target directory and given the same basename as the |
|
1711 target. The behaviour for this keyword is not yet finalised. |
|
1712 |
|
1713 7) Added new TARGETTYPE, IMPLIB, for creating import libraries |
|
1714 for DLLs with mutual imports. Specify a new MMP file for |
|
1715 one of the DLLs, give the name of the DLL as the argument |
|
1716 for the TARGET keyword (so that the .LIB produced contains |
|
1717 the right DLL name) and set the TARGETTYPE as IMPLIB. |
|
1718 This is not yet implemented for IDE makefiles and the behaviour |
|
1719 for this keyword is not yet finalised. |
|
1720 |
|
1721 8) Added handling of Win32 Resource files to command-line WINS |
|
1722 and VC4 and VC5 makefiles because the kernel uses one. |
|
1723 |
|
1724 9) Added new MARM MMP file keywords to cater for unusual scenarios |
|
1725 START MARM |
|
1726 ALLOWDLLDATA // for dlls requiring static data |
|
1727 DATALINKADDRESS [address] // for relocation address for dll data |
|
1728 DLLNAME [dll basename for linking] // for dlls which are built |
|
1729 // as one thing but linked in the ROM as another |
|
1730 STACKSIZE // for stack size other than the default |
|
1731 END |
|
1732 |
|
1733 10) Added new module SARMBE.PM for creating big-endian single-process |
|
1734 arm makefiles |
|
1735 |
|
1736 11) Implemented more stringent checking of the format of UIDs in mmp files |
|
1737 and made sure dlls with null uids link as mydll.dll rather than |
|
1738 mydll[00000000].dll for consistency with rombuild. |
|
1739 |
|
1740 12) Made all relative paths in VC4 and VC5 makefiles absolute. |
|
1741 |
|
1742 BLDMAKE |
|
1743 1) Added new perl tool, bldmake, which creates batch files to |
|
1744 control the building of E32 and F32. Type bldmake without |
|
1745 any parameters for options. |
|
1746 |
|
1747 |
|
1748 Version 0.01.086 |
|
1749 ================ |
|
1750 (Made by Alastair, 5th January 1998) |
|
1751 |
|
1752 DEFMAKE |
|
1753 1) Added .E32_UID and .rsrc to the list of recognised sections so that, |
|
1754 eg, "WARNING: Section '.E32_UID' removed" no longer appears during |
|
1755 WINS builds. |
|
1756 |
|
1757 MAKMAKE |
|
1758 1) Changed cl_arm.pm and cl_win.pm so that makmake -clean will remove |
|
1759 resource headers from \Epoc32\Include if a resource file is specified. |
|
1760 |
|
1761 Version 0.01.085 |
|
1762 ================ |
|
1763 (Made by Alastair, 9th December 1997) |
|
1764 |
|
1765 MAKMAKE |
|
1766 1) Removed automatic addition of kernel32.lib and libc.lib to list |
|
1767 of Win32 libraries for WINC EXE targettypes as this addition is |
|
1768 apparently unnecessary. |
|
1769 |
|
1770 |
|
1771 Version 0.01.084 |
|
1772 ================ |
|
1773 (Made by Alastair, 9th December 1997) |
|
1774 |
|
1775 MAKMAKE |
|
1776 1) Changed handling of targettype EXE for WINC, VC4WINC and VC5WINC |
|
1777 platforms so that the LINK.EXE flag /subsystem:console is used |
|
1778 rather that /subsystem:windows, and kernel32.lib and libc.lib |
|
1779 are automatically added to the list of Win32 libraries to be linked |
|
1780 to. |
|
1781 |
|
1782 2) Targettypes LDD and PDD makefiles for MSVC IDEs now require the |
|
1783 presence of \epoc32\include\lddwins.def and \epoc32\include\pddwins.def |
|
1784 respectively. |
|
1785 |
|
1786 |
|
1787 Version 0.01.083 |
|
1788 ================ |
|
1789 (Made by Alastair, 20th November 1997) |
|
1790 |
|
1791 Some Makmake Bug Fixes |
|
1792 1) Makmake invoked with the /CLEAN flag will now erase the autouid |
|
1793 object file if the Win32 autouid keyword is used. |
|
1794 |
|
1795 2) Makmake now uses the environmental variable "INCLUDE" rather |
|
1796 than "MsDevDir" to decide which standard include directories |
|
1797 should be searched for Win32 header files if a project is |
|
1798 linking to Win32 libraries, so that the wrong standard |
|
1799 include directories aren't searched when creating MSVC5 |
|
1800 project files. |
|
1801 Fixes SW1-698. |
|
1802 |
|
1803 3) Fixed bug caused by CPP inserting a space after expanding |
|
1804 macros in .mmp files by taking the space out again. This was |
|
1805 causing problems where, for example, a path specified as |
|
1806 "\EPOC32\RELEASE\WINS\APP.DEF" in the .mmp file would become |
|
1807 "\EPOC32\RELEASE\WINS \APP.DEF" after preprocessing prior |
|
1808 to creating a WINS makefile. Lower case paths were not |
|
1809 affected. |
|
1810 |
|
1811 4) Replaced link.exe flag |
|
1812 /EXPORT:?NewApplication@@YAPAVCApaApplication@@XZ,@1,NONAME |
|
1813 in VC4 and VC5 makefiles where the targettype is APP with the |
|
1814 flag /def:\EPOC32\RELEASE\WINS\APP.DEF, because the former flag |
|
1815 failed to ensure that the function in question was exported |
|
1816 at ordinal one. This solution means that if no deffile is |
|
1817 specified in the .mmp file for an APP, \EPOC32\RELEASE\WINS\APP.DEF |
|
1818 must be present for the project to link. Command-line Win32 |
|
1819 makefiles will link properly without the presence of APP.DEF |
|
1820 because they use a defmake flag to ensure the function is |
|
1821 exported at the right ordinal. |
|
1822 Targettypes LDD and PDD will link by name in MSVC until |
|
1823 their deffiles are released to |
|
1824 \epoc32\release\wins or somewhere else suitable. |
|
1825 |
|
1826 Version 0.01.082 |
|
1827 ================ |
|
1828 (Made by Alastair, 12th November 1997) |
|
1829 |
|
1830 MAKMAKE |
|
1831 1) Added link-libraries and e(dll|exe) object as dependencies of |
|
1832 main target. This cannot be done for MSVC IDE makefiles. |
|
1833 Fixes SW1-565. |
|
1834 |
|
1835 2) Added new targettypes LDD and PDD. A frozen first ordinal export, |
|
1836 the respective gate funtion for the targettype, is specified for |
|
1837 these targettypes and for targettype APP if no deffile is specified |
|
1838 for the project, otherwise the deffile controls the order of |
|
1839 exported functions. This applies for all supported platforms. Apart |
|
1840 from this feature, projects specifying one of these targettypes build |
|
1841 in the same way as projects with targettype DLL. |
|
1842 Fixes SW1-666. |
|
1843 |
|
1844 3) Changed MAKMAKE help information so that the build version appears and |
|
1845 a list of platform choices appears. This list of platforms is produced |
|
1846 by a search of .PM modules in \EPOC32\TOOLS\MAKMAKE for the comment line |
|
1847 "# Can call in makmake command line". If the line is present in the module |
|
1848 then the basename of the module is added to the list. This is a cheap way |
|
1849 of producing a list of available platforms while preserving MAKMAKE's |
|
1850 extensibility, and doesn't involve the loading of every .PM module and all |
|
1851 the modules that each one of those depends on. |
|
1852 The module controlling MAKMAKE help is loaded only when required and |
|
1853 provides a brief guide to MMP file syntax if makmake is invoked |
|
1854 MAKMAKE /MMP {PLATFORM} |
|
1855 If PLATFORM is specified, syntax for the START .. END block relating to |
|
1856 the platform is displayed as well as platform-independent MMP syntax. |
|
1857 Fixes SW1-653. |
|
1858 |
|
1859 4) The macros "WIN32" and "_WINDOWS" are now only used in compilation by MAKMAKE- |
|
1860 generated Win32 makefiles if the project's MMP file states that the project |
|
1861 needs to link to Win32 libraries by listing the libraries it needs with the |
|
1862 WIN32_LIBRARY keyword in a Win32 START .. END block. |
|
1863 Fixes SW1-652. |
|
1864 |
|
1865 5) New MMP file keyword - OBJECT - is available. This keyword is intended to |
|
1866 be used by projects having access not to the source files but only the compiled |
|
1867 code for certain objects. Specify the basename of the object only. Created Win32 |
|
1868 makefiles will expect object <basename>.OBJ to exist in the build directories |
|
1869 for a project, while MARM makefiles will look for <basename>.o. These object |
|
1870 files will appear in the dependency list for the main target in command-line |
|
1871 makefiles - this is not possible in MSVC IDE makefiles. |
|
1872 |
|
1873 6) Command-line makefiles now contain extra targets MAKEWORK, MAKEWORKDEB, |
|
1874 MAKEWORKREL, etc. The build-specific targets are included in the list of |
|
1875 dependencies for the main makefile build-specific target, so that work |
|
1876 directories will be automatically created when building with command-line |
|
1877 makefiles if these directories do not already exist. The new targets could |
|
1878 also be used to make the work directories for a project with NMAKE |
|
1879 e.g. NMAKE /f <command line makefile> MAKEWORK |
|
1880 would create all the makefiles for a project for all builds. |
|
1881 |
|
1882 7) Win32 command line makefiles now generate SBR and BSC browse files for DEBUG |
|
1883 builds so that if a DEBUG build of a project has already been done with a Win32 |
|
1884 command line makefile, subsequent building of the DEBUG build of the project |
|
1885 within the MSVC IDE will not recompile everything to generate the browse files. |
|
1886 |
|
1887 8) Added new module MAKPREP.PM to handle everything relating to MAKMAKE's use of |
|
1888 \EPOC32\GCC\BIN\CPP.EXE to generate lists of dependencies for source files. |
|
1889 This module now identifies missing system and user headers - |
|
1890 - if missing system headers have the extension .RSG or .MBG, the header is |
|
1891 listed as existing in \EPOC32\INCLUDE, so there is no longer a need for |
|
1892 MAKMAKE to generate a dummy resource header in \EPOC32\INCLUDE to fool CPP. |
|
1893 - platform modules can specify standard directories to search for missing |
|
1894 system headers. This means, e.g., Win32 makefiles can specify the MSDEV include |
|
1895 directory for those projects linking to Win32 libraries. If the missing system |
|
1896 header is found by the module in the standard directory, it will be left out |
|
1897 of the dependency list since the MSVC tools will know where to find it and it |
|
1898 can be trusted to be there and unchanged. |
|
1899 - if a missing system header fails to satisfy both the above tests then |
|
1900 makmake will issue a warning since the generated makefile will probably fail to |
|
1901 build. |
|
1902 - a warning is issued for any user headers not found in the user include or |
|
1903 system include paths, where the user include path is the source directory if no |
|
1904 user include paths are specified explicitly. |
|
1905 |
|
1906 9) Processing of MMP files now involves a lot more syntax checking and produces |
|
1907 corresponding warnings, especially if MAKMAKE is invoked with the -V switch. |
|
1908 |
|
1909 10) MAKMAKE will now automatically generate WINS uid source files when creating Win32 |
|
1910 makefiles, but only if the new keyword - AUTOUID - is specified in a Win32 START .. |
|
1911 END MMP file block. The keyword is necessary since LINK.EXE would fail for projects |
|
1912 which already specified UIDS in the source code, so remove WINS UID specification in |
|
1913 the project's source code before using AUTOUID. MAKMAKE works out UID 1 from a |
|
1914 project's targettype and takes UIDs 2 and 3, if specified, from the MMP file. It |
|
1915 then creates the UID source file in the same directory as the MAKEFILE it is to create |
|
1916 with the name "<target basename>.UID.cpp". The source file will look something like this |
|
1917 |
|
1918 // Makmake-generated uid source file |
|
1919 #include <E32STD.H> |
|
1920 #pragma data_seg("E32_UID") |
|
1921 __WINS_UID(0x10000079,0x1000008D,0x100002C3) |
|
1922 #pragma data_seg() |
|
1923 |
|
1924 The file will be created only if it doesn't already exist or if it is older than the |
|
1925 project's MMP file. |
|
1926 |
|
1927 11) In MARM makefiles, multiple calls to GNU tool "ar" to archive the object files for |
|
1928 a project prior to linking have been replaced by a single call to ar. The single |
|
1929 call passes a script listing the object files to ar. This changes speeds up the |
|
1930 archiving stage of MARM building considerably. |
|
1931 |
|
1932 12) Renamed MAKMAKE.CMD MAKMAKE.BAT for Windows 95 compatibility. |
|
1933 |
|
1934 13) Changed MSVC5 dependency generation to be the same as for other platforms, |
|
1935 but with system headers stripped out of the list later. Before, vc5 dependencies |
|
1936 called CPP such that only user headers were generated. This change means that |
|
1937 CPP will no longer fail if one of the user headers is expecting a macro definition |
|
1938 from a system header and forcing CPP to fail if it doesn't get it. |
|
1939 |
|
1940 14) Replaced relative with absolute filepaths where possible in CL_WIN.PM. |
|
1941 |
|
1942 15) Changed \e32tools\makmake\makmake.mak so that debug utilities like |
|
1943 the perl -w switch and use of module strict.pm apply for "DEB" builds. |
|
1944 of MAKMAKE only. |
|
1945 |
|
1946 16) Added SARM.PM module to be used by the base for building SARM makefiles. |
|
1947 |
|
1948 17) Improved path utilities module MAKPATH.PM to do more error checking |
|
1949 and handle extra functions. |
|
1950 |
|
1951 GROUP |
|
1952 1) Changed e32tools\group\mnt.cmd so that makmake is released in a way more similar |
|
1953 to other e32tools project - from \epoc32\build\e32tools\makmake\rel. |
|
1954 |
|
1955 |
|
1956 Version 0.01.081 |
|
1957 ================ |
|
1958 (Made by Morgan, 4th November 1997) |
|
1959 |
|
1960 ROMBUILD |
|
1961 1) Added fixed keyword for use with EXE files. This keyword results in the |
|
1962 file being loaded as a fixed address process. The data section base address |
|
1963 is allocated in the region between the kernel data address and the kernel |
|
1964 stack address. The multiprocess keyword can be used to specify the chunk |
|
1965 size; it defaults to 1Mb. |
|
1966 |
|
1967 PETRAN |
|
1968 1) Added -fixed and -moving options which set and clear KImageFixedAddressExe |
|
1969 flag respectively. |
|
1970 |
|
1971 2) Added the following switches |
|
1972 -heap <min> <max> |
|
1973 -allowdlldata |
|
1974 -datalinkaddress <base> |
|
1975 |
|
1976 MAKSYM |
|
1977 1) Removed duplicate function address error message. |
|
1978 |
|
1979 |
|
1980 Version 0.01.080 |
|
1981 ================ |
|
1982 (Made by Alastair, 30th September 1997) |
|
1983 |
|
1984 MAKMAKE |
|
1985 1) Changed Makmake.pl so that if a project uses a resource file |
|
1986 and the resource header file is not yet present in \epoc32\include |
|
1987 a dummy header file will be created there so that MAKMAKE's generation |
|
1988 of dependencies does not assume that the missing header file is |
|
1989 in some other location. |
|
1990 |
|
1991 2) Changed /Fd compiler flag in Ide_vc4.pm so that pdb files have the right |
|
1992 name rather than vc40.pdb. |
|
1993 |
|
1994 |
|
1995 Version 0.01.079 |
|
1996 ================ |
|
1997 (Made by Morgan, 22nd September 1997) |
|
1998 |
|
1999 ROMBUILD |
|
2000 1) Integrated the code for building ROMs for the single process |
|
2001 version of E32. Currently this code is protected with a |
|
2002 __SINGLE__ macro. |
|
2003 Use the keyword 'singleprocess <ChunkSize>' to generate a |
|
2004 single process ROM. Default is 'multiprocess'. |
|
2005 |
|
2006 |
|
2007 Version 0.01.078 |
|
2008 ================ |
|
2009 (Made by Alastair, 15th September 1997) |
|
2010 |
|
2011 MAKMAKE |
|
2012 |
|
2013 0) Forget to say about release 077 that \[project]\bwinc is the default |
|
2014 directory for which WINC def files are searched if the file specified |
|
2015 with the DEFFILE keyword has no path. |
|
2016 |
|
2017 1) Improved MMP file reading so that a warning is generated if MAKMAKE |
|
2018 ignores a line because it doesn't recognise the syntax. |
|
2019 |
|
2020 2) Makmake.pl - added new code to trap dependency generation errors. |
|
2021 |
|
2022 3) Makmake.pl - minor changes required to support creation of MSVC5 project |
|
2023 files. |
|
2024 |
|
2025 4) Added new modules VC5.PM and VC5WINC.PM to support MSVC5. These modules |
|
2026 will create .DSP MSVC5 project control files. When an MSVC5 .DSP file is |
|
2027 created with makmake project files with the following extensions will be |
|
2028 deleted - .dsw,.mak,.mdb,.ncb,.opt,.plg. The new features of MSVC5 which |
|
2029 distinguish between header files belonging to the project and system header |
|
2030 files are supported. |
|
2031 |
|
2032 5) Added new module MISA.PM to support MISA command-line makefiles. |
|
2033 |
|
2034 6) Tidied up VC4.PM. |
|
2035 |
|
2036 7) Changed MAKMAKE internal structure so that implementaion modules can |
|
2037 share modules controlling the layout of the makefile and other common |
|
2038 features. This change does not affect the way that MAKMAKE is invoked. |
|
2039 |
|
2040 VC5.PM and VC5WINC.PM share IDE_VC5.PM |
|
2041 VC4.PM and VC4WINC.PM share IDE_VC4.PM |
|
2042 WINS.PM and WINC.PM share CL_WIN.PM |
|
2043 MARM.PM and MISA.PM share CL_ARM.PM |
|
2044 |
|
2045 8) Changed CL_WIN.PM and CL_MARM.PM to use an inline batch file in the |
|
2046 makefile for calling fc4bat to decide whether a resource header file |
|
2047 needs rewriting or not. Previously, if fc4bat returned an error to |
|
2048 indicate that the header file should be rewritten, nmake would die. |
|
2049 |
|
2050 9) Added Makmake.mak to \e32tools\makmake\ for building makmake source to |
|
2051 \epoc32\tools and \epoc32\tools\makmake in a way similar to C++ projects. |
|
2052 |
|
2053 10) Changed all .PM modules to ensure that they return a true value |
|
2054 when loaded successfully. |
|
2055 |
|
2056 E32TOOLS MNT |
|
2057 |
|
2058 1) Changed e32tools.rel file so that readtype.exe is released. |
|
2059 |
|
2060 2) Updated MNT MAKEWORK and MNT GETBLD so that PGETBLD and MNT BLDALL will |
|
2061 now work on a clean drive. Changed readtype.mak so that it searches |
|
2062 \epoc32\include rather than \e32\inc for system header files. |
|
2063 File \e32\inc\unicode.h needs to be listed in e32\inc\incc.prj |
|
2064 at some point. |
|
2065 |
|
2066 3) Modernised MNT BLDALL so that NMAKE is invoked with the /nologo flag. |
|
2067 |
|
2068 4) Modernised MNT VALID so that pediff is used instead of fc /b for binary |
|
2069 file comparison. Makmake is now included and e32uid.exe removed since it's |
|
2070 not used or released. |
|
2071 |
|
2072 |
|
2073 Version 0.01.077 |
|
2074 ================ |
|
2075 (Made by Alastair, 8th September 1997) |
|
2076 |
|
2077 MAKMAKE |
|
2078 |
|
2079 1) Changed 1st stage of linking (by name) for WINS command-line builds so that |
|
2080 linking is not attemped incrementally to stop unnecessary warning appearing. |
|
2081 |
|
2082 2) Added two new modules, WINC.PM and VC4WINC.PM, for use in creating WINC |
|
2083 command-line and IDE makefiles respectively. For command-line makefiles, |
|
2084 type "makmake {options} [project] WINC; for IDE makefiles, type |
|
2085 "makmake {options} [project] VC4WINC. DIfferences between WINC and WINS |
|
2086 makefiles are slight - WINC appears where WINS would otherwise appear, and |
|
2087 WINC source files are preprocessed with the macros "__WINC__" and "__XCON__" |
|
2088 defined as well as all the usual WINS macros including "__WINS__". Note that, |
|
2089 in line with the macro scheme applied to source files, MAKMAKE will preprocess |
|
2090 XXX.MMP files with macros "WINS" AND "WINC" defined when creating WINC makefiles, |
|
2091 so keywords within "#if defined(WINS) ... #endif" and "START WINS ... END" blocks |
|
2092 will apply for WINC builds too. This scheme required changes to the way |
|
2093 MAKMAKE.PL processes START ... END blocks. |
|
2094 |
|
2095 3) Removed possibility of passing extra macros to makmake for preprocessing XXX.MMP |
|
2096 files - this possibility was never documented and has never been requested so |
|
2097 is now presumed unnecessary. |
|
2098 |
|
2099 4) Introduced keyword option which, if specified in XXX.MMP files, will cause |
|
2100 MAKMAKE to search for the same deffile for all build variants rather than |
|
2101 several files differentiated by suffixes "U","D" and "UD". The new keyword |
|
2102 is "NOSTRICTDEF", originally enough. Hopefully deffiles for LDDs and PDDs |
|
2103 can soon be done away with by having targettypes for LDDs and PDDs and having |
|
2104 MAKMAKE implementation modules pass the correct mangled names as 1st ordinal |
|
2105 command-line option arguments to DEFTOOL and DEFMAKE instead. |
|
2106 |
|
2107 5) Changed resource handling to be entirely compatible with eikrs.bat - the basename |
|
2108 of XXX.RSS is used for XXX.R$(EPOCLANG) and all intermediate resource files. This |
|
2109 change still does not fix SW1-204, for which a spec decision regarding the handling |
|
2110 of differing licensee resource file requirements is required. |
|
2111 |
|
2112 |
|
2113 Version 0.01.076 |
|
2114 ================ |
|
2115 (Made by Alastair, 15th August 1997) |
|
2116 |
|
2117 MAKMAKE |
|
2118 |
|
2119 1) Changed MARM and WINS modules so that rcomp is called to compile resources |
|
2120 directly rather than via eikrs.bat. This change will mean that resources will |
|
2121 be compiled into the correct directory for MARM builds, and that the *.rss file |
|
2122 need no longer be in the same directory as the makefile. This change addresses |
|
2123 SW1-204 and SW1-212. |
|
2124 2) The STRICTDEF keyword is no longer recognised by makmake. Its function in |
|
2125 appending "D", "U", and "UD" to the base name of *.DEF files for DEB, UREL and |
|
2126 UDEB builds is now carried out by default. There should now be a *.def file for |
|
2127 each of these build variants in use if any definition files are used at all. |
|
2128 This change addresses SW1-196. |
|
2129 3) Makmake.cmd has been improved. If makmake fails, a basic perl operation will be |
|
2130 attempted. If this fails, the user will be asked if the correct version of perl |
|
2131 is installed. This change addresses SW1-345. |
|
2132 |
|
2133 Version 0.01.075 |
|
2134 ================ |
|
2135 (Made by Alastair, 24th July 1997) |
|
2136 |
|
2137 DEFTOOL (from William Roberts) |
|
2138 |
|
2139 1) Modified DEFTOOL.CPP and DEFTOOL.H |
|
2140 Basically just improved error reporting so that |
|
2141 a) When it tells you that there are "frozen ordinals missing from supplied |
|
2142 def file" it also tells you which ordinal numbers have been lost. |
|
2143 b) If your DLL exports functions that weren't in the freeze file then it |
|
2144 gives you a gentle warning, because that's not something which we'd |
|
2145 want to allow in a release. |
|
2146 |
|
2147 MAKMAKE |
|
2148 |
|
2149 1) Changed makmake so that target makefile is created in the current |
|
2150 working directory rather than the directory containing the *.mmp |
|
2151 file. |
|
2152 2) Added line of code to makpath.pm so that single dot directories |
|
2153 are stripped from paths. |
|
2154 3) Removed repeat occurrence of deffile flag in the link command for |
|
2155 *.wins makefiles. |
|
2156 4) Changed RELGDB path macros for MARM makefiles so that they are prefixed |
|
2157 with ".\" rather than "..\\..<absolute path to makefile directory>". |
|
2158 This is a neater way to get them to expand to something textually different |
|
2159 from REL path macros while still specifying the same path. |
|
2160 5) Changed "ar q" lines within MARM makefiles to include 8 object files maximum |
|
2161 rather than 4 - this should improve efficiency without breaking limits on |
|
2162 command-line lengths. |
|
2163 6) Changed WINS.PM so that the $(LINK_OBJS) macro is used in the link command line |
|
2164 in *.wins makefiles rather than a list of all the objects concerned. |
|
2165 7) Changed MARM.PM so that the first stage of linking (by name) for a dll target |
|
2166 creates the dll in the build directory rather than the release directory. |
|
2167 The second stage of linking (by number) creates a dll in the build directory |
|
2168 rather than the release directory too, overwriting the first dll. Finally, |
|
2169 this target is petranned to the release directory and the dll left in the |
|
2170 build directory is deleted. This change solves the problem of nmake thinking |
|
2171 that the target has been successfully created when the build has failed |
|
2172 anywhere between the first link stage and the petranning stage, because of |
|
2173 the presence of an apparently up-to-date dll in the release directory. |
|
2174 8) Changed WINS.PM similarly so that *.wins makefiles do a two-stage link. Defmake |
|
2175 is called between the two link stages with a "freeze" file if one is specified |
|
2176 with the DEFFILE statement (see below). The defmake-created def file is then |
|
2177 used for the second-stage link (by number). The first stage of linking creates |
|
2178 the target dll in the intermediate directory while the second stage creates the |
|
2179 final target dll in the target directory and the first dll is deleted. |
|
2180 9) Removed /NAME flag from MAKMAKE - no longer necessary due to (8). |
|
2181 10) Radically changed behaviour of MAKMAKE towards DEFFILE and FRZFILE statements |
|
2182 within *.mmp files. There is no longer handling of FRZFILE statements. As |
|
2183 before, if a DEFFILE statement is placed within an #if defined(WINS) ... #endif |
|
2184 block, the statement will be used by both WINS and VC4 makefiles but not MARM |
|
2185 makefiles, and vice versa if a #if defined(MARM) ... #endif block is used. If |
|
2186 the file specified has no path, the file is assumed to be in directory |
|
2187 \<project>\bwins\ for WINS and VC4 makefiles and \<project>\bmarm\ for MARM |
|
2188 makefiles. For VC4 makefiles, the specified file is passed to LINK.EXE as |
|
2189 before. For WINS makefiles, the file is not used in the first stage of linking. |
|
2190 Defmake is called and uses the file as a freeze file in the creation of a new |
|
2191 deffile which will include any new exports produced by changes to the source code |
|
2192 for the project. The new deffile created is used in the second stage of linking. |
|
2193 For MARM makefiles, the specified file works in much the same way as for WINS |
|
2194 makefiles. |
|
2195 In other words, the DEFFILE statement should now be used to specify "freeze" |
|
2196 files. WINS *.def files were in effect "freeze" files anyway. The choice of |
|
2197 "DEFFILE" rather than "FRZFILE" for the new statement within *.mmp file reflects |
|
2198 the widespread understanding of "def" vocabulary outside Psion. For more |
|
2199 information, see the discussion on e32proposals - tools - makmake and frz files. |
|
2200 The STRICTDEF keyword is still required if differently-named "freeze" files |
|
2201 are required for different builds, but this requirement is under review together |
|
2202 with potential default directories for components not using directories |
|
2203 \<project>\bwins and \<project>\bmarm. Note that if these directories are not |
|
2204 being used and files specified with the DEFFILE statement include a path then is |
|
2205 is essential to place DEFFILE statements with #if defines because WINS and VC4 |
|
2206 builds should never use the same "freeze" file as MARM builds due to the compilers |
|
2207 mangling function names in different ways. |
|
2208 11) A file specified with the DEFFILE statement is now put in the list of |
|
2209 dependencies for a target in WINS and MARM makefiles, but not yet VC4. |
|
2210 12) Changed MAKMAKE to allow for use of the WINDOWS API. If you are using this API, |
|
2211 specify the windows libraries you wish to link to in *.mmp as follows |
|
2212 |
|
2213 START WINS |
|
2214 BASEADDRESS 0x43500000 |
|
2215 WIN32_LIBRARY kernel32.lib gdi32.lib user32.lib |
|
2216 END |
|
2217 |
|
2218 ie, put the WIN32_LIBRARY statement somewhere in a START WINS ... END block |
|
2219 and list the libraries after it. Please note that these START WINS ... END |
|
2220 blocks are very different from #if defined(WINS) ... #endif blocks. Makmake |
|
2221 always preprocesses the *.mmp file when invoked, and later passes any text within |
|
2222 START ... END blocks onto the perl module specific to the platform in question. |
|
2223 When makmake is invoked with the VC4 argument, the *.mmp file is preprocessed |
|
2224 the WINS macro defined. |
|
2225 13) Fixed bug causing AIF file subroutine to be ignored |
|
2226 14) Fixed bug causing path specified with TARGETPATH statement to be left out of |
|
2227 path to resource target for WINS makefiles. |
|
2228 15) Changed resource file building command so that the base name of the target |
|
2229 resource file is the same as the base name of the releasable rather than |
|
2230 the base name of the file specified with the RESOURCE or SYSTEMRESOURCE |
|
2231 statement. |
|
2232 16) Changed name for target AIF from the base name of the releasable + ".aif" to |
|
2233 the name specified by the AIF statement. |
|
2234 18) Changed code designed to warn the user if the version of perl they are using |
|
2235 is not supported by MAKMAKE so that it is activated before rather than after |
|
2236 compilation - untested. |
|
2237 |
|
2238 |
|
2239 Version 0.01.074 |
|
2240 ================ |
|
2241 (Made by Alastair, 1st July 1997) |
|
2242 |
|
2243 MAKMAKE |
|
2244 1) Fixed egregious error causing the content of LIBRARY |
|
2245 statements in *.MMP files to be ignored. This error |
|
2246 is present in e32tools releases 071, 072 and 073. |
|
2247 |
|
2248 |
|
2249 Version 0.01.073 |
|
2250 ================ |
|
2251 (Made by Morgan, 18th June 1997) |
|
2252 |
|
2253 1) ROMBUILD |
|
2254 Added 'time' keyword for specifying the date/time stamp |
|
2255 in the rom header. |
|
2256 Syntax: |
|
2257 time=dd/mm/yyyy hh:mm:ss |
|
2258 |
|
2259 Added 'reloc' file attribute to specify user process |
|
2260 data run address for Exes. |
|
2261 |
|
2262 Added 'align' keyword to align files on particular |
|
2263 alignment boundries. |
|
2264 |
|
2265 |
|
2266 Version 0.01.072 |
|
2267 ================ |
|
2268 (Made by Alastair, 16th June 1997) |
|
2269 |
|
2270 MAKMAKE |
|
2271 1) Added line of code to makmake.pl so that makmake will refuse |
|
2272 to work with versions of PERL released prior to version |
|
2273 5.003_07 . To find out what version of PERL you are using, |
|
2274 type perl -v<return> in a DOS box. |
|
2275 |
|
2276 |
|
2277 Version 0.01.071 |
|
2278 ================ |
|
2279 (Made by Alastair, 9th June 1997) |
|
2280 |
|
2281 MAKMAKE |
|
2282 1) Added new preprocessor macro, __PSISOFT32__, defined for all |
|
2283 projects using MAKMAKE regardless of platform or build variant. |
|
2284 |
|
2285 |
|
2286 Version 0.01.070 |
|
2287 ================ |
|
2288 (Made by Matthew, 4th June 1997) |
|
2289 |
|
2290 Added new tool ROMMASK, for generating rom images suitable for masking. |
|
2291 |
|
2292 |
|
2293 Version 0.01.069 |
|
2294 ================ |
|
2295 (Made by Alastair, 4th June 1997) |
|
2296 |
|
2297 MAKMAKE |
|
2298 |
|
2299 1) Fixed bugs causing _UNICODE macro to be output |
|
2300 without the initial underscore by marm.pm and |
|
2301 wins.pm. |
|
2302 |
|
2303 2) Single call to gcc archiving tool "ar" replaced |
|
2304 by multiple call to avoid overriding of command-line |
|
2305 length limits for projects comprising many source |
|
2306 files. |
|
2307 |
|
2308 3) Fixed bug in \e32tools\makmake\mnt.cmd so that |
|
2309 makpath.pm is copied to directory |
|
2310 \epoc32\tools\makmake. |
|
2311 |
|
2312 |
|
2313 Version 0.01.068 |
|
2314 ================ |
|
2315 (Made by Alastair, 2nd June 1997) |
|
2316 |
|
2317 MAKMAKE |
|
2318 |
|
2319 1) Removals |
|
2320 makmake.txt - SDK documentation now available |
|
2321 revmak.pl - redundant |
|
2322 winsname.pm - redundant |
|
2323 |
|
2324 2) Fixes |
|
2325 |
|
2326 a) fixed dependency macro bug for VC4 platform |
|
2327 b) fixed problem with mmp file specification of |
|
2328 multiple subprojects |
|
2329 c) Other minor bug fixes |
|
2330 |
|
2331 3) Internal Changes |
|
2332 |
|
2333 a) Improved generation of dependencies |
|
2334 b) Improved path utility functions |
|
2335 c) Moved path utility functions out of makmake.pl to |
|
2336 new module "MAKPATH.PM" |
|
2337 d) Other structural changes |
|
2338 |
|
2339 4) Command-Line invocation |
|
2340 |
|
2341 a) Platform VC4 can now be specified to produce MSVC4.0 |
|
2342 compatible makefiles - WINS platform now produces |
|
2343 makefiles incompatible with MSVC4.0 allowing greater |
|
2344 freedom for using nmake to build resource files, etc. |
|
2345 *.MMP files will still be preprocessed with the "WINS" |
|
2346 macro whether the platform is specified as WINS or VC4 |
|
2347 b) New flag "/clean" - deletes all non-source files for the |
|
2348 project and platform specified. |
|
2349 c) New flag "/lang [language]" - sets a language for the |
|
2350 project and platform specified except for VC4. |
|
2351 d) New flag "/name" - doesn't add any /def:[deffile] |
|
2352 linker flags to WINS or VC4 makefiles. No effect |
|
2353 on MARM makefiles. This flag makes linking-by-name |
|
2354 builds possible for WINS. |
|
2355 e) Flags can now be specified anywhere on the command-line |
|
2356 |
|
2357 5) *.MMP Files |
|
2358 |
|
2359 a) New keyword "LANG [language]" - sets a language for |
|
2360 the project and platform specified except VC4. |
|
2361 This setting is overridden if the command-line language |
|
2362 flag is used. |
|
2363 b) New keyword "AIF [*.aif file]" - specifies an application |
|
2364 information file. This keyword is subproject relative, |
|
2365 and merely copies the *.aif file to the target directory |
|
2366 at the moment (except for VC4). |
|
2367 c) New keyword "BITMAP [*.mbm file] [*.bmp files]" - specifies |
|
2368 a protea multi-bitmap target and compiles it to the target |
|
2369 directory using bmconv on the windows bitmap files (except |
|
2370 for VC4). The keyword is subproject relative, so all |
|
2371 windows bitmaps files specified are expected to reside in |
|
2372 the current \PROJECT\SUBPROJECT directory. This may not be |
|
2373 the required behaviour. |
|
2374 d) New "RESOURCE" keyword behaviour - eikrs.bat is invoked |
|
2375 for MARM and WINS platforms to compile the resource specified |
|
2376 to the target directory. VC4 platform uses the keyword |
|
2377 parameter for information only. If a language is specified |
|
2378 it is passed to eikrs.bat, defaults to "SC". |
|
2379 e) New keyword "SYSTEMRESOURCE [*.rss file]" - subproject |
|
2380 relative, behaves exactly as the RESOURCE keyword except |
|
2381 that for WINS the target resource is compiled to directory |
|
2382 \epoc32\release\wins\[build]\Z\system\data. Ignored by |
|
2383 VC4. |
|
2384 f) New "TARGETTYPE" keyword option - "exedll". This option |
|
2385 can be used to specify a target which will be built as |
|
2386 a dll under single-process platform WINS (or VC4), but as |
|
2387 an exe for multi-process platform MARM. |
|
2388 g) New keyword "STRICTDEPEND" - if specified, makmake will |
|
2389 generate dependencies for each source or resource specified |
|
2390 for all builds - DEB,UREL,RELGDB etc. If sources are unlikely |
|
2391 to specify different include header files for different |
|
2392 builds then there is no need to specify this keyword and |
|
2393 dependencies will be generated once only for each source |
|
2394 file. |
|
2395 h) New "DEFFILE" keyword behaviour. This keyword is no longer |
|
2396 platform-specific (within a "START [platform] ... END" block). |
|
2397 If the deffile is specified without a path, then makmake |
|
2398 will expect the deffile to live in directory "\PROJECT\BMARM" |
|
2399 for the MARM platform, and in "\PROJECT\BWINS" for WINS or VC4. |
|
2400 Note that currently the *.def file will be used in a call |
|
2401 to dlltool in MARM makefiles as follows:- |
|
2402 "dlltool --def [deffile] --output-def [created deffile]". |
|
2403 This behaviour is required for at least one project, and |
|
2404 different deffiles can be specified for different platforms |
|
2405 using "#if defined [platform]" within *.mmp files. |
|
2406 i) New keyword "FRZFILE [*.frz file]" - behaves the same as |
|
2407 "DEFFILE" keyword as regards paths. A specified freeze file |
|
2408 is ignored by makmake when producing WINS or VC4 makefiles. |
|
2409 The file is used by MARM makefiles as follows |
|
2410 "ld -z [frzfile] [dlltool-created deffile]". |
|
2411 j) New keyword "STRICTDEF" - if this keyword is specified then |
|
2412 makmake assumes that, for each *.def or *.frz files specified, |
|
2413 there are actually as many of these files as there are |
|
2414 different build configurations for the project. E.G. for |
|
2415 WINS makefiles, if a deffile is secified in a *.mmp file as |
|
2416 "DEFFILE mydef.def", then makmake will assume "mydefd.def", |
|
2417 "mydefu.def" and "mydefud.def" for DEB, UREL, and UDEB builds |
|
2418 respectively. Though for MARM, a RELGDB build would look for |
|
2419 plain "mydef.def". |
|
2420 |
|
2421 6) Output |
|
2422 |
|
2423 a) Makmake for MARM will produce *.MARM makefiles. |
|
2424 b) Makmake for WINS will produce *.WINS makefiles. |
|
2425 c) Makmake for VC4 will produce *.MAK makefiles. |
|
2426 d) MARM and WINS makefiles are restructured to allow |
|
2427 the following example NMAKE command-line invocations |
|
2428 |
|
2429 "NMAKE /f euactiv2.wins UREL" |
|
2430 "NMAKE /f euactiv2.marm UDEB" |
|
2431 "NMAKE /f euactiv2.wins CLEANDEB" |
|
2432 "NMAKE /f euactiv2.marm CLEAN" |
|
2433 |
|
2434 e) Macros specifying target directories, language, |
|
2435 build directories and so on are produced at the |
|
2436 top of WINS and MARM makefiles. |
|
2437 f) RELGDB builds for MARM aim to put the executable |
|
2438 produced into \epoc32\release\marm\rel, and also use |
|
2439 \epoc32\build\[project]\marm\rel as their building |
|
2440 directory. |
|
2441 g) Gcc tool OBJCOPY produces a *.sym file for MARM debug |
|
2442 builds, including RELGDB. |
|
2443 |
|
2444 |
|
2445 Version 0.01.067 |
|
2446 ================ |
|
2447 (Made by Morgan, 19th May 1997) |
|
2448 |
|
2449 1) PEDIFF |
|
2450 Recognises time/date stamps in debug and export directories. |
|
2451 Ignores PETRAN version information in the header. |
|
2452 |
|
2453 2) PETRAN |
|
2454 Uids take the full 32bits. |
|
2455 |
|
2456 3) WVECONV |
|
2457 From \VNOTES\WVECONV. S3a to S5 sound file converter. |
|
2458 |
|
2459 |
|
2460 Version 0.01.066 |
|
2461 ================ |
|
2462 (Made by Alastair, 9th May 1997) |
|
2463 |
|
2464 MAKMAKE |
|
2465 |
|
2466 1) Fixed bug causing extra "print " text to be produced |
|
2467 as part of the USERINCLUDES text outputted in verbose mode. |
|
2468 |
|
2469 2) Fixed bug causing makmake.pl to fail to produce the extension |
|
2470 of a target filename when requested by *.pm modules |
|
2471 |
|
2472 3) Fixed bug causing makmake to fail with an error report if |
|
2473 more than one flag is specified on the command line |
|
2474 |
|
2475 MAKSYM |
|
2476 |
|
2477 1) Added a few lines of extra code so that the base address of |
|
2478 a dll in the rom is printed to maksym.log when maksym cannot |
|
2479 find the corresponding *.map file. |
|
2480 |
|
2481 |
|
2482 Version 0.01.065 |
|
2483 ================ |
|
2484 (Made by Alastair, 6th May 1997) |
|
2485 |
|
2486 MAKMAKE |
|
2487 |
|
2488 1) reorganised to be more easily maintainable and extensible. |
|
2489 |
|
2490 2) handles uid keyword in *.mmp file - uid1 is provided automatically, |
|
2491 uid's 2 and 3 are specified ... |
|
2492 |
|
2493 UID <uid2> <uid3> |
|
2494 |
|
2495 in *.mmp file. |
|
2496 |
|
2497 3) dependency generation section calls CPP with flag -MG so that |
|
2498 makmake responds gracefully to missing generated headers |
|
2499 |
|
2500 4) *.mdp and *.ncb files are automatically deleted from directories |
|
2501 in which makmake is directed to create a wins makefile with the same |
|
2502 root. |
|
2503 |
|
2504 5) petran is invoked from the arm makefile |
|
2505 |
|
2506 6) invocation syntax simplified so that makmake is invoked |
|
2507 makmake [flags] [mmp file root] [platform] |
|
2508 rather than |
|
2509 makmake [flags] [mmp file] [destination makefile] [platform] |
|
2510 |
|
2511 7) makmake by default operates in quiet mode, verbose mode is invoked |
|
2512 using the new "/V" flag on the command-line |
|
2513 |
|
2514 8) makmake will create the work directories rather than the makefile |
|
2515 if the new "/MAKEWORK" flag is used on the command-line |
|
2516 |
|
2517 9) the "/q" flag for "del" commands is no longer added to marm makefiles |
|
2518 created with makmake |
|
2519 |
|
2520 10) the DEFFILE keyword is no longer searched for within a START WINS ... END |
|
2521 block, now it is platform independent though not yet utilised by the marm |
|
2522 platform. |
|
2523 |
|
2524 11) winsname.pm is not currently expected to work |
|
2525 |
|
2526 12) PERL is no longer invoked with the -w debugger flag |
|
2527 |
|
2528 Version 0.01.064 |
|
2529 ================ |
|
2530 (Made by Morgan, 16th April 1997) |
|
2531 |
|
2532 1) ROMBUILD |
|
2533 Removed the checks for unicode-ness of Uid[0] on Exes/Dlls |
|
2534 |
|
2535 2) W32REPRO |
|
2536 An NT version of PREPRO written by WilliamR |
|
2537 |
|
2538 |
|
2539 Version 0.01.063 |
|
2540 ================ |
|
2541 (Made by Morgan, 15th April 1997) |
|
2542 |
|
2543 1) MAKTRAN |
|
2544 Changed over to the new (and slightly less mad) Uid scheme |
|
2545 introduced in E32(098). |
|
2546 Dlls now have a Uid[0] of 0x10000079 |
|
2547 Exes now have a Uid[0] of 0x1000007A |
|
2548 Everything else is as before. |
|
2549 |
|
2550 |
|
2551 Version 0.01.062 |
|
2552 ================ |
|
2553 (Made by Graham Asher, 15th April 1997) |
|
2554 |
|
2555 READTYPE |
|
2556 Added this new tool, which writes the new file unitable.cpp, which contains |
|
2557 the Unicode character attribute information. I've put a full |
|
2558 explanation of how to use READTYPE in Notes under e32 software design. |
|
2559 |
|
2560 |
|
2561 Version 0.01.061 |
|
2562 ================ |
|
2563 (Made by Morgan, 13th April 1997) |
|
2564 |
|
2565 1) ROMBUILD |
|
2566 1) Bug fix when using the -S switch with Rom patching |
|
2567 2) Added class TRomSectionHeader to the start of the |
|
2568 second section of the Rom so sectioned Roms can have |
|
2569 a separate build time, language variant, and checksum. |
|
2570 3) Added iRomSectionHeader member to TRomHeader to point |
|
2571 at the start of the sectioned Rom and padded TRomHeader |
|
2572 to 256 bytes. This needs a new BOOTROM.BIN which will |
|
2573 be released with E32(098) |
|
2574 4) Fixed a bug in the split rom verify code. |
|
2575 5) Fixed the overriding of Uids. |
|
2576 |
|
2577 |
|
2578 Version 0.01.060 |
|
2579 ================ |
|
2580 (Made by Morgan, 9th April 1997) |
|
2581 |
|
2582 1) PETRAN |
|
2583 Fixed a PETRAN dumping bug when there are no .data relocations. |
|
2584 |
|
2585 2) MAKTRAN |
|
2586 Bug fix for -P switch when no uid3 is specified. |
|
2587 |
|
2588 3) DEFMAKE |
|
2589 Made the -S switch work when -Z is used. |
|
2590 |
|
2591 |
|
2592 Version 0.01.059 |
|
2593 ================ |
|
2594 (Made by Morgan, 7th April 1997) |
|
2595 |
|
2596 HIGHLIGHTS: |
|
2597 * MAKTRAN now produces PETRANned targets. |
|
2598 * Components should use the new -P switch instead of -U. |
|
2599 * Suggested minimum commandline for Dlls: |
|
2600 MAKTRAN <src .MAK> <dest .ARM> -z<Your .FRZ> -p"-uid2 <Your Uid2> -uid3 <Your Uid3> -nocall" |
|
2601 |
|
2602 2) MAKTRAN |
|
2603 1) Overhauled for releasing PETRANned components. |
|
2604 -U switch has been removed and been replaced by new |
|
2605 -P switch for specifying PETRAN command line arguments. Uid1 |
|
2606 will default to the correct uid for the build type unless |
|
2607 you specify otherwise. |
|
2608 |
|
2609 |
|
2610 Version 0.01.058 |
|
2611 ================ |
|
2612 (Made by Morgan, 3rd April 1997) |
|
2613 |
|
2614 1) ROMBUILD |
|
2615 1) Filenames can now be quoted ("") to include spaces. |
|
2616 2) More details provided when the Rom overflows. |
|
2617 |
|
2618 NOTE: Currently there is a bug that occurs if the Rom |
|
2619 is exactly the correct size (byte for byte) and sectioning |
|
2620 is being used. It's harmless - I'll fix this in a release |
|
2621 soon. |
|
2622 |
|
2623 |
|
2624 Version 0.01.057 |
|
2625 ================ |
|
2626 (Made by Alastair, 2nd April 1997) |
|
2627 |
|
2628 1) MAKMAKE |
|
2629 Fixed bug in wins.pm causing *.def files specified in *.mmp |
|
2630 files to be ignored by MSVC. |
|
2631 Included deftool flag -1 NewApplication__Fv for MARM makefiles |
|
2632 where the target is an APP. |
|
2633 |
|
2634 E32TOOLS GROUP MNT.CMD |
|
2635 Added lock, unlock and wholock parameters. |
|
2636 |
|
2637 |
|
2638 Version 0.01.056 |
|
2639 ================ |
|
2640 (Made by Alastair, 27th March 1997) |
|
2641 |
|
2642 Alastair: |
|
2643 1) MAKMAKE |
|
2644 MAKMAKE generates makefiles for WINS or MARM builds. |
|
2645 It is being released because the SDK example projects |
|
2646 now use it, and no longer use MAKTRAN. Makmake is by no |
|
2647 means fully tested and is certainly not intended for |
|
2648 incorporation into Epoc32 projects prior to V1 shipping. |
|
2649 Details of its use are roughly documented in file |
|
2650 \e32tools\makmake\makmake.txt. |
|
2651 Use of makmake requires the installation of Perl |
|
2652 from directory T:\UTIL\PERL. |
|
2653 |
|
2654 |
|
2655 Version 0.01.055 |
|
2656 ================ |
|
2657 (Made by Morgan, 20th March 1997) |
|
2658 |
|
2659 1) ROMBUILD |
|
2660 CheckSum bug fix. |
|
2661 Kernel alignment bug fix. |
|
2662 |
|
2663 |
|
2664 Version 0.01.054 |
|
2665 ================ |
|
2666 (Made by Morgan, 18th March 1997) |
|
2667 |
|
2668 1) ROMBUILD |
|
2669 Removed some unnecesary recurtion and tidied some dodgy code. |
|
2670 Loaded the files to Rom in the order they appear in the obey |
|
2671 file, rather than depth first order. |
|
2672 |
|
2673 Roms can now be sectioned into two parts allowing the upper |
|
2674 part of the rom to be switched for language variations and |
|
2675 file patching. Both these processes require the original |
|
2676 releasables, original obey file, and any new releasables. |
|
2677 It is also advisable to supply the original Rom so the lower |
|
2678 section can be verified to be constant. |
|
2679 |
|
2680 In a sectioned rom the directory structure, import address |
|
2681 tables, and Dll reference tables of all files in the first Rom |
|
2682 are placed after the section border. |
|
2683 The overhead of sectioning a Rom (over and above an unsectioned |
|
2684 one) is the space required to duplicate the import address |
|
2685 tables of files from the first section. |
|
2686 Last time I counted (B2) the iat's took up 42k. |
|
2687 |
|
2688 The 32bit sum of all 32bit words in the second section is |
|
2689 always 0. This means the iChecksum member in TRomHeader is |
|
2690 valid for the rom as a whole and for the first section in |
|
2691 isolation. |
|
2692 It is not possible to patch any files that are listed before |
|
2693 the primary or the secondary. Doing this causes the position |
|
2694 of the kernel's/file-server's entry in the directory table to |
|
2695 move. This may be fixed in a future release. |
|
2696 |
|
2697 To section a Rom: |
|
2698 Use the keyword |
|
2699 section <rom offset> |
|
2700 at the point in the obey file where you want the Rom to be |
|
2701 split. All files before this line appear in the first |
|
2702 (constant) section, and files after appear in the second |
|
2703 (patch/language) section. |
|
2704 |
|
2705 Patching a file in the second section: |
|
2706 Add file attribute 'patch[ed]' to the file to be patched. |
|
2707 (This will cull the file from the first section). |
|
2708 Supply a replacement file in the top section as required. |
|
2709 Note, the original file is still required to guarantee |
|
2710 consistency in the first section of Rom. |
|
2711 Run ROMBUILD. |
|
2712 |
|
2713 Supplying a language dependant file: |
|
2714 Put the file after the section keyword. |
|
2715 Run ROMBUILD. |
|
2716 |
|
2717 To verify the lower section of Rom has remained constant: |
|
2718 Specify the original Rom image on the command line with |
|
2719 -r<FileName> |
|
2720 |
|
2721 |
|
2722 Version 0.01.053 |
|
2723 ================ |
|
2724 (Made by Morgan, 7th March 1997) |
|
2725 |
|
2726 1) ROMBUILD |
|
2727 Bug fix to 'screen' keyword |
|
2728 |
|
2729 |
|
2730 Version 0.01.052 |
|
2731 ================ |
|
2732 (Made by Morgan, 3rd March 1997) |
|
2733 |
|
2734 1) ROMBUILD |
|
2735 Bug fix for Exes/Dlls with no relocations in .text or .rdata |
|
2736 Check Uids for exporting .EXEs as well as .DLLs |
|
2737 New 'screen' keyword. Default is: screen = 640x240x4 |
|
2738 |
|
2739 2) MAKTRAN |
|
2740 Bug fix |
|
2741 |
|
2742 |
|
2743 Version 0.01.051 |
|
2744 ================ |
|
2745 (Made by Morgan, 13th January 1997) |
|
2746 |
|
2747 Alastair: |
|
2748 1) MAKSYM |
|
2749 Generates a list of C++ symbols and their addresses in rom from |
|
2750 ROMBUILD.LOG and accompanying .MAP files. |
|
2751 MAKSYM ? for help. |
|
2752 |
|
2753 |
|
2754 Version 0.01.050 |
|
2755 ================ |
|
2756 (Made by Morgan, 6th January 1997) |
|
2757 |
|
2758 1) ROMBUILD |
|
2759 Incompatable with any E32 before 083. |
|
2760 Added some stuff to TRomHeader for the test department: |
|
2761 A language bitfield (64bits for specifying the languages supported |
|
2762 by the ROM), and a 32bit hardware identifier. |
|
2763 The languages are as defined by TLanguage in E32STD.H. (ie Test |
|
2764 is bit 0, English is bit 1, French is bit 2, etc...) |
|
2765 Added two more obeyfile keywords for this. Usage: |
|
2766 languages = <list of supported languages> |
|
2767 hardware = <n> |
|
2768 |
|
2769 Rombuild now has a -? switch. |
|
2770 |
|
2771 |
|
2772 Version 0.01.049 |
|
2773 ================ |
|
2774 (Made by Morgan, 11th December 1996) |
|
2775 |
|
2776 1) MAKTRAN |
|
2777 Object files are now grouped on the ar (archive) command line to |
|
2778 speed up building. By default they are grouped in 4s but this |
|
2779 can be changed by using the new -a<n> switch. |
|
2780 |
|
2781 2) ROMBUILD |
|
2782 More informative error information when a dll is exporting by |
|
2783 name. |
|
2784 |
|
2785 3) E32UID |
|
2786 Removed. |
|
2787 |
|
2788 |
|
2789 Version 0.01.048 |
|
2790 ================ |
|
2791 (Made by Morgan, 22nd November 1996) |
|
2792 |
|
2793 1) ROMBUILD |
|
2794 Added 128 bytes of space to TRomHeader which appears at the front |
|
2795 of the ROM. This is to allow work on the StrongARM port to |
|
2796 progress. |
|
2797 Naturally, this makes ROMBUILD compatable with absolutely nothing. |
|
2798 So a new bootrom.bin will be released with E32(075). |
|
2799 |
|
2800 |
|
2801 Version 0.01.047 |
|
2802 ================ |
|
2803 (Made by Morgan, 1st November 1996) |
|
2804 |
|
2805 1) MAKTRAN |
|
2806 Another minor fix to deal with unusually shaped .MAK files. This |
|
2807 time it's old link information stored in comment lines. |
|
2808 Added "-Wno-ctor-dtor-privacy" to CPPFLAGS. |
|
2809 |
|
2810 2) PEDIFF |
|
2811 Bug fix HA-283. The final section in a PE file may be truncated |
|
2812 to its VirtualSize making the SizeOfRawData field of the header |
|
2813 inaccurate. This was causing a problem in the release build but |
|
2814 not the debug build. |
|
2815 Fixed by padding the section data with zeros up to SizeOfRawData |
|
2816 bytes. |
|
2817 |
|
2818 3) ROMBUILD |
|
2819 Added a iTextSize member to TRomImageHeader. Making this version |
|
2820 of rombuild incompatable with any E32 before build 075. |
|
2821 |
|
2822 |
|
2823 Version 0.01.046 |
|
2824 ================ |
|
2825 (Made by Morgan, 1st November 1996) |
|
2826 |
|
2827 1) MAKTRAN |
|
2828 Added support for include directories other than ..\inc and |
|
2829 \epoc32\include |
|
2830 |
|
2831 |
|
2832 Version 0.01.045 |
|
2833 ================ |
|
2834 (Made by Morgan, 7th October 1996) |
|
2835 |
|
2836 1) MAKTRAN |
|
2837 Added a -U<Uid> switch to put the 3rd uid in the target's import |
|
2838 stub so the Dll/Exe exports as DllName[Uid].Ext |
|
2839 This enables you to use the type-safe static linking (based on the |
|
2840 Dll's 3rd Uid) in E32(070)/F32(036) and ROMBUILD(043). |
|
2841 |
|
2842 2) ROMBUILD |
|
2843 Officially PVCSed DW's patch to ROMBUILD(044) that disables |
|
2844 type-safe static linking and added a -type-safe-link option to |
|
2845 turn it back on. |
|
2846 I'll leave it that way until people get used to the idea (or until |
|
2847 someone comes up with a better plan). |
|
2848 Also added checks on the first Uid against |
|
2849 KNarrowDebugUid, KNarrowReleaseUid for Ascii builds and |
|
2850 KWideDebugUid, KWideReleaseUid for Unicode builds. I havn't made |
|
2851 this dependent on the -type-safe-link option because executables |
|
2852 and dlls wont load if this Uid is not set correctly. |
|
2853 |
|
2854 |
|
2855 Version 0.01.044 |
|
2856 ================ |
|
2857 (Made by Morgan, 3rd October 1996) |
|
2858 |
|
2859 1) ROMBUILD |
|
2860 ROMBUILD can now take E32 Image (pre-PETRANned) files as well as |
|
2861 PE Format files as input. |
|
2862 |
|
2863 |
|
2864 Version 0.01.043 |
|
2865 ================ |
|
2866 (Made by Morgan, 2th October 1996) |
|
2867 |
|
2868 1) MAKTRAN |
|
2869 Better filename parsing for the -z option. |
|
2870 |
|
2871 2) PETRAN |
|
2872 Added a -priority option. This takes a number or one of these |
|
2873 keywords: low, background, foreground, high, windowserver, |
|
2874 fileserver, realtime, supervisor. |
|
2875 |
|
2876 3) ROMBUILD |
|
2877 Added 'priority' inline keyword for EXEs. |
|
2878 Added checks for type-safe static linking of DLLs. |
|
2879 |
|
2880 5) E32UID |
|
2881 Jal: Displays the psion copyright message and build. |
|
2882 Renumbered Uids to be Uid0, Uid1, and Uid2. |
|
2883 |
|
2884 6) ALL |
|
2885 Redirected error output to stderr. |
|
2886 |
|
2887 |
|
2888 Version 0.01.042 |
|
2889 ================ |
|
2890 (Made by Morgan, 14th September 1996) |
|
2891 |
|
2892 1) PREPRO, PEIGER |
|
2893 Changes to MNT.CMD to include the latest versions of |
|
2894 PREPRO and PEIGER in the E32TOOLS release. |
|
2895 |
|
2896 2) MAKTRAN |
|
2897 Minor bug fixes for -D defined symbols. |
|
2898 |
|
2899 3) E32UID |
|
2900 Added a -Q quiet switch. |
|
2901 |
|
2902 |
|
2903 Version 0.01.041 |
|
2904 ================ |
|
2905 (Made by Morgan, 14th September 1996) |
|
2906 |
|
2907 1) MAKTRAN |
|
2908 Added support for maktranning make files of static libraries. |
|
2909 There are added complications when using static libraries from |
|
2910 GCC: |
|
2911 You may find that any executables linked with a static library |
|
2912 produce reams of "bad relocation" errors from either PETRAN or |
|
2913 ROMBUILD. At the moment, to work around this you will need to |
|
2914 modify 2 lines for each build in the MAKTRANed file. |
|
2915 $(LD) ... --whole-archive my_exe.in --no-whole-archive ... my_lib.lib |
|
2916 becomes: |
|
2917 $(LD) ... --whole-archive my_exe.in my_lib.lib --no-whole-archive ... |
|
2918 this has the effect of including all code from the static library |
|
2919 in your .EXE whether it is used or not, but it fixes the bad |
|
2920 relocations generated by the GCC linker. |
|
2921 |
|
2922 MAKTRAN also propogates defined symbols from the MSVC4 |
|
2923 Build/Settings dialog excluding: |
|
2924 __WINS__,__VC32__,__EXE__,__DLL__, |
|
2925 _UNICODE,WIN32,_WINDOWS |
|
2926 |
|
2927 2) DEFTOOL |
|
2928 No longer truncates your def file if it can't find the specified |
|
2929 freeze file. |
|
2930 |
|
2931 |
|
2932 Version 0.01.040 |
|
2933 ================ |
|
2934 (Made by Morgan, 2nd September 1996) |
|
2935 |
|
2936 !) ROMBUILD |
|
2937 Bug fix: for EXEs/DLLs with no imports. |
|
2938 |
|
2939 The tab character is now treated as white space in obey files. |
|
2940 |
|
2941 Improved some error messages. |
|
2942 |
|
2943 Removed the universally dispised 'nocallentrypoint' directive on |
|
2944 the grounds that it looked silly. |
|
2945 Executables specified with 'file=' do not have the entry points |
|
2946 called. New keyword 'dll=' indicates that the entry points |
|
2947 should be called. |
|
2948 |
|
2949 Fixed filename case dependency. |
|
2950 |
|
2951 2) MAKTRAN |
|
2952 Added the switches '--whole-archive' and '--no-whole-archive' |
|
2953 around the .in file on the linker command line to keep GCC happy. |
|
2954 This only effects EXEs - as DLLs did it already. |
|
2955 |
|
2956 |
|
2957 Version 0.01.039 |
|
2958 ================ |
|
2959 (Made by Morgan, 19th August 1996) |
|
2960 |
|
2961 1) MAKTRAN |
|
2962 Added Unicode and Debug (U,D) suffixes to DEF files to make the |
|
2963 filenames for each target different under the new directory |
|
2964 structure. |
|
2965 Freeze files have also been given the same treatment: specifying |
|
2966 -z afile.frz |
|
2967 will use afile.frz, afileD.frz, afileU.frz, afileUD.frz |
|
2968 as freeze files for the respective builds. |
|
2969 |
|
2970 |
|
2971 Version 0.01.038 |
|
2972 ================ |
|
2973 (Made by Morgan, 2nd August 1996) |
|
2974 |
|
2975 1) MAKTRAN |
|
2976 New maktran for the new epoc32 directory structure. |
|
2977 -T option removed. Template instantiation is automatic. |
|
2978 Dlls are auto-detected by looking for __DLL__ in the .MAK file, |
|
2979 but this can be overridden with -D (to force a DLL) and -E (to |
|
2980 force an EXE) |
|
2981 Bug fix: MAKTRAN now deals with make files that do not have |
|
2982 their "Win32 Release" target first. |
|
2983 |
|
2984 2) ETOUCH |
|
2985 Replacement TOUCH program. |
|
2986 |
|
2987 3) ROMBUILD |
|
2988 Bug fix: for data sections with no relocations |
|
2989 |
|
2990 4) PETRAN |
|
2991 Added -nocallentrypoints option (can be shortened to -nocall) |
|
2992 and -callentrypoints option ( shortened to -call) |
|
2993 Bug fix: for executable files with no relocations |
|
2994 |
|
2995 |
|
2996 Version 0.01.037 |
|
2997 ================ |
|
2998 (Made by Morgan, 2nd August 1996) |
|
2999 |
|
3000 1) ROMBUILD |
|
3001 Yet another change that will break your rom if you don't pay |
|
3002 attention to the version numbers. This build is intended to |
|
3003 work with E32 (065). |
|
3004 The format of the Dll reference table has changed, and now looks |
|
3005 like this: |
|
3006 |
|
3007 class TDllRefTable |
|
3008 { |
|
3009 public: |
|
3010 TUint16 iFlags; |
|
3011 TUint16 iNumberOfEntries; |
|
3012 }; |
|
3013 followed by iNumberOfEntries of these: |
|
3014 class TDllRefTableEntry |
|
3015 { |
|
3016 public: |
|
3017 TUint iEntryPoint; |
|
3018 TUint iDllRefTable; |
|
3019 }; |
|
3020 |
|
3021 Added another inline keyword "nocallentrypoint" to obey files. |
|
3022 When attached to a file it prevents the entry points of linked |
|
3023 Dlls being called. This is used to save time during loading |
|
3024 when the Dll's entry points are trivial (=empty). |
|
3025 |
|
3026 2) Fiddled with the -s option. |
|
3027 -S outputs the size summary to the screen and to the log |
|
3028 -SLog outputs the size summary to the log only |
|
3029 -SScreen outputs the size summary to the screen only |
|
3030 |
|
3031 3) Forced the primary's code section to start on a 4K page boundry |
|
3032 for obscure operating system reasons. |
|
3033 (ie, Getting the exception/interrupt vectors to land on a page |
|
3034 boundry so they can be easily mapped by the MMU to the address |
|
3035 where they are expected to be.) |
|
3036 |
|
3037 4) Added support for building Unicode roms. The implementation for |
|
3038 writing Unicode filenames to ROM is temporarily dubious. |
|
3039 A Unicode rom is made by specifying the keyword 'unicode' in the |
|
3040 first section of the obey file. |
|
3041 |
|
3042 5) Added the keyword 'stop' so parsing of an obey file can |
|
3043 be stopped prematurely. |
|
3044 |
|
3045 |
|
3046 Version 0.01.036 |
|
3047 ================ |
|
3048 (Made by Morgan, 11th July 1996) |
|
3049 |
|
3050 1) ROMBUILD |
|
3051 Support for generating split ROM images - added the optional |
|
3052 keywords: |
|
3053 romnameodd=<file name> |
|
3054 romnameeven=<file name> |
|
3055 resulting in two half-roms. one containing all odd numbered |
|
3056 half-words (16bits) and one containing all the even half-words. |
|
3057 |
|
3058 Checksums: |
|
3059 Added a checksum member to TRomHeader and an optional keyword |
|
3060 romchecksum=<n> |
|
3061 for obey files. This results in a ROM where summing all 32 bit |
|
3062 words (ignoring overflows) will return n. The default sum of |
|
3063 all ROM words is 0. |
|
3064 |
|
3065 Checksums for the ROM and for split ROMs are now calculated and |
|
3066 reported in the log. These checksums are calculated by summing |
|
3067 all 8bit bytes and taking the least significant 32 bits of the |
|
3068 result. |
|
3069 |
|
3070 |
|
3071 Version 0.01.035 |
|
3072 ================ |
|
3073 (Made by Morgan, 10th June 1996) |
|
3074 |
|
3075 1) MAKTRAN |
|
3076 Added a RELGDB target which pretends to be the REL target |
|
3077 while keeping the debug info. |
|
3078 This has the same effect as a REL build when the makefile is |
|
3079 generated with: |
|
3080 MAKTRAN -no-strip-symbols -g"-g -fno-omit-frame-pointer" src dest |
|
3081 |
|
3082 2) DEFMAKE, DEFTOOL |
|
3083 Added -2 switch to compliment the -f switch so you can specify |
|
3084 the second ordinal as well as the first without the need to mess |
|
3085 around with freeze files. |
|
3086 This allows us to accomadate DLLs with the UID function at |
|
3087 ordinal 1, and the GateL function at ordinal 2. |
|
3088 Also added -1 switch which is the same as -f to keep things |
|
3089 consistent. |
|
3090 |
|
3091 |
|
3092 Version 0.01.034 |
|
3093 ================ |
|
3094 (Made by Morgan, 26th June 1996) |
|
3095 |
|
3096 1) ROMBUILD |
|
3097 Added facility to output Motorola S format Records. |
|
3098 Use the optional keyword: |
|
3099 srecordfilename=<output filename> |
|
3100 in the first section of the obey file. |
|
3101 |
|
3102 2) MAKTRAN |
|
3103 gcc option -mcpu-arm710 is now -mcpu=arm710 |
|
3104 Added -strip-symbols and -no-strip-symbols options. |
|
3105 These force the linker to keep or strip all symbol |
|
3106 information (including debug symbol info). If both |
|
3107 are omitted then symbols are striped for release |
|
3108 builds only. |
|
3109 |
|
3110 |
|
3111 Version 0.01.033 |
|
3112 ================ |
|
3113 (Made by Morgan, 24th June 1996) |
|
3114 |
|
3115 1) MAKTRAN |
|
3116 The -m6 flag on the CPPFLAGS line has changed to |
|
3117 -mcpu-arm710 -mapcs-32 |
|
3118 added -fvtable-thunks and |
|
3119 removed -fno-implicit-templates |
|
3120 |
|
3121 |
|
3122 Version 0.01.032 |
|
3123 ================ |
|
3124 (Made by Morgan, 20th June 1996) |
|
3125 |
|
3126 1) PETRAN, ROMBUILD |
|
3127 Bug fix: Relocations for the .rdata section were 4 bytes out |
|
3128 when the executable had a .rdata section and no imports. |
|
3129 |
|
3130 PETRAN now performs a sanity check on all virtual addresses, and |
|
3131 lists the dubious ones. |
|
3132 |
|
3133 2) MAKTRAN |
|
3134 Made the error messages more descriptive when the .MAK file |
|
3135 doesn't contain one of the expected targets. |
|
3136 |
|
3137 |
|
3138 Version 0.01.031 |
|
3139 ================ |
|
3140 (Made by Morgan, 12th June 1996) |
|
3141 |
|
3142 1) PEDIFF |
|
3143 syntax: PEDIFF pefile pefile |
|
3144 PEDIFF -e32 e32imagefile e32imagefile |
|
3145 compares 2 PE/E32Image format files to see if they are identical |
|
3146 ignoring all time/date stamps |
|
3147 |
|
3148 2) PETRAN |
|
3149 Another change to the E32Image file format to add a time stamp. |
|
3150 |
|
3151 |
|
3152 Version 0.01.030 |
|
3153 ================ |
|
3154 (Made by Morgan, 11th June 1996) |
|
3155 |
|
3156 1) PETRAN, ROMBUILD |
|
3157 Fixes to supply more information for the ram loader. |
|
3158 (ie. the size of the import section) |
|
3159 Documentation for the E32 Image file format is available from |
|
3160 the 'E32Base' Notes database. |
|
3161 |
|
3162 |
|
3163 Version 0.01.029 |
|
3164 ================ |
|
3165 (Made by Morgan, 7th June 1996) |
|
3166 |
|
3167 1) PETRAN |
|
3168 Added the command line switches: |
|
3169 -stack <stack size> |
|
3170 -uid<n> <uid> |
|
3171 for setting the stack size and the file's uids |
|
3172 |
|
3173 The output of PETRAN has changed to the new E32Image file |
|
3174 format giving a (seasonally adjusted) size reduction of between |
|
3175 20 and 40 bytes. |
|
3176 |
|
3177 2) ROMBUILD |
|
3178 Uses the new E32Image file format. |
|
3179 Added heap size, and uids to the file modifiers |
|
3180 file = <src PE file> <dest EPOC file> [attributes]* |
|
3181 where 'attributes' is |
|
3182 attrib = [r|s|h|R|S|H]+ |
|
3183 stack = <stack size> |
|
3184 reloc = <specific relocation address> |
|
3185 heapmax = <heap size> |
|
3186 heapmin = <heap size> |
|
3187 uid<n> = <uid> |
|
3188 Files in the rom are now read-only (R) by default (use |
|
3189 attrib=r to make them read/write) |
|
3190 |
|
3191 Made filename and import/export name compares case insensitive |
|
3192 |
|
3193 3) DEFMAKE |
|
3194 DEFMAKE now accepts Alpha CPU PE Files |
|
3195 |
|
3196 |
|
3197 Version 0.01.028 |
|
3198 ================ |
|
3199 (Made by Morgan, 30th May 1996) |
|
3200 |
|
3201 1) MAKTRAN |
|
3202 added a -g flag to pass extra parameters to the gcc command line |
|
3203 eg. |
|
3204 -g-fcheck-new |
|
3205 adds: -fcheck-new to CPPFLAGS and |
|
3206 -g"-fcheck-new -fsigned-char" |
|
3207 adds: -fcheck-new -fsigned-char |
|
3208 |
|
3209 |
|
3210 Version 0.01.027 |
|
3211 ================ |
|
3212 (Made by Morgan, 29th May 1996) |
|
3213 |
|
3214 1) ROMBUILD |
|
3215 Changed the format of the 'file' keyword to allow overriding of |
|
3216 various file attributes. |
|
3217 New format is: |
|
3218 file = <src PE file> <dest EPOC file> [attributes]* |
|
3219 where 'attributes' is |
|
3220 attrib = [r|s|h]+ |
|
3221 stack = <stack size> |
|
3222 reloc = <specific relocation address> |
|
3223 |
|
3224 The -s switch now lists file sizes in the same order as files |
|
3225 occur in the obey file. |
|
3226 |
|
3227 Fixed a problem with reading relocations when the PE format file |
|
3228 lies about the VirtualSize of the section. |
|
3229 |
|
3230 2) MAKTRAN |
|
3231 Removed the -s flag from the linking stage of debug builds |
|
3232 to keep gcc generated debug information. |
|
3233 |
|
3234 3) DEFTOOL |
|
3235 Improved error reporting. |
|
3236 |
|
3237 4) General |
|
3238 Removed the dependencies on TRomExeHeader and TRomDllHeader |
|
3239 (from the header files of E32(059)) which are now defunct |
|
3240 so the tools build properly with E32(060). |
|
3241 Removed some of the dead code left over from E32ROM |
|
3242 |
|
3243 |
|
3244 Version 0.01.026 |
|
3245 ================ |
|
3246 (Made by Morgan, 24th May 1996) |
|
3247 |
|
3248 1) ROMBUILD |
|
3249 Altered the size summary output to include data files. |
|
3250 Currently the files are listed in depth first directory |
|
3251 order. I intend to change this so they appear in the |
|
3252 same order as they appear in the obey file. |
|
3253 |
|
3254 2) PETRAN |
|
3255 Fixed a bug that crashed the translator when the size of the |
|
3256 relocation section of an executable was a multiple of 0x200 |
|
3257 (the PE format file alignment size.) |
|
3258 |
|
3259 3) MAKTRAN |
|
3260 Added a CLEAN target. |
|
3261 |
|
3262 |
|
3263 Version 0.01.025 |
|
3264 ================ |
|
3265 (Made by Morgan, 23rd May 1996) |
|
3266 |
|
3267 1) E32ROM has been killed |
|
3268 |
|
3269 2) ROMBUILD replaces E32ROM |
|
3270 Syntax: ROMBUILD [-v] [-s] obeyfilename |
|
3271 -v verbose flag |
|
3272 -s gives a size summary of all executables in the rom |
|
3273 Logged output appears in the file ROMBUILD.LOG |
|
3274 |
|
3275 The obey files for ROMBUILD are slightly different: |
|
3276 The keyword 'resource' has been replaced with 'data' for |
|
3277 putting data files in rom. |
|
3278 A manditory keyword 'kernheapmax' has been added. |
|
3279 The 'version' keyword has the syntax Major[.Minor[(Build)]] |
|
3280 |
|
3281 3) PETRAN |
|
3282 Produces E32ImageFile format files from PEFiles. |
|
3283 |
|
3284 4) Jal, |
|
3285 E32UID |
|
3286 Attaches UIDs to WINS files. |
|
3287 |
|
3288 |
|
3289 Version 0.01.024 |
|
3290 ================ |
|
3291 (Made by Morgan, 14th May 1996) |
|
3292 |
|
3293 1) DEFMAKE, DEFTOOL and MAKTRAN |
|
3294 Added -z switch to specify a frozen def file. |
|
3295 The exports in the frozen def file appear first (and in order) |
|
3296 in the new def file. All additional exports are added to the |
|
3297 end. |
|
3298 A warning will be give if an export in the frozen def file |
|
3299 does not appear in the executable being processed. |
|
3300 |
|
3301 |
|
3302 Version 0.01.023 |
|
3303 ================ |
|
3304 (Made by Morgan, 3rd May 1996) |
|
3305 |
|
3306 1) Jane |
|
3307 Added space for the Uid system to the Rom Exe and DLL headers. |
|
3308 |
|
3309 |
|
3310 Version 0.01.022 |
|
3311 ================ |
|
3312 (Made by Morgan, 1st May 1996) |
|
3313 |
|
3314 1) E32ROM: |
|
3315 Added path checking so now it is not possible to create |
|
3316 directories with the name "" |
|
3317 The version specified by the obey file is now put into the rom. |
|
3318 |
|
3319 2) MAKTRAN: |
|
3320 /f switch added to specify the name of the function to use as |
|
3321 the first ordinal in the dll. (only works with /d switch). |
|
3322 More looping bugs fixed. This time in the Archive generation. |
|
3323 Added some meagre form of test suit: DIFs good .ARM files |
|
3324 with files generated from the current version. |
|
3325 Put in the work-around for the "ld hardcoded to C:" problem. |
|
3326 |
|
3327 |
|
3328 Version 0.01.021 |
|
3329 ================ |
|
3330 (Made by Morgan, 23rd April 1996) |
|
3331 |
|
3332 1) MAKTRAN bug fixes: |
|
3333 Added gcc -g option to the debug builds to produce debug output. |
|
3334 Fixed HA-103: Now rules are only output for .cpp files |
|
3335 Having a .. or a . in the path for a source file |
|
3336 (eg SOURCE=.\T_BLOB.CPP) no longer puts MAKTRAN into an endless |
|
3337 loop. Also using system variables in path specifiers |
|
3338 (eg {($INCLUDE)}"\AHeader.H" ) no longer fills your hard disk. |
|
3339 Source files with no dependancies now generate a target. |
|
3340 |
|
3341 |
|
3342 Version 0.01.020 |
|
3343 ================ |
|
3344 (Made by Morgan, 11th April 1996) |
|
3345 |
|
3346 E32ROM: |
|
3347 1) Jal, |
|
3348 The 'resource' option is fixed and the rom is given the correct |
|
3349 date. |
|
3350 |
|
3351 2) Jane, |
|
3352 Added an error message if you don't supply enough parameters on |
|
3353 any line in the files section. |
|
3354 |
|
3355 |
|
3356 Version 0.01.019 |
|
3357 ================ |
|
3358 (Made by Graham, 8th April, 1996) |
|
3359 |
|
3360 1) Changed MAKTRAN-created makefile compiler options: |
|
3361 |
|
3362 Added -fno-implcit-templates |
|
3363 In the past GCC automatically instantiated template classes and |
|
3364 functions. We now want to take complete control of this, so all |
|
3365 such templates will have to be instantiated by hand. There is an |
|
3366 extra switch (/T) on the command line which enables automatic |
|
3367 template instantiation to be turned back on, but this should only |
|
3368 be used when compiling test programs. Releasable code should take |
|
3369 advantage of the reduction in ROM size which hand-instantiation |
|
3370 brings. |
|
3371 |
|
3372 Removed -fvtable-thunks |
|
3373 Those programs which exploit multiple-inheritence should now work. |
|
3374 |
|
3375 Added $(USERDEFS) |
|
3376 This enables you to add your own definitions to the build. |
|
3377 e.g. nmake /f elink.mak USERDEFS=-D_USE_LOG |
|
3378 |
|
3379 2) Changed MAKTRAN-created makefile linker options: |
|
3380 |
|
3381 Added --no-whole-archive option |
|
3382 This should greatly improve the size and linking speed DLL's. In |
|
3383 order to exploit this, you must get the next release of the GCC |
|
3384 tools from the network. Do this by typing TOOLS GCC and making |
|
3385 sure that \GCC\BIN is in your path. |
|
3386 |
|
3387 3) Fixed a bug with MSVC .MAK files which contain custom builds |
|
3388 |
|
3389 |
|
3390 Version 0.01.018 |
|
3391 ================ |
|
3392 (Made by Morgan, 3rd April, 1996) |
|
3393 |
|
3394 1) Extended DEFTOOL to take a -f switch (takes the name of the |
|
3395 function to be ordinal 1). |
|
3396 |
|
3397 |
|
3398 Version 0.01.017 |
|
3399 ================ |
|
3400 (Made by Graham, 26th March, 1996) |
|
3401 |
|
3402 1) Fixed a bug in E32ROM which gave "relocation type not handled" in |
|
3403 the presence of .reloc sections which were an exact multiple of |
|
3404 256 bytes in length. |
|
3405 |
|
3406 2) Fixed the MAKTRAN "if exist xxx.in del xxx.in" bug |
|
3407 |
|
3408 3) Added DEB, UREL and UDEB builds to MAKTRAN make files |
|
3409 |
|
3410 Jane: |
|
3411 |
|
3412 4) Better error reporting in E32ROM.EXE |
|
3413 |
|
3414 |
|
3415 Version 0.01.016 |
|
3416 ================ |
|
3417 (Made by Graham, 19th March, 1996) |
|
3418 |
|
3419 1) Fixed a bug in targetting some test program make files. |
|
3420 2) Changed "del xxx.in" to "if exist xxx.in del xxx.in" |
|
3421 |
|
3422 Lane: |
|
3423 |
|
3424 3) Changed the mechanism by which libraries to be linked are found. |
|
3425 |
|
3426 Jane: |
|
3427 |
|
3428 4) Further improvements to the error reporting for DEFMAKE. |
|
3429 |
|
3430 |
|
3431 Version 0.01.015 |
|
3432 ================ |
|
3433 (Made by Graham, 8th March, 1996) |
|
3434 |
|
3435 1) Changed all tools to display their version and build numbers. |
|
3436 |
|
3437 Jane: |
|
3438 |
|
3439 2) Fixed a couple of heap problems in E32ROM, and generally increased robustness. |
|
3440 Will now print an error message if there are too many files for the ROM, |
|
3441 rather than scribbling all over your nice memory. |
|
3442 |
|
3443 3) Improved some of the error reporting for DEFMAKE. |
|
3444 |
|
3445 Version 0.01.014 |
|
3446 ================ |
|
3447 (Made by Graham, 6th March, 1996) |
|
3448 |
|
3449 1) Changed MAKTRAN to accept makefiles which have depenencies ..\..\ |
|
3450 away from their source directory. |
|
3451 |
|
3452 Version 0.01.013 |
|
3453 ================ |
|
3454 (Made by Graham, 5th March, 1996) |
|
3455 |
|
3456 1) Changed MAKTRAN to accept makefiles which are completely relative to |
|
3457 the directory in which they reside. NB These makefiles cannot be |
|
3458 correctly translated if they are moved to a different directory. |
|
3459 |
|
3460 Version 0.01.012 |
|
3461 ================ |
|
3462 (Made by Graham, 4th March, 1996) |
|
3463 |
|
3464 1) Changed MAKTRAN to assume DEFTOOL.EXE is in your path |
|
3465 2) Changed MAKTRAN so that it correctly sets __DLL__ and __EXE__ |
|
3466 3) Changed MAKTRAN to handle specially named DLL's - .DEV .MTD etc |
|
3467 4) Changed MAKTRAN to handle projects with non-compilable components |
|
3468 5) Changed the mechanism by which MAKTRAN decides group and project. |
|
3469 |
|
3470 Version 0.01.011 |
|
3471 ================ |
|
3472 (Made by Graham, 27th February, 1996) |
|
3473 |
|
3474 1) Changed E32ROM to give each .EXE an 8K Stack |
|
3475 2) Fixed bugs in MAKTRAN to do with picking up the name of the target |
|
3476 3) Removed --whole-archive from .EXE make files built by MAKTRAN |
|
3477 |
|
3478 Version 0.01.010 |
|
3479 ================ |
|
3480 (Made by Jane, 26th February, 1996) |
|
3481 |
|
3482 1) Fixed mnd.cmd for command line builds |
|
3483 |
|
3484 Version 0.01.009 |
|
3485 ================ |
|
3486 (Made by Jane, 23rd February, 1996) |
|
3487 |
|
3488 1) Switched to Visual C++ 4.0 |
|
3489 |
|
3490 2) E32ROM - Added support for REM statement in obeyfiles |
|
3491 |
|
3492 3) E32ROM - Fixed an obeyfile init bug which became apparent under the new compiler |
|
3493 |
|
3494 4) DEFMAKE & E32ROM - added support for export table being in .rdata section, as it is |
|
3495 now with Visual C++. (Export table in .edata is still supported.) |
|
3496 |
|
3497 5) DEFMAKE - added -q option which surrounds symbols names in "". This is mostly needed by |
|
3498 gcc builds where all destructors have a full stop in their name. |
|
3499 |
|
3500 6) First release of MAKTRAN and DEFTOOL from Lane |
|
3501 MAKTRAN converts msvc .mak files to gcc format. |
|
3502 DEFTOOL is used by MAKTRAN to strip out garbage from .def files |
|
3503 and to insert "NONAME" as required by gcc. |
|
3504 For MAKTRAN usage type "MAKTRAN". |
|
3505 |
|
3506 7) E32ROM - in log now displays absolute ROM addresses rather than offsets, and for text only |
|
3507 |
|
3508 Version 0.01.008 |
|
3509 ================ |
|
3510 (Made by Jane, 31st January, 1996) |
|
3511 |
|
3512 1) Removed support for old time class |
|
3513 |
|
3514 |
|
3515 Version 0.01.007 |
|
3516 ================ |
|
3517 (Made by Jane, 8th January, 1996) |
|
3518 |
|
3519 1) Changed to new time class |
|
3520 |
|
3521 |
|
3522 Version 0.01.006 |
|
3523 ================ |
|
3524 (Made by Jane, 21st December 1995) |
|
3525 |
|
3526 1) Added versions to tools |
|
3527 |
|
3528 2) E32ROM - Changed heap min size for apps to 32k. |
|
3529 |
|
3530 3) E32ROM - Exits with error if files fail to fixup due to importing by name |
|
3531 |
|
3532 |
|
3533 Version 0.01.004/005 |
|
3534 ==================== |
|
3535 (Made by Jane, 15th November 1995) |
|
3536 |
|
3537 1) Added -R option to DEFMAKE so that the omission of ??__Dbg names in the .DEF |
|
3538 (release 003, (1)) can be optional. |
|
3539 |
|
3540 2) DEFMAKE alone now prints the meaning of the switches as well as help text. |
|
3541 |
|
3542 Version 0.01.003 |
|
3543 ================ |
|
3544 (Made by Jane, 7th November 1995) |
|
3545 |
|
3546 1) Changed DEFMAKE not to write any exports after it hits the first |
|
3547 ??__Dbg prefixed name, allowing me to automate the E32 build |
|
3548 completely. |
|
3549 |
|
3550 2) E32ROM - Added code to avoid overwriting the first byte of a file if presented |
|
3551 with an invalid RVA of 0. (Bug in Cygnus tools). |
|
3552 |
|
3553 Version 0.01.002 |
|
3554 ================ |
|
3555 (Made by Jane, 2nd November 1995) |
|
3556 |
|
3557 1) Converted DEFMAKE to the new HOST scheme. |
|
3558 |
|
3559 2) Sorted MNT.CMD so E32ROM will actually build. |
|
3560 |
|
3561 |
|
3562 Version 0.01.001 |
|
3563 ================ |
|
3564 (Made by Jane, 1st November 1995) |
|
3565 1) First release. |
|
3566 |