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