Merge : re-applies missing part of fix for Bug 2901,Add export for s60ibymacros.pm
<unchange>
================
(Made by Zheng Shen 12/06/2010)
1) minor: enable the following scripts on Linux
conv_khronos_openvg_hdr_to_cpp.pl
conv_khronos_hdr_to_cpp.pl
copyfeaturevariants.pl
ecopyfile.pl
armasm2as.pl
===============
sym_lkup_util version 1.1.0
listzip version 1.1.0
prepdef version 1.1.1
omapsig version 1.1.0
makedef version 1.1.1
h2inc version 1.1.0
gendef version 1.1.0
createrfifile version 1.1.0
efreeze 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 alone
Version 0.01.679
================
(Made by Zheng Shen 11/02/2009)
1) Marvin Shi
PDEF144284 refine fix for Bug 151 - bldmake is not in PDK2.0c
2) 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 ABLD
2) 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 handling
2) 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 Perl
Version 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 disabled
Version 0.01.668
================
(Made by Zhi Dou, 24/08/2009)
1) Marvin Shi
DEF141643 boost library integration causes dependency warning
Version 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 makefiles
Version 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 GDB
Version 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 File
Version 0.01.661
================
(Made by Jon Chatten, 06/02/2008)
1) Jon Chatten
DEF117441: SBSv2 - e32toolp should support .rfi generation for GCCXML builds
Version 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 blocks
Version 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 up
Version 0.01.657
================
(Made by Mool Chand Tyagi, 12/10/2007)
1) Mool Chand Tyagi
PREQ1338: Supporting Static analysis tool in ABLD
Version 0.01.656
================
(Made by Saravana KumarP, 27/09/2007)
1) Saravana KumarP
PREQ1801: Feature Manager supporting tool enhancements
Version 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 MCL
Version 0.01.653
================
(Made by Stephen Mansfield 22/08/2007)
1) stephenm
DEF110923: Add new PLUGIN3 target type for EC43 ECOM Interface Extensions
Version 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 WINSCW
Version 0.01.648
================
(Made by Dusko, 24/11/2006)
1) KunalM
DEF097985 - TOOLS2 build platform doesn't provide the advertised macros correctly
Version 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 Policy
Version 0.01.645
================
(Made by Dusko, 11/10/2006)
1) Dusko
DEF093326: MAKSYMROFS.PL broken by changes to rofsbuild log format
Version 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 correctly
Version 0.01.640
================
(Made by JonathanM, 01/09/2006)
1) AttilaV
DEF091560 Warning when using PAGED keyword in MMP file
Version 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 64KB
Version 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 list
2) JohanG
PDEF090318 Targetpath cases need to match
3) JonC
DEF088256 CW >=3.1 IDE builds and multiple LANG statements - brok
Version 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 optimization
Version 0.01.633
================
(Made by Dusko, 19/06/2006)
1) JohanG
DEF067717: printsym.pl doesn't show DLL name for DLLs without symbols
Version 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 compiler
2) 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 DATA
Version 0.01.628
================
(Made by Dusko, 25/05/2006)
1) Dusko
DEF073575 "bldmake -v bldfiles" produces incorrect output
Version 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 installed
Version 0.01.625
================
(Made by Dusko, 13/04/2006)
1) Dusko
DEF075216 Tools stubs+abld+tranasm doesnt work
Version 0.01.624
================
(Made by JonC, 03/04/2006)
1) JonC
INC079605 Build tools path length limitations
Version 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 NONE
Version 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 only
Version 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 Support
Version 0.01.616
================
(Made by Dusko, 05/01/2006)
1) Dusko
INC073941: Symbian build tools override "--cpu" ARMCC parameter
2) JonC
DEF075532 - CR ABEK-6CYHEC has broken EVALID ELF comparisons
Version 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.145
Version 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 toolchain
Version 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.1
Version 0.01.611
================
(Made by MichaelMo, 08/11/2005)
1) JonCo
DEF071838: Fixupsym.pl can't cope with folders containing "." in their names
Version 0.01.610
================
(Made by Dusko, 04/11/2005)
1) Dusko
DEF072548 Tools stubs+abld+def2dll doesn't work
Version 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 listing
Version 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 strings
Version 0.01.605
================
(Made by KuldipN, 06/09/2005)
1) KuldipN
PREQ1028 - Plug-in compiler integration
Version 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 functions
Version 0.01.598
================
(Made by Dusko, 15/07/2005)
1) Marcel
TOOLS03801: CodeWarrior Tool back Cannot build Winscw targets if ABIV2 is selected
Version 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 directory
Version 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 CodeWarrior
Version 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 Problems
Version 0.01.590
================
(Made by Dusko, 20/05/2005)
1) Dusko
DEF060878 Abld escapes space characters
Version 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 Leaks
Version 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.2
Version 0.01.582
================
(Made by JonathanM, 24/03/2005)
1) JonathanM
DEF058113: Problem when building within the CW IDE 3.0
2) AndrewR
DEF058129: CW unnecessarily intercepts Win32 exceptions
3) 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 MCL
Version 0.01.576
================
(Made by ..., xx/yy/2005)
1) AndrewR
MINOR_CHANGE: Fix link32 command generation in ide_vc6.pm
Version 0.01.575
================
(Made by DjordjeK, 21/02/2005)
1) AndrewR
MINOR_CHANGE: Add __SUPPORT_CPP_EXCEPTIONS__ to MS-Dev workspaces
Version 0.01.574
================
(Made by Bala, 22/02/2005)
1) Bala
PREQ1027 Submission of RVCT 2.2 Run-Time ABI Compliance to MCL
Version 0.01.573
================
(Made by Dusko, 21/02/2005)
1) Dusko
DEF055405 GCCXML fails for projects with more than 150 source files
Version 0.01.572
================
(Made by CarlosF, 15/02/2005)
1) AndrewR
MINOR_CHANGE: Fix MS-Dev workspace generation
Version 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 support
Version 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 addresses
Version 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 file
Version 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 builds
Version 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 file
2) BalaT
1) DEF050507 - GNU Make Errors in Windows Application Event Log
Version 0.01.561
================
(Made by JonathanM, 29/11/2004)
1) JonathanM
1) Add 2 new capabilities SurroundingsDD and UserEnvironment.
Part of Change Request CDRS-65RK9F
Version 0.01.560
================
(Made by Dusko, 23/11/2004)
1) BalaT
1) DEF051128 - armv5 library build in parallel cause conflicts
2) 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-run
3) Jon
1) DEF051947 - SystemPath is not set when building for CW_IDE:ARM4
1) 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 makedef
Version 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 Messages
3) 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 used
3) 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 targets
2) Gus
1) DEF045077 - Warnings generated by build tools when built using "bld deb"
2) INC044804 - Problem with TEMPMAKESISDECOY during localisation
3) 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 lib
Version 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.exe
Version 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.pl
1) 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.doc
Version 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" arguments
2) Jens
1) Fix for DEF042878 - verbose output in "abld -v test romfile"
appears in generated oby file
3) 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 generated
Version 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 arguments
2) 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" files
3) 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_PLATFORMS
2) 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 BUILDROM
1) 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.cfg
1) 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.pm
Version 0.01.517
================
(Made by Dusko, 10/10/2003)
1) Kuldip
1) DEF036127 FIXUPSYM requires an EPOCROOT
Fixed in \tools\e32toolp\makesym\fixupsym.pl
2) 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.pm
2) Johannes
2) Fix for DEF037095 - E32variant can only be used by tools in \epoc32\tools
Version 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 CodeWarrior
3) Andy 1) REQ2178 - GENSHIMSRC Generate source for a shim DLL and its associated deffile from a supplied deffile
Version 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 date
Version 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 dependencies
Version 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.0
Version 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 changes
1) 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 changes
1) 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\e32toolp
2) 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.pl
Version 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.pm
1) 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 script
Version 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.LIB
Version 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.pl
2) 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.pl
Version 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#3
Version 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 gone
Version 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 files
Version 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)
MAKMAKE
1) 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)
WARNINGS
1) 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)
MAKMAKE
1) Fixed SW1-62. (Unicode flags added for resource files in unicode builds.)
2) Fixed a problem related to capitalisation of filenames when analysing
dependencies.
EVALID
1) 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.map
Version 0.01.092
================
(Made by Petteri, 10.06.98)
MAKMAKE
1) 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 EPOCSTACKSIZE
Version 0.01.091
================
(Made by Alastair, 18th February, 1998)
This new component contains perl programs that were previously
contained in component E32TOOLS. Currently E32TOOLP contains
MAKMAKE and BLDMAKE which will be removed from the next release
of E32TOOLS.
Changes from programs in E32TOOLS(090)
MAKMAKE
1) 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 reserved
BLDMAKE
1) Changed BLDMAKE's batch file so it doesn't produce the help for the 'CALL'
batch file command if invoked BLDMAKE /?.