ROMTools-13.1.0.2
Bug 3415 - SBS failing to build open C libraries
===============(Made by Ross Qin 06/09/2010)Change for Symbian Foundation bug 3415sym_lkup_util version 1.1.1Version 0.01.680=========================(Made by Marvin Shi 19/08/2010)1) bug468 initialized static data built into a static library does not get initialized correctly<unchange>================(Made by Zheng Shen 12/06/2010)1) minor: enable the following scripts on Linuxconv_khronos_openvg_hdr_to_cpp.plconv_khronos_hdr_to_cpp.plcopyfeaturevariants.plecopyfile.plarmasm2as.pl ===============sym_lkup_util version 1.1.0listzip version 1.1.0prepdef version 1.1.1omapsig version 1.1.0makedef version 1.1.1h2inc version 1.1.0gendef version 1.1.0createrfifile version 1.1.0efreeze version 1.1.1================(Made by Marvin Shi 02/06/2010)1) change for linux porting=======Version 1.1.0 (efreeze.pl)Version 1.1.0 (prepdef.pl)Version 1.1.0 (makedef.pl)================(Made by Lorence Wang 14/05/2010)1) Lorence Wang Make efreeze.pl prepdef.pl makedef.pl sym_lkup_util.pl stand aloneVersion 0.01.679================(Made by Zheng Shen 11/02/2009)1) Marvin Shi PDEF144284 refine fix for Bug 151 - bldmake is not in PDK2.0c2) Ross Qin PDEF144387 Tools meta files should not be exported in the build phase Version 0.01.678================(Made by Zheng Shen 8/02/2009)1) Brook Hong PDEF144276 Excess warnings from makedef.pl 2) Marvin Shi PDEF144257 Add libWFC and WF to case check exclusions Version 0.01.676================(Made by Marvin Shi 3/02/2010)1) Marvin Shi PDEF144099 Missing vmap files when using symbian binary variantion Version 0.01.675================(Made by Marvin Shi 18/01/2010)1) Marvin Shi DEF143085 Bug 151 - bldmake is not in PDK2.0c Version 0.01.674================(Made by Zheng Shen 16/12/2009)1) Marvin Shi DEF143406 symbian BV build failed for feature variant target build Version 0.01.673================(Made by Marvin Shi 25/11/2009)1) Yan Jin DEF143140 Toolsmod integrate to ABLD2) Zheng Shen DEF143198 ABLD cannot build STD project when standard C++ support is not available Version 0.01.672================(Made by Marvin Shi 13/11/2009)1) Zheng Shen DEF143038 ABLD is in poor performance on feature variant handling2) Marvin Shi DEF142311 SBSv1 hangs when building for GCCE if RVCT license server not available Version 0.01.671================(Made by Vino Jose 24/09/2009)1) VincentF DEF142155 h2inc.pl produces wrong output with 64-bit PerlVersion 0.01.670================(Made by Ross Qin, 15/09/2009)1) Yan Jin PDEF142025 ABLD LIBRARY ARMV6 does not get exported correct to ARMV6 folder Version 0.01.669================(Made by Ross Qin, 11/09/2009)1) Zheng Shen DEF142005 Remove the hardcode RVCT path when RVCT auto switch feature is disabledVersion 0.01.668================(Made by Zhi Dou, 24/08/2009)1) Marvin Shi DEF141643 boost library integration causes dependency warningVersion 0.01.667================(Made by Zhi Dou, 13/07/2009)1) Marvin Shi PDEF138235 [StrayScanner]GCCXML build macros out-of-date Version 0.01.666================(Made by JohnS, 24/02/2009)1) MichaelMoate DEF135478 tools_e32toolp.mrp is missing entries for naviengine extension makefilesVersion 0.01.665================(Made by SivashankarN, 14/11/2008)1) Dan Handley DEF128540 Building for the x86gcc platform by default!Version 0.01.664================(Made by Kun Xu, 17/06/2008)1) Kun Xu PDEF122710 Problems in cl_bpabi.pm impacting Java builds. PDEF123589 ARMV6 BSF handled incorrectly in tools.Version 0.01.663================(Made by ParameshwariB, 23/05/2008)1) TomCosgrove DEF123134: X86 GCC only: Don't delete the PE-COFF files; they are needed by GDBVersion 0.01.662================(Made by William Roberts, 22/04/2008)1) William Roberts Move make.exe and scpp.exe into e32toolp\binutils directory, and add zip files of the matching source code, comply with the GPL license Adjust setupprj.bat and bld.inf accordingly.Version 0.01.662================(Made by Iain Williamson, 08/04/2008)1) Iain Williamson GT0367 MS3.2.1 DS781 PREQ1902: Product Creation Tools: Kit Information FileVersion 0.01.661================(Made by Jon Chatten, 06/02/2008)1) Jon Chatten DEF117441: SBSv2 - e32toolp should support .rfi generation for GCCXML buildsVersion 0.01.660================(Made by Jon Chatten, 17/01/2008)1) Jon Chatten DEF116424: ABLD should ignore the DEPENDS keyword in .mmp file START RESOURCE blocksVersion 0.01.659================(Made by Peter Harper, 20/12/2007)1) Peter Harper CR1234: Product Usability: Fix Symbian's Binary Variation Solution Needs new verion of GCC CPP (Symbian build 548)Version 0.01.658================(Made by Jon Coppeard, 15/11/2007)1) Jon Coppeard DEF114126: maksym can be speeded upVersion 0.01.657================(Made by Mool Chand Tyagi, 12/10/2007)1) Mool Chand Tyagi PREQ1338: Supporting Static analysis tool in ABLDVersion 0.01.656================(Made by Saravana KumarP, 27/09/2007)1) Saravana KumarP PREQ1801: Feature Manager supporting tool enhancementsVersion 0.01.655================(Made by YiluZhu, 29/08/2007)1) YiluZhu DEF110344: [TCL Build]:Warnings related to tools_sdb in DP00005 Version 0.01.654================(Made by AndrewSmi, 09/08/2007)1) AndrewSmi DEF110094: Run mode debug: debuggable keyword not supported for armv5_abiv1 in MCLVersion 0.01.653================(Made by Stephen Mansfield 22/08/2007)1) stephenm DEF110923: Add new PLUGIN3 target type for EC43 ECOM Interface ExtensionsVersion 0.01.652================(Made by Saurabh, 6/08/2007)1) Saurabh PDEF107553: Symbian should treat wchar_t as default datatype for OETYPE building any project. Version 0.01.651================(Made by Madhu, 20/07/2007)1) Madhu PDEF109271: maksym sometimes ignores ctors & dtors in preference to "sub_objects". Version 0.01.650================(Made by Andrew Haigh, 17/05/2007)1) AndrewHaigh PREQ1426: Added support for DEBUGGABLE MMP keyword.================(Made by Dusko, 12/12/2006)1) Dusko PDEF096684: RF LOCAL_BUILD_PATH is causing build problems with RVCT but works with WINSCWVersion 0.01.648================(Made by Dusko, 24/11/2006)1) KunalM DEF097985 - TOOLS2 build platform doesn't provide the advertised macros correctlyVersion 0.01.647================(Made by Kunal, 08/11/2006)1) KunalM PREQ1182 - GNU Make-based build system MS3.6 DS .425 Version 0.01.646================(Made by Dusko, 06/11/2006)1) JonC PDEF096296 - Build system generated paths/files don't all comply with the Filename PolicyVersion 0.01.645================(Made by Dusko, 11/10/2006)1) DuskoDEF093326: MAKSYMROFS.PL broken by changes to rofsbuild log formatVersion 0.01.644================(Made by Dusko, 27/09/2006)1) JohanG DEF090303: TARGETTYPE LIB should not permit additional LIBRARY statements.Version 0.01.643================(Made by Dusko, 12/09/2006)1) JonC Fix for DEF093939 - "abld -checksource" benign warnings are picked up by SCANLOG.Version 0.01.642================(Made by Srinivaskv, 11/09/2006)1)Srinivaskv BR1874.1 The Instcol.exe build utility is no longer useful as there is no need to deal with black and white screens.Hence this legacy tool should be removed.Version 0.01.641================(Made by Dusko, 05/09/2006)1) Dusko DEF093365 abld reallyclean not working for h2 INC090726 Failure to replace zip files in abld export if existing files have later times 2) JonC DEF093291 - "abld -checksource" ignores WIN32_LIBRARY statements DEF093289: FIXSOURCE doesn't deal with exclusion list entries correctlyVersion 0.01.640================(Made by JonathanM, 01/09/2006)1) AttilaV DEF091560 Warning when using PAGED keyword in MMP fileVersion 0.01.639================(Made by JonC, 09/08/2006)1) JonC Oghma,GT0312,MS3.1 DS.188 - PREQ1182: System-wide: Application of Filename Policy to production build Version 0.01.638================(Made by Dusko, 31/07/2006)1) Dusko PDEF087907: Size of compiled resource file is limited up to 64KBVersion 0.01.637================(Made by Dusko, 25/07/2006)1) Dusko INC088496 .c files are compiled with -c90 even if -cpp is specified in the OPTIONS list2) JohanG PDEF090318 Targetpath cases need to match3) JonC DEF088256 CW >=3.1 IDE builds and multiple LANG statements - brokVersion 0.01.636================(Made by Dusko, 20/07/2006)1) Jon Chatten DEF090302 PRJ_EXPORTS sections in bld.inf files don't support local relative destinations Version 0.01.635================(Made by Dusko, 23/06/2006)1) Dusko INC088374 Catalogs_3.1 does not compile on S60 3.1 build robot (SOS 9.2 wk24) Version 0.01.634================(Made by Dusko, 23/06/2006)1) Rajeswari Rajan INC087802: GCCE Linker can't handle dependencies correctly with -O2 optimizationVersion 0.01.633================(Made by Dusko, 19/06/2006)1) JohanG DEF067717: printsym.pl doesn't show DLL name for DLLs without symbolsVersion 0.01.632================(Made by Dusko, 15/06/2006)1) JohanG DEF066625: MMP XML files have wrong name to fixes branch. DEF087354: abld makefile - dependencies don't work for user header files DEF087077 S60 3.0: GCCE Compiler/Linker will not link static libraries with circular depen DEF087811 GCCE build broken - elf2e32 not update DEF080212 Extension makefile setupprj step doesn't work if Cygwin is in the path DEF086001 cl_bpabi: reorder the list of linked static libraries to support gcce compiler2) Dusko PDEF087156 evalid doesn't ignore RCS tags in header files 3) SatyakamM DEF087646 Broken MakHelp.pm in MCL Version 0.01.631================(Made by DavidM, 26/05/2006)1. AttilaV Milestone: Argus,GT0286,MS3.2 Extended MAKMAKE (MAKAKE.PL, MMP.PM, CL_ARM.pm, CL_BPAPI.pm, MAKHELP.PM) to handle new compression related MMP keywords and pass the compression parameter to ELFTRAN/ELF3E32 in tha makefiles.Version 0.01.630================(Made by Dusko, 31/05/2006)1) JohanG DEF087163 cl_gccml.pm corrupts the mmp.xml generated for GXP files (and CDB)2) JonC DEF087148 "abld -check" sensitive to EC MAKE descriptive output Version 0.01.629================(Made by Dusko, 30/05/2006)1) SatyakamM DEF083913: efreeze does'nt mark the frozen DATA symbols as DATAVersion 0.01.628================(Made by Dusko, 25/05/2006)1) Dusko DEF073575 "bldmake -v bldfiles" produces incorrect outputVersion 0.01.627================(Made by Dusko, Mon 19/05/2006)1) Johan Groth DEF077591 Dependency generation cannot be turned of in Java builds DEF084331 Can't find produced GCCXML files in some cases DEF066625 MMP XML files have wrong name DEF078382 MMP: STRINGTABLE doesn't support forward slashed paths Version 0.01.626================(Made by Dusko, Mon 08/05/2006)1) Dusko INC084690 Bldmake fails when RVCT isn't installedVersion 0.01.625================(Made by Dusko, 13/04/2006)1) Dusko DEF075216 Tools stubs+abld+tranasm doesnt workVersion 0.01.624================(Made by JonC, 03/04/2006)1) JonC INC079605 Build tools path length limitationsVersion 0.01.623================(Made by Dusko, 23/03/2006)1) SatyakamM DEF083247 DEF File oddity - MW linker failure Version 0.01.622================(Made by Dusko, 21/03/2006)1) Dusko DEF082351: CW IDE GCCE project creation broken...Version 0.01.621================(Made by Dusko, 16/03/2006)1) Dusko DEF081536: TARGET keyword is still required with TARGETTYPE NONEVersion 0.01.620================(Made by Dusko, 07/03/2006)1) Dusko DEF080983 .dso files are missing DEF075343 epocrc.pl is ceateing incorrect .INFO files DEF081762 Incorrectly flipping the file extension for STATICLIBS Version 0.01.619================(Made by Dusko, 20/02/2006)1) Dusko DEF080567 epocrc.bat script only allows 9 parameters EF080568 Cannot force C++ compile for ARMV5 builds DEF078622 "abld build gccxml" broken.Version 0.01.618================(Made by Jonc, 15/02/2006)1) JonC DEF080188 START STRINGTABLE doesn't permit use of the temp generated header onlyVersion 0.01.617================(Made by Jonc, 30/01/2006 and 03/02/2006)1) JonC PREQ1366 - Prepare codebase for Linux-hosted system build Argus, GT0282, MS3.6, DS.138, Tight and Loose Integration Extension Makefiles Tools SupportVersion 0.01.616================(Made by Dusko, 05/01/2006)1) Dusko INC073941: Symbian build tools override "--cpu" ARMCC parameter2) JonC DEF075532 - CR ABEK-6CYHEC has broken EVALID ELF comparisonsVersion 0.01.615================(Made by Dusko, 09/12/2005) 1) Dusko DEF073923 makmake for gcce platform is failing DEF074514 PRJ_EXPORTS failure when files #included within bld.infs using "/" in paths DEF074174 VA_* macros cannot be used with GCCE DEF075224: cl_gccxml.pm does not separate user and system includes Version 0.01.614================(Made by JonC, 09/12/2005)1) JonC PREQ1366 - Tools changes as a result of filename policy MS3.4 DS.145Version 0.01.613================(Made by Dusko, 16/11/2005)1) JonC PREQ1366 - Prepare codebase for Linux-hosted system build MS3.2 DS.138 BR.1718 2) Dusko DEF068711: bldmake bldfiles <platform> failing.3) KuldipN DEF073602 - Problems integrating new compilers into toolchainVersion 0.01.612================(Made by JonC, 15/11/2005)1) JonC PREQ1366 - Prepare codebase for Linux-hosted system build MS3.1 DS.140 BR.1683.1Version 0.01.611================(Made by MichaelMo, 08/11/2005)1) JonCo DEF071838: Fixupsym.pl can't cope with folders containing "." in their namesVersion 0.01.610================(Made by Dusko, 04/11/2005)1) Dusko DEF072548 Tools stubs+abld+def2dll doesn't workVersion 0.01.609================(Made by KuldipN, 12/10/2005)1) KuldipN PREQ1028 - Plug-in compiler integration (DS 063)Version 0.01.607================(Made by Dusko, 15/09/2005)1) Dusko DEF068226: CW IDE resource builds don't reflect MMP "START RESOURCE" ordering... DEF068229: CodeWarrior does not list .inl files in its file listingVersion 0.01.606(Made by AndrewSmi, 07/09/2005)1) AndrewSmi DEF062651 - RComp compiles erronously omitted structs INC061459 - RCOMP is not warning about identifiers being used as stringsVersion 0.01.605================(Made by KuldipN, 06/09/2005)1) KuldipN PREQ1028 - Plug-in compiler integrationVersion 0.01.604================(Made by JonC, 05/09/2005)1) JonC MINOR_CHANGE - Addition of non-default EDG MAKMAKE backend.Version 0.01.603================(Made by Dusko, 19/08/2005)1) Dusko DEF066617: OPTION in MMP files for Symbian 9 does not support GCCE.Version 0.01.602================(Made by Dusko, 12/08/2005)1) Dusko DEF065225 ARMV5 IDE builds differ from their command line counterparts... DEF066431 Debugging button not available on some targets because bad default setting DEF065954 CodeWarrior Complains about rss files not being included in the project DEF066129 Make defect has potential to causes failure in MCL Version 0.01.601================(Made by MaximK, 05/08/2005)1) RichardCo MINOR_CHANGE: Add optional dir section to metabld mbc file parsing, to aid Base builds.Version 0.01.600================(Made by Dusko, 28/07/2005)1) Dusko DEF065839 [System Build] BLDMAKE fails to find ARM Version number Version 0.01.599================(Made by JonC, 21/07/2005)1) JonC PREQ1032 Hardware-dependent support for "VFP" floating point acceleration and accelerated maths functionsVersion 0.01.598================(Made by Dusko, 15/07/2005)1) Marcel TOOLS03801: CodeWarrior Tool back Cannot build Winscw targets if ABIV2 is selectedVersion 0.01.597================(Made by Dusko, 13/07/2005)1) Dusko DEF065018 bldmake calls armcc more often than needed DEF064902 SYM files are not copied into the release directoryVersion 0.01.596================(Made by Dusko, 01/07/2005)1) Dusko DEF064173 secdump.exe blows up when you try and use it Version 0.01.595================(Made by Dusko, 29/06/2005)1) Dusko DEF064083 Cannot build ARMV5 Target in CodeWarrior starting with build 03635.01 DEF063878 Recognition of C-style trigraphs is not enabled on WINSCW Version 0.01.594================(Made by KuldipN, 22/06/2005)1) KuldipN DEF060825 PR0104: Addition of GCCE support to CodeWarriorVersion 0.01.593================(Made by KuldipN, 15/06/2005)1) KuldipN DEF062125 PR104: Custom DLL generation is failing Version 0.01.592================(Made by Dusko, 10/06/2005)1) Dusko DEF060666 bldmake.pl checks armv5 compiler version for every "bldmake bldfiles" DEF062217 ARMv4 build broken / --noscanlib should be re-enabled DEF061950 fixupsym passed incorrect parameter to armlink? DEF056540 CW IDE 9.1 builds shouldn't have ARM4 as a default build platform...Version 0.01.591================(Made by KuldipN, 27/05/2005)1) KuldipN PREQ413 Changes to support the GCCE toolchain. PREQ414 Enable Commercial Compatible Compilers DEF061420 Elf2e32 ProblemsVersion 0.01.590================(Made by Dusko, 20/05/2005)1) Dusko DEF060878 Abld escapes space charactersVersion 0.01.589================(Made by ChetanaK, 20/05/2005)1) Chetana PREQ834 - ARMV6 support in ABIV2 mode.Version 0.01.588================(Made by Dusko, 12/05/2005)1) Dusko DEF059351 CHANGES TO CW DEFAULT PROJECT IMPORT TEMPALTES NEEDED TO PROGRESS SEMC FIX Version 0.01.587================(Made by KuldipN, 11/05/2005)1) KuldipN DEF060826 - PR0104 - PostLinker Memory LeaksVersion 0.01.586================(Made by Dusko, 10/05/2005)1) BalaT DEF061079 EXPORTUNFROZEN fails to create .lib files Version 0.01.585================(Made by KuldipN, 3/05/2005)1) KuldipN PREQ413 Changes to support the GCCE toolchain.Version 0.01.584================(Made by Dusko, 27/04/2005)1) Dusko INC057221 (Tool chain) Log system messages DEF059345 abld.pl incorrectly lists armv5 twice on 'abld help' INC057946 Should be able to conditionally include code for a platform added via a BSF file INC058044 Symbian should define ECOM_PLUGIN_UDEB Version 0.01.583================(Made by BalaT, 14/04/2005)1) BalaT DEF058405 : Linker error when building components in CodeWarrior using RVCT 2.2Version 0.01.582================(Made by JonathanM, 24/03/2005)1) JonathanM DEF058113: Problem when building within the CW IDE 3.02) AndrewR DEF058129: CW unnecessarily intercepts Win32 exceptions3) WilliamRo DEF058094 : e32toolp setupprj.bat should always install the "secure" files. Version 0.01.581================(Made by JonC, 18/03/2005)1) JonC DEF057405 : ARMv5 build fails with a command line which is too long Version 0.01.580================(Made by Bala, 18/03/2005)1) Bala DEF057008 : RVCT2.2 leading edge build fails with errors in base/coreldr files.Version 0.01.579================(Made by Bala, 10/03/2005)1) Bala DEF056929 : [System Build] ARMv5 errors in build 03514 (9.1)Version 0.01.578================(Made by Dusko 09/03/2005)1) Dusko DEF054844 - The cwlink files has the command -noimplib attached to its parameter without a s. DEF054512 - fixupsyms.pl on CEDAR does not support RVCT.2) Bala DEF056440 - CodeWarrior ARMV5 linking fails Version 0.01.577================(Made by Bala, 09/03/2005)1) Bala PREQ1027 Submission of some enhancements for RVCT 2.2 Run-Time ABI Compliance to MCLVersion 0.01.576================(Made by ..., xx/yy/2005)1) AndrewR MINOR_CHANGE: Fix link32 command generation in ide_vc6.pmVersion 0.01.575================(Made by DjordjeK, 21/02/2005)1) AndrewR MINOR_CHANGE: Add __SUPPORT_CPP_EXCEPTIONS__ to MS-Dev workspacesVersion 0.01.574================(Made by Bala, 22/02/2005)1) Bala PREQ1027 Submission of RVCT 2.2 Run-Time ABI Compliance to MCLVersion 0.01.573================(Made by Dusko, 21/02/2005)1) Dusko DEF055405 GCCXML fails for projects with more than 150 source filesVersion 0.01.572================(Made by CarlosF, 15/02/2005)1) AndrewR MINOR_CHANGE: Fix MS-Dev workspace generationVersion 0.01.571================(Made by Dusko, 14/02/2005)1) Dusko DEF054764 Cannot turn off compression on executables built on EKA2, armv5 platform.Version 0.01.570================(Made by ChetanaK, 09/02/2005)1) Chetana PREQ834 and PREQ835 - ARMV6 supportVersion 0.01.569================(Made by Dusko, 24/01/2005)1) Dusko DEF054203 ABLD LISTING is broken for ARMV5 Version 0.01.568================(Made by Dusko, 19/01/2005)1) Dusko DEF051245 - Some Base components won't build for ARMV5 within the OEM3.0 IDE DEF052081 - abld listing on ARMV5 doesn't include code addressesVersion 0.01.567================(Made by Dusko, 18/01/2005)1) Dusko DEF052948 - GCCXML Remarks caused by CM concurrency problems.Version 0.01.566================(Made by Dusko, 20/12/2004)1) Dusko DEF052149 - ABLD output is incorrectly ordered when output is redirected to a file DEF052588 - Problems building test code - case sensitive tools? Version 0.01.565================(Made by Dusko, 20/12/2004)1) Dusko 1) INC052330 - Problems building AIF files 2) DEF052182 - Local project header file inclusion in CW IDE projects doesn't always work... 3) DEF051361 - Remove CTPKG from trgtype.pm fileVersion 0.01.564================(Made by Dusko, 06/12/2004)1) Dusko Reverting changes introduced by cln 468659.Version 0.01.563================(Made by Dusko, 03/12/2004)1) Dusko 1) DEF052428 - [System Build]: CBR (make.exe) errors in 03431 buildsVersion 0.01.562================(Made by Dusko, 02/12/2004)1) Dusko 1) DEF052149 - ABLD output is incorrectly ordered when output is redirected to a file 2) DEF052182 - Local project header file inclusion in CW IDE projects doesn't always work... 3) DEF051361 - Remove CTPKG from trgtype.pm file2) BalaT 1) DEF050507 - GNU Make Errors in Windows Application Event LogVersion 0.01.561================(Made by JonathanM, 29/11/2004)1) JonathanM 1) Add 2 new capabilities SurroundingsDD and UserEnvironment. Part of Change Request CDRS-65RK9FVersion 0.01.560================(Made by Dusko, 23/11/2004)1) BalaT 1) DEF051128 - armv5 library build in parallel cause conflicts2) Dusko 1) DEF051237 - bldmake should not include "arm4" in the default list of platforms for 9..0 2) DEF051838 - BLDMAKE error if two :zip exports refer to the same directory 3) DEF051383 - ARMV5 command line builds can fail with a "via" file buffer over-run3) Jon 1) DEF051947 - SystemPath is not set when building for CW_IDE:ARM41) WilliamRo 1) Removed the migration note for MMP files which don't have a VENDORID This has served its purpose, but is now confusing 3rd parties who think that they should apply for a vendor ID - in fact they shouldn't, because this is a compromise mechanism for licensees to use instead of securing some of their APIs. Only signed SIS files are allowed to include vendor IDs. To check a ROM for vendor ID values, look for "Vendor ID:" in the ROMBUILD log file.Version 0.01.559================(Made by JonC, 17/11/2004) Yankee,PR0102,MS3.6 (PREQ 417 partial) CW miscellaneous updates MINOR_CHANGE Update to e32toolp CW IDE tests, version and release notes.Version 0.01.558================(Made by Dusko, 08/11/2004)1) BalaT 1) FIX for DEF051333 - [System Build] Makmake plugins don't pass SystemTargetType to makedefVersion 0.01.557================(Made by Dusko, 05/11/2004)1) BalaT 1) DEF047267 - NTT - App-services\alarmserver TRepeatdefinitions udeb fails 2) DEF044048 - RVCT version of DEF2DLL camplains about DLLs not having exports 2) Dusko 1) DEF048405 - FPU flags cannot be over ridden from the MMP files, for VFP support.Version 0.01.556================(Made by Dusko, 25/10/2004)1) JonC 1) DEF050428 - __PRODUCT_INCLUDE__ set when it shouldn't be for Codewarrior ARMV5 builds 2) DEF050463 - CW IDE WINSCW builds can ignore "Symbian Linker | Additional Command Line:" 2) Dusko 1) DEF049913 - Buildtools dependency on link.exe for 8.1b/9.0 Version 0.01.555================(Made by xxx, yy/zz/2004)1) AndrewR 1) DEF049659 - ARMV5 Compile of EXPORTUNFROZEN MMPs fails to create internal DEF file.Version 0.01.554================(Made by Dusko, 08/10/2004)1) JonC 1) DEF049860 - MAKMAKE doesn't fully support CW OEM3.0 2) BallaT 1) DEF049659 - ARMV5 Compile of EXPORTUNFROZEN MMPs fails to create internal DEF file.Version 0.01.553================(Made by Dusko, 04/10/2004)1) Dusko Fixes for: DEF049136 - GCCXML: Missing BMARM .def files reported during build. DEF048405 - FPU flags cannot be over ridden from the MMP files, for VFP support.2) JonC DEF049354 ARMv5 falls over if linking too many objects Version 0.01.552================(Made by JonC, 16/09/2004)1) Jon Contributes to implementation of PREQ417 (MS3.4 EABI Plugin) e32toolp support for OEM3.0, including ARMV5 IDE builds. ================1) William 1) Add support for "TARGET" in START RESOURCE ... END blocks This supplies the basename for the resource file, in place of the default which is the basename of the source file. 2) Fix DEF048180 - engdoc should be excluded from tools_e32toolp 3) Change setupprj.bat so that it verifies the tools_e32toolp.mrp file 4) Change setupprj.bat so that it accepts "secure" as an optional argument. If "secure" is specified, files of the form _secure_xxx are exported as xxx, overriding the (insecure) xxx if it existed.Version 0.01.551================(Made by AndreBr, 27/08/2004)1) Andre DEF048272 GCCXML: Makefiles aren't building for 9.0 Version 0.01.550================(Made by MichaelP, 27/08/2004)1) JonathanM 1) MINOR CHANGE: Changed MMP.PL to not issue a warning for an incorrect second UID when this UID is 0x01111111'. This allows test code to deliberately set an incorrect UID.Version 0.01.549================(Made by KuldipN, 24/08/2004)1) Dusko & Andre DEF047480 GCCXML: Reference EABI .def files in MMPXML. DEF047585 GCCXML: Include .def file in GXP Files DEF047903 GCCXML Platform Doesn't exist when pre-processing bld.inf DEF047413 - Bldmake.pl produces and error that is not Scanlog compatibl DEF047918 Gccxml abld -v -k target problem DEF047256 ABLD REALLYCLEAN only cleans up the epoc32\build tree DEF047939 GCCXML: Malformed MMPXML file in GXP MINOR_CHANGE Update of the components used in the automated IDE tests.Version 0.01.548================(Made by KuldipN, 5/08/2004) Rolled back to previous version of make to remove fix for DEF046967 Build Errors: Java Build Problems Version 0.01.547================(Made by KuldipN, 27/07/2004)1) Dusko 1) DEF044958 - some build files are not erased by "abld clean" and "abld reallyclean" 2) DEF046923 Makefile errors with GCCXML build target. 3) DEF046922 abld gccxml target ignores EPOCROOT. 2) Nahid 1) DEF046576 - mmp.pm doesn't produce scanlog compatabile output. 2) DEF045994 - Edll.lib in mmp causes CW Warning Messages3) Kuldip 1) INC046929 - Problem with emkdir.pl - directories not being made 2) DEF046967 Build Errors: Java Build Problems Version 0.01.546================(Made by JonC, 12/07/2004)1) Jon 1) Fix for DEF046739 BUILD ERRORS 8.1b - Build 03313. As a result, the following fixes are reverted: 1) Fix for DEF046732 - \epoc32\build MRP based location breaks test script assumptions. 2) Fix for DEF046538 - Build tools fail with very long pathnames. 3) Fix for DEF044958 - Some build files are not erased by "abld clean" and "abld reallyclean". 4) Fix for DEF046408 - Tools should warn if non-supported RVCT will be used in ARMV5 builds.Version 0.01.545================(Made by JonC, 09/07/2004)1) Jon 1) Fix for DEF046732 - \epoc32\build MRP based location breaks test script assumptions.Version 0.01.544================(Made by Dusko, 06/07/2004)1) Dusko 1) Fix for DEF046538 - Build tools fail with very long pathnames. 2) Fix for DEF044958 - Some build files are not erased by "abld clean" and "abld reallyclean". 3) Fix for DEF046408 - Tools should warn if non-supported RVCT will be used in ARMV5 builds.Version 0.01.543================(Made by Gus, 02/07/2004)1) Dusko 1) Fix for CR...APOS-626C6K -notest option added to bldmake.Version 0.01.542================(Made by Dusko, 23/06/2004)1) Dusko 1) Fix for DEF044958 - some build files are not erased by "abld clean" and "abld reallyclean".2) Jon 1) Fix for "DEF045712 - Large projects build within Codewarrior IDE fail to link". (Comment update).Version 0.01.541================(Made by GusR, 22/06/2004)1) Gus 1) PR0099 Sierra MS3.4 PREQ687 - "Optimized module build (EABI)."Version 0.01.540================(Made by JonC, 17/06/2004)1) Jon 1) Fix for "DEF046143 - make.exe should report runtime exceptions in the Windows Event Log"Version 0.01.539================(Made by Dusko, 15/06/2004)1) Dusko 1) Fix for DEF044666 - Bldmake unable to cope with makefiles with the same name.2) Gus 1) Fix for DEF045445 - No Dependency in generated makefiles is not being used. 2) Fix for DEF045077 - Warnings generated by build tools when built using "bld deb". 3) Fix for DEF045255 - Using BLD DEB to build the tools creates errors when tools are used3) Naheed 1) Fix for DEF045349 - abld build fails to export data when built for one component - Ensure exports are done when building for one component.4) Jon 1) Fix for "DEF046059 : emkdir.pl output should be more verbose"Version 0.01.538================(Made by Dusko, 28/05/2004)1) Dusko 1) fix for DEF045551 - GCCXML: Malformed XML when targetpath specified in MMP.2) Jon 1) Fix for "DEF045035 - Codewarrior ignores #if macro statements in .mmp file. 2) Fix for "DEF045460 - RDL TARGETTYPEs require a .def file in EABI builds"Version 0.01.537================(Made by Dusko, 25/05/2004)1) Dusko 1) Fix for DEF045503 - Warnings when building for gccxml platform 2) Fix for DEF045428 - GCCXML Compiler Options.Version 0.01.536================(Made by Dusko, 19/05/2004)1) Dusko 1) Fix for DEF045168 - GCCXML: MMPXML should contain working directory from which GXP was built.Version 0.01.535================(Made by Dusko, 14/05/2004)1) Dusko 1) DEF045015 - Build tools: gccxml should not be one of the default targets2) Gus 1) DEF045077 - Warnings generated by build tools when built using "bld deb" 2) INC044804 - Problem with TEMPMAKESISDECOY during localisation3) Jon 1) DEF044702 - Disable "stop on application launch" by default in Codewarrior settings panel. 2) DEF044703 - Linking projects within the Codewarrior IDE fails for large projects. 3) DEF045031 - Incorrect importing of mmp projects into Codewarrior with TARGETTYPE set as libVersion 0.01.534================(Made by GusR, 05/05/2004)1) GusR Ease Of Deployment alt_pre=1 now uses scpp.exe for preprocessing local_build_path now defines where the object files are placed the gcc directory can now be on a local drive -savespace -keepgoing now sets nodependencies New File : preprocessor.pm new File : scpp.exeVersion 0.01.533================(Made by JonC, 29/04/2004)1) Jon Fixes for: 1) DEF044751 Tools_e32toolp MRP file not specifying new .pm file. 2) DEF044147 ARMV5 builds ignore AIF generation as part of the RESOURCE step. 3) DEF044230 ARMv5/UDEB should build with -O0 4) DEF044048 RVCT version of DEF2DLL camplains about DLLs not having exports Version 0.01.532================(Made by Dusko, 26/04/2004)1) Dusko Adding support for Backwards Compatibility Analysis Tool Files changed: cl_generic.pm, e32plat.pm, bldmake.pl New file: cl_gccxml.pl1) Dusko 1) DEF043895 - cl_codewarrior.pm not able to handle long commandlines.Version 0.01.530================(Made by Dusko, 06/04/2004)1) Jon 1) Fix for "DEF044083 Incorrect list of warnings suppressed in cl_arm.pm"Version 0.01.529================(Made by Dusko, 02/04/2004)1) Dusko 1) Fix for DEF043637 - CSYSTEM macro hard coded to WINS. 2) Fix for DEF043632 - Cedar tools should not hardwire EKA2 or DO_NOT_USE_THIS_MACRO.2) Jon 1) Fix for DEF043608 - ARMv5 build tools to "ignore" more warnings. 2) Fix for DEF043938 - Projects imported into CW for ARM4 builds do not link. 3) Fix for DEF043630 - EABI builds should define "EABI" 4) Fix for DEF043607 - ARMv5 UDEB builds do NOT produce debug information Version 2.00.528===========================(Made by JonathanM, 19/03/2004)1. JonathanM 1. Implemented the requirements: REQ2632 - Configurability of the enforcement of capabilities REQ2633 - Security violation diagnostic REQ3142 - Associate Platform Security information with an executable. See /cedar/generic/base/documentation/Base_How_To_Configure_Platform_Security_Settings.docVersion 0.01.527================(Made by Dusko, 18/03/2004)1) Dusko 1) Fix for DEF042453 - Mistakes in API Classification. 2) Fix for DEF042408 - EVALID can't deal with more than 3 "-x" arguments2) Jens 1) Fix for DEF042878 - verbose output in "abld -v test romfile" appears in generated oby file3) Jon 1) Fix for DEF043598 - CAPABILITY in OEM2.0 .pref files prevents IDE build...Patch for Version 2.00.526===========================1) JonathanM 1) Fix for defect DEF043311 - In the CodeWarrior IDE, UID.CPP files are incorrectly generatedVersion 2.00.526===========================(Made by JonathanM, 26/02/2004)1) JonathanM 1) Modifications made for implementation of Change Request JDOD-5VUJ7F - Change in executable format of EKA2 binaries. 2) Made MAKMAKE use the new Platform Security capability names. 3) Tools now use the sytax "cap1+cap2+cap3" to specify a neamed set of capabilities (Rather than specifying a single hexadecimal number.)Version 0.01.525================(Made by AndrewJ, 13/02/2004)1)ChrisM 1) Fix for DEF041533 - metabld should not insist on paths starting from the root of the drive added a -r option to indicate the directory tree should be from the current location and not the root.Version 0.01.524================(Made by Dusko, 12/02/2004)1) Dusko 1) Fix for DEF041403 Incorrect makefiles is generated for CWTOOLS Version 0.01.523================(Made by Dusko, 30/01/2004)1) Dusko 1) Fix for DEF041857 - MAKMAKE should not complain about MACRO statement with no arguments2) Jon 1) Fix for DEF041769 - Minor Perl problem in IDE_VC6.PM 2) Fix for DEF041802 - Auto Target Libraries should be switched on by default in Code Warrior. 3) Fix for DEF041697 - CW command line and IDE builds generate redundant "browse" files3) Kuldip 1) Fix for DEF41756 ROFSBUILD checks adequate image size incorrectly. 2) Fix for DEF41699 Preserving of intermediate files to enable building of ROM from obey file generated by buildrom.pl Version 0.01.522================(Made by Dusko, 22/01/2004)1) Dusko 1) Fix for DEF041591 - BLDMAKE should not complain about "-ARMI" in PRJ_PLATFORMS2) Jon 1) Fix for DEF041319 - Remove display of compiler generated commands by default from CW 2) Fix for DEF041432 - makmake.pl uses undefined variable @variant_macros Version 0.01.521================(Made by Dusko, 05/01/2004)1) Dusko DEF040718 cedar\generic\base\wins fails to export correctly if EPOCROOT is not \ 2) Kuldip Fix for INC040504 "makedef.pl does not recognise exported data in codewarrior DLLs"Version 0.01.520================(Made by JonC, 18/12/2003)1) JonC Fix for DEF041019 - CodeWarrior OEM2.8 IDE project settings are incorrect. Fix for DEF041136 - Error found in "tools_e32toolp.mrp"... Version 0.01.519================(Made by Dusko, 17/12/2003)1) Kuldip REQ1648 A3.2 Improved Command Line Build Tools Strict BUILDROM1) Jon REQ2212 A.3.4 Code Warrior Tooling, Support for Metrowerks CodeWarrior for Symbian OS 2.8., Contributes to implementation of TOOLS/MAKMAKE/cw.17,1) Darran Sirocco, CR PHAR-5QYMSN Support nested inclusion of (preprocessor) HR files in varinat.cfg1) Andy low level support for REQ1730, REQ2206 and REQ2140.3.1. support for 'downgrading' cpu specific components when they're missing during ROMBUILD I.E. ARMV5O1 -> ARMV5. This is similar to the kind of downgrading that takes place for ARMI, ARM4 and THUMB builds.Version 0.01.518================(Made by Dusko, 24/11/2003)1) Dusko 1) DEF037657 Cedar tools dont support COMPRESSTARGET and NOCOMPRESSTARGET MMP keywords Files changed mmp.pm,cl_gcc.pm 2) DEF037095 E32Variant can only be used by tools in \epoc32\tools File changed e32variant.pmVersion 0.01.517================(Made by Dusko, 10/10/2003)1) Kuldip 1) DEF036127 FIXUPSYM requires an EPOCROOT Fixed in \tools\e32toolp\makesym\fixupsym.pl2) Dusko 1) DEF038828 Can't build projects that have AIF c12,8 in mmp file Files changed mmp.pm, makmake.pl, cl_generic.pm and ide_cw.pm 3) Dennis 1) Fix problem with cl_arm.pm - when building UDFP, UDFP.LIB was added to the list of libraries which caused infinite loops.Version 0.01.516================(Made by Dusko, 02/10/2003)1) Kuldip 1) DEF038583 - BLDMAKE Error in 03114_Symbian_OS_v8.0b Fixed in \tools\e32toolp\genutil\pathutil.pm2) Johannes 2) Fix for DEF037095 - E32variant can only be used by tools in \epoc32\toolsVersion 0.01.515================(Made by Dennis, 24/09/2003)1. Dennis 1. Implemented CR ATHE-5PZEAU (Add Version Numbers to Symbian OS Executables).2. JonathanM 1. Created new .MMP Target types, "NOTIFIER2" and "TEXTNOTIFIER2" This has been added for Notifier plugins which use the new Version 2 Client/Server APIs.Version 0.01.512================(Made by DuskoJ, 22/08/2003)1) Morgan 1) Added ROFSBUILD extension support to BUILDROM.PL BUILDROM automatically generates the appropriate obey commands for non-XIP ROFS obey files. 2) Improved \tools\e32tools\rombuild\addextension.pl to understand ROFS images and extensions. addextension.pl can be used to join xip and non-xip images.2) Dusko 1) DEF036665 - MAKMAKE should put EGCC.LIB at end of LIB list 2) WINUTL.PM changes - support for building tools with CodeWarrior3) Andy 1) REQ2178 - GENSHIMSRC Generate source for a shim DLL and its associated deffile from a supplied deffileVersion 0.01.511================(Made by DuskoJ, 25/07/2003)1) Morgan 1) Integrated "fix" for DEF032836 - Rogue Multimedia warning in typhoon build 02194a MAKDEPS.PM is now more defensive when adding to the bad system dependency list.2) Jon 1) Fix for defect DEF035996 - Cpp.exe Permission denied failure.3. Dusko 1. fixed DEF036388 Cedar version of maksym.pl is out of dateVersion 0.01.510================(Made by DuskoJ, 10/07/2003) 1) DuskoJ 1) Adding support for building tools with CodeWarrior. files changed: 1. bldmake.pl 2. e32plat.pm new files: 1. cl_tools.pm 2) Changes to epocaif to generate .aif files in new format. Aiftool.exe is no longer needed. 3) Changes to cl_generic so that when abdl -what command is executed both, XIP and NON XIP version of aif files which are generated with epocaif are listed. 2) JohanesK 1) DEF036206 - variant.cfg information not used when generating MAKMAKE dependenciesVersion 0.01.509================(Made by DuskoJ 07/07/2003) 1) Fixed DEF035953 Build errors for "cedar\generic\tools\redistribution" Version 0.01.508================(Made by JonC, 26/06/2003) 1) DEF035949 - EKA2 define is not passed to compiler in Cedar CW IDE builds. 2) Update of mmpscan.pl and mmp_testlist.txt to reflect changed Cedar TARGETTYPEs and components. 3) Update to build variant documentation.Version 0.01.507================(Made by JohannesK, 24/06/2003) 1) Fixed DEF035897 - cedar roms failed to build.Version 0.01.506================(Made by JohannesK, 23/06/2003) 1) Enabling product variant builds (ported changes from Typhoon). 2) Fixed DEF035683 - CW project creation is broken in Cedar. 3) Fixed DEF035802 - Bad case-sensivity in E32variant.pm.Version 0.01.505================(Made by JonathanM, 20/05/2003)1) JonathanM 1) Modified Cedar tools to define macros 'EKA2' and 'DO_NOT_USE_THIS_MACRO' when processing BLD.INF, MMP files and compiling source. 2) Fixed some missing EPOCROOT support. (Include path for CPP and exported zips.) 3) Modified Cedar GENBUILD to work with master codeline directory structure.2) Nicolas CHANGES FOR MASTER CODELINE: 1) Brought back to life AIF support which was removed by submission 229467 to the Jet Stream mainline. This involved changing various perl scripts and upgrading winc.zip to a recent Typhoon build (2175) which include versions of bafl.dll and aiftool.exe which support the new resource format. 2) Brought back to life CTL target needed by some techview apps.Version 0.01.504================(Made by William, 18/03/2003)1) Dusko 1) Updated EVALID to use ELF dump to compare ELF files.2) William 1) Fixed defect DEF020022 - Minutes & seconds reversed in scanlog.pl output 2) Added SCANLOG.TXT to document of the log file format and patterns used by scanlog.pl 3) Updated EVALID.TXT to add information about "ELF file" comparisons. 4) Updated cl_codewarrior.pm & ide_cw.pm to support CodeWarrior for Symbian OS, OEM v2.0Version 0.01.503================(Made by William, 10/02/2003)1) Dusko 1) makmake.pl - Fixed a defect in makmake (added missing $CurSource{BaseTrg} to SourceStruct) 2) Redefined SrcList function (functionality has not changed) 3) Deleted Uids funciton 4) mmp.pm - Deleted inappropriate comments 5) Deleted UIDs function 6) mmp_notes.txt - Some changes to structure description. 7) cl_generic.pl - Uids info extracted from existing data in ResourceStruct and unneeded call to Uids function deleted. 8) bldmake.pl Changes which enable bldmake to understand additional syntax in PRJ_EXPORTS part of bld.inf. More complex makefiles are generated in the epoc32\build tree. Generation of the new rules is put into a separate subroutine - CreatePlatExports PRJ_EXPORTS now accepts exports to paths including a drive letter: the file(s) will be exported to the corresponding subdirectory of epoc32\data, and also exported at the RESOURCE step in emulator builds to the corresponding emulated directory. For example: myfile.txt z:\system\data\myfile.txt causes exports to epoc32\data\z\system\data\myfile.txt, and also to epoc32\release\XXX\{udeb,urel}\z\system\data for each emulator target XXX.1) William 1) Fix defect DEF000968 - MAKMAKE grants capabilities which don't yet exist 2) Add support for "CAPABILITY ALL -ROOT", i.e. for subtracting capabilities for a set 3) Change the default CAPABILITY setting to ALL+0x80000000 so that it can still be clearly identified in executables. 4) Update CodeWarrior IDE support to use the Symbian V8 Linker plugin, and to reject attempts to build IDE projects for "CodeWarrior for Symbian OS, Pro1". 5) Add e32toolp\test directory for regression tests. 6) Add mmpscan.pl which scans MMP files for significant features, and mmp_testlist.txt which covers all of the MAKMAKE features in less than 40 of the current 2432 MMP files. 7) Updates to mmpscan.pl to work in more cases. 8) Additional test functionality cw_ide_test.pl which builds MMP files using both the CodeWarrior IDE and directly via MAKMAKE and commandline builds, comparing the results. 9) Change epocrc.pl to avoid explicitly specifying the default uids argument -{0,*} if neither -uid2 nor -uid3 is specified. This allows UID2 and UID3 keywords in the source files to take effect. 10) Change genbuild.pl to process all specified source files, concatenating them and generating scripts named after the first file. 11) Add "<option arm_build XXX>" to genbuild.pl, so that we can specify additional builds such as <option arm_build armv5> for RVCT builds. 12) Update scanlog to detect RVCT compiler warnings and errors, and added "use strict". 13) Arrange for scanlog.pl to ignore sections which refer to armv* or *edg, so that mainline builds can include early RVCT attempts without swamping the error and warning counts. This skipping is disabled by specifying the "-v" flag to scanlog.pl. 14) Fix Perl warning in evalid.pl 15) Updates to test code (cw_ide_test.pl, mmpscan.pl, mmp_testlist.txt). 16) Change cl_codewarrior.pm to use ".o" rather than ".obj" for compatibility with the IDE builds, and to compile xxx.uid.cpp to uid.o for the same reason: the IDE and command line builds will then produce identical .map files 17) Change ide_cw.pm to avoid specifying a base address for EXEs, to match the command line build. 18) Change ide_cw.pm to specify -D__XXX_ for ASSPs (i.e. when platform != real platform). 19) Change MAKMAKE to reject CodeWarrior for Symbian OS v1.0 as unable to support Jet Stream builds. 20) Remove obsolete target types, post UIKON and ECOM data caging releases. This removes CTL, CTPKG, FEP, MDL, OPX, RDL and WLOG. 21) Remove the cw_ide.pm workaround for ignoring MBW and mapping MCL->MBM. There are no remaining B&W files in Jet Stream, and all of the Color files are now correctly named. The instcol script is no longer needed but still exists to avoid disrupting build scripts: it now just says "instcol is no longer used". 22) Remove support for AIF files, which no longer exist. 23) Fix defect DEF015570 "Irritating and useless X86 builds in default abld platforms list". To include X86 in "ALL" platforms, define environment variable ABLD_ALL_INCLUDES_X86. 24) Disallow .cia files in WINSCW builds. 25) Add support for SRCDBG in ide_cw.pm 26) Change the generated target names in CW projects to be just "ABI BLD" without the MMP name. 27) Fix defect preventing BASEADDRESS being specified for IDE builds of EXEXP targets. 28) Handle Win32Library list correctly in CW projects. 29) Change cw_ide_test.pl so that it restores all of the original files after testing. 30) Update mmp_testlist.txt to a workable set of MMP files, marked "not MISA" and "not WINSCW" if they can't be built in both ABIs. 31) Change scanlog.pl to tolerate malformed log files, which would have helped to detect the true cause of things like DEF016577 "Scanlog does not detect errors in JRCK log". If the phase doesn't finish properly, no timing will be displayed. 32) Added ===+ timing information to genbuild.pl, for closer analysis of build times. 33) Integrate the "list of color depth" changes for CR MFRN-5HTH2G "Make it possible to have different color depth of icons and masks in the aif file". We don't have AIF files any more, but this applies to bitmaps as well. 34) Propagate the 7.0s ecopyfile.pl change to support "Build from Clean" process. 35) Remove all record of the WINC platform 36) Remove the .assp files, now that everything is built into a single directory.Version 0.01.502================(Made by William, 20/09/2002)1) Dusko 1) Fix defect ROS-59ZDWH "OPTIONS keyword doesn't respect upper and lower case" Both the OPTIONS and MACRO keywords now respect the case of their arguments, so it's possible to specify mixed-case compiler flags or mixed case #defines.2) William 1) Implement automatic selection of CodeWarrior for Symbian OS v2.0 ("Ganymede") based on examination of environment variables. If the MWSym2Libraries variable exists and refers to directories which all exist, the Ganymede compiler will be used instead of the older Callisto compiler. 2) Implemented various Metrowerks suggested improvements to the CodeWarrior project template 3) Added more support for the "Symbian Installation" preference panel, and an association for .pkg files. 4) Add EXPORTUNFROZEN to the .pref file for CW IDE projects, as it's supported in Ganymede. 5) Add WINSCW support for WIN32_LIBRARIES which are not in the system search path, for use by the Win32 Ethernet Driver. 6) Fix defect ROS-5CAH9W "EVALID can't handle directory names containing spaces" 7) Change ide_cw.pm and CW_project_template.xml to assume the new Symbian Resources compiler which handles RSC, MBM and AIF files via a .resources file. 8) Change MAKMAKE so that the cw_ide:plat1+plat2+plat3 commandline arg won't always do the WINSCW target first: it now uses the cw_ide plat in the necessary places to get the .xml file generated, but uses plat1 everywhere else. 9) Change abld.pl to allow WINSCW in the "ALL" list if either v1.0 or v2.0 of CodeWarrior for Symbian OS is installed. 10) Change cl_codewarrior.pm so that WINSCW makefiles will use v2.0 of CodeWarrior for Symbian OS if it's installed, or fallback to v1.0. Make the necessary minor adjustments to the generated Makefiles to compensate for differences in v1.0 and v2.0 tools. 11) Fix defect ROS-5D6FRK "Makmake code to select between CodeWarrior versions is incorrect" 12) Fix defect ROS-5CMNVG "EPOCROOT check gets in the way of CodeWarrior mmp file import"Version 0.01.501================(Made by ?, --/--/2002)1) William 1) Changed genbuild.pl to generate scripts with relative paths, instead of assuming that the paths in the .txt files were always relative to the root. 2) Removed references to WINC and ARM3 from genbuild.pl 3) Changed BLDMAKE.PL to remove ARMI and THUMB from the list of default platforms 4) Disabled the LNK4089 warning caused by /OPT:REF in MSVC builds. 5) Downgrade the use of "-XXX" which isn't in the default list to a BLDMAKE warning if -k specified: seems reasonable since the net effect is not to build for platform XXX. 6) More work on defect ROS-595LHD "abld -what problems with very long pathnames" - the non-generic RELEASEABLES are now handled in the same way as the GENERIC_RELEASEABLES, to avoid exceeding line length limits. 7) Fix defect PAL-59YHRT "Build errors not being reported in summary files" - change scanlog.pl to report missing components as "Things not built". 8) Changed the epocrc.pl, epocmbm.pl and epocaif.pl wrapper scripts in anticipation of the new Symbian Resource compiler plugin for CodeWarrior. epocrc.pl - handle "-I-" and UNC paths correctly epocaif.pl - handle "-I-" and UNC paths, use "-o" when preprocessing .rss file, report bmconv failure epocmbm.pl - remove EPOCROOT check to subroutine, report bmconv failure 9) Improve the Path_RltToWork function to generate more concise relative paths. This impacts any binary which has __FILE__ as read-only data, e.g. via the ASSERT() macro in epoc32\include\mda\common\base.inl 10) Fix defect CHN-58WEZ3 "EPOCRC.PL fails in VC6 IDE builds with long paths" by supplying an absolute path to epocrc.pl, and having epocrc.pl add the current drive letter instead of generating a relative path. Similar code in epocaif.pl was altered as well. 11) Update EVALID to handle "Preprocessed text" ignoring the lines which indicate the #include structure (and which include source filenames). 12) Update EVALID to ignore the "unique _head & _iname" symbols from import libraries when they appear in gcc MAP files, using the same pattern as for ARM object files. 13) Introduce MAKMAKE "CAPABILITY" keyword which takes a space-separated list of capability names and computes the hex value for the combined list. This is passed to PETRAN in cl_gcc or cl_x86. 14) Change winutl.pm to use __EMULATOR_IMAGE_HEADER() in the xxx.uid.cpp file, adding the extra extra process priority and capability information. 15) Abandon the notion of CompatibleABIs, chiefly by stopping cl_gcc.pm from generating the extra libraries. 16) Change scanlog.pl to pick up more warnings, and to print the warning lines in a "Warning details" section at the end.2) Dennis 1) Applied William's suggested changes to enable polymorphic DLLs to have additional exports. Exports 1 and 2 in the DEF file are required to match the polymorphic exports. 2) Made it possible to export a ZIP archive from a component. The following line :zip archive.zip basedir in the PRJ_EXPORTS or PRJ_TESTEXPORTS section of an MMP file will cause 'archive.zip' to be unzipped into the 'basedir' directory at the export stage of the build. CLEANEXPORT will delete each unzipped file and WHAT will list each unzipped file.3) ChrisM 1) Changed memtrace.pl to work with EKA2 memtrace tracing. MT:P xxxx trace output has the length of the tick in microseconds, so memtrace.pl uses this to work out its time stamp if it is present, otherwise it defaults to EKA1 behaviour.4) Andy Sizer 1) Added support for .CIA assembler files. First attempt at support for new RVCT compiler.Version 0.01.500================(Made by AndrewT, 23/05/2002)EKA2 changes1) Andrew 1) Def file processing allows a by-name export "_E32Dll" or "_E32Startup" to appear in the def file. This is elminated from the no-name freeze process and re-introduced to the end of the build def file. This supports the v7 entrypoint scheme, and does not appear in frozen def files. 2) Added target type EXEXP for v7 support of EXEs with exports. This replaces EXEDLL, which is no longer supported. Removed support for EPOCEXE, these targets should just become EXE. 3) Changed target type KDLL to use a new EKLL.LIB and to not be ASSP specific. These DLLs are all used by the kernel, but do not link to the kernel, and are only built for ARM4 or WINS 4) Changed WINS use of entry-points, DLLs have no Win32 entrypoint but include the _E32Dll symbol to ensure that this is exported by name (see 1). EXEs have a Win32 entrypoint to allow auto-boot of the emulator before running the EPOC program, and force the inclusion of the _E32Startup symbol to ensure that this is exported by name.2) Nicolas 1) Removed spurious code in cl_x86.pm which caused x86 releasables to be copied into \epoc32\tools. 2) Merged in EKA1 WINSCW support and adapted it to EKA2 (EXEXP, emulated E32 entry points, EPOCHEAPSIZE, ...). 3) Added new MMP keyword WIN32_HEADERS to instruct makmake to search the standard include directories.---------------------------Pre-EKA2 changes1) William 1) Revise compare_summary.pl to match scanlog.pl, which stops compare_summary.pl from hanging 2) Change MAKMAKE to use "cpp -undef" when generating source file dependency information. 3) Change BLDMAKE to generate an abld.bat file with the BldInfPath quoted in case it contains spaces: there's a lot more work still to do, but this is a start... 4) Remove any leading backslash on filenames in SOURCE statements, since they are by definition interpreted as paths relative to the prevailing SOURCEPATH. This affects FREETYPE.MMP, which was otherwise generating names like graphics\freetype\group\..\\freetype2 5) Fix defect ROS-58CQTC "CW IDE can't import strangely formatted MMP file" by making ide_cw.pm form its own list of source directories from the (SOURCEPATH, SOURCE) pairs. 6) Fix defect BAD-57QNL7 "Charconv does not compile from CodeWarrior GUI" by making ide_cw.pm order the access paths explicitly for userinclude and systeminclude. 7) Change GENBUILD.PL to generate additional batch files for "abld clean" and "abld reallyclean". 8) Implement MAKMAKE support for IDE targets which support multiple platforms: so far this consists of supporting "makmake mmpname someide:plat1+plat2+plat3" syntax and providing the list (plat1, plat2, plat3) to any backend which cares to ask for it. 9) Implement various changes to the generation of CodeWarrior IDE projects: * Pick up the list of platforms from the "cw_ide:plat1+plat2+plat3" commandline arg (if any) * Enable the "System Log" window for WINSCW UDEB targets * Default "Display generated commands in msg window" to false for all targets * Add the "SymbianImportLibraryPath" setting for use in Ganymede * Allow multiple resource files if they all use the same TARGETPATH 10) Use mwwinrc to compile Win32 resource files in WINSCW builds 11) Fix defect ROS-58VCQY "MAKMAKE fails if + included in pathname" by using quotemeta() to do the full job on $S_SysDecoyPath 12) Fix defect GAA-57WNNR "Error in bldmake.pl -what option for cw_ide" by reporting the .xml and .pref files correctly. Note however that BLDMAKE can't always get the .pref or .uid.cpp filenames right because they are generated (or not) using information inside the MMP file. 13) Fix defect ROS-595LHD "abld -what problems with very long pathnames" by counting the actual length of the GENERIC_RELEASEABLESn lines and breaking before it goes over 1900 characters. 14) Various EVALID improvements, including support for ignoring comments in SGML files 15) Added evalid.txt file for export into epoc32\engdoc\e32toolp2) Uma 1) Fix defect ANN-595CNZ "using abld build creates a epoc32 folder in the root of your drive".Version 0.01.304================(Made by William, 22/02/2002)1) William 1) Introduce "START RESOURCE ... END" syntax to allow resources to be built into a directory which is neither \System\Data nor the TARGETPATH of the main executable, and to allow resources to be built without an associated header file. Both RESOURCE and SYSTEMRESOURCE are expressed as shorthands for the new syntax, and the internal handling of resources has been unified. As a side-effect, this provides the proper fix for defect JOE-52ZJP3 "Conditional #includes in resource files". 2) Include WINS and WINSCW into the "abld all" platforms according to the presence in the environment of associated environment variables. If you have the CodeWarrior compiler installed you will have a CWFolder environment variable: ABLD.PL will notice this and include WINSCW in the "ALL" target. WINS is included if the MSDevDir variable is present. 3) Make SETUPPRJ.BAT generate a makefile which is resilient against filenames which contain spaces, and which will keep going even if an individual file can't be installed. 4) Fix defect ROS-573K9P "MMP keyword MACRO keyword not supported in CW IDE projects". 5) Fix defect ROS-57CFVC "CW IDE projects can no longer find RSS files". 6) Fix defect ROS-57CFYY "CW IDE projects fail if RSS file is in unusual place". 7) Clone the targets from the XML template project rather than altering them directly, which is a necessary precursor to supporting ASSP targets, where the ARM4 targets may need to be used more than once. 8) Remove backwards-compatibility support in CL_GCC.PM which copied resources, bitmaps and AIF files from the epoc32\data\z tree into the $(PLATFORM)\$(CFG) directories. 9) Fixed defect ROS-57PJYW "MSVC-based builds are using warning level /W1 by default" by reinstating the /W4 warning level for MSVC-based builds, which was accidentally lost in change 109090. The change also deals with the CL.EXE objection to multiple /Wn arguments on the same commandline, so that OPTION MSVC /W0 won't itself cause "Command line warning D4025". 10) Annotate all of the CL.EXE command line options used in cl_win.pm and ide_vc6.pm, and move the /GF option into the main definitions rather than repeating it for every source file.Version 0.01.303================(Made by William, 06/02/2002)1) Uma 1) Changed epocrc.pl and lockit_info.pm to support rls_string (CR JCLE-549DVM).2) William 1) Fix defect JOE-52ZJP3 "Conditional #includes in resource files". Use the same "combine the dependency list" quick fix strategy as for 6.1, since the "multiple languages in MMP files" approach to localisation is on the way out anyway. 2) Make EVALID insensitive to the _head* and __*_iname symbols in the import libraries generated by DLLTOOL. 3) Fix defect ROS-55AN6D "fixupsym.pl fails immediately" 4) Update MAKSYM.PL use FindBin::Bin rather than scanning the PATH variable 5) Update SCANLOG.PL to detect recursive make failures (i.e. make[n]: *** rather than just make: ***) 6) Remove the old support for warning waivers, and make the printing of "MISSING:" files independent of the number of fatal errors 7) Fix defect ROS-55BM2X "ar failure with very large components" by splitting the list of objects into 150-file groups, to avoid the 32K line length limit on Win32 process arguments. 8) Add a "Build All" target to generated CodeWarrior projects, and cut out some junk from the project template. 9) Fix ROS-56QP3D "Problem with EPOCSTACKSIZE when generating CW IDE Projects" 10) Revise EPOCRC.PL for use from CodeWarrior IDE RCOMP plugin: drive CPP.EXE differently, and remove the EPOCROOT check. Only the LOCKIT processing needs EPOCROOT, and lockit_info.pm does it's own check when necessary. 11) Fix deferred defect HET-4X9G2P "commandline help for epocrc.pl is missleading" 12) Fix defect ROS-55JM2S "Emulator EXEs can come with unexpected .EXP and .LIB files" for WINSCW by explicitly disabling the exports and import library when linking an EXE. 13) Assume the "CodeWarrior for Symbian OS Professional Edition V1.0" version of MWLD.EXE, which removes the dependence on the Developer Studio LIB.EXE tool for WINSCW builds. 14) Use the CodeWarrior "MWCWinx86Includes" environment variable rather that the Developer Studio "INCLUDE" environment variable when generating WINSCW makefiles. 15) Catch an additional form of MWLD.EXE warning in scanlog.plVersion 0.01.302================(Made by William, 03/12/2001)1) William 1) Reinstate "use strict;" in MAKMAKE.PL, and fix errors uncovered 2) Fix parsing of "OPTION" to handle the rest of the line better, and to concatenate multiple OPTION statements for the same key. 3) Fix use of uninitialised variable in MAKSYM.PL 4) Change ABLD.PL and MAKEMAKE.PL to specify the -r option to make, so that MAKE doesn't try built-in inference rules to remake the makefiles or the targets: the BLDMAKE makefiles are very simple and don't need any of that stuff, and the MAKMAKE makefiles contain explicit rules for everything we want. 5) Changed cl_codewarrior.pm and cl_gcc.pm to remove the use of inline files. It turned out to be simple to change the "ar -M" command into a direct "ar cr" command line, and the CodeWarrior makefile doesn't use the bscmake rule anyway. 6) Rearranged dependencies so that real files do not depend on "phony" targets. This involved moving the MAKEWORKLIBRARY dependency, and adding MAKEWORK$Bld to the UREL and UDEB target. Changed cl_codewarrior.pm to remove the remaining mentions of .sbr files. 7) Removed the trailing \ from the directory definitions in cl_generic.pm (things like EPOCBLD, EPOCLIB etc) so that they won't be troublesome to MAKE. 8) Removed !if "OS" == "Windows_NT" conditional stuff into the Perl scripts, so that the resulting Makefiles aren't conditional at all. 9) Added Generic_Quote, which quotes a filename in the style required for the type of makefile being generated, and Generic_CopyAction which deals with copying a file (default ?$) to the target of the rule ($@). These are available to users of cl_generic.pm and used within the generic functions. 10) Added MakeCmd to the E32Plat.cmd information, and use it in BLDMAKE to determine the way that the recursive Makefile should be called. Also pass it from MAKMAKE to the cl_XXX.pm module, which checks it and passes the value on to cl_generic.pm if used. 11) Added -s to the recursive calls for WHAT, to avoid any directory information being printed by MAKE. 12) Changed epocaif.pl and epocrc.pl to use File::Copy rather than system "copy..." in the lockit processing. 13) Reworked cl_codewarrior.pm and cl_gcc.pm that they can support both MAKE and NMAKE, generating appropriate Makefiles according to the type requested by MAKMAKE. 14) Change E32PLAT.PM to specify MAKE makefiles for all ARM and WINSCW targets. 15) Removed use of wildcard "$BaseTrg.*" in CLEANLIBRARY 16) Added detection of ABLD fatal errors to scanlog.pl 17) Removed use of DUMPBIN for extracting list of exports in cl_codewarrior.pm, and modified MAKEDEF.PL to handle the mwld.exe output used instead. 18) Fix defect BRN-52RCVD "Evalid doesn't work correctly when run from a directory more than one level deep." 19) Fix defect ROS-53ECQY "Can't disable WINSCW builds in PRJ_PLATFORMS" 20) Change GENBUILD.PL to do "resource" before "library" so that static libraries can make use of generated .RSG and .MBG header files. At the same time, disentangle the WINS and WINC build steps so that WINC is required to stand by itself. 21) In genbuild.pl, remove the extra "what" & "check" steps before the "final" step for WINS and WINSCW, and pass the "keepgoing" flag to the export step. 22) Fix defect BRN-52KL2Y "\epoc32\localisation\*.rpp and *.info files are not reported by the build tools as releaseables". All of the files placed in epoc32\localisation are now reported by MAKMAKE as generic releasables. 23) Fix defect ROS-52XGQY "fixupsym.pl is broken by recent MAKMAKE changes" and improve speed of directory scanning (still takes too long though...) 24) Add "what" and "check" reporting to the tools part of genbuild.pl 25) Change makedef.pl to allow filenames with drive letters, and adjust to support both 2.4.5 and 2.5 versions of the CodeWarrior linker. 26) Convert all Perl scripts to use FindBin rather than explicit scanning of the PATH variable. 27) Fix defect FOD-53SN8N "Can't pass more than 1024 characters into ar". by changing cl_gcc.pm to build the archive files with the full pathnames of the temporary files. This avoids the need to use "cd xxx;", which caused MAKE.EXE to use a DOS batch file to execute the command. 28) Changed EVALID.PL to ignore the pathnames leading to object files when comparing libraries and MAP files. Also arranged to ignore the MAP file lines involving .stab and .stabstr information. 30) Fix defect THY-54BG7T "Error when invoking GNU make directly" by duplicating the PATH & Path handling from the BLDMAKE-generated makefiles 31) Fix defect PLD-54FQ6U "Recompiling for ARM after making source changes results in link failures" by reinstating the deletion of the .in file prior to calling "ar". 32) Fix a few places where MAKMAKE assumed that pathnames do not contain spaces 33) Add the CW_IDE platform (cf VC6) and implement it in ide_cw.pm with an associated template for the generated .xml file. 34) Restructure MAKMAKE.PL + MMP.PM file handling as SetVarsFromMmp, so that ide_cw.pm can call back to reprocess the MMP file for other platforms. 35) Adjust cl_codewarrior.pm to match the CodeWarrior Symbian Compiler Plugin, and fix a defect with EXPORTUNFROZEN generating the import library from the wrong def file. 36) Change winutl.pm to avoid the LINK.EXE version check for WINSCW builds. 37) Change EVALID.PL to ignore more variations on pathnames when comparing .MAP files 38) Add compare_summary.pl, a utility for comparing two lots of scanlog.pl output.2) Uma 1) Fix Defect JUA-53ULTP "abld reallyclean wins" waits for the user input in order to finish execution"Version 0.01.301================(Made by William, 07/08/2001)1) William 1) Require 5.005_03 in BLDMAKE and MAKMAKE, so that pre 518 versions of Perl will explicitly fail early rather than fail during FindBin. 2) Extend support for EPOCROOT-relative paths to "SOURCEPATH" keyword, so that generated source files can be stored in the EPOC32\Build tree. Use something like SOURCEPATH \epoc32\build\generated\http SOURCEPATH +\build\generated\http to get files in %EPOCROOT%epoc32\build\generated\http. 3) Remove unnecessary EPOCROOT check in epocaif.pl 4) Turn up optimisation level in CodeWarrior UREL builds. 5) Change bldmake.pl to that "bldmake plat all" works in the way you'd expect, printing a list of all the supported platforms and the information for each one. 6) Update the ASSP file support so that the keyword SINGLE names the associated single ASSP and builds the additional platform description. Remove SISA.ASSP and add "SINGLE SISA" to the MISA.ASSP file. 7) Move all of the ASSP definitions out of E32PLAT.PM into .ASSP files. 8) Add genutils\ecopyfile.pl which acts like "copy src dst" except that it won't update dst if it's identical to src. Changed the various cl_*.pm modules in Makmake to use perl -S ecopyfile.pl instead of schemes based on diff -s 9) Abstract common parts of cl_gcc.pm, cl_win.pm and cl_codewarrior.pm into a shared file cl_generic.pm, and adjust accordingly. This changes the interface expected by MAKMAKE.PL, so the ide_vc6.pm file was also changed. 10) Provide cl_generic.pm support for accumulating the various MAKEWORK targets, and doing all of the directory creation. 11) Provide generic build of resource, bitmap and AIF files into \epoc32\data\Z, with backwards-compatibility copying from the central place into the \epoc32\release directories. This copying will stay for the emulated Z drives, but could be removed for the ARM targets. 12) Implemented support in the Win32-based platforms for DLLs which are both statically and dynamically linked (e.g. FXCM.DLL). This consists of putting the word COPY_FOR_STATIC_LINKAGE in the START WINS ... END section, and causes the generated makefile to build the DLL into the target directory and then copy it into the release\xxx\yyy directory used to resolve static linkage. This removes the need for some extension makefiles. 13) Reinstated some lost "perl -w" and "use strict;" checking for the "DEB" version of e32toolp. 14) Revisited the "no target directory for WINC" and "missing TAREGTPATH for resources" handling. It's now consistent throughout, and avoids paths which expand to include two consecutive separators. In the process, I discovered that WINC was building SYSRESOURCE things into an "emulated Z drive" for WINC: clearly wrong so I applied the "no target directory policy" for WINC as well. 15) Added "-w nounusedexpr" to the list of globally disabled warnings in CodeWarrior builds: this unhelpfully reports uses of va_start(), TPckgBuf<TInt> and other entirely reasonable things. 16) Moved linkdeps.pl into e32toolp\bldmake, and deleted the old BATCH component 17) Added make.exe to e32toolp\group and bootstrap it via setupprj.bat. This is the Win32 native build of make 3.79.1, compiled with the HAVE_CASE_INSENSITIVE_FS option. 18) Changed BLD.INF syntax to accept makefile extension_makefile nmakefile extension_makefile // invoke with nmake gnumakefile extension_makefile // invoke with make Currently "makefile" is a synonym for "nmakefile", but eventually I'd like to change it over and get rid of "gnumakefile" which is rather ugly. Currently the only "gnumakefile" extension Makefile is in RCOMP. 19) Changed BLDMAKE.PL and ABLD.PL to use MAKE rather than NMAKE, and generate the appropriate GNU-style Makefiles in the \epoc32\build tree. This required a change to make 3.79.1, which is now labelled with "(Symbian build 002)". 20) Changed scanlog.pl to detect errors and warnings produced by MAKE as well as NMAKE.1) GregZ 1) Add first cut of MMP file support for specifying additional compiler options. The syntax is OPTION <keyword> <rest of line> where the keywords are interpreted by the MAKMAKE back-ends. Currently the recognised keywords are CW, GCC and MSVC, and there is enough support to deal with "OPTION CW -W off" for turning off warnings in CodeWarrior builds.Version 0.01.300================(Made by William, 02/05/2001)NB. Requires ActiveState Perl 518 or later, otherwise MAKMAKE fails due to problems with FindBin.pm1) William 1) Changed MAKMAKE to use WINC\UREL\AIFTOOL.EXE rather than WINC\UDEB 2) Changed MAKMAKE to add "abld listing" support for WINS and WINSCW builds 3) Changed MAKMAKE support for "abld listing" so that the assembler listings are named <source_basename>.lst.<abi> e.g. UP_TRP.lst.ARM4, UP_TRP.lst.WINS etc. Previously they were all called UP_TRP.lis Also changed the philosophy slightly: the listing file is still generated in the \epoc32\build tree, but the LISTING target now always copies the file, rather than copying it as a side-effect of generating it. This makes it easier to alternate between UREL and UDEB versions. 4) Changed MAKMAKE to generate a MAP file for WINSCW release builds. 5) Improved support for ABIs defined via ASSP files: you can now specify ABI, ASSP, ASSPABI and Single via the ASSP file, but with very limited error checking. Changed MISA and SISA into targets defined by ASSP files to prove that it works. 6) Updated instcol.pl to allow for either WINSCW or WINS or both. 7) Added EPOCAIF.PL to generate AIF files, and changed MAKMAKE to use it. This involves adding an include path relative to the location of MAKMAKE.PL so that the SDK can ship a single shared AIFTOOL.RH which will do for all DFRDs. This contributes to fixing defect HET-4VEM87 "Location of release\winc on SDKs places restrictions on developers". 8) Fix defect ROS-4VNJTC "EVALID doesn't correctly compare x86 import libraries" by using "dumpbin /symbols /exports" as suggested. 9) Removed MNT.CMD from the moribund setver.bat scriptVersion 0.01.226================(Made by Morgan, 08/03/2001)1) Morgan 1) Altered MAKMAKE GCC platform (CL_GCC.PM) to include intrinsic libraries EDLLSTUB.LIB - class Dll:: EGCC.LIB - helper functions not in EUSER.LIBVersion 0.01.225================(Made by Dennis, 05/02/2001)1) William 1) Fix defect HEY-4S7N73 "MAKMAKE doesn't force GCC to pass include directories to AS" by forcing the .s extension on assembler files to be uppercase. This causes GCC to put the assembler source file through the preprocessor first, which allows us to use the C preprocessor to organise assembler source. This area will need revisiting when we change to a non-GCC compiler for v7. 2) Fix defect ROS-4TAGHW "MAKMAKE should put .EXP files into the \epoc32\build tree" 3) Removed all remaining traces of MCORE - this will imply BLD.INF changes to remove it as well, since it's no longer a recognised platform. 4) Removed tool-related .IPR files, and the SETUPPRJ support for them 5) Fix defect ROS-4TFGCK "BLDMAKE -keepgoing does not prevent attempts to export missing files" by rearranging the EXPORTS code in bldmake.pl2) William 1) Implement initial support for CodeWarrior 6.0 compiler, as WINSCW defining __CW32__ 2) Revert to using LIB.EXE for generate import libraries, as MWLD doesn't seem to support this functionality.3) Zill 1) Fix defect ROS-4TFGAN "scanlog.pl should detect and report bld.inf warnings"Version 0.01.224================(Made by Pete, 19/01/2001)1) William 1) Fix defect EDNRCHN-4DAMG8 "Small problem with MAKMAKE" by requiring the LINK.EXE output to contain a "version" line. 2) Don't export the DISTRIBUTION.POLICY document to engdoc\e32toolp, to fix defect ARG-4RJFNV "E32ToolP Exports a distribution.policy file ..." 3) Fix defect EDNABRY-4MLEWA "EPOCROOT error message could be more informative" by checking separately for the unsupported use of a drive letter. 4) Apply the fix for empty path elements to all the other E32TOOLP scripts which use the same algorithm. 5) Fix defect ROS-4SMKB6 "MAKMAKE doesn't check TARGETPATH strongly enough" 6) Fix defect EDNAWIR-4NAM7R "Not possible to include a library for DEBUG only" by implementing the DEBUGLIBRARY keyword: MMP.PM now builds two lists, with LIBRARY statements contributing to both and DEBUGLIBRARY only contributing to the debug list. Tested with FLOGGER.LIB in PPP.MMP, which removed the MSVC LNK4005 warning. 7) Documented SRCDBG and DEBUGLIBRARY 8) Implement "BLDMAKE -K" to support IPR-filtered builds, and make genbuild.pl pass the keepgoing flag to bldmake. 9) Fix defect ROS-4RWF42 "MAKMAKE clean targets should not use wildcards", by converting the WHAT target into a RELEASABLES= list, then using it in both WHAT and CLEANRELEASE. This preserves the identity that CLEANRELEASE should remove exactly the things listed by WHAT. 10) Fix defect EDNWROS-4NULY5 "MAKMAKE can generate Makefiles containing lines longer than 2048 characters" by using \ continuation in the relevant places.2) Jonathan 1) Added memtrace tool and documentation.Version 0.01.223================(Made by RobertJ, 13/12/2000)1) William 1) Update MAKSYM.PL to cope with multiple ROM images in a single ROMBUILD.LOG file. Derive the name of the SYMBOL file from the ROM image name, except for the first ROM image where the SYMBOL file name can be overridden by the optional commandline argument. "maksym x y" will therefore behave the same as before, but "maksym x" will use a sensible name related to the ROM image rather than MAKSYM.LOG. 2) Update FIXUPSYM.PL to cope with multiple ROM images by stopping at the end of the first image. It needs to do this because the same file could appear in multiple extension ROMs, and live at a different address in each one. 3) Rearrange FIXUPSYM.PL internals to test things in a better order, and to give more meaningful explanations for some "can't fixup" conditions. 4) Fix defect ROS-4S6HRP 'MAKSYM can fail with "Empty compile time value..."' in MAKSYM.PL, FIXUPSYM.PL and HPSYM.PL by converting an empty path element into "."1) William 1) Update genbuild.pl to support licensee builds - Removed the old PVCS support and references to M*CORE - Replaced batch\build\special.bat with canned special case command sequences in genbuild.pl - Validate components by checking for the presence of the BLD.INF file and issuing a "MISSING COMPONENT" warning for those which don't have BLD.INF files. Only components which pass this test are included in the generated CMD files. - Generate additional script xxx_pbuild.cmd, so that genpbuild.pl functionality is supported by genbuild.plVersion 0.01.222================(Made by Alastair, 16/11/2000)1) William 1) Fix defect EDNABRY-4QDEN5 "Scanlog.pl doesn't pick up petran errors" by adding a check for "ERROR: bad relocation:", which is actually a warning that PETRAN has had to guess about the meaning of a relocation. 2) Fix defect EDNJLID-4QCGPS "Instcol batch tool not compatible with Win2000" by replacing the batch file with a Perl script.2) Alastair 1) Changed prepfile.pm so that it reports information about files included into the file that it's processing. Updated makmake and bldmake error reporting to take advantage of the new information. 2) Added new build tool, metabld.pl. For more information, see the documentation in \e32toolp\docs\metabld.rtf, which is exported to \epoc32\engdoc\e32toolp\.Version 0.01.221================(Made by Nicolas, 10/10/2000)1) William 1) Fix defect EDNWROS-4N4JLF "ranlib can damage archive files" by not running ranlib. The ar command already generates the symbol directory, so ranlib is unnecessary.2) Nicolas 2) Introduced SRCDBG makmake keyword. When it is specified (no argument), UDEB builds do not use the -O flag any more. This is hopefully a temporary work-around that will be removed when every EPOC components build and run ok without optimisations.Version 0.01.220================(Made by Dennis, 13/09/2000)1) William 1) Sundry M*Core changes to MAKMAKE 2) Added "DefFile" key to E32PLAT.PM PlatHash, for selecting the style of DEF file or predefined exports: this is used to implement the decision that MCORE will use BMARM def files until such time as we find a name-mangling difference between GCC 98r2 & 99r1 3) Put a test into BLDMAKE.PL so that the path is extended with the mcore-tools\pe\bin directory for MCORE and MCGM builds. This allows the bootstrap to build for MCORE via extension makefiles. 4) Fixed various warnings from perl -w, e.g "ambiguous used of {xxx} resolved to {"xxx"}" 5) Corrected messages about "EXPORTFROZEN" to say "EXPORTUNFROZEN" 6) Added -Wno-unknown-pragmas to the GCC makefiles, to suppress MCORE warnings. It seems to be harmless on the 98r2 GCC, so I've made it standard. 7) Fix defect EDNCMOS-4NJJ5L "makmake error message incomplete if UID2 is wrong." 8) Fix defect EDNRANS-4NQKXP "Can't build Opltran WINC tool under vc6" 9) Change EPOCRC.PL to call RPREP, to support the generation of LOCKIT.Version 0.01.213================(Made by Morgan, 5/7/2000)1) Anon 1) Changes to Change 43137 //EPOC/development/base/6.0/e32toolp/BLDMAKE/BLDMAKE.PL#3 //EPOC/development/base/6.0/e32toolp/PLATFORM/CL_WIN.PM#3Version 0.01.212================(Made by MarkCa, 16/05/00)1) Alastair Fixed COMABRY-4JGKQ9 "Test T_R32 fails in UREL under WINS/WINC", by specifying the /Op option for all WINS/WINC UREL builds. This flag disables optimisation of floating-point comparisons and gives better consistency in this area.Version 0.01.211================(Made by Morgan, 7.4.2000)1) William Removed EBLD.BAT Updated MAKMAKE.IPR to reflect changes to Perl modules Removed LISTASM.IPR now that LISTASM.BAT has goneVersion 0.01.210================(Made by Alastair, 15.3.2000)1) Alastair MAKMAKE 1) PROJECT .mmp keyword no longer recognised by Makmake. 2) SUBPROJECT .mmp keyword no longer recognised by Makmake - SOURCEPATH keyword to be used instead. SOURCEPATH works in the same way except that relative paths specified with the SOURCEPATH keyword are considered to be relative to the .mmp file directory rather than the top-level project directory. 3) UNICODEUID .mmp keyword no longer recognised by Makmake - there's now only one keyword for specifying UIDs - UID - which applies only for UNICODE builds of EPOC now that narrow builds are no longer supported. 4) Documentation in \e32toolp\docs updated for this release.Version 0.01.209================(Made by Alastair, 10.3.2000)1) Alastair 1) Created new module, Trgtype.pm, which is loaded by Makmake and contains all the data pertaining to target types as Makmake understands them, including the mangled names for exports and second UIDs for polymorphic DLLs. Adding targettypes for new plugins should now simply be a matter of adding a new entry in the data structure contained in Trgtype.pm. 2) Reorganised Makmake.pl and Mmp.pm. 3) Fixed regression introduced in version 207 - NOTIFIER target type and FEP UID affected. Also updated IDE_VC6.PM to counter NMAKE treating '$' symbols as macros when these symbols occur in mangled function names. 4) Added warning hint that generated headers should be included with angle brackets since these headers are generated into system include directories. 5) Change default .def file location from \<project>\B<platform>\ to ..\B<platform> (relative to the .mmp file directory) 6) Changed build directory structure from \EPOC32\Build\<project>\<executable_basename>\<platform>\<build>\ to \EPOC32\Build\<absolute_path_to_mmp_file>\<mmp_file_basename>\<platform>\<build>\ 7) Added new SOURCEPATH .mmp keyword. This keyword works in exactly the same way as the existing SUBPROJECT keyword, except that relative paths (those specified without an initial backslash) will be treated as relative to the directory containing the .mmp file rather than the top-level directory specified by the PROJECT keyword. The PROJECT and SUBPROJECT keywords will soon be removed from Makmake altogether. 8) The SOURCEPATH and bitmap-specific SOURCEPATH statements now default to the directory containing the .MMP file. MAKMAKE & BLDMAKE 1) Changed default makefile directory structure from \EPOC32\Make\<project>\<platform>\ to \EPOC32\Build\<absolute_path_to_mmp_file>\<mmp_file_basename>\<platform>\ 2) Changed bldmake directory structure from \EPOC32\Bldmake\<project>\ to \EPOC32\Build\<absolute_path_to_bld.inf_file>\ Note that batch files listing tests created by bldmake will therefore be created in this new location, and the .IBY files used in building base roms will be generated into \EPOC32\ROM\<absolute_path_to_bld.inf_file>\. The batch files for running these tests will be ROM-built to Z:\test with a name which reflects the path to the relevant bld.inf file, e.g. Test\F32TEST.GROUP.ARMI.AUTO.BAT. BLDMAKE & ABLD 1) Added new section to BLD.INF files for exporting files for use with test code from source. Syntax is PRJ_TESTEXPORTS [<source path>\<source file>] {<destination>} // list each file exported from source on a separate line // {<destination>} defaults to BLD.INF dir The files will be exported as part of "ABLD TEST BUILD ..." as well as with "ABLD TEST EXPORT". "ABLD TEST CLEANEXPORT" will remove the copied files. 2) Added new ABLD command, ABLD LISTING, to create an assembler listing for a particular source file. Syntax is ABLD [test] LISTING [-k][-v] [<platform>] [<build>] [<program>] [<source>] Specify just the basename of the source file. The listing file will be created in the build directory and copied to the same directory as the source file. This command replaces the LISTASM tool, which has now been removed. 3) ABLD.PL now changes directory to the directory containing the relevant BLD.INF file when it is invoked. This change means that extension makefiles should be able to specify paths relative to the BLD.INF file specifying them rather than absolute paths. LISTASM 1) Replaced by ABLD LISTING command. Type "ABLD HELP LISTING" for syntax. GENERAL 1) Updated SETUPPRJ.BAT to export E32TOOLP tools documentation from \e32toolp\docs to \epoc32\engdoc\e32toolp\. Updated this documentation so that it it up-to-date with this release of E32TOOLP, and will hopefully be edited for every future release. 2) Removed PARSECOM.PM. Makmake, Efreeze and Makedef now use Perl standard library command-line parser module - Getopt - instead. This change means that only a hyphen ("-"), rather than a forward slash ("/") or a hyphen, can be used to specify switches for these programs. GENBUILD 1) Added call for tools platform to create libraries now that some components create libraries for this platform.2) Jonathan FIXUPSYM 1) Only relink executables if they're not already fixed up for the correct ROM addresses.Version 0.01.208================(Made by Pete 24/02/00)1) Alastair MAKMAKE 1) Applied hacks for building EUSER.DLL in the MSVC IDE as they are applied to command-line builds of EUSER.DLL.2) Jonathan 1) Merged in fixupsym and hpsym tools from ER5u e32toolp v134.Version 0.01.207================(Made by Simon, 01/02/00)1) Simon MAKMAKE 1) Changed hardwired directory to new source structure 2) 'PROJECT' keyword is now ignored in mmp filesVersion 0.01.206================(Made by Dennis, 19/01/00)1) Alastair GENERAL 1) Removed obsolete tstparse.pl. MAKMAKE 1) Fixed Symbian defect EDNMRED-4E5NSD "VC6 always asks to build a dummy RSS file before execute". 2) Tools platform now refuses to build anything but EXE target types. 3) Now using perl script emkdir.pl to create directories in makefiles rather than mkdir because it can make paths all at one go under Windows95/98. 4) Added code so that Win32 resources can be specified with a path relative to the .MMP file as well as absolutely. 5) Changed flags for generating .PDB files in WINS builds so that .MMP files with a targetpath specified produce just one .PDB file in the same directory as the executable created. This change should also enable debugging executables with target paths on different PC drives. 6) Created new .MMP Target type, "notifier", with a 2nd UID 0x10005522 and 1st export "IMPORT_C CArrayPtr<MEikSrvNotifierBase>* NotifierArray()". The targetpath for the executable will default to "system\notifiers". MAKMAKE & BLDMAKE 1) Added code to read a .ASSP module in \EPOC32\Tools for specifying a new ASSP. Syntax for the module is ABI [ARM4|ARMI] # default is ARMI "ABI" specifies the Application Binary Interface for ASSP releasables, such as EDISP.DLL, which do not specify .MMP keywords ASSPABI, ASSPLIBRARY, or ASSPEXPORTS. 2) Added .ASSP modules for MMAD and MAWD, taking them out of E32PLAT.PM. 3) Removed platforms ARM3, MX86, SARM3, SROS, including ARM3 flags in Cl_arm.pm. 4) Changed MEIG and SEIG ASSPs to build for ARM4 rather than ARM3 hardware. 5) Changes to support partially MCORE development a) MCORE and MCGM have been added as platforms to E32Plat.pm. b) Cl_arm.pm has been renamed Cl_gcc.pm and MCORE-specific tools options incorporated. The system path in MCORE makefiles is prefixed with the path to the MCORE gcc tools rather than the ARM gcc tools. 6) Changes put in as a side-effect of making the MCORE changes a) GENERIC_WINS is no longer defined for preprocessing .MMP and BLD.INF files to mean WINS but not WINC or TOOLS. b) __GCC32__ and __VC32__ are now defined for .MMP and BLD.INF preprocessing for compiler-specific conditions. c) Minor changes to MAKMAKE.PL and MAKDEPS.PM. GENBUILD 1) Removed references to ARM3.Version 0.01.205================(Made by Peter, 15/12/99)MAKMAKE1) Peter 1) Modified E32PLAT.PM so that MEIG builds use ARM4 rather than ARM3.Version 0.01.204================(Made by Morgan, 3/12/99)1) Alastair GENERAL 1) Removed dependence on latest version of perl from setupprj.bat, which was introduced in version 203. 2) Removed MNT.BAT and associated files. 3) Added emkdir.pl, a script for creating directory paths.Version 0.01.203================(Made by Anonymous)1) Alastair MAKMAKE 1) Changed VC6 default configuration for all executables (WINS, WINC, TOOLS) to Debug rather than Release. 2) Removed -undef flag from the call to CPP to generate dependencies while it's not being used in compiling the source code. 3) Changed order of link dependencies in makefiles so that object files generated from the source files of a project are listed before import libraries the project links to. This change means that the object files will be built even if a required import library is missing, rather than the build of the project failing immediately with nothing being built. 4) Added new perl script, ERMDIR.PL, to \EPOC32\Tools. Makmake command- line generated makefiles now use this script to remove build directories with ABLD CLEAN, rather than deleting individual files. RMDIR /S/Q unfortunately doesn't work under Windows95/98, hence the need for a script. 5) Fixed minor Windows95/98 syntax error in IDE workspaces: IF NOT %ERRORLEVEL%==0 ... has been changed to IF ERRORLEVEL 1 ... 6) (From Chris) added USERLDFLAGS macro for passing to calls to the GCC linker for re-linking executables for use with a debugger. 7) Added some dependency information for resource targets in the VC6 supplementary makefile so that rebuilding is attempted more appropriately. MAKMAKE & BLDMAKE 1) Added -undef flag to the call to CPP to preprocess .MMP and BLD.INF files. This fixes Symbian defect EDNRFID-4CPJY2 'Can't have source directory called "ARM"'. 2) Changed .MMP and BLD.INF preprocessor module so that it can be switch between upper-casing the contents of the processed file or leaving case alone. BLDMAKE now uses the leave-case-alone mode so that exported files retain the case specified in the BLD.INF file. MAKMAKE uses the upper- case mode. BLDMAKE 1) Extended ABLD -keepgoing option so that it is applied for NMAKE calls on particular project makefiles as well as to calls on the meta-makefiles for each component. 2) Improved ABLD error checking so that calls such as ABLD BUILD EWSRV ARMI will report an error because the platform is specified after the program rather than going on to build EWSRV for all supported platforms. 3) Bldmake bldfiles will now overwrite read-only abld.bat files. EFREEZE 1) Changed EFREEZE.PL to check whether the frozen .DEF file is writeable if there are new exports to be added to this file. If the file is not writeable the script will exit with a suitable error message. Fixes Symbian defect EDNABAN-4CDFAK "Some abld commands die with read-only files". GENERAL 1) Changed SETUPPRJ.BAT to use GNU MAKE rather than NMAKE. This means the Cygnus GNU tools need to be in the path before E32TOOLP can be built.Version 0.01.202================(Made by Alastair 12/10/99)1) Alastair BLDMAKE & MAKMAKE 1) Removed support for the old GCC compiler. Building for platforms MARM and SARM is no longer supported. If MARM is specified as a platform in the BLD.INF file then it will still be expanded to mean ARM4, ARMI and THUMB but really these platforms should be listed explicitly or the default relied upon. MAKMAKE 1) Added list of source macros defined for preprocessing to the help displayed by MAKMAKE -PLAT <platform>. This list isn't complete, since the definition of some macros will depend upon the contents of a particular .MMP file. Unlisted macros are as follows: __MARM_<ABI>__ if the platform CPU is MARM (where <ABI> may vary according to .MMP contents), Any macros defined in the .MMP file, __DLL__ or __EXE__ respectively if the general target type is DLL or EXE, WIN32 and _WINDOWS if the project links to Win32 libraries, _UNICODE, _DEBUG or NDEBUG for Debug and Release builds respectively. 2) Added extratarget, RECREATEWORKSPACE, to the supplementary MSVC6 workspace makefile. This target is intended for use as a custom tool within the MSVC IDE, for regenerating workspace once the .MMP file has been edited within the IDE. To install the target as a custom tool in the IDE, select Tools->Customise...->Tools, and choose a name for the tool, e.g. "Recreate Workspace". Next, type "nmake.exe" as the command and "-nologo -f $(WkspDir)\$(WkspName).sup.make recreateworkspace" as the program arguments. Leave the "initial directory" field blank, and tick the "Close window on exiting" checkbox. Having edited the .MMP file for a project, select the new tool from the tools menu to recreate the workspace. If the commands have run correctly, you will be prompted to reload the workspace. 3) Changed makefiles to use DIFF.EXE (part of the GCC distribution from GCC version 523) rather than FC4BAT.EXE to compare generated headers. FC4BAT.EXE is no longer required. 4) Changed LIBRARY targets in static library makefiles so that they depend upon the UDEB and UREL targets. This change means that the ABLD LIBRARY command will create static libraries as well as import libraries. BLDMAKE 1) Added BLDMAKE PLAT <platform> command, which lists the macros defined for the preprocessing of PRJ_MMPFILES and PRJ_TESTMMPFILES sections of BLD.INF files for the <platform> specified. 2) Now dynamically loading module PREPFILE.PM, which depends upon CHECKGCC.PM, so that CPP.EXE is checked only if it is going to be used. This change addresses ER5u defect EDNDFER-4BGN9L "BLDMAKE should not insist on CPP being in the right place unless it's going to use it." 3) Bldmake now generates a list of programs supported by each platform in a Perl data structure, so that ABLD can tell whether a particular program as specified on the ABLD command-line should be built for a particular platform. Fewer obscure errors should now be produced by ABLD, especially since error reporting has been tidied up somewhat. 4) If the [platform] or [build] parameters are missed out of the ABLD command-line, they will be assumed to be "ALL". This means that commands such as ABLD BUILD ECONS will build all the UDEB and UREL versions of ECONS for all the platforms specified in the BLD.INF file, as would ABLD BUILD ALL ALL ECONS. This change means, as far as Engineering components are concerned, that components must avoid using the names of platforms and builds used during overnight building as the basenames of .MMP files or extension makefiles - MAWD, MISA, MCGA, TOOLS, UDEB, UREL, etc. These last 2 changes address the issues raised by ER5u defect EDNDFER-4BPE3P "It would be good if you didn't have to specify a platform". 5) Removed the "hidden" status of ABLD command CLEANEXPORT, so that it appears in the list of available commands. This command will delete all the files generated with ABLD EXPORT. 6) Changed component makefiles that BLDMAKE generates so that \epoc32\gcc\bin on the current drive is added to the front of the PATH. This change will ensure that GCC tools on the current drive are used where custom builds make use of the GCC tools. EVALID 1) (From William) Updated EVALID.PL which can use \epoc32\tools\pfsdump to compare two EPOC permanent file stores. GENBUILD 1) (From William) some improvements to scanlog.pl. 2) (From William) a new alternative overnight genbuild log scanning script - complog.pl.Version 0.01.201================(Made by Alastair, 17.9.99)1) Alastair LISTASM 1) Fixed problem with projects where the basename of the target is different from the basename of the project's makefile. 2) Added code to generate the build directory to contain the generated listing file. MAKMAKE 1) Fixed ER5U defect EDNGTIN-4BTGJU "Fatal error in vc6 .SUP.MAKE file".Version 0.01.200================(Made by Alastair, 9.9.99)1) Alastair GENBUILD 1) (From William) Changed batch file output so that a list of executables that should have been produced is added to the log file. 2) (From William) Added SCANLOG.PL, which summarises the output from GENBUILD. Call "perl -S scanlog.pl < [genbuild_logfile]". MAKMAKE 1) Help now displays the EXPORTUNFROZEN keyword and the target types WLOG, VAR and KEXT. 2) Changed FEP targettype first export to the correct version following the change made to the function in CONE version 160. This fixes ER5u defect EDNDBAR-4BHH87, "MAKMAKE's knowledge of the FEP interface is out of date". BLDMAKE 1) Changed ROM names of the batch file for running the tests for a component from <component>.auto.bat and <component>.manual.bat to <component>.<platform>.auto.bat and <component>.<platform>.manual.bat respectively. This change will only affect E32TEST and F32TEST, since it's only the rombuild for these 2 components which makes use of the experimental .IBY files generated by BLDMAKE.Version 0.01.127================(Made by Morgan, 26.8.99)1) Alastair MAKMAKE 1) Implemented new .MMP keyword, EXPORTUNFROZEN, which means "generate an import library containing frozen AND unfrozen exports". If this keyword is specified, an import library containing all exports will be created as a side-effect of building the main target, instead of an import library being created directly from the frozen .DEF file. Note that, for the new ARM targets, extra import libraries for compatible targets will not be created, as they are when the import library is created directory from the frozen .DEF file. Note also that warnings about unfrozen exports will still appear. 2) Trapped error where duplicate bitmap targets are specified in a .MMP file. 3) Removed change to make the bitmap header lower-case in the makefile now that BMCONV doesn't use the case to decide the format for the enum in the generated header. 4) Changed PLATFORM\IDE_VC6.PM to make Debug rather than Release builds the default in the VC6 IDE. 5) Added 2 new experimental IBY file creation keywords, ROMTARGET and RAMTARGET. 6) Changed the target in makefiles called by ABLD -WHAT to WHAT rather than RELEASABLES - this doesn't apply to extension makefiles, where the target is still RELEASABLES. 7) Removed -LIST option which used to cause assembler listings to be generated. This is now done with the new LISTASM tool, and support for this tool has been added to the generated makefiles. BLDMAKE 1) Allowed "ALL" to be specified as a platform so that it is possible to build, e.g., makefiles for all supported platforms for a particular project within a component using just one command. 2) Updated BLDMAKE\EGMAK.FIL with some more information about how to write extension makefiles for use with ABLD. 3) BLD.INF processing now allows platforms to be added to and removed from the default PRJ_PLATFORM list. Keyword "DEFAULT", if specified, will be expanded to the list of default platforms - WINS, ARMI, ARM4 and THUMB with the new gcc compiler. Prefix platforms to be removed from the default list with a minus sign [-], and add platforms simply by specifying them as usual. (This feature was actually implemented some time ago). 4) Added experimental code for creating .IBY files - this currently only works for E32TEST and F32TEST using the command ABLD TEST ROMFILE. 5) Added GENBUILD.PL (from William) and GENBUILD.BAT which produces an effect not dissimilar to "ABLD BUILD" for a list of components. 6) Added warning if the new gcc compiler is not installed that the new platforms, ARMI, ARM4, THUMB, etc. will not be available. LISTASM 1) New tool to generate an assembler listing for a particular source file. Syntax is LISTASM [platform] [build] [source_file] The tool searched for the .lis target corresponding to the source_file in the platform makefiles in \EPOC32\Make, and executes the command to generate the .lis directory along with the .o file in the intermediate files directory, and then copy this file to the source_file directory. Only GCC makefiles support this tool.Version 0.01.126================(Made by Alastair, 19.8.99)1) Alastair BLDMAKE 1) Fixed problem with target FINAL not being called in extension makefiles.Version 0.01.125================(Made by Alastair, 18.8.99)1) Alastair GENERAL 1) Jumped the version numbers because release 120 erroneously reports itself as version 124. 2) Added new #defines for BLD.INF and .MMP preprocessing for the new compiler targets ARMI defines MARM_ARMI ARM4 defines MARM_ARM4 THUMB defines MARM_THUMB ARM3 defines MARM_ARM3 These #defines aren't applied for ASSP-specific platforms such as MAWD since we can't know the final ABI until we've processed the .MMP file. MAKMAKE 1) Added new .MMP keyword, ASSPABI, for use in deciding the ABI for projects built for ASSP-specific targets. See note MAKMAKE #1 for E32TOOLP version 120 - ASSPABI is implied by ASSPEXPORTS or ASSPLIBRARY. 2) Removed support for creating VC5 makefiles. 3) Added warning during Win32 makefile creation if MSVC6 Service pack 3 is not installed. 4) Using -march=armv4t for ARM4, to allow direct use of BX in the kernel, where the component is built for ARM4 but the platform can support thumb instructions. 5) Added 2 new target types, KEXT and VAR, for kernel extension DLLs and variant DLLs respectively. Variant DLLs export the function VariantInitialise__Fv at ordinal one for ARM platforms, and link to EVAR.LIB rather than EDLL.LIB. Kernel extension DLLs link to EEXT.LIB rather than EDLL.LIB. 6) Added code to apply .MMP keyword ASSPABI implicitly for known kernel target types - KEXT, LDD, PDD and VAR. 7) Added new target type, WLOG, for WSERV logging DLLs. These DLLs export the function CreateDebugLog(int, TDesC16 &) at ordinal 1, and have second uid 0x10003b23. EFREEZE/MAKEDEF 1) Minor change in E32UTIL\DEFUTL.PM so that an EXPORTS statement without a subsequent EXPORT definition can have blank space following it. BLDMAKE 1) Renamed the batch file BLDMAKE creates from BLD.BAT to ABLD.BAT to give it a name less likely to clash with batch files already in existence. The "A" could be said to stand for "Automated". 2) Changed ABLD.BAT syntax, which is now as follows ABLD [test] BUILD ( ( [-check] | [-what] ) | ( [-k] [-s] [-v] ) ) [<platform>] [<build> [<program>] ] (this command combines the EXPORT, MAKEFILE, LIBRARY, RESOURCE, TARGET, and FINAL commands). ABLD [test] CLEAN ( ( [-check] | [-what] ) | ( [-k] [-v] ) ) [<platform>] [<build> [<program>] ] (removes everything that would be created by the corresponding TARGET command) ABLD EXPORT ( ( [-check] | [-what] ) | ( [-k] [-v] ) ) (copies the exported files to their destinations) ABLD [test] FINAL [-k] [-v] [<platform>] [<build> [<program>] ] (allows extension makefiles to carry out any build activities necessary after other build activities have been completed) ABLD [test] FREEZE [-k] [-v] [<platform>] [<program>] (freezes exported functions in a .DEF file) ABLD HELP ( [commands] | [options] | [<command>] ) (displays lists of commands or options, or help about a particular command) ABLD [test] LIBRARY [-k] [-v] [<platform>] [<program>] (builds the import libraries from the frozen .DEF files) ABLD [test] MAKEFILE ( ( [-check] | [-what] ) | ( [-k] [-v] ) ) [<platform>] [<program>] (creates makefiles or IDE workspaces) ABLD [test] REALLYCLEAN ( ( [-check] | [-what] ) | ( [-k] [-v] ) ) [<platform>] [<build> [<program>] ] (as for the CLEAN command, but also removes exported files and makefiles) ABLD [test] RESOURCE [-k] [-v] [<platform>] [<build> [<program>] ] (creates resource files, bitmaps and AIFs) ABLD [test] TARGET ( ( [-check] | [-what] ) | ( [-k] [-s] [-v] ) ) [<platform>] [<build> [<program>] ] (creates the main executable, and also the resource files, bitmaps and AIFs) ABLD [test] TIDY [-k] [-v] [<platform>] [<build> [<program>] ] (removes releasables which need not be released from a component) Options -k, -s and -v can also be specified as -keepgoing, -savespace and -verbose respectively. Specifying -k will mean unrelated build activies will be carried out after errors, -s causes intermediate files to be deleted if building the main executable is successful and -v displays the calls to tools taking place within makefiles during building. Options -what and -check can also be specified as -w and -c respectively. Specifying -what will display the files which will be created or deleted by a particular command, while -check will check that all the files which would be displayed by -what actually exist.2) Jonathan MAKSYM 1) Relax sanity check so that only .text needs to be found in rombuild.log. 2) Include data files in the output.Version 0.01.121================(Made by Alastair, 4.8.99)1) Alastair GENERAL 1) Added GROUP\BUILD.TXT which contains a brief explanation of how to build E32TOOLP. EFREEZE 1) Fixed problem with 'EXPORTS' not being added to the top of empty frozen .DEF files when freezing for the first time. MAKMAKE 1) Fixed problems with RELEASABLES targets in generated makefiles - target paths for bitmaps were being missed out as was the data path for system resources. 2) Fixed problem with generating VC6 workspaces for projects incorporating resource files. 3) Added some #defines for source code preprocessing (there are no corresponding #defines for .MMP preprocessing for these #defines): Platform #define ARMI __MARM_ARMI__ ARM4 __MARM_ARM4__ THUMB __MARM_THUMB__ ARM3 __MARI_ARM3__ BLDMAKE 1) Removed TESTBATS target - batch files for test programs are now created with "BLDMAKE BLDFILES" if required. 2) Added temporary code to include ARMI, ARM4 and THUMB as targets for the new gcc compiler if MARM is specified explicitly as a platform in a BLD.INF file. 3) Changed output from BLD -CHECK so that missing releasables are listed to STDERR in the following format MISSING: <first missing releasable> MISSING: <second missing releasable> ... 4) Changed "Nothing to do" report so that it is applied on a per-target basis rather than on a per-makefile basis in the makefiles that BLDMAKE creates. This means that the "Nothing to do" message is not produced by BLD -CHECK or BLD -WHAT with projects that don't have any releasables or any test releasables or any exports. 5) Changed BLD.PL so that if ALL is specified as the build parameter, then BLD.PL loops round the available builds for the platform making the relevant calls to NMAKE rather than calling NMAKE once with the corresponding ALL target specified. This means that custom-build makefiles written for use with BLDMAKE will no longer have to attempt to deal with $(CFG)==ALL.Version 0.01.120================(Made by Alastair, 2.8.99)1) Alastair MAKMAKE 1) Added support for the 3 new GCC compiler platforms - ARMI, ARM4 and THUMB. Also added support for ARM3, which is effectively old MARM built with the new GCC compiler. Compatible import libraries are produced as well as the import libraries for the new platform in question - so, for example, if a DLL is built for ARM4 then an ARMI import library will also be produced. ASSP platforms built with the new compiler will build a selection of interworking/plain arm executables depending upon whether ASSPEXPORT or ASSPLIBRARY statements are present in the relevant .MMP files: ASSPEXPORT/ASSPLIBRARY otherwise MAWD ARM4 ARMI MCGA ARM4 ARMI MEIG ARM3 ARM3 MISA ARM4 ARM4 MMAD ARM4 ARMI SCGA ARM4 ARMI SEIG ARM3 ARM3 SROS ARM4 ARMI 2) Added code so that bitmap headers are only generated into \EPOC32\Include if the contents of the header file have changed. A change is required to BMCONV so that the generated file name is omittted from the header before this will work properly. 3) Removed -REL option. Now, targets RELEASABLES and RELEASABLES<build> are added to generated makefiles so that nmake -nologo -s -f <makefile> RELEASABLES will display a list of releasables that a build of the makefile will produce. 5) Added new target type, EPOCEXE, for executables within EPOC launchable from the shell. On the target machine these executables have no exports and are built as EXEs. In the Emulator, on the other hand, these executables are built as DLLs which export a single function EXPORT_C TInt WinsMain() at ordinal 1, to be called by the "EXE recogniser" when the executable is launched. Makmake supplies the mangled name of this function at link time so there is no need to specify a .DEF file for these target types under any platform. EXEDLL is still supported as a separate targettype so that an EXE under EPOC can export functionality to client DLLs, and if no exports are required under EPOC then a dummy function will still have to be exported at least until the new gcc compiler is available. 6) "MAKMAKE <project> VC5" is no longer specifiable - VC6 must be specified instead. VC5 workspaces are still supported and will be created instead of VC6 workspaces if the VC5 version of LINK.EXE is found first in the system path. 7) Changed default first library from E(DLL|EXE).o under MARM and E(DLL|EXE).obj under WINS to E(DLL|EXE).LIB under all platforms. This change means that building with this version of E32TOOLP requires E32 version 195. 8) Removed support for NARROW builds - these changes include a) Removed support for .MMP UID keyword. b) Only one frozen .DEF file is expected to exist for each DLL|EXEDLL, though the 'U' basename suffix will still be applied unless the NOSTRICTDEF file keyword is specified. c) The generated .DEF file is now created in the directory above where it used to be - e.g. in \epoc32\build\e32\euser\wins\ rather than \epoc32\build\e32\euser\wins\udeb\. This means that you can freeze using either build, rather than having to freeze using the debug build under WINS and the release build under MARM. d) The LIB(UNICODE|NARROW) FREEZE(UNICODE|NARROW) targets have been removed from generated makefiles. BLDMAKE 1) Default BLD.INF platforms now depend upon which version of the GCC compiler is in use. With the old compiler, the platforms are WINS and MARM, with the new, WINS, ARMI, ARM4 and THUMB. If platforms are explicitly listed in the BLD.INF file and both the old and new compilers are being used intermittently then list all the platforms necessary for both compilers in the BLD.INF and Bldmake will silently remove any that aren't appropriate to the compiler in use. Bldmake detects at run-time whether the new compiler is in use, as does Makmake, and changes its behaviour accordingly. 2) Added -what option to BLD.PL. BLD -what <platform> <build> <.MMP base> will now display a list of releasables. Releasables will not be displayed where .MMP files are listed in the BLD.INF file with the TIDY keyword. This option replaces BLDMAKE's RELFILES target, which has been removed. The option requires MAKMAKE to have generated the makefiles for the component since it utilises the new RELEASABLES target in the generated makefiles. 3) Added -check option to BLD.PL. BLD -check <platform> <build> <.MMP base> will check that releasables have been created and send a list of those that have not to STDERR. 4) Changed BLD -LIB option now that narrow builds are no longer supported. There is no longer a need to specify UNICODE or NARROW as the second parameter, just use BLD -LIB <platform> {<.MMP basename>} instead.2) Jonathan MAKSYM - Replaces C++ version formerly in e32tools. Changes are: 1) Added support for GNU ld version 2.9-psion-98r2. Can still parse map files produced by ld 2.6. 2) 0-length functions/labels are eliminated from the output file. This is probably a defect rather than a feature. 3) The last function in the .text segment has its length calculated correctly when using ld 2.9 map files, and fairly correctly when using ld 2.6 map files.Version 0.01.113================(Made by Alastair, 21.7.99)1) Alastair MAKMAKE 1) Refined checkgcc.pm so that it doesn't object to GCC being installed on a substituted drive under Windows95/98. 2) Changed MAKEWORK<build> target in command-line makefiles so that it is depended upon by the RESOURCE<build> target rather than the <build> target so that the work directories are created even if just the RESOURCE<build> target is being created. 3) Fixed SGCA platform so that it's ASSP is MCGA rather than MEIG. 4) Changed BITMAP keyword .MMP processing so that the order of source bitmaps as specified in the .MMP file is preserved.Version 0.01.112================(Made by Alastair, 15.7.99)1) Alastair MAKMAKE 1) Added TARGETPATH statement syntax to START BITMAP ... END blocks. If a path is specified with this keyword, it will be added to \EPOC32\Release\WINS\<build>\Z\ and act as the location for the target bitmap. If this statement is not used then the bitmap will be created in the directory specified by the main .MMP TARGETPATH statement as before. 2) Changed pre-link step in MSVC makefiles for DLLs so that, rather than having several pre-link step calls to equivalent commands in command- line makefiles, there is one call to nmake on <project>.sup.make, which contains the command-line equivalent commands. If this nmake call fails, then the export object that these commands might create is deleted so that the second-stage link fails rather that misleadingly reporting no errors. Also defined $(PATH) in <project>.sup.make so that the path here is the same as the path was when Makmake generated the file - this should solve problems relating to MSVC's strange concept of paths in custom-build steps. 3) Added post-build step in MSVC makefiles to create the import library from the frozen .DEF file so that MSVC build behaviour is the same as command-line build behaviour in this respect. 4) Changed resource building in MSVC so that most of the work is done in <project>.sup.make rather than in the error-prone custom-build step. 5) Added -pipe switch to GCC calls in arm makefiles. This flag should speed up compilation by having GCC use pipes rather than temporary files to communicate between the various stages of compilation. 6) Changed testing of LINK.EXE version number so that a warning about needing MSVC5 Service Pack 3 is not generated when using MSVC6. 7) Changed CLEANBUILD targets in WINS command-line makefiles so that incremental linker files in the RELEASE directory are deleted too. 8) Re-implemented mechanism for defining macros on the NMAKE command- line using the $(USERDEFS) NMAKE macro due to popular demand. MAKEDEF 1) Changed warning about frozen exports not being found in the object files into an error so that it stops the build after a new .DEF file is generated. 2) Re-organised error and warning reporting so that clicking on the output message in the MSDEV output window will bring up the relevant frozen or generated .DEF file at the appropriate line number. BLDMAKE 1) Removed terminating backslash from directory name where tests are applied to check that the directory exists, because some older versions of Perl like build 307 can't cope with that. 2) Disable check for duplicate platforms specified in BLD.INF files in case bld.inf files #include bld.inf files from sub-components. GENERAL 1) Changed system for building E32TOOLP so that it's more Windows95/98 friendly.Version 0.01.111================(Made by Alastair, 12.7.99)1) Alastair MAKMAKE 1) Added new RESOURCE<build> targets to generated makefiles. 2) Added temporary change so that WINC static libraries are built and linked against in directory \EPOC32\Release\WINC rather that \EPOC32\Release\WINS. BLDMAKE 1) Added option to BLD.PL, -RESOURCE, which will invoke the new RESOURCE<build> targets in Makmake-generated makefiles. In other words, this option will build just the bitmaps, aifs and resource files for a component and no binaries or import libraries. Any custom-build makefiles incorporated into the Bldmake system with the BLD.INF MAKEFILE keyword will need to add RESOURCE: targets or errors will be reported. 2) Changed default build for BLD.PL with no options specified or the -savespace option specified. The default used to be DEB for WINS and REL for MARM. It's now ALL whatever the platform. 3) Bldmake relfiles command can now handle multiple releasables listed on the same line by Makmake's -rel flag or custom-build makefiles' RELEASABLES target. The command splits on whitespace unless spaces occur within quotation marks.Version 0.01.110================(Made by Alastair, 6.7.99)1) Alastair MAKMAKE 1) Generated command-line makefiles now contain comments providing the name of the .MMP file, the target, target type and general target type. 2) Fixed CLEAN targets for resource files so that they now delete XXX.R* files rather than XXX.R.* files. 3) Updated -REL flag to include releasables for resources, bitmaps and aifs in the list of releasables produced. 4) Changed AIF handling so that colour depth settings and bitmaps are optional parameters rather than mandatory. BLDMAKE 1) Changed bldmake bldfiles so that a perl file BLD.PL is no longer generated. Instead, there is just one BLD.PL in \EPOC32\Tools which is invoked by the respective \<project>\group\bld.bat files with a path to the generated bldmake files. Among these generated files is PLATFORM.PM, which contains information about the platforms that a particular project supports; this module is loaded by BLD.PL at run- time. 2) Fixed erroneous assumption that bld.inf files won't list .MMP files in another top-level directory which was causing makmake and bldmake to disagree about the destination of makefiles generated with the -D switch. 3) Changed BLDMAKE so that it will fail if not called from the directory containing the BLD.INF file. 4) Changed BLDMAKE output directory so that if the BLD.INF directory is not a two-level directory the second-level directory of which is called "GROUP" then the output directory will be \EPOC32\Bldmake\<full-path to BLD.INF file>\ rather than \EPOC32\Bldmake\<first-level directory of BLD.INF path>\. This is a temporary move to support developers external to Symbian. GENERAL 1) Added fetcher definition file, E32TOOLP.FTC, to the group directory.Version 0.01.109================(Made by Alastair 29.6.99)WARNINGS1) EBLD commands may be broken by change (11) to MAKMAKE below, if such a command invokes MAKMAKE with the -D switch.1) Alastair MAKMAKE 1) Updated Cl-arm.pm to be switchable between the current version of the gcc compiler we use and the newer Gcc29. 2) Removed a "t", standing for thumb, from one of the new Gcc29 plain ARM flags. 3) Added CLEANBUILDALL target as a synonym for CLEANBUILD in command-line makefiles. 4) Removed warning about NARROW .DEF files not being found. 5) .MMP files are now included in generated IDE makefiles as source documents by default. You'll now get a warning if you're already specifying your .MMP files with the DOCUMENT keyword. 6) Added warning when creating Win32 makefiles which appears if MSVC5 Service Pack 3 is not installed. 7) Added new .MMP keyword, MACRO, for specifying user-defined macros for source code preprocessing. Letters in MACROS will always be upper- cased. It's no longer possible to define macros on the NMAKE command- line using the $(USERDEFS) NMAKE macro. 8) .MMP files now support bitmaps. .MMP syntax is START BITMAP <target> {HEADER} SOURCEPATH <source path> SOURCE <colour depth> <list of source .BMP files> END SOURCE and SOURCEPATH statements can be repeated any number of times - the directory specified with the SOURCEPATH statement will apply for all subsequent SOURCE statements. There is no support for localisation of bitmaps. Colour and black-and-white bitmaps should be specified as separate entities. There is currently no support for building bitmaps within the MSVC IDE. A lot of source files appear to incorrectly user #include generated headers rather that system #include them with angle brackets. 9) .MMP files now support application information files. .MMP syntax is AIF <target> <source path> <resource> \ <colour depth> <list of source .BMP files> Colour and black-and-white .AIF files should be specified as separate entities. Only one colour depth may be specified for all source .BMP files. There is no support for localisation of .AIF files and currently no support for building .AIF files within the MSVC IDE. 10) Fixed problem with building resources in the MSVC IDE - include paths for .RSS file preprocessing are now specified relative to the .DSP file rather than relative to the working directory where the command to create the .DSP file was invoked. 11) Changed MAKMAKE -D switch so that makefiles are created in \EPOC32\Make\<project>\<platform>\ rather than \EPOC32\Make\<platform>\. This change is to prevent clashes during overnight builds where different components have .MMP files with the same name. 12) Added --thumb-entry LD.EXE flag for THUMB builds. 13) Changed build and release directories for static libraries so that, for example, static libraries will always build into \EPOC32\Release\MARM... rather than \EPOC32\Release\MAWD. This change may have to be redressed should code for static libraries need to differ for different ASSPs or between single and multi-process versions of EPOC, though this is not currently the case. MAKMAKE & BLDMAKE 1) GENERIC_WINS is now defined for preprocessing of .MMP files and BLD.INF files for platforms WINS and VC5, while GENERIC_MARM is defined for platform MARM - this macro effectively means "just MARM", as opposed to MAWD, MEIG, MISA, etc. all of which define the MARM macro too. BLDMAKE 1) Updated BLDMAKE.PL with a few of William's suggestions to check for missing/duplicate exported files, create .MAKE files rather than .MAK files and other bits and bobs. Also, if the BLD.INF file for your component isn't in a subdirectory called "Group" then BLDMAKE generates it's work files into \EPOC32\Bldmake\<full path to BLD.INF dir>\ rather than \EPOC32\Bldmake\<component>\. 2) Added option -savespace to generated BLD.BAT for building as normal except that if the build is successful then the intermediate files will be deleted from the build directories. 3) Changed "TEST" command-line argument so it needn't be specified before any of the available options, it still needs to be the first of the argments though. 4) Bldmake bldfiles now always creates meta-makefiles for exports, programs and test programs. If these makefiles have nothing to do when they are invoked they report the fact. 5) Added syntax for specifying custom-build makefiles. Specify these in the PRJ_MMPFILES section of BLD.INF with keyword MAKEFILE. All subsequent arguments are the same as for .MMP files. See \e32toolp\bldmake\egmak.fil for an example custom-build makefile. 6) Changed BLD.BAT help so that it's printed to STDOUT rather than STDERR so that it doesn't scroll off the screen with 'bld |more'. 7) Changed BLDMAKE.PL so that BLD.INF is not preprocessed for VC5 and WINS platforms everytime. OTHER 1) Removed superseded EVALID.CMD.Version 0.01.108================(Made by Alastair, 9.6.99)This release requires VC5 Service Pack 3 to be installed.You can tell if VC5 SP3 is installed by typing link without any arguments and checking the version number. If the version is 5.10.7303 you have SP3 installed. You can get SP3 from directory "\\sentinel-main\ualastrb\VS97_SP3".EXTRA INFORMATION 0) Some of the changes below have been adjusted so that this version of E32TOOLP will continue to work with projects which depend upon E32 version 186 and earlier versions. 1) \EPOC32\LINK\ has been renamed \EPOC32\RELEASE\ for temporary backwards compatability. The UNICODE sub-directory has been renamed UDEB under WINS and UREL under MARM, the NARROW sub-directory has been renamed DEB under WINS and REL under MARM. 2) Targets will attempt to link to [EDLL|EEXE].o under MARM and [EDLL|EEXE].obj under WINS for the moment. 3) Flag -undef will not yet be used in gcc calls because an extra #define is required in the E32 source code for this to work.MAKMAKE 0) Renamed zip file in S:\e32toolp\zip\ from E32TOOLP.<ver> to TOOLS.<ver>. The files within this zip file now also have full pathnames so ensure you unzip them into the root of your EPOC drive with any flags required to recreate the directory structure. 1) Changed makefiles so that import libraries can be generated separately from dlls, direct from the frozen .DEF file. Import libraries are now generated into directory \Epoc32\Link\[platform]\[NARROW|UNICODE]\. nmake /f [makefile] [LIB|LIBUNICODE|LIBNARROW] can be used to generate the import libraries, though the libraries will be generated anyway during command-line builds. This change means that new exports you add to your component won't appear in the component's import libraries until the new exports are frozen. 2) Changed DEFFILE .MMP keyword so that, whether the keyword is used or not, the default .DEF file name, \[project]\B[platform]\[target basename].DEF, will be applied if no other filename is specified. If a .DEF file does not exist for DLL or EXEDLL targets, warnings will be issued about the project not being frozen. 3) Added new makefile targets to command-line makefiles to make freezing easier - FREEZE, FREEZEUNICODE and FREEZENARROW. Use nmake /f [makefile] [target] to freeze a component. The makefile will call perl on EFREEZE.PL to compare the frozen .DEF file, if it exists, with the new one and insert any new exports into the frozen .DEF file. Once the project has been frozen, regenerate the makefile so that it won't produce warnings and will reference the frozen .DEF file in the right places. The .MMP file need not be altered to include a DEFFILE statement as with previous versions of E32TOOLP. Use xcopy /e *.def *.frz or a similar command if you wish to back up your .DEF files before freezing. ARM targets will take the new .DEF files from the REL and UREL build directories, while Win32 targets will take the new .DEF files from the DEB and UDEB build directories. 4) Changed build directory to \EPOC32\Build\[Project]\[Target basename]\[platform]\[build]\. 5) Removed LONGBLDPATH keyword. 6) Removed NOBROWSEINFO keyword, which was specific tocommand-line Win32 makefiles. 7) Removed support for MSVC4 makefiles. 8) Remove -CLEAN and -MAKEWORK flags. Using NMAKE on the clean and makework targets in the generated makefiles to carry out these tasks is more versatile and more efficient. 9) Changed targettype LIB so that it builds static libraries properly. DLLs and EXEs will now link to EDLL.LIB and EEXE.LIB respectively, rather than EDLL.OBJ and EEXE.OBJ. This change means that components built with this version of E32TOOLP will require the latest version of E32, and won't be able to build using the latest version of E32 and old versions of E32TOOLP. 10) Static libraries are now generated into \Epoc32\Link\[platform]\[build]\. 11) Added new .MMP keyword, STATICLIBRARY, for specifying that a target links to static libraries. 12) Removed OBJECT keyword, for linking a target to pre-compiled objects. This keyword wasn't working under ARM builds anyway. If your project links to pre-compiled objects you can list them as static libraries using the new STATICLIBRARY keyword instead - and preferably get them supplied as static libraries rather than object files. 13) Changed VC5 makefiles to use a pre-link command which calls link.exe, dumpbin.exe, makedef.pl, and lib.exe as command-line makefiles do. This should mean that DLLs built in VC5 are generated in exactly the same way as DLLs built with command-line makefiles, though the import libraries will not be generated. This procedure also avoids the warnings about exports being defined multiple times. 14) Added custom build step for building resources within the VC5 IDE. This change addresses EDN934964 "MAKMAKE should integrate EIKRS as a custom build step". All resources specified for a project should be compiled automatically for all languages specified. Strangely, VC5 seems not to be able to find rcomp.exe and fc4bat.exe if these tools are invoked without a path, but has no problems with CPP.EXE - even if no system path to CPP.EXE is set. Unfortunately, if a .RSC file is custom-built within the IDE, MSVC assumes it is a Windows resource file and tries to link it with the main target, which causes an error. To avoid this problem a change has been applied so that, if building a resource file for language SC, the output file as far as MSVC is concerned is a .RSC.dummy file, which is created whenever the .RSC file is created. 15) Added new targettypes for some types of polymorphic dll. These are ANI - animation dlls CTL - system controls FEP - front end processors MDA - media server plug-ins MDL - mime recognisers OPX - OPL extensions PDL - printer drivers RDL - recognisers If any of these targettypes is specified and no deffile is specified then makmake will ensure the correct functions are exported at ordinal 1, and, in some cases, ordinal 2. Makmake will also put in the correct second uid if no uids are specified. 16) If a polymorphic dll of recognised type has the wrong second uid a warning will now be issued. Note that if such a dll, e.g. an APP, specifies the second uid as zero ("0" or "0x00000000") the correct second uid for that polymorphic dll will be applied. This is useful when you want makmake to handle the second uid but you want to specify an additional third uid. 17) Added command-line flag, /PLAT [platform] which displays platform- specific .MMP file syntax. 18) Removed __PSISOFT32__ macro now that we have __SYMBIAN32__ defined for all projects. 19) Removed __XCON__ macro which had been defined for __WINC__ builds. 20) Default .DEF file directory for __WINC__ .DEF files is now \[project]\BWINS rather than \[project]\BWINC. 21) Added new module, E32PLAT.PM, which replaces WINS.PM, MARM.PM, etc, containing data about all the platforms currently supported by Epoc. Current platform defines are now as follows: (all these macros begin and end with a pair of underscores). All __SYMBIAN32__ __PSISOFT32__ MARM __GCC32__ __EPOC32__ __MARM__ MAWD __GCC32__ __EPOC32__ __MARM__ __MAWD__ MCGA __GCC32__ __EPOC32__ __MARM__ __MCGA__ MEIG __GCC32__ __EPOC32__ __MARM__ __MEIG__ MISA __GCC32__ __EPOC32__ __MARM__ __MISA__ MMAD __GCC32__ __EPOC32__ __MARM__ __MMAD__ SARM __GCC32__ __EPOC32__ __MARM__ __SINGLE__ SEIG __GCC32__ __EPOC32__ __MARM__ __MEIG__ __SINGLE__ SROS __GCC32__ __EPOC32__ __MARM__ __MROS__ __SINGLE__ SCGA __GCC32__ __EPOC32__ __MARM__ __MCGA__ __SINGLE__ MX86 __VC32__ __EPOC32__ __MX86__ WINS __VC32__ __WINS__ WINC __VC32__ __WINS__ __WINC__ The major change here is that __MARM__ now represents the CPU-type being used while __MAWD__, __MEIG__, etc denote the ASSP (Application Specific Standard Product). This change will affect few releaseables apart from the base team's, since most people's MARM releaseables should run on all the ARM ASSPs without modification. 22) Added new .MMP keyword, ASSPEXPORTS. If this keyword is specified makmake by default will look for an ASSP-specific deffile rather than a CPU-specific one. In other words, if you're building EKERN.EXE for MISA and specify ASSPEXPORTS and deffile EKERN.DEF without a path makmake will select a deffile from \E32\BMISA rather than \E32\BMARM. 23) Replaced FIRSTOBJECT keyword with FIRSTLIB. This keyword takes the full name, rather than the basename, of the first library in the link to replace EEXE.LIB or EDLL.LIB. 24) Changed MAKMAKE.PL and BLDMAKE.PL so additional .PM modules are searched for in whichever directory in the system path the .PL module is first found, rather than the first /^(\w:)?\\EPOC32\\TOOLS\\?$/io style directory found in the path. 25) Added -s flag to first call to linker 'LD' in gcc makefiles. This option strips symbolic information from the output file and specifying it will speed up linking very slightly. 26) Fixed EDN870985 "VC5 should put strings into read-only memory". By specifying the CL.EXE command-line option /GF strings are pooled and placed in read-only memory, thus EPOC builds are emulated more closely. This change applies for WINC too, and applies for MSVC builds as well as command-line builds. 27) Added /List option to makmake command-line. This option will generate a makefile which will produce assembler code listing files, one for each source file, in the build directory during compilation. This option is only supported for ARM builds at the moment. These files will have the extension ".S". 28) Added -undef switch to GCC calls in ARM makefiles and to CPP calls during dependency generation. This switch means "Do not predefine any nonstandard macros. (Including architecture flags)." 29) Added code to module Platform\Cl_arm.pm to create makefiles compatible with Cygnus' latest release of GCC. 30) Added code to replace forward slashes with backslashes in data read from environment variables to assist those running makmake in unix shells. 31) Removed CL.EXE flag /Ob1 and LINK.EXE flag /incremental:yes from Win32 makefiles because the respective tools apply these by default. 32) \EPOC32\Include\E32uid.h is now searched for LDD and PDD narrow and UNICODE second uid values so there is no need for these values to be updated in Makmake everytime the kernel interface changes. \E32\Inc\E32uid.h is searched instead if PROJECT is specified as E32. 33) Removed MAKSYS.PM. Moved function to apply the, now reduced, number of patches required for building E32 into MAKMAKE.PL. 34) Added pseudotarget ALL: to command-line makefiles which will build all variants of a target, DEB, REL, UDEB and UREL. 35) Removed IMPLIB targettype for generating import libraries - this targettype should no longer be required now that import libraries can be generated separately. 36) Added new flag to makmake, -REL, which will display a list of releasables for a component. This flag is intended for use by BLDMAKE for generating lists of releasables. 37) Added support for building Win32 tools. The platform name is "TOOLS", and makefiles created using "makmake <.MMP basename> tools" will not link to eexe.obj and will link to the Win32 standard libraries by default. For examples look at the source for the latest E32TOOLS, which has been converted to use makmake. EXEs will be copied to \Epoc32\Tools\ once built. 38) Added new keyword, ASSPLIBRARY, with the same syntax as LIBRARY statements. This statement is for specifying a target links to import libraries which differ for different ASSPs. EKERN.LIB is such a library, which differs between MEIG, MAWD and MISA. EUSER.LIB, on the other hand, presents the same interface under MEIG, MAWD and MISA though EUSER.DLL is different under each platform. This keyword should only need to be used in .MMP files for device drivers. 39) If the ASSPEXPORTS keyword is not specified and if a DLL is built under an ASSP platform such as MEIG or MAWD, rather than MARM, then the import library for the DLL will be built into \Epoc32\Link\MARM rather than \Epoc32\Link\MAWD. This change shouldn't affect any projects outside of the Base team though a side-effect of this change is that WINC import libraries will be created in \Epoc32\Link\WINS - this shouldn't be a problem since WINS and WINC should be binary compatible anyway.EVALID 1) Fixed EDN704662 "EVALID should change the order of it's logging". 2) Fixed EDN650568 "EVALID wins-lib is no good with VC++6.0". 3) Included William's new improved Evalid - Evalid.bat will be used in preference to Evalid.cmd if invoked "evalid". I haven't removed superseded Evalid.cmd so that the fixes I've already made are archived.EFREEZE 1) Added new batch file, EFREEZE.BAT to create frozen .DEF files for the first time or to maintain currently existing frozen .DEF files. Perl is called on EFREEZE.PL in makmake-generated makefiles to read exports out of the frozen .DEF file and the new .DEF file, check and compare them, and append any new exports to the end of the frozen .DEF file. EFREEZE.BAT syntax is EFREEZE {-Compare} [frozen .DEF file] [new .DEF file] If the -compare option is specified then the frozen .DEF file will not be changed, but information about differences between the files will be generated as in standard EFREEZE operation.MAKEDEF 1) Added new perl script, MAKEDEF.PL, which replaces DEFMAKE.EXE and DEFTOOL.EXE from E32TOOLS. Perl is called on this script in makmake- generated makefiles to reorder exports during a build according to which of these exports are already frozen. Under Win32 platforms, DUMPBIN is called on the import library generated after the first stage of linking to create a list of exports which MAKEDEF.PL can read. Under EPOC platforms, DLLTOOL is used to generate an interim .DEF file as before. Generated .DEF files follow the .DEF file layout style used in the .DEF files that DLLTOOL generates for all platforms, even WINS. This makes a WINDIFF comparison of old frozen .DEF files and .DEF files generated by MAKEDEF difficult, though EFREEZE.BAT can be used to do the comparison instead. If you change the name/parameters of any exported function in source code then updating the freeze file is slightly tricky since EFREEZE.BAT will refuse to do the comparison because of the missing export in the generated .DEF file, though the new mangled name of the export will still appear as a new export at the end of the generated .DEF file. Some improvements in this area will follow shortly.BLDMAKE 1) Just one project file, BLD.INF, is now processed by BLDMAKE, rather than several B[platform].PRJ files. Use #defines as in .MMP files to specify that certain releasables should only be built for certain platforms. Type BLDMAKE without any parameters for help. The BLD.INF file for your project should reside in the project's group directory. Type "BLDMAKE INF" for basic BLD.INF syntax. When "BLDMAKE BLDFILES" is typed, BLD.BAT is created in the project's group directory which will call \EPOC32\Bldmake\<project>\BLD.PL. BLD.PL will make calls to nmake to do it's building. For each platform supported by the project there will be a makefile in \EPOC32\Bldmake\<project>\ controlling building for that platform. There will be a separate makefile for each platform for any test programs. There will also be a makefile to control the exporting of headers. BLD.BAT syntax is much the same as before, except that PREPARING and CLEANING are controlled by passing parameters -MAKMAKE and -CLEAN respectively rather than using separate batch files. Building of Import Libraries can be controlled separately by using the -LIB and -CLEANLIB flags. If build commands are to refer to test programs then "TEST" must be the first parameter specified to BLD.BAT, even if the project only contains test programs - e32test is such a component.GENERAL 1) Changed MNT.BAT to MNT.CMD so that use can be made of SETLOCAL and ENDLOCAL. 2) Removed all li.prj files - these can now be generated by our CVS system.Version 0.01.107================(Made by Alastair, 17/5/99)Alastair 1) Made the new import libary-building targets dependent upon .DEF files so that libraries are only built if out-of-date with respect to the .DEF files rather than every time.Version 0.01.106================(Made by Alastair, 17/5/99)Alastair 1) Added new targets for building .LIB files directly from .DEF files. Targets are LIB<build> where build is DEB, REL, UDEB or UREL.Version 0.01.105================(Made by Alastair, 14/5/99)Alastair 1) Added MCGA.PM and updated MAKSYS.PM (both provided by Simon) for the COGENT port.Version 0.01.100================(Made by Alastair, 1.2.99)GENERAL 1) Boiler-plated source. 2) Replaced hard-coded R: with %s% in MNT.BAT.Version 0.01.099================(Made by Alastair, 21.12.98)MAKMAKE 1) Changed narrow and unicode second UID defaults for LDD targettypes, following corresponding changes to E32 version 159.Version 0.01.098================(Made by Alastair, 27.11.98)GENERAL 1) Added EBLD.BAT, previously released as part of EIKTOOLS, to E32TOOLP's releasables.MAKMAKE 1) Makmake now creates \Epoc32\Release\Wins\App.def when creating a VC4 or VC5 makefile for an app, and does similar things for LDD and PDD targettypes. 2) New file system target, FSY, incorporated, which automates the second uid and the first ordinal export for file system builds in the same way this is accomplished for other supported polymorphic dll targettypes. 3) Added new .MMP keyword, EPOCFIXEDPROCESS, which will pass on the -fixed switch to petran. 4) Removed /LANG command-line flag which used to allow a language to be specified on the command-line. 5) Changed LANG .MMP keyword so that it can take a list of languages, so a resource file will be compiled multiple times, once for each language specified. If no language lists are specified the language list will default to just SC. Fixes Epoc S/W problem 228, "mmp fileas doesn't allow compiling 2 language variants". 6) Added extra build stage for command-line wins builds which calls lib.exe to generate an import library and export object from the dll's deffile created by defmake. The VC5 linker running with Service pack 3 will now no longer produce warnings about multiple exports - though you'll still get them if you build within the VC5 IDE. 7) RESOURCE and SYSTEMRESOURCE keywords can now take a list of resources. This fixes Epoc S/W problem 300, "Makmake should support multiple resource files". Each resource file will be built for each language specified. 8) Added warnings if duplicate sources, languages, systeminclude paths, userinclude paths, resources or libraries are specified in .MMP files. The duplicates are not listed in the makefile. This fixes Epoc S/W problem 366 "MAKMAKE doesn't spot duplicate SOURCE files". 9) Added SROS.PM from Malcolm, and updated MAKSYS.PM accordingly. 10) Changed CL_WIN.PM so that the preprocessing stage for resource files in command-line WINS makefiles always lists the directory containing the source as the first user include directory. This was an omission from change #3 in E32TOOLP version 097.BLDMAKE 1) Created batch files, except those in the group directory, are now created in directory \Epoc32\Bldmake\<project>\<platform>\ rather than in the \<project>\B<plat>\ directories. 2) Batch files created in the group directory are set to be read-only.Version 0.01.097================(Made by Alastair, 12.11.98)MAKMAKE 1) VC5 .dsw generated files are no longer all hardwired to point to Euser.dsp. 2) Removed RELGDB configuration for ARM builds. 3) Fixed Epoc S/W problem 277 - 'Cannot specify "current directory" as a USERINCLUDE path in MAKMAKE'. The directory containing the source file is now always searched for user-included dependencies (thats #include "<dep>"). This brings dependency-generation by MAKMAKE and MARM makefiles into line with WINS makefiles, where CL.EXE has always searched the directory containing the source (except for the fact that CL.EXE makes no user/system distinction). 4) __SYMBIAN32__ is now defined for all builds. __PSISOFT32__ is still defined for backward compatibility. 5) New keyword, FIRSTOBJECT, which takes the base name of an object to replace EEXE or EDLL as the first object to be linked. 6) Removed change to link some functions in EKERN by name rather than by ordinal. 7) Fixed Epoc S/W problem 216 - "MAKMAKE's "clean" targets are noisy". Clean targets are now silent (under Windows_NT, at least). 8) Changed the directory which MAKMAKE searches for it's .PM modules to be the first /^(\w:)?\\EPOC32\\TOOLS\\?$/io style directory found in the path environment variable, rather than assuming \EPOC32\TOOLS\ unless <drive>:\EPOC32\TOOLS exists in the path. 9) Added \E32TOOLP\E32UTIL\Checkgcc.pm, which checks that the first executable version of CPP found in the system path is CPP.EXE and is found in a /^(\w:)?\\EPOC32\\GCC\\BIN\\?$/io style directory. 10) Removed SARMBE.PM, and big-endian hacks from CL_ARM.PM.BLDMAKE 1) Fix to make sure WINC release directories are created before WINS releaseables that WINC uses are copied across. 2) Change to make sure VC5 batch files are created by bldmake all. 3) OS environment variable is now checked, and output redirection to log files is only attempted if the OS is set to Windows_NT so that bldmake- generated batch files are Windows95 friendly. 4) Warning put in batch files to the effect that bldmake has generated the file and it shouldn't be edited.Version 0.01.096================(Made by Alastair, 26.10.98)MAKMAKE 1) No longer carrying out the autouid keyword behaviour for targettypes LIB and IMPLIB. 2) Fixed bug whereby if an EXEDLL target is specified with a lower- case .exe extension the extension wouldn't be changed to .dll for WINS builds.Version 0.01.095================(Made by Alastair, 22.10.98)GENERAL 1) Symbianised Perl source files.MAKMAKE 1) Added code to handle forward slash file separator which is used in filenames returned by function "cwd" from library Cwd.pm in perl versions 5.005+. Fixes Epoc S/W problem SW1-215. 2) EXEDLL targets specified without an extension will have the correct extension (.DLL or .EXE) added depending whether the makefile is for a single or multi-process build. Fixes Epoc Software Problem SW1-11. 3) VC5 module now creates .DSW file to save a couple of clicks in the MSVC5 workspace. 4) Removed 'D' basename suffix for debug deffiles, both those makmake references as 'freeze' files and those it creates, under all platforms. MARM debug and release builds should already be interoperable, this change is designed to "encourage" the interoperability of WINS debug and release builds, starting with E32. 5) Added new keyword, UNICODEUID, to be used for the specification of second and third unicode uids. A warning will be generated and no unicode targets provided in the makefile if a second ascii uid is specified but a second unicode uid isn't. 6) Made WINS AUTOUID keyword behaviour compulsory, so every WINS project gets the UIDs it specifies in the .MMP compiled into WINS automatically. This means that current users of the AUTOUID keyword will need to remove it from their .MMP files to avoid a warning. Those Luddites not already using this keyword will have to remove the #pragma data_seg(".E32_UID") section used to specify WINS uids from their code if their project is to link correctly. 7) Added new keyword, EPOCPROCESSPRIORITY, for the specification of process priority for executables. This keyword will be ignored under Win32 platforms. Specify low,background,foreground,high,windowserver,fileserver, realtimeserver or supervisor. The value specified will be passed to petran via its -priority switch. 8) Fixed Epoc S/W problem 274 "Problems with include paths containing spaces[MAKMAKE]".EVALID 1) Added William Roberts' updated EVALID.CMD. Fixes Epoc S/W problem 151 'EVALID does not support "wins-exe"'.Version 0.01.094================(Made by Alastair, 22.10.98)BLDMAKE 1) Batch files created by BLDMAKE are now more Windows95-friendly, but will still fall over due to the 2> syntax in these files. 2) Prepare.bat no longer creates any directories - there was never any need to do this since MAKMAKE did it anyway.Version 0.01.093================(Made by Petteri, 14.07.98)MAKMAKE1) Fixed SW1-62. (Unicode flags added for resource files in unicode builds.)2) Fixed a problem related to capitalisation of filenames when analysing dependencies. EVALID1) Integrated Andrew Tholke's validation tool. He writes: The basic syntax is EVALID type file1 file2 where type specifies the object type, and is one of: text, binary wins-dll, wins-lib marm-dll, marm-exe, marm-lib, marm-map and file1 and file2 are the two files to be compared, e.g. evalid marm-dll edbms.dll \epoc32\release\marm\rel\edbms.dll EVALID defaults to appending its output to the file .\evalid.lis. Prior to validating a component set, this file should be deleted. To force the output to the console, the "-c" switch should be specified before the type, e.g. evalid -c wins-lib edbms.lib \epoc32\release\wins\deb\edbms.lib To direct the output to a different logfile "-l <logfile>" should be used before the type, e.g. evalid -l valid.log marm-map edbms.map \epoc32\release\marm\rel\edbms.mapVersion 0.01.092================(Made by Petteri, 10.06.98)MAKMAKE1) Added a new module MAKSYS.PM which handles various base related exceptions to MAKMAKE rules.2) Changed OBJECT keyword to look for the files in the target directory rather than in the build directory.3) For Win95 compatibility 'del file1 file2' commands are no longer used.4) EXEDLL UIDs are now correct under WINS.5) Extension .mmp can now be included in the MMP-file name when starting MAKMAKE.6) Two new platform modules have been added. MAWD is for Windermere architecture and MMAD is for MAD Linda.7) Filenames in makefiles are no longer automatically turned upper case. Most of the time the capitalisation used in MMP-files is preserved.8) Added a new keyword EPOCHEAPSIZE. It can be used to set the minimum and maximum size of the heap in ARM builds.9) The following keywords have been moved out of the START MARM ... END block and their names have been changed: ALLOWDLLDATA is now EPOCALLOWDLLDATA CALLDLLENTRYPOINTS EPOCCALLDLLENTRYPOINTS DATALINKADDRESS EPOCDATALINKADDRESS STACKSIZE EPOCSTACKSIZEVersion 0.01.091================(Made by Alastair, 18th February, 1998)This new component contains perl programs that were previouslycontained in component E32TOOLS. Currently E32TOOLP containsMAKMAKE and BLDMAKE which will be removed from the next releaseof E32TOOLS.Changes from programs in E32TOOLS(090)MAKMAKE1) Added -u flag for calls to rcomp in command-line unicode builds so that the resource file is built with wide strings.2) Added new START MARM .. END block keyword, CALLDLLENTRYPOINTS, which will suppress the passing of flag -nocall to PETRAN. This keyword takes no parameters.3) Added new LINKAS keyword. This keyword is platform-independent and replaces the platform-specific START MARM .. END block keyword DLLNAME. Use LINKAS to specify the full name of the dll you are building if that name is to be different from the name specified by the TARGET keyword for linking purposes. This keyword currently has no effect for Win32 platforms. For MARM platforms, the name specified will have the third uid for the executable inserted before its extension and will then be passed to PETRAN as a parameter for the -dllname flag.4) For EXEDLL targettypes, if the name specified with the TARGET keyword has the extension .EXE, this will be changed to .DLL within single-process platform makefiles such as WINS makefiles.5) For EXEDLL targettypes, extension changes will be applied to names specified with the LINKAS keyword as they are for names specified with the TARGET keyword. So, for single-process platforms (eg WINS), .EXE extensions will become .DLL, and for multi-process platforms (eg MARM), the extension .EXE will be applied whatever extension is specified for the name in the MMPFILE.7) Added new module, OUTPUT.PM, to enable MAKMAKE to wrap long lines neatly within makefiles where appropriate.8) Renamed E32TVER.PM E32TPVER.PM.9) Changed header information on all files to # Copyright (c) 1998 Psion Software plc # All rights reservedBLDMAKE1) Changed BLDMAKE's batch file so it doesn't produce the help for the 'CALL' batch file command if invoked BLDMAKE /?.