------------------------------------------------------------------------ Version: 3.5.9000.cr Released: ------------------------------------------------------------------------ Minor changes: * New build Alias - NATIVE NATIVE is a set of platforms, in the current build, which build artifacts that can be expected to run on the build machine. The NATIVE alias has been created to simplify the support for automated unit tests. * New build platform - UBUNTU12_INSTUMENT This build target is similar to UBUNTU12, except that it generates instrumented code with gcov. The platform's unit tests will create and maintain a set of lcov files. Packages generated withthis target SHOULD NOT be deployed to the field. ------------------------------------------------------------------------ Version: 3.5.8000.cr Released: 21-Nov-14 ------------------------------------------------------------------------ Minor changes: * Build System Utility: create_dpkg When creating the file list for release notes, convert filenames to utf-8 for consistent handling. Will add its own 'built' files to the package metadata file. * VS2012 Toolset [JATS-308] Running jats from VS2012 Developer command prompt * EnvVars Added GBE_DPKG_REPLICA. This read-only package store is scanned before GBE_DPKG. It is intended to facilitate remote build servers that have a local package archive replica. * Autobuild support for Java Based Packages Attempt to overcome shortcomings in ant-using in a remote build environment. Set GBE_DPKG to GBE_DPKG_REPLICA if doing an ABT enabled build and GBE_DPKG_REPLICA is defined. * Jats caching Modified the cache mechanism such that if the required version is found in the cache, then it will not be refreshed. This should speed up jats startup. ------------------------------------------------------------------------ Version: 3.5.7000.cr Released: 20-Oct-14 ------------------------------------------------------------------------ Minor changes: * SQL Interface to Release Manager Database Addressed issues with Java 1.4 compatibility ------------------------------------------------------------------------ Version: 3.5.6000.cr Released: 16-Oct-14 ------------------------------------------------------------------------ Minor changes: * Jats Internal utility: create_dpkg Interactive features have been removed Generates XML file of files transferred to the package * Jats Internals Reworked the handling of the 'GENERIC' target ------------------------------------------------------------------------ Version: 3.5.5000.cr Released: 24-Sep-14 ------------------------------------------------------------------------ Minor changes: * GCC Toolset: SharedLib creation - dependency file detection Fixed a bug[JATS-304] in which the dependencies between header files and source files was not being used, when building a SharedLib. The main effect of this is that if a developer modified a .h file then JATS was not detecting which C files to recompile. * Added a script called jats.unix.sh On Unix, this is intended to be copied to /usr/local/bin as 'jats' It will redirect the user to the correct instance of JATS * Jats Internal: Database access Rebuilt the database access tools using Java 1.4 Java 1.4 is lowest common denominator on all of our machines ------------------------------------------------------------------------ Version: 3.5.4000.cr Released: 19-Sep-14 ------------------------------------------------------------------------ Minor changes: * Toolset Compiler: M16C for the MCR platform Added support to ensure that the program does not exceed allocated flash space. * Toolset: GCC [JATS-300] Added support for linking against shared libraries that have dependencies on other shared libraries * Jats Make Directive - Script Corrected its operation. The Scripts will be copied into the 'bin' directory before the tests are run. * Internal utilities: Database Access Added support to access the ClearQuest database via sqlserver Added test_cqconnection Added EnvVars to support ClearQuest access Updated the template jats.bat and jats.sh scripts * Reverted automated build support for multi-level SVN branches. It created more issues than it fixed. ------------------------------------------------------------------------ Version: 3.5.3000.cr Released: 19-Aug-14 ------------------------------------------------------------------------ Minor changes: * Automated Build Support. SVN branches in a subdirectory structure Allow a SVN branch in a multi-level subdirectory to be labeled by the build tool. [Removed in 3.5.4000.cr] Such paths are not encouraged, nor supported by the body of JATS, but for compatibility with some existing repositories is required. * Makefile builder Removed two warnings detected by recent versions of Perl ------------------------------------------------------------------------ Version: 3.5.2000.cr Released: 29-Jul-14 ------------------------------------------------------------------------ Minor changes: * Utility: create_dpkg Does not copy broken symlinks into dpkg_archive Will warn about broken symlinks In test mode it will generate an error if broken symlinks are found * Jats Makefile creation Corrected handling of source files with multiple '.' in their names. There was a problem with such files in Prog and SharedLib directives * Utility: deploy_builder Initial release of this internal utility. ------------------------------------------------------------------------ Version: 3.5.1000.cr Released: 07-Jul-14 ------------------------------------------------------------------------ Minor changes: * Visual Studio 2005 and above toolset The programs .exe.manifest will be packaged along with the executable, but only if it exists. ------------------------------------------------------------------------ Version: 3.5.0000.cr Released: 24-Jun-14 ------------------------------------------------------------------------ Minor changes: * ANDROID Support The 'populate' phase passes in all arguments from the MakeProject directive This allows libs and jars to be named during the populate phase. ------------------------------------------------------------------------ Version: 3.4.9000.cr Released: 19-Jun-14 ------------------------------------------------------------------------ Minor changes: * ANDROID Support Populate the project during the build phase. This will place external JARs and Shared Libraries in the project to facilitate development. ------------------------------------------------------------------------ Version: 3.4.8000.cr Released: 18-Jun-14 ------------------------------------------------------------------------ Minor changes: * New Platform - ANDROID Basic build support provided though the Makeproject directive The Sdk and all other tools are provided via packages. These include: androidBuilder, anddroidSdk and ant ------------------------------------------------------------------------ Version: 3.4.7000.cr Released: 11-Jun-2014 ------------------------------------------------------------------------ Minor changes: * GCC toolsets Removed -Wid-clash-31 from the list of warnings enabled via 'options=wall' * New Platform Alias - MSWIN32 This alias will expand to (supported) targets that build Microsoft Windows 32-bit targets. At this release these targets are: WIN32 - Visual C 6 VS2005 - Visual Studio 2005 (Not recommended) VS2012 - Visual Studio 2012 ------------------------------------------------------------------------ Version: 3.4.6000.cr Released: 26-May-14 ------------------------------------------------------------------------ Minor changes: * Subversion utilities Ignored messages about external links while examining the workspace. Only generated by some versions of SVN. Note: SVN Externals are not supported - just ignored. ------------------------------------------------------------------------ Version: 3.4.5000.cr Released: 21-May-14 ------------------------------------------------------------------------ Minor changes: * PackageFile directive Improved the --DirTree operation to allow it to work in packages with an inverted buildfile structure. ------------------------------------------------------------------------ Version: 3.4.4000.cr Released: 21-May-14 ------------------------------------------------------------------------ Minor changes: * Makefile Directives MakeProject and MakeAnt Ensure that each project creates a unique makefile target. Previously, projects based on the same solution/project file would only build the last project due to a name clash ------------------------------------------------------------------------ Version: 3.4.3000.cr Released: 16-May-14 ------------------------------------------------------------------------ Minor changes: * PackageFile directive Improved the --DirTree operation. The directive can package up any directory within the package - as determined by the PackageBase. ------------------------------------------------------------------------ Version: 3.4.2000.cr Released: 14-May-14 ------------------------------------------------------------------------ Minor changes: * Utility: jats sandbox. New subcommand called buildfilter, to display and modify the buildfilter used within the sandbox. * Utility: jats_metrics Detect subversion based workspaces and do not attempt to invoke the 'cleartool' command to count the clearcase branches in the view. ------------------------------------------------------------------------ Version: 3.4.1000.cr Released: 04-Apr-14 ------------------------------------------------------------------------ Minor changes: * Preliminary support for VS2012 and CSHARP2012 This is a Beta. Requires VS2012 professional update 4 to be installed * Utility: gen_cots Fixed the package creation process * Utility: sandbox. The -toPackage, -fromPackage, -justPackage and ignore package now support a full package_version name, in addition to the simple package name and the package name.project forms. Clarified the forms in the documentation. ------------------------------------------------------------------------ Version: 3.4.0000.cr Released: 26-Mar-14 ------------------------------------------------------------------------ Minor changes: * PackageFile directive Improved the --DirTree option's detection of paths outside the current directory. * Jats build log Will display the name of the host machine when being run by the BuildTool and the build daemons. * New JATS supported host machine type: linux_x86 This has been added to support auperaunx01 as a general developer machine Currently there are no supported compilers for this machine. It is only the JATS tool chain. It allows the processing of subversion related commands. ------------------------------------------------------------------------ Version: 3.3.5000.cr Released: 21-Feb-14 ------------------------------------------------------------------------ Minor changes: * Makefiles. Platform specifier Corrected issue where the platform specifier consists entirely of non-platform arguments. * Jats.bat file example/template Added JAVA 1.7 default location ------------------------------------------------------------------------ Version: 3.3.4000.cr Released: 22-Jan-14 ------------------------------------------------------------------------ Minor changes: * SK20 Toolset Added standard HOST_* definitions to SK20 target * Subversion Support Ignore error text of the form 'QDBusConnection:*' from the SVN error stream. This may be generated by a dud released of Ubuntu KDE ------------------------------------------------------------------------ Version: 3.3.3000.cr Released: 15-Jan-14 ------------------------------------------------------------------------ Minor changes: * Re-release with missing SK20 support files. ------------------------------------------------------------------------ Version: 3.3.2000.cr Released: 13-Jan-14 ------------------------------------------------------------------------ Major changes: * New build target called SK20 This uses a gcc-based cross compiler and can be run on linux development machines. The compiler and associated SDKs are provided by 'You Transactor' Controlled in the VIX package named 'arm-iwmmxt-linux-gnueabi'. This package addresses issues in the 'You Transactor' provided installer. Minor changes: ------------------------------------------------------------------------ Version: 3.3.1000.cr Released: 13-Dec-13 ------------------------------------------------------------------------ Major changes: Minor changes: * C# Toolset Supported named dependencies when specifying a resx file to support resx files that include other files. Resx support. Extend search path for associated .cs file to include the parent directory. * Utility: update_release Set umask to 0002 to assist in preserving group access to files and folders created in the 'releases' area. * Utility: svn createPackage Perform a validity check on any directory tree being imported. It must not contain any of the following reserved directory names: .svn, .git, .hg, .cvs, tags, trunk or branches * GCC Based build targets Extended CTAGS support to GCC based targets. 'jats make ctags' will generate a ctags file for GCC based builds in the same manner as it has for Windows based builds. ------------------------------------------------------------------------ Version: 3.3.0000.cr Released: 19-Sep-13 ------------------------------------------------------------------------ Major changes: * GCC Toolchain - Android NDK support Implemented SharedLibrary option - --NoVersionDll Implemented CompilerOptions - 'NoVersionDll' Improved the process that creates symbolic links between a Shared Libraries 'RealName' and its 'soname' and 'link name' Added support for a compiler to be provided through a package. Specifically implemented to allow Android Minor changes: * BuildName directive Force '--RelaxedVersion' on COTS packages that have exactly 3 arguments. * Sandbox utility Fixed use of a 'buildfilter' file in the sandbox directory. * GCC Toolchain - General When building a shared library, all unresolved symbols will generate a warning. ------------------------------------------------------------------------ Version: 3.2.2000.cr Released: 27-Aug-13 ------------------------------------------------------------------------ Major changes: Minor changes: * Automated Build System Support for machines that do not build the package This version provides a transparent 'dummy' build under conditions where a package does not build for the current machine. All the commands used by the 'buildtool' will perform a dummy build. There are no build artifacts, but the build will not fail. This mechanism improved the tracking of files created during the creation of makefiles and uses this mechanism to deleted generated files. ------------------------------------------------------------------------ Version: 3.2.1000.cr Released: 16-Aug-2013 ------------------------------------------------------------------------ Major changes: Minor changes: * Utility: update_release Added options: -addfilter=xxx[,yyy]* -delfilter=xxx[,yyy]* Allowed the -filter option to take a comma separated list of filters. Allowed filters to contain a pathname element. ie: scripts/*.sh Allow filters without wildcard characters to work correctly. Report filter elements that are not used. * CSharp Toolset: Resx processing Backward compatibility with badly formed packages. Ignore 'Designer.cs' files that have zero length. * Build Target: UBUNTU12 Added missing LMOS aliases. ------------------------------------------------------------------------ Version: 3.2.0000.cr Released: 8-Aug-2013 ------------------------------------------------------------------------ Major changes: * New build target: UBUNTU12 This is intended to facilitate testing of emebedded devices. It is not intended to build deployed software. UBUNTU12 is considered to be an embedded device and as such is included in the DEVLINUX alias. UBUNTU12 is built on an Ubuntu LTS 12.04 platform using gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3. Minor changes: * Jats wrapper script The default version control system has been set to 'svn'. This means that the jats commands 'label', 'release' and 'extract' will invoke the Subversion instance of the command. This change will not be picked up by Windows users. They will need to update their jats.bat file if they want this change. * Utility: jats vcsdiff Added support for BeyondCompare3 under windows. * Utility: jats upddep Corrected issue that prevented the results being written to the build.pl file under windows. * CSharp Toolset: Resx processing Improved the generation of the Resource names. Now supports form names that do not match the enclosing resource. Supports Resources without a matching .cs file - as long as there is a matching Designer.cs file. * GCC Toolchain Added version testing of the compiler being invoked by the build. ------------------------------------------------------------------------ Version: 3.1.9000.cr Released: 21-Jun-13 ------------------------------------------------------------------------ Major changes: * Jira Issue: JATS-274: Long view name causes legacy package to fail to daemon build Create shorter viewnames when extracting Subversion workspace * Documentation Document the EnvVar ANT_HOME ------------------------------------------------------------------------ Version: 3.1.8000.cr Released: 04-Jun-13 ------------------------------------------------------------------------ Major changes: * New Platform: INTELLECT Support for Intellect PAX. This support does not extend to native building of PAX modules. It is intended to 'wrap' the existing PAX Build system. The body of the Pax Building infrastructure is not within the JATS core but is to be provided though a JATS plugin. ------------------------------------------------------------------------ Version: 3.1.7000.cr Released: 03-May-13 ------------------------------------------------------------------------ Major changes: * New Platform: VSDEVRC Uses an MSP430G2553 processor, a member of the Texas Instruments MSP430 family Minor changes: * Utility: jats sandbox Support sandbox specific build filter. A file called 'buildfilter' in the root of the sandbox will be used to specify a sandbox-local buildfilter. It will override any buildfilter provided on the command line. * Jats Configuration Replace auperaunx26 with auperaarc01 as the default package server. * Jats Utility: rewrite and upddep Purify build files that have mixed line endings under both Windows and Linux. Addresses an issue where build files with mixed line endings are not correctly rippled. ------------------------------------------------------------------------ Version: 3.1.6000.cr Released: 05-Apr-13 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats Core Corrected algorithm used to search for a matching package version. This is used by the -build option of ccrelease and svnrelease and the '-locatepkg' option of JATS. * Utility: svnsave_build Used only by the build daemons. Do not propagate the 'author' of the base package if the build is a ripple. * Utility: svnrelease and svnextract The process of backtracking from a tag to a branch/trunk supports branches that are more than a single subdirectory. ------------------------------------------------------------------------ Version: 3.1.5000.cr Released: 13-Feb-13 ------------------------------------------------------------------------ Major changes: Minor changes: * svnrelease utility The use of the '-branch' option will not replace the build files with those from the base tag, nor will it replace any files that were modified between the tag and branch from which the tag was taken. The resultant workspace will be the HEAD of the named branch, although the extraction process will highlight changes between the named branch and the named tag. * svnrelease utility Corrected a problem in backtracking from a tag to the development branch with some releases of TortoiseSVN. ------------------------------------------------------------------------ Version: 3.1.4000.cr Released: 31-Jan-13 ------------------------------------------------------------------------ Major changes: Minor changes: * CHSHARP Toolset New CompileOption: NoVersionDLL Suppress the creation of versioned DLL for all Shared Libraries covered by the makefile. New SharedLib option: --NoVersionDll Suppress the creation of versioned DLLs. Unversioned DLLs will always be generated. * ALL Toolsets Ensure that some EnvVars that confuse the GNU automake are not exported * Utility vcsdiff Under Unix will perform a 'diff' of the two views. Added '-diff' option to force a text mode diff under Windows, rather than the default use of BeyondCompare. ------------------------------------------------------------------------ Version: 3.1.3000.cr Released: 04-Jan-13 ------------------------------------------------------------------------ Major changes: Minor changes: * Subversion Extraction Detect and report error condition where a tag references a parent directory of the tag. Better handling of tagged versions that have been moved within the repository. * Subversion Support Detect authentication errors and issue user-friendly error messages showing the user what to do. * Added Support for LMOS_COBRA This does not imply that LMOS is fully supported on the COBRA, only that we have build support for this target. Note: LMOS is not fully supported by VIX on the COBRA platform. LMOS should not be used on the COBRA. Internal: * Jats Utility: JatsFileUtil usage Better handling of files with nasty characters(%'&) in them. Now use a modified Url encoding scheme to pass them into JatsFileUtil JatsFileUtil Will perform Url decoding of all arguments ------------------------------------------------------------------------ Version: 3.1.2000.cr Released: 15-Nov-12 ------------------------------------------------------------------------ Major changes: Minor changes: * Makefile Generation. Fixed issue with packaging files with a single quote(') in the name ------------------------------------------------------------------------ Version: 3.1.1000.cr Released: 14-Nov-12 ------------------------------------------------------------------------ Major changes: Minor changes: * Makefile generation Warning generation of bad source paths does not generate an error if the path test escapes the directopry tree. It will generate a warning, which allows the build to progress as before - with lots of warnings. * Makefile Generation BuildSubDir and SubDir directives - cleanup paths. * Jats Utility: JatsFileUtil Better handling of double '\' in pathnames under windows. ------------------------------------------------------------------------ Version: 3.1.0000.cr Released: 08-Nov-12 ------------------------------------------------------------------------ Major changes: * Make-time performance improvement of packaging Improved the performance of the 'packaging' and 'installing' operations by an order of magnitude under windows. Replaced the shell scripting of these operations with a dedicated program. This change also addressed a long-time Windows issue with the packaging of files into very long (>~250) paths as the utility supports the full windows path scheme. Minor changes: * Command Changes: jats clobber The 'jats clobber' command has been significantly sped up The 'clobber' no longer unpackages and uninstalls files one by one from the relevant directories. The entire directory is deleted. The original sequence can still be perform, if required, with the commands jats make clobber This operates as before. * Utility: escrow Support to extract packages with a subdirectory structure that breaks the JATS rule that the TTB directory names are reserved. Some COTS packages break the rule. * Utility: svn : delete-branch Modified the svn branch deletion operation. With no arguments it will show the current branch. * Utility: svn : url Improved the conversions supported. Now handles leading SVN:: and will decode tags of the form SVN::path::tag * Utility: svn : import Added a '-nocommit' option to allow the results of the import to be inspected before committing them to the Repository. * Subversion Support Detect authentication errors and issue user-friendly error messages showing the user what to do. The special label of TIMESTAMP now creates a tag with a .WIP suffix. This allows the tag to be deleted in the VIX protected repositories. ------------------------------------------------------------------------ Version: 3.0.5000.cr Released: 05-Oct-12 ------------------------------------------------------------------------ Minor changes: * Jats build Added a '-nopackages' option to allow the creation of version information files under conditions where the external packages are not available, such as within a JATS Sandbox. This option is intended to be used in conjunction with the 'interface' command, with a sandbox. ie: jats sandbox cmd -keepgoing build interface -nopackages ------------------------------------------------------------------------ Version: 3.0.4000.cr Released: 27-Sep-12 ------------------------------------------------------------------------ Minor changes: * Utility: svn Added two subcommands branch - to create a branch within a workspace switch - to switch a workspace to a branch, or tag. Can also display available branches. * Utility: sandbox. Subcommand: cmd Added '-keepgoing' option to allow the user to ignore errors * Utility: rtag_extract * Added -[no]log option to control the output * Extended the examples in the documentation * Utility: svnrelease and svnextract Modified the way that branches are created and used. Modified two options: -mkbranch=name. Will create a branch while extracting the package The named branch must not exist -branch=name. Will extract the head of the named branch - if it exists The named branch must exist The two options are mutually exclusive. ------------------------------------------------------------------------ Version: 3.0.3000.cr Released: 24-Sep-12 ------------------------------------------------------------------------ Minor changes: * Utility: rtag_extract The following enhancements have been made to this utility * Only allow extracting into a jats sandbox * Create workspaces with a name that is the package name * Skip extraction of a package if it already exists in the sandbox ------------------------------------------------------------------------ Version: 3.0.2000.cr Released: 21-Sep-12 ------------------------------------------------------------------------ Minor changes: * Utility: svnrelease and svnextract The name of the directory into which the package will be etracted has been greatly simplified, under most cases. ------------------------------------------------------------------------ Version: 3.0.1000.cr Released: 18-Sep-12 ------------------------------------------------------------------------ Minor changes: * Utility: svnrelease Correctly handle build files that are not in the root directory Missed in previous release. ------------------------------------------------------------------------ Version: 3.0.0000.cr Released: 13-Sep-12 ------------------------------------------------------------------------ Major changes: * Jats Version Number Rolled to version 3 as the build number was confusingly high Although the major version number has changed, JATS has not changed significantly. Minor changes: * Makefile Generation Packing of directories filters out .svn subdirectories * Utility: svnrelease Correctly handle build files that are not in the root directory ------------------------------------------------------------------------ Version: 2.101.0000.cr Released: 11-Sep-12 ------------------------------------------------------------------------ Major changes: * Subversion support Multiple changes to subversion support to simplify development with SubVersion. Changes include: - New VcsTag that has a path and a tag component - Multiple extraction modes with checks to highlight unexpected file changes between workspace and branch head. Minor changes: * Utility: New utility - rtag_extract Tool to extract a set of packages based on a Release Manager Release. Can limit the files extracted to one or more paths, or a list of packages. Provides supervised extraction of the set of packages. Use 'jats man rtag_extract' or online documentation. * Utility: svnsave_build Failure to change the author of the build is not an error. This allows for non-standard repositories being used during consolidation * Linux support utilities Add a version of 'addr2line' that understands the ELF file format which has debug information striped out into a separate file. Used to support backtracing within unit tests. ------------------------------------------------------------------------ Version: 2.100.6000.cr Released: 30-Jul-12 ------------------------------------------------------------------------ Major changes: * Subversion Repository location The correct paths to the various SubVersion repositories is: GBE_SVN_URL_AUPERASVN01: https://auperasvn01.aupera.erggroup.com/svn GBE_SVN_URL_FRBESASVN01: http://frbesasvn01.frbesa.erggroup.com/svn Windows users may need to update there jats.bat file. These are Fully Qualified Domain Names. Minor changes: * Jats startup warning introduced in 2.100.5000.cr Now accepts both / and \ as path separators. * Utility: svnrelease Modified the operation of the '-branch' to better mimic the ClearCase operation of the same command. If the specified branch exists, then it will be used, otherwise it will be created based on the specified tag. * Utility: svnsave_build Modify the operation such that the 'author' of the saved build is set to that of the user that created the version that that build is based upon. This preserves the history of the build a lot better than tagging all builds as being done by 'buildadm'. * Utility: ccdelete_view Allow the user to specify ClearCase viewtags or a viewstore path. * Utility: sandbox Added options to control the packages processed. The user can specify a range of packages and exclude or include specific packages. Subcommand: populate Added -exclude=name[,name]+ to allow specific packages to be excluded Add -all option to force dependency testing of packages already in the sandbox. * Subversion Support With an automated build environment the use of a default Subversion repository is not supported. Creating a workspace will display the files being extracted providing a progress indication. * Jats Online Documentation Migrated several items from the VIX Wiki to the FAQ section of the online documentation. * Generated makefiles Improved tracing of package archive source in comments ------------------------------------------------------------------------ Version: 2.100.5000.cr Released: 28-May-12 ------------------------------------------------------------------------ Major changes: Minor changes: * New Platform: WCENAUTIZX5 "Nautiz eTicket Pro" built under VS2005 * Jats startup will warn Windows Users if jats.bat does not link to the dynamically updated version of JATS. Internal: * Corrected error handling in Release Manager Database connection Worked on Windows, but not linux. ------------------------------------------------------------------------ Version: 2.100.4000.cr Released: 30-Apr-12 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats makefile directive: MakeProject Improved support for packaging files with spaces and other make-unfriendly characters in their pathname. ------------------------------------------------------------------------ Version: 2.100.3000.cr Released: 20-Apr-12 ------------------------------------------------------------------------ Major changes: Minor changes: * Platform: VIXITP Minor enhancements * JATS wrappers Updated default paths to Subversion Servers * Subversion Support Added svn delete-branch ------------------------------------------------------------------------ Version: 2.100.2000.cr Released: 13-Apr-12 ------------------------------------------------------------------------ Major changes: Minor changes: * GCC Toolmaking Use JATS' internal dependency generator. This is much faster than the use of the gcc as previously implemented. * New Platform: VIXITP Specialized platform for the VIX 'ITP' product. * Subversion Support Documented the use of 'TIMESTAMP' in svn commands svnrelease. The -branch option supports the special name TIMESTAMP ------------------------------------------------------------------------ Version: 2.100.1000.cr Released: 28-Mar-12 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats makefile directive: MakeLinuxDriver Added support for source files not in the same directory as the makefile. * Jats makefile directives: SharedLib and Lib Improved support for named source files with directory elements ------------------------------------------------------------------------ Version: 2.100.0000.cr Released: 23-Mar-12 ------------------------------------------------------------------------ Major changes: * WIN32 Target (Visual Studio 6) This target will now consume headers/libraries from a VS6 directory. This has been provided to allow the use of Dinkumware_STL to be limited to this one compiler. Specifically we need to excluded the use of Dinkumware from VS2010 builds. * C# Toolchain Correctly detect missing .cs file in .resx /.cs file pair. Minor changes: * Jats wrapper script New option: -logfile=name * Jats configuration jats.bat example (Windows) jats.sh example (Unix) Redefined location of the Perth Subversion server AUPERASVN01 * Escrow build on solaris_x86 Added workaround for strange issue on X86 based Solaris machines The GBE_MACHTYPE EnvVar would disappear during the build process * Utility ccrelease The -extractfiles option nolonger uses a dynamic view to perform the extraction. It uses the same process as normal view creation. * Utility: svn Improved package import processing. Allow Date, Author and Log to be added to the imported package * Jats Utility: gen_cots Added support for Subversion. Subversion is supported on Windows and Unix. ClearCase is supported on Windows. * Jats Utility: vcsdiff New Utility. Will diff two versions of a package. Supports mixed ClearCase and Subversion versions. Under windows it can invoke BeyondCompare Under Windows and Unix it can perform a MD5 check over both directories. ------------------------------------------------------------------------ Version: 2.99.2000.cr Released: 3-Feb-12 ------------------------------------------------------------------------ Major changes: Minor changes: * BuildVersion directive Updated Company Name, Copyright and Trademark strings to 'Vix IP Pty Ltd' * GCC Toolset Added support for filterering warning messages, via a warnings.gcc file ------------------------------------------------------------------------ Version: 2.99.1000.cr Released: 13-Jan-12 ------------------------------------------------------------------------ Major changes: Minor changes: * Command: jats clobber When building packages that use deploylib - remove the 'build/deploy' directory as a part of the clobber processing. * Jats wrapper. Environment Variable Cleanup (Windows Only) Force ALL EnvVars stored in the environment and passed to programs invoked by JATS to be converted to upper case. This solves problems associated with some programs that do not treat Windows EnvVars as case insensitive. A useful side effect of this change is that VS2010 running on 64-bit Windows-7 will now locate the default installation of VS2010, as will many other toolsets. * jats svnlabel Report conflicting options: Label and Clone Correct the 'label' operation. The user is not allowed to provide path. The user must provide a simple label. JATS will determine the workspace and the correct branch/tag to place the label in. * Built Daemon support jats_svn_savebuild will now delete a WIP if its in the /tags/ directory. This allows WIPs to be tags or branches ------------------------------------------------------------------------ Version: 2.99.0000.cr Released: 06-Jan-12 ------------------------------------------------------------------------ Major changes: * GCC Toolset Modified the creation and maintenance of debug information. New methodology is: Debug information is created for both production and debug builds Debug information is placed in a .dbg file, which is linked to the executable, or shared library. The .dbg file is packaged in the manner as the main binary. This methodology does not bloat the binary with debug information, while retaining debug information. The binary transferred to an embedded device does not contain debug information, yet the image used in the debugger can still access the debug information. This is the best of both worlds. Minor changes: * HTML Documentation JatsWelcome.html - Extended references to BMS documentation. Internal changes: * Generated makefiles Removed the make_usage target as it is inaccessible. It was replaced by jmake's 'help' command a long time back. ------------------------------------------------------------------------ Version: 2.98.4000.cr Released: 23-Dec-11 ------------------------------------------------------------------------ Major changes: * Jats Sandbox Softlinks to packages within the sandbox are now relative to the root of the sandbox. This allows packages in the sandbox to be created under one machine architecture and consumed under another. * RIORDS Platform Generate output files with the package version embedded in the name This can be disabled with --NoVersion Package up the 'hex' file created when the .img file is processed. Minor changes: * Processing makefile.pl Better handling of some shared library arguments for undeclared files Error detection of some arguments that start with white-space ------------------------------------------------------------------------ Version: 2.98.3000.cr Released: 14-Dec-11 ------------------------------------------------------------------------ Major changes: Minor changes: * New Platform and Toolchain Platform is RIORDS. This uses the MSP430 toolchain. Beta release of this toolchain * Jats Escrow. Escrow extraction Force views created to be done in the same manner as the build daemon. Under Clearcase, do not include the /main/0 rule. * Utility: ccrelease (jats release, jats extract) Correct use of /main/0 on Unix platforms to match Windows behavior. Only add /main/0 if the user has provided a path to a directory within a vob. * Various changes to remove warnings when used with perl 5.14. Note: Perl 5.14 is not recommended. Perl 5.8.8 is recommended. * Windows utilities Updated 7z to version 9.20. * Subversion Support Support for 1.7 error messages Extended the 'jats svn' utility. New subcommands: paths - Display Subversion tag to URL conversions tag - Convert a path or URL to a Release Manager Tag url - Convert Release Manager tag to URL * COBRA Toolset Suppress compiler warning on incompatible ABI * Create dpkg utility Allows packaging from a sandbox, but only of package versions 99.99.99 Internal changes: * Generated makefiles are now dependent on DPACKAGE files from dependant packages, if present. ------------------------------------------------------------------------ Version: 2.98.2000.cr Released: 15-Nov-11 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats Utility: Added 'ccdelete_view'. This utility will delete a Clear Case view given a viewtag, even if the view has been deleted from disk. * Jats startup Jats will report an error if started in a directory that is inaccessible to the user. An error will also be report if jats is directed to change to in inaccessible directory. * Building an ANT project. Jats will warn if a buildfile does not have an associated depends file. * TOOLSET: GCC The 'options=args' now shows the operation of the dependency generation step. * TOOLSET: WINCE Better detection of missing SDK components. * Subversion support Allow untrusted certificates in https connections. VisualSvnServer provides self signed certificates Internal: * Makefile generation Removed the use of the .rul file. Now generated in place. Removed PLATFORM.mk dependencies. Work is done in jmake. ------------------------------------------------------------------------ Version: 2.98.1000.cr Released: 15-Sep-11 ------------------------------------------------------------------------ Major changes: Minor changes: * Utility: cclabel Handle VCS tags of the form CC::path::label and extract the vob name and the clearcase label. * Subversion support Report errors when required utilities cannot be found Delay reporting until utilities are required to allow the help system to operate. ------------------------------------------------------------------------ Version: 2.98.0000.cr Released: 09-Aug-11 ------------------------------------------------------------------------ Major changes: * New toolset: ARM251 * New target platform: ARM_I5100 Uses the ARM251 toolset. Minor changes: * HTML Help Correct display of subheadings in the Table of Contents under IE8 * jats build -noforce The 'quick' test to force a re-build now takes the value of GBE_BUILDFILTER into account. If the value changes, then a rebuild will be forced. This affect the 'jats all' and associated 'sandbox' commands. * Utility: ccrelease (jats release, jats extract) Improved the ClearCase config spec used to create the view. If the command specifies a branching rule, then the view will not allow directories above the package base to be branched. This will prevent unintentional branching within the root of the VOB. If the command does not specify a branching rule, the view now allows files and folders to be 'added' within the view, within the package. This feature is suppressed when the tool is used by the AutoBuilder, or when the load path contains only the name of the VOB. * Utility: svnrelease Remove duplicate package-name words from the generated workspace name to provide a cleaner workspace name. Allow the workspace to be deleted in 'release' mode by changing out of the workspace directory before attempting the delete. * Utility: svn Added 'test' to verify that the subversion CLI utility has been installed and can be used. * Toolset: CSharp Utilize features of cmdfile to simplify the generated makefile Force the generated command file to have correct directory separation character. * Toolset: SunWorks Corrected usage of the -erroff directive The later SunWorks compilers are more strict about its usage. May affect 64 Solaris builds as the incorrect usage may have been masking an error. * Toolset: Delphi7 Correct library building process that had been broken by previous enhancement. * Toolset: dafbr Internal option to simplify compiler testing * makefile.pl directive: GenerateFiles and RunTests Corrected operation of the '--PackageInfo' expansion - Return correct path to package - If no info is selected, then assume '--path' * build.pl directive: BuildPlatforms Added a '--Alias=Name[,Name]+' option. This allows the setting of a platform alias, when the platform is defined. * build.pl directive: BuildVersion Generate well formed VB6 definitions for packages that have dependent packages. * make command: show Improved the readability of the 'Alias Targets' list in the 'jats make show' command. * Utility: create_dpkg When transferring files from a Windows file system to dpkg_archive ensure that the execute permission is set for all users. Allows 'GENERIC' packages to package up executables that will be executed on Unix machines. ------------------------------------------------------------------------ Version: 2.97.0000.cr Released: 24-Jun-11 ------------------------------------------------------------------------ Major changes: * HTML Help (Experimental) Generated documentation for the various JATS utilities It is based on the internal JATS documentation available on the command line. Use http://auperaunx26.aupera.erggroup.com/devl/core_devl2/HTML/index.html Minor changes: * PackageFile directive Allow packaging of files with a comma in the name. Used by some COTS packages. * Windows utilities used by jats stdmux and rpccpp: provide production versions that do not use debug libraries as these are not present for all users. * Jats utility: dstatus Shows the user friendly host name rather then the internal machine name. This change is in line with the changes to Release Manager * Utility: svnrelease Better deletion of workspaces referenced with non-standard URLs Corrected problem with -branch=name option * Utility: svnrelease and ccrelease Better deletion of workingspace directory. Attempt to correct for directory permission problems. * Updated definition of GBE_SVN_URL_FRBESASVN01 to use the server by name, rather than IP address: 'frbesasvn01' * Added EnvVar GBE_VCS to control the default Version Control System employed by the 'jats release' and 'jats extract' commands. Usable values are: 'cc' and 'svn'. The default value is 'cc', providing backward compatability to existing developers. ------------------------------------------------------------------------ Version: 2.96.4000.cr Released: 06-May-11 ------------------------------------------------------------------------ Major changes: Minor changes: * WIN32 Toolset Remove .exp and .lib files that may be created when building a program. These files may be generated when using code to create a DLL is used to create an EXE. * Utility: upddep Handle packages with version strings like: 1.6.0,REV=2006.11.29.05.03 The '=' was causing issues. * Utility: sandbox New sub command - populate. Beta Release of this command This sub command can be used to populate a sandbox with a specific package and (optionally) its dependents, that (optionally) are not available in a package archive. Sub command: create New option '-exact'. This will create a sandbox in which the package version numbers are significant. This is useful when recreating a specific package version. Command specific help Each sub command now has its own help. ie: 'jats sandbox populate -help' will provide help on the populate command. * BuildVersion directive Will create well formed Windows Resource files when the Packages Build Number is greater than 7. Internal: * Removed jats_save_build.pl No longer used by the build tool. ------------------------------------------------------------------------ Version: 2.96.3000.cr Released: 14-Mar-11 ------------------------------------------------------------------------ Major changes: Minor changes: * Minor tweaks for WCEIPA280 support * Build tool support: jats_vcssave_build Deprecated unused options. ------------------------------------------------------------------------ Version: 2.96.2000.cr Released: 10-Mar-11 ------------------------------------------------------------------------ Major changes: Minor changes: * New WinCE platform: WCEIPA280 Uses VS2005 and the IPA280 SDK from Ingenico ------------------------------------------------------------------------ Version: 2.96.1000.cr Released: 09-Mar-11 ------------------------------------------------------------------------ Major changes: Minor changes: * EnvVars Support for GBE_SVN_URL_xxx to support multiple SubVersion repositories at multiple locations. * Build tool support: jats_vcssave_build New option -isawip to allow deprecation of -wiplabel option in a future release. ------------------------------------------------------------------------ Version: 2.96.0000.cr Released: 01-Mar-11 ------------------------------------------------------------------------ Major changes: * CSHARP2010 target Force all C# compilations to be targeted at a 32-bit platform. Minor changes: * jats escrow utility Uses VcsTag and jats_vcsrelease to be version control system agnostic. ------------------------------------------------------------------------ Version: 2.95.1000.cr Released: 14-Feb-11 ------------------------------------------------------------------------ Patch changes: * Built Tool Interface Changes Rename jats_vcs_save_build.pl to jats_vcssave_build.pl Rename jats_release.pl to jats_vcsrelease.pl to create a consistent naming convention for the buildtool interface to Version Control System aware tools. ------------------------------------------------------------------------ Version: 2.95.0000.cr Released: 11-Jan-11 ------------------------------------------------------------------------ Major changes: * Initial (experimental) support for VS2010, both for C# and C/C++ Introduces two new platforms: CSHARP2010 (.NET 4.0) VS2010 Minor changes: * jats_rewrite - used only by the build daemons Better handling of 'cots' packages. * jats upddep utility Add -keep option to retain the config data extracted from the Release Manager data base for diagnistic use. * Added Linux profile scripts to build installers Added TEMPLATES/INSTALL to the packaged version of JATS Support for Linux under RHEL4 Ubuntu 10.04 Internal: * System(--Shell) escaping - improved. Only escape spaces if there are multiple arguments. ------------------------------------------------------------------------ Version: 2.94.0000.cr Released: 16-Dec-10 ------------------------------------------------------------------------ Major changes: Minor changes: * New target platform - PHP This target is only available on a Windows Platform. It is used to limit the processing of PHP artifacts by the ZendGaurd. * Utility: cache_dpkg Used internally to cache packages to a local archive. When an error is encountered in the transfer the utility will now correctly delete the package that it was transferring. Previously it could leave a partially transferred package. * Utility: create_dpkg [DEVI-063950 ] Creates build. marker files as well as built.. Partial work for DEVI-063950 * makefile.pl directives Corrects and extended the operation of the platform-specifier. All non-platform options must be true, while the platform names are treated as before - any of them may be true. See MASS-00166 for full details. Internal: * System(--Shell) operations will escape spaces in the argument Allows the use c:\Program Files\... in path elements. ------------------------------------------------------------------------ Version: 2.93.0000.cr Released: 03-Dec-10 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats Sandbox operation Don't remove .RUL files in sandbox testing of the build files * Jats MakeProject directive Added --TargetDebug= and --TargetProd= to allow the default target of the project builds to be specified. Can be used in all targets that use a Visual Studio project or solution to build a package. * MergeLibrary directive New sub-option --InterfacePlain This will allow the use of 3rd party libraries that do not have a P or D suffix in the library name. * GenerateFiles directive Use of --Var(ObjDir) will cause the Object directory to a prequisite of the command. Similar for BinDir and LibDir. * BuildPlatform New option: --NoToolSet Supresses the check for the existance of the underlying toolset. Ensures that the user does not attempt to use the underlying toolset. To be used in packages that generate installers, where there is no compilation phase, but the package search mechanism may still need toolset specific information. Normally used in conjunction with --OnlyProd. eg: BuildPlatforms ( 'WIN32,--OnlyProd,--NoToolSet' ); Internal: * Jats EnvVars, ccrelease and svnrelease Factored out the default value of GBE_VIEWBASE and associated processing into jats.pl Expect GBE_VIEWBASE to be site specific. Defaults are suitable for a ClearCase site. ------------------------------------------------------------------------ Version: 2.92.0000.cr Released: 08-Nov-10 ------------------------------------------------------------------------ Major changes: Minor changes: * DEVI-059977: 64-bit Solaris libraries try to link against 32-bit libs The 64-bit Solaris build will no longer attempt to consume 32-bit libraries or header files. * New tool update_release Extracts current package version list from Deployment Manager SBom(s) and copy resultant packages to release specific directory. Use 'jats man update_release' for full details * New tool ccmerge_build Merge an autobuilt build.pl file back to the parent branch and leave the resultant file checked out. Use 'jats man ccmerge_build' for full details * Jats Sandbox command Improved operation of 'sandbox all' and packages that use BuildPkgArchive. * GCC and SUNWORKS tools Allow shlib dependency generation to be displayed in verbose mode Internal: * Work for subversion support * Build Use Perl 'File' operations instead of system function to delete directories. Is faster under Windows. ------------------------------------------------------------------------ Version: 2.91.0000.cr Released: 15-Sep-10 ------------------------------------------------------------------------ Major changes: * SharedLib directives for Solaris and GCC targets Added support to control the 'soname' embedded within the shared library. Refer the MASS-00166 for full details. Use with care. ------------------------------------------------------------------------ Version: 2.90.0000.cr Released: 14-Sep-10 ------------------------------------------------------------------------ Major changes: * New platform - 'COBRA'. Support for the ARM926EJS based hardware. This is a Linux based target. Requires a new compiler to be installed into build machines Minor changes: * Jats sandbox command Basic support for the 'cache' command. Allows external dependent packages to be cached for disconnected development. ------------------------------------------------------------------------ Version: 2.89.0000.cr Released: 13-Sep-10 ------------------------------------------------------------------------ Major changes: * [DEVI-062103] Many (11) toolsets - all that generate linker dependency files for creating shared libraries or programs. Solaris, Gcc, WIN32, Wince, MOS, Verix, Keil, AVR_IAR, CSHARP, MCR, Pharlap. Better, simpler, and in some cases correct, generation of dependency files used in linking. Also generate separate files for Production and Debug builds. Minor changes: * Jats sandbox command The 'info' subcommand will highlight external packages that cannot be found in any of the the package archives. * Jats release -extract The ClearCase view that is created will have a comment tag added that describes: - the directory in which the user created the view - the date of creation * PackageFile directive Now supports --NoRecurse and --Recurse in conjunction with --DirTree Internal: * PackageFile, PackageHdr and InstallHdr directives Removed --Abs option - its not supported Fixed --Full option. ------------------------------------------------------------------------ Version: 2.88.0000.cr Released: 26-Jul-10 ------------------------------------------------------------------------ Major changes: Minor changes: * Dependency Generation Tool - mkdepend Correct a problem encountered when the name of an included file matches the name of a subdirectory within the include search path resulting in multiple builds. * SOLARIS and LINUX toolsets Corrected problem in dependency tracking of shared libraries Dependency between shared librares was not being used at all. Only affected Solaris and Linux builds Still an issue that affect all platforms that build shared libaries. Dependency tracking does not work correctly for both debug and production builds. It will work for the first one done. ------------------------------------------------------------------------ Version: 2.87.0000.cr Released: 13-Jul-10 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats label command New option '-entireview' to be used by the build daemon Not recommended for general use. Will locate the root of the current view and label all files and directories within the current view. Removed the double check of labeled files introduced in version 2.80.3000.cr as the problem has been found and corrected elsewhere. * Jats save_build Use a better set of options of 'cleartool find' to speed up the determination of a branch. Use the -entireview option of the jats label utility to speed up labeling by the build daemons. * Jats build Better handling of sandboxed packages. Indicates that the dependency is from a sandbox No overwrite warnings when reinstalling a package * Borland6 toolset Changed the default value of where Borland6 is installed to match the documented install location of: c:\BCB6\CBuilder6 * Jats build Added -noforce option to only generate build files if they are out of date. It will only recreate makefiles if needed. This is a very quick operation. The default operation is '-force'. This will populate the interface directory and generate makefiles. * Jats all [Experimental. Feed back welcome] Uses the '-noforce' form of the build command such that build files are only recreated if need be. The 'all' command will do what is needed in order to rebuild the package. It will do a build, if need be, and then make the package. * Jats sandbox The 'all' command will perform a '-noforce' build followed by a make. The 'build' command will perform a build followed by a make. This will be a complete build of all component packages. The 'jats sandbox all' command can be used to rebuild all components in an efficient manner. If the build files have changed, then the makefiles will be regenerated, other wise only the make phase is performed. Internal: * build.pl Cleanup the start-up processing of build.pl and buildlib.pl ------------------------------------------------------------------------ Version: 2.86.2000.cr Released: 21-May-10 ------------------------------------------------------------------------ Major changes: Minor changes: * RunTest directive Corrected problems with the --Var(xxxx) option when used in conjunction with the --abspath option. * Jats label command Removed redundant 'cleartool describe' operations to speed up the process. ------------------------------------------------------------------------ Version: 2.86.1000.cr Released: 11-May-10 ------------------------------------------------------------------------ Major changes: * New compiler support Support for the Keil Arm V4.03a compiler This is enabled via: build.pl: BuildPlatforms ( 'H400,--Version=4.03a' ); Minor changes: Internal changes: ------------------------------------------------------------------------ Version: 2.86.0000.cr Released: 30-Apr-10 ------------------------------------------------------------------------ Major changes: Minor changes: * jats label command - Renaming a label Address issue when renaming a label when the current ClearCase view is based on the label. All operation after the rename must specify the VOB name as ClearCase may no longer be able to determine the VOB. * Better handling of .lnk files used within sandboxes and local package archives. Now strip all trailing white space correctly * Jats Sandbox stop files Added 'stop.' stop files to better support multi platform builds. * Makefile rebuild test correctly locates interface directory in cases where the source directory is above the build file in the directory tree. * New command: jats man Produces full help on a specified item. Internal changes: * jats upddep Delete temp .cfg file created during the process. * Jats makefiles: Platform directive Initial release of ++Machtype, ++Project and ++Defined Not yet in use. ------------------------------------------------------------------------ Version: 2.85.0000.cr Released: 17-Mar-10 ------------------------------------------------------------------------ Major changes: * New Utility: upddep - Update Dependencies This utility will update the dependencies in a build.pl file to be consistent with those of a given Release Manager Release. This simplifies the operation of maintain build files during development. It will create an 'auto.pl' file, which JATS uses in preference to a build.pl file. DO NOT check this file in. See: 'jats upddep -help' - For brief help 'jats upddep -man' - For full manual Examples: jats upddep -show jats upddep -show=vtk jats upddep -rtag=6684 * MicroTec Compiler toolset When creating a ShardLibrary (THX) report missing libraries before compiling the objects that go into the THX. This ensures that the error messages the describe the missing library can be seen and are not masked by the building of the objects. Minor changes: Internal changes: * Utility: jats_rewrite Modifications to interwork with the upddep utility. ------------------------------------------------------------------------ Version: 2.84.0000.cr Released: 16-Feb-10 ------------------------------------------------------------------------ Major changes: * Makefile directive helper function: If Used within another directive to enable or disable arguments passed to the outer directive. The first argument is a 'platform' specifier - as in all Jats Make directives. If making for the specified platform, then the remainder of the arguments are inserted into the directives argument stream. Example: SharedLib ( '*', 'mySharedLib', @OBJS , If ('WIN32', '-llibrary1', '-llibrary2' ) , If ('SOLARIS', '-llibrary3' ) ); Minor changes: * Makefile directive: InstallLibs Correctly installs, as libraries, files that are specified with a 'Src' directive. This is consistent with the operation of the PackageLibs directive. * GCC Toolkit Changes to the shared library dependency processing to bring it inline with other toolers. Will terminate after determining that some libraries cannot be found. This will ensure that the error message is at the point of termination. * Jats save_build utility Corrected problem in unreserving a reserved checkout of a build.pl file under windows. * Jats sandbox ClearCase views created with in the sandbox are created with a tag that is named after the sandbox. This allows multiple instances of a view in different sandboxes. * Jats release Display cleartool error messages when view creation fails. ------------------------------------------------------------------------ Version: 2.83.1000.cr Released: 04-Feb-10 ------------------------------------------------------------------------ Major changes: Minor changes: * jats options Added -locatedir=name Will scan from CWD to the root of the file system looking for the named directory. * jats label utility Improved handling of the -file and -dir options These options will now label the directory elements within the paths specified by these options, when used in conjunction with the -up option. This simplified the process of labeling complex directory structures. Added -admin, to allow creation of global labels ------------------------------------------------------------------------ Version: 2.83.0000.cr Released: 20-Jan-10 ------------------------------------------------------------------------ Major changes: Minor changes: * WinCe Toolsets New CompileOptions operations: Exceptions - Enable exception handling noExceptions - Disable Default is to retain backward compatibility. It is mixed. Example: CompileOptions ('*', 'Exceptions' ); * Solaris targets Full support for a target called SOLARIS8_SPARC32 It is identical to SOLARIS in a 'sparc' build machine, but it is only available on a 'sparc' build machine. Can be used to limit builds to one machine type. ------------------------------------------------------------------------ Version: 2.82.0000.cr Released: 18-Jan-10 ------------------------------------------------------------------------ Major changes: * New Build Platform: VB6 Jats has been enhanced to support the building of VB6 .vbg and .vbp project files. * Build Directive BuildVersion. This has been extended to allow the creation of Version Information in a form that can be consumed by Visual Basic using '--Style=VB' Minor changes: * Added more internal documentation Use jats help to see available documentation * Jats label -info command [DEVI-059929] Fixed problem that prevent this command running on Unix systems. * Jats save_build utility Corrected problem in unreserving a reserved checkout of a build.pl file under windows. * Solaris 10, 64 Bit Sparc Builds All compiles are done in a position independent manner (-KPIC) This solved issues where static libraries are linked into shared libraries. * Solaris builds Program and Shared library dependency checking is now done before the program/library objects are built. Thus errors associated with missing dependencies occur before objects are built and the user can see the cause of the build failure. Internal changes: * Moved 'jats vars' functionality into a separate program Moved associated documentation into the jats_vars tool * Moved some other internal documentation into InstallationNotes and PkgArchive topics. ------------------------------------------------------------------------ Version: 2.81.0000.cr Released: 12-Jan-10 ------------------------------------------------------------------------ Major changes: * Solaris Builds for 64 bit targets Changes to fully support the SOLARIS10_X86 and SOLARIS10_SPARC64 targets. These are using a different version of the compiler than the existing 32-bit builds. 64-Bit Solaris10 builds are performed with Sun Studio 12.1 32-Bit Solaris10 builds are performed with Sun Studio 11 Minor changes: * jats label -exclude=nnn Corrected problem with the -exclude option introduced in 2.80.3000.cr * Package searching The BuildpkgArchive and LinkPkgArchive directives will search both dpkg_archive and deploy_archive paths for packages. Allows JATS to be used to process deployable packages. * jats help Modified the operation of the 'jats help' command. This command now provides a gateway to the jats help system. Information provided by the previous 'jats help' can be achieved with one of: jats -h jats help jats Internal: * cmdfile utility Added macros: @(sep,x,text) - Reformat text with specified file sep @(env,VarName) - Extract text from an EnvVar Corrected @(vsep,ident) - Set path seperator (: or ;) @(vhost,ident) - Modify @(vlib) operation Extended @(vpath) - Added optional 'sep' argument. @(vlib) - Added optional 'sep' argument. @(vlint) - Added optional 'sep' argument. @(vglob) - Added optional 'sep' argument. ------------------------------------------------------------------------ Version: 2.80.4000.cr Released: 17-Dec-09 ------------------------------------------------------------------------ Major changes: Minor changes: Internal changes * Created a Pseudo package to describe the interface directory This simplifies the various scanning algorithms within JATS Useful side effects include: JATS plugins will be sourced from the interface directory if included with a BuildPkgArchive. This will simplify debugging. [DEVI-059682] QtBase can be consumed via a BuildPkgArchive directive, simplifying the process of packaging additional fonts. [DEVI-059685] Simplify implementation of --FromPackage options in other tools, which obviates the need for QtBase to be consumed via a BuildPkgArchive * Perl Modules Included the most recent version of the Pod module within the JATS release. This will: * Ensure consistent cross platform behaviour * Corrects issues within earlier releases of the Pod module - some reported by ERG. * Provide a basis for a better help system within JATS. ------------------------------------------------------------------------ Version: 2.80.3000.cr Released: 01-Dec-09 ------------------------------------------------------------------------ Major changes: Minor changes: * BuildTool utility: jats_save_build Returns non-zero error code on labeling errors. Deletes label on labeling errors. Removed backward compatibility options as they are no longer used. * Jats label utility Changes to assist in tracking down clearcase labeling errors Once labels have been applied a check is done to ensure that the labels have been placed. The check is to attempt to find new files and folders to label - there should be none. * Jats core Improved the auto location of the base directory of the build to allow for ant-based packages. Allows the jats 'create_dpkg' command to be used to package ant based builds. ------------------------------------------------------------------------ Version: 2.80.2000.cr Released: 12-Nov-09 ------------------------------------------------------------------------ Major changes: Minor changes: * CSHARP toolset Creation of unit tests was broken by 2.80.0000.cr This is now fixed. The cmdfile utility creates paths with file path separators as discovered in the PATH EnvVar. Now that PATH is nice it means that the use of cmdfile to create shell scripts resulted in scripts with unsuitable separators. * WCEPSION_500_VS2005 Extended the list of nodefaultlibs to include secchk.lib and ccrtrtti.lib ------------------------------------------------------------------------ Version: 2.80.1000.cr Released: 12-Nov-09 ------------------------------------------------------------------------ Major changes: Minor changes: * Generating makefiles Ensure that the 'BuildMake' directive is the last one in the build.pl file Directives after this will not be processed correctly and now generate an error. * WCEPSION_500_VS2005 Suppress use of -debug:cv when building libraries. * Build directive: BuildSrcArchive Highly specialized directive. Refer the JATS Manual. ------------------------------------------------------------------------ Version: 2.80.0000.cr Released: 04-Nov-09 ------------------------------------------------------------------------ Major changes: * New target: WCEPSION_500_VS2005 A build of the Psion CE 5.0 under VS2005 This target has been added to the WINCE target. WCEPSION_500_VS2005 build cannot consume build artifacts from the WCEPSION_500. The two are separate. * Support for building WinCE targets under VS2005 Currently only the WCEPSION_500_VS2005 is fully supported Support includes * Building of executables and DLLs via jats directives * Building of components via VS2005 'solution' files Minor changes: * Build file processing Better detection of bad platform names under Windows Note: All platform names should be in uppercase. * MOS builds If a 'product' name not known to JATS is used and a board base address is specified then no warnings are generated indicating an unknown 'product' * MOS builds New 'known' product: PICP Identical to the TP5 in all but name. * GenerateFiles directive Better handling of '\' when passing arguments to a command line under windows. . * Verbose builds now show command files Currently only supported for WIN32 and WINCE builds. The use of 'OPTIONS=args' will cause the linker command file to be dumped to the output stream. This facility will be retrofitted to other platform targets in the future. * Windows Shell The shell provided with JATS for use under Windows has been modified so that the COMSPEC and PATH variables are correctly formatted with '\' Addresses issues when invoking Windows tools and programs from within JATS. * H8S toolset Ensure the the EnvVar CYGWIN is not set. If 'binmode' is set then the gcc compiler used by the H8S toolset cannot handle macros that use line continuation. Internal changes * WinCe builds Changed name of internal file 'toolset/vcwce' to better represent the content of the file. Many internal changes to better support VS2005 and EVC Macros to encode and decode paths with embedded spaces. Currently only used in WIN32 and WINCE toolsets. ------------------------------------------------------------------------ Version: 2.79.6000.cr Released: 18-Sep-09 ------------------------------------------------------------------------ Minor changes: * PackageFile directive with spaces in names. Corrected problem. ------------------------------------------------------------------------ Version: 2.79.5000.cr Released: 14-Sep-09 ------------------------------------------------------------------------ Major changes: Minor changes: * DPACKAGE file created on multiple machines [DEVI-054973] DPACKAGE files are now machine specific. Changes are transparent to users. * Creating static libraries without any object files is treated as an error. The Microtec tools sets will create a 'pop-up' if this occurs. * The LinkSandbox directive is not allowed when GBE_ABT is set. This directive is highly discouraged in development: Use a jats 'sandbox' Moreover it is not reproducible and thus not supported within the automated build framework. * jats sandbox command Added support to delete the sandbox metadata. This undoes the 'create' command. * jats command aliases. Added jats extractfiles to be jats release -extractfiles jats extract to be jats release -extract ------------------------------------------------------------------------ Version: 2.79.4000.cr Released: 29-Jul-09 ------------------------------------------------------------------------ Major changes: * Jats Command line and -java option This version will place the specified java's 'bin' directory into the PATH. Thus the commands: jats -java=1.6 eprog java -version jats -java=1.6 ant build will work as expected Minor changes: * VS2008 Toolset Picking up incorrect config details May result in a warning message. * gen_cots utility New option to allow use without ClearCase dependencies. Its simply creates a buildable package image. * DELPHI7 toolset Correct the definition of the Debug option '-$D+' In debug mode, add $DELPHI/lib/debug to the search paths ------------------------------------------------------------------------ Version: 2.79.3000.cr Released: 01-Jul-09 ------------------------------------------------------------------------ Major changes: Minor changes: * Escrow Utility Add header to generated HTML describing the source of the data * IAR Compiler Fixed test for loader file * GCC Toolset Fixed DLL Version Number * DELPHI7 Toolset Minor correction discovered during use. Existing tools to create a .lib from .dll had serious path length issues Extended the compiler search paths * Deployment utilities (old) Correct SQL statement to work without any Schema assumptions ------------------------------------------------------------------------ Version: 2.79.2000.cr Released: 11-Jun-09 ------------------------------------------------------------------------ Major changes: Minor changes: * Minor bug fix to address issues introduced in previous release Affects SOLARIS and MOS builds ------------------------------------------------------------------------ Version: 2.79.1000.cr Released: 10-Jun-09 ------------------------------------------------------------------------ Major changes: Minor changes: * Initial Support for Visual Studio 2008 New platforms: CSHARP2008 and VS2008 * WIN32 Toolset Corrected the -machine option passed to the Windows linker Now passes -machine:X86 instead of -machine:IX86 ------------------------------------------------------------------------ Version: 2.79.0000.cr Released: 10-Jun-09 ------------------------------------------------------------------------ Major changes: * New Platform: DELPHI7 Support the creation of Units,Libraries, Packages and Programs using Borlands Delphi Version 7. See Jats Reference Manual for complete details and Delphi specific options to the Prog and SharedLib directives. This toolset has a number of limitations: 1) It can build either Debug or Production, but not both, in a single makefile.pl. This is caused by the Delphi limitation that library names cannot be changed. 2) The generation of dependencies between the source and the generated artifacts is very simplistic. Units are generated with the 'Lib' directive. The name of the Unit and the name of the source are linked. The source should not be provided. ie: Lib ('*', 'MyUnit' ); Will create a unit called MyUnit.dcu from the source file 'MyUnit.pas' Packages are generated with the SharedLib directive starting with a .dpk file. ie: SharedLib ( '*', 'MyPackage' ); will create a package called MyPackage.bpl/dcp from the source file MyPackage.dpk. Libraries are generated with the SharedLib directive starting with a .dpr file. ie: SharedLib ( '*', 'MyDll' ); will create a package called MyDll.dll/lib from the source file MyDll.dpr. Programs are generated with the Prog directive starting with a .dpr file. ie: Prog ( '*', 'MyProg' ); will create a package called MyProg.exe from the source file MyProg.dpr. Minor changes: * New EnvVar: DELPHI7 Required only if Borland Delphi 7 has not being installed in the standard location or if the Windows Short Name is not c:\PROGRA~1\Borland\Delphi7 * BuildVersion directive Added a 'Style' of 'Delphi' to allow the generation of version information in a Delphi Unit. Modified the operation of the "C" style generation. If the name of the file is provided via '--File', then the generated files will be 'known' to JATS and can be consumed from any makefile. JATS will 'know' the location of the files. * Sanity test on the names of libraries and programs Some characters are not allowed: ie: '/' as this is a mistake. Internal Changes: * ToolsetSHLD functions Pass in the shared library version string as an argument Means that the core of JATS can manage this information in a manner that is decoupled from the toolsets. * Reworked the mechanism used to hold data about libraries, shared libraries merged libraries and programs. Created a class to manipulate build targets and to maintain information about the contents of the targets. ------------------------------------------------------------------------ Version: 2.78.4000.cr Released: 30-Apr-09 ------------------------------------------------------------------------ Major changes: * Correctly generate dependencies for C++ only builds Many tools sets ( gcc and others) would not generate makefile dependency information for purely C++ builds. * Jats.bat and Jats.sh now provide a default Read Only username/password for Release Manager and Deployment Manager. NOTE: Windows users will need to update their JATS.BAT file in order to pick up changed passwords for Release Manager and Deployment Manager Minor changes: * The jats option '-noexportvars' deletes selected JATS EnvVars from the environment. This only affects the build daemons. * updatenodespec utility Correct the SQL statements to work with ReadOnly access to the Deployment Manager database. ------------------------------------------------------------------------ Version: 2.78.3000.cr Released: 30-Mar-09 ------------------------------------------------------------------------ Major changes: Minor changes: * Creation of DPACKAGE file [DEVI-054973] Better support for packages that build on multiple platforms Not completly fixed, but much better than before. * Escrow tool Remove warning created during normal operation * Minor code cleanup as suggested by code analysis tools ------------------------------------------------------------------------ Version: 2.78.2000.cr Released: 05-Mar-09 ------------------------------------------------------------------------ Major changes: * New Platform: H400 Supported by the KIELARMV3 toolset. Refer to the Jats Reference Manual for toolset specific options Minor changes: * MergeLibrary directive Allow a library that has been created in the same makefile.pl as the directive to be located, without the need to 'install' it first. ------------------------------------------------------------------------ Version: 2.78.1000.cr Released: 26-Feb-09 ------------------------------------------------------------------------ Major changes: Minor changes: * New command: jats make show Will display the platfroms, alias definitions and the makefile paths used in the build. * Escrow command Now supports extraction based on a single package and version * Build File Rewrite Utility Added a '-validate' option to allow the build daemons to validate the build files against the Release Manager information. Improved error reporting to make it clear that the problem is a mis-match between Release Manager and the package's build files. ------------------------------------------------------------------------ Version: 2.78.0000.cr Released: 18-Feb-09 ------------------------------------------------------------------------ Major changes: * GBE_BUILDFILTER configuration has been simplified JATS will automatically filter out target platforms that cannot be built on the users machine. ie: It will not try to build Solaris targets on a Windows machine. Thus, under the new scheme a Windows GBE_BUILDFILTER need not contain '!SOLARIS' This greatly simplifies the creation of GBE_BUILDFILTER as it does not need to be configured to exclude targets that cannot by built. Existing GBE_BUILDFILTER definitions are backward compatible. * Jats utility : gen_cots Requires the user to specify a target VOB with the -vob option Ensures the user is aware of the target VOB Now creates temporary directory within the users TEMP directory. Addresses problems where the user's CWD is within the package being processed. Removed the '-delete' option Always delete the temp work directory if it exists. Minor changes: * Sandbox command Added build, make, clean, clobber commands Sandbox packages may contain a file called 'stop', to exclude the target from consideration in the build set. * MCR Toolset This toolset only supports 16 compiler search paths. An descriptive error has been added to detect and report on this error. * WIN32 and PHARLAP toolsets The --Resource=xxx option specifies a comma separated list of files. Spaces are now allowed either side of the comma. ie: "--Resource=file1.h, File2.h" * Jats run_test command Removed a non-fatal warning message that was being generated when the tests we run on a Window machine. * descpkg file Now contains HOSTNAME of the build machine Not (yet) aggregated when packages are merged * built. tag files created by create_dpkg Now contains build trace information Date-Time, Machine, User, ABT config * jats abt command simplified usage This command now appends the current directory as a library path to ANT if it contains 'jar' files. Uses ANT 1.6 as the default version of ANT Both changes will simplify the use of this command within the escrow environment. ie: 'jats abt -buildfile=build1.xml' * BuildVersion directive Form: BuildVersion ('--Style=C'); now works as expected. Slightly better error detection on the directives arguments. Internal Changes: * Error reporting mechanism Improved the error reporting mechanism. Allowed a function to create modify the error reporting parameters in such a manner that the original values are restored at the end of a function. ------------------------------------------------------------------------ Version: 2.77.8000.cr Released: 18-Dec-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats Wrapper Added -NoExportVars option to allow use of JATS to startup build daemons without fixing the version of JATS that is used by the processes the daemon then starts. Limit searches for local and sandbox archives to the '/home' directory so that the Unix auto mounter does not report errors. * Jats makefiles. Platform Specifier The Platform Specifier has been extended to support a '--MachType=name' non-platform option. This may be used to limit Java builds to a 'win32' machine if required. ------------------------------------------------------------------------ Version: 2.77.7000.cr Released: 17-Dec-08 ------------------------------------------------------------------------ Major changes: Minor changes: * MugFile support Added facilities to allow named files to be added the the Thx Fileset Added options to facilitate the creation of sets of THX files Refer to MASS-00099 for complete details. * Jats Utility: dstatus Limit display width of the build machine named to 20 characters * Jats sandbox command (experimental) A files called 'stop' within the root directory of the component packages will prevent the utility from processing that subdirectory. Extended command sets to allow the command 'all', 'build' and 'make' to be processed as commands to be invoked in all sandbox components * Jats Make: New EnvVars GBE_MAKE_TYPE - P or D GBE_MAKE_TARGET - Target platform GBE_MAKE_CMD - Current make target GBE_MAKE_CFG - Internal config * Jats generated scripts: set_.sh The generated scripts preserve any spaces in the argument list passed to the invoked application. Internal Changes: * JatsCopy Package CopyFile operation can copy an array of files CopyDir now supports MatchDirs * JatsMakeConfig Package Added class to read in the parsed makefile.pl data for the current build target. * Jmake - Jats Makefile Supervisor Export GBE_MAKE_* EnvVars to directly export the current makefile environment. ------------------------------------------------------------------------ Version: 2.77.6000.cr Released: 11-Dec-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats command: sandbox Support subcommands "clean" and "clobber" These traverse the sandbox in the reverse direction so that the clean up operations work correctly. * Makefile generation Removed warning on the use of --OnlyProd and --OnlyDebug * JatsCopy Package Minor enhancements to this internal package CopyFile operation returns path to target file CopyDir can, if asked, returns an array of files copied Wildcard correctly supports the [0-9] construct Internal Changes: * Environment Export EnvVar GBE_HOSTMACH This is the same as GBE_MACHTYPE, but it is not modified by legacy makefiles. Available for sanity testing. * Remove unused references to the File::Find package in Perl scripts * Jats building Jats now uses the JatsCopy package to perform the many copy operations in the build. ------------------------------------------------------------------------ Version: 2.77.5000.cr Released: 24-Nov-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Added LMOS_PPC_603E to the LMOS target * Jats Utility: dstatus Improved handling of closed and archived releases Displays include activity time information Internal Changes * jats.pl Removed unused function * makeif.pl Added significant documentation Provided access to some of the functions via and API Renamed to MakeIf.pm Moved location to the LIB directory. * MakeEntry.pm Added support for the use of in-memory files Allows the output to be 'printed' to a memory variable rather then a file * ReadBuildConfig.pm Added routines to access package information in a manner that is independent of the underlying data. * makelib.pl2 Added mechanism to allow toolsets to register for notification of specific source files present in the build. Improved readability of the generated makefiles. Added informationas to the source of included files Added docuementation to previously undocumented functions Corrected usage of the MakeIf package. Use it as a package. * Win32 binary tools Added 7z.exe - command line utility to process various compressed file formats. Can be used to perform tar-like operations underlying windows. * JatsSvnCore.pm Made use of a new binary utility ('stdmux') to multiplex stdout and stderr into one data stream that can be handled by perl one allow platforms. ------------------------------------------------------------------------ Version: 2.77.4000.cr Released: 11-Nov-08 ------------------------------------------------------------------------ Major changes: Minor changes: Jats utility 'release' [DEVI-051370 ] The utility will place a tag file in the root of the package as specified by the '-path' option. This will be used by the build tool tool re-locate the root of the package and thus allow the correct generation of the ClearCase related metrics. Generation of Resource Files for WIN32 builds Corrected version identifier ------------------------------------------------------------------------ Version: 2.77.3000.cr Released: 28-Oct-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats option '-locate' correctly locates ANT build files [DEVI-052423] * Allow Deployable packages to be built on some, but not all, of the build machines and correctly package the descpkg file. [DEVI-052422] * JATS CompileOptions directive [DEVI-052426] New options: no_define_source_file define_source_file (Default) The 'no_define_source_file' will suppress the compile definition __SOURCE__ Currently only implemented for WIN32 and WINCE toolsets. The __SOURCE__ definition renders pre-compiled headers useless. This option has not be enabled by default to ensure backward compatibility. * Jats directives: MakeProject Now supports the following new options: --InstallProgDebug=list --InstallProgProd=list --InstallProg=list These allows files that are created by the project builder to be installed locally to be consumed by such packaging directives as GenerateCab. * Jats directives: AddLDFlags and AddASFlags Now supports the --Debug and --Prod options like the other AddFlags directives. * Jats builder directive: BuildVersion New options that can be used when generating a WinRC style version information: --Definitions - Create definitions only --Comment=text --Description=text --Product=name Internal Changes: * These utility 'gen_winrc' now uses module used by the BuildVersion directive to created the resource file. The BuildVersion.pm module has been modified to allows it to be used in a standalone manner by gen_winrc.pl. ------------------------------------------------------------------------ Version: 2.77.2000.cr Released: 26-Sep-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats utility jats_save_build.pl Fix problem when used in new mode. These label is now applied from the root of the VOB and not from the location of the builder file. ------------------------------------------------------------------------ Version: 2.77.1000.cr Released: 18-Sep-08 ------------------------------------------------------------------------ Major changes: Minor changes: * New JATS Platform : PHARLAP [DEVI-051359] Added support for PharLap 10.1 Requires that both PharLap 10.1 and Visual Studio 6 be installed Full details in the JATS manual. * Windows utilities [DEVI-051360] Added rpccpp to assist in the creation of rcpgen based modules under windows. * MOS68K and MOSCF toolsets Made used of rpccpp. These platforms can now support the creation of XDR based modules. * Jats GenerateFiles directive New option '--PreDelete' will delete all generated files before the generator process is run. This may be used in cases where the generator process does not operate if the output files already exist, such as the rpcgen utility. * Jats MakeAnt directive Correct problem where unit_tests could not be run. Automated unit_tests tests could be run. * Buildtool utility: jats_rewrite Added -noconfig option to allow the creation of auto.xml files in escrow. * create_dpkg utility Merged files that exist in the target archive are now compared against the local file. A difference is considered to be an error. Internal Changes: * Resolved issues with JatsEnv modules that make it difficult to include the modules in other modules. This is now a package * JatsSystem Module Resolved issues when 'shell' is used to invoke a 'system' command. Now quote the command string being passed to the shell. Resolved issues with JatsCmd Now takes an array of arguments. Added JatsTool to be more efficient where a known JATS tool is being invoked. This is faster assist it does not invoked three unneeded programs. * Renamed jats_cbuilder tool to jats_ccrelease. Changes is not visible to the users, assist they go through the 'jats' wrapper. Internally the changes is in preparation to alternate version control systems. ------------------------------------------------------------------------ Version: 2.77.0000.cr Released: 1-Sep-08 ------------------------------------------------------------------------ Major changes: * Perl Version. Must be at least version 5.8.2 This is the first version that supports Windows 2003 server. After discovering that several operations are not fully function under Perl 5.6.1 the minimum version of Active State Perl that is required has been increased. A suitable windows installer can be found at: \\auperaunx26\devl\releases\3rdParty-Products\ActivePerl\5.8.8.819\ ActivePerl-5.8.8.819-MSWin32-x86-267479.msi * Jats Build Targets New target and toolset: VERIX * Jats utility: jats_save_build Extended to allow all ClearCase specific operations to be removed from the Build Daemons. This utility is only used by "Release Planner" and the "Build Daemons". Suggested new usage: jats etool jats_save_build -pname=xxxx -pversion=yyyy -infofile=path_name -locatepkg=zzzz (Optional) -infile=aaaa (Optional) -outfile=bbbb (Optional) -wiplabel=ccccc (Optional) Minor changes: * JATS make: Merge Library Operation [DEVI-049475] Fixed such that Library Merge operations don't delete other build artifacts. * JATS make: New option expert=0|1 Runtime processing of 'expert' mode to allow dependencies between the object files and the makefile to be ignored. Previous this operation could only be invoked at 'build' time. Now the default state will be set at build time and it can be overridden at 'make' time. * JATS utility: CCdiff Corrected operation of the option "-new=dir=." * Nunit support in CSHARP Improved support for different version of Nunit Allow the DLLs that are required by nunit to be specified within the package. * Jats utility: dstatus Suppresses archived releases. Shows release state * Build file directive: BuildPkgArchive Extended list of supported directories to include 'wsdl'. Internal Changes: * JATS make: Detection of makefile dependencies Isolated the detection process to one point. Previously was being done at two places - Within jmake - jats makefile supervisor - Within the generated makefile. This is still present but is suppressed if jmake is used to invoke the makefile. * JATS make: Command line Removed the use of the un used "VERBOSE=1" operation Improved use of "options=args|allargs" It didn't work on all platforms. Is better does with "options=args" or "options=allargs" * JATS command line Improved operation of the -help,-man, -verbose and -debug options to allow: + Direct level specification (-verbose=3) + Better use of Perl Option Parsing Utilities + Consistent use of option parsing * JATS makefile generation Simplifies creation of internal rules Improved readability of the generation process Improved readability of the generated makefile Removed dead code Improved the creation of Progs * JATS error reporting Added a Fatal call to allow utilities to report infrastructure problems. Corrected problem in the use of GBE_[tag]_VERBOSE and GBE_[tag]_DEBUG environment variables where the 'tag' contains a space. * Assorted Perl files Minor corrected after running Perl Syntax check over JATS files. * Made the use of IFLAGS uniform for all JATS toolsets Removed the need, and use of IFLAGS3; simplifying the generated makefiles * Corrected tagging of files generated by the various toolsets Many files where incorrectly tagged and were not being cleaned up. * FileUtils package. Added functions to create and append text to small text files. Provides consistent error messages and simplifies creation of small files. Used functions within JATS. ------------------------------------------------------------------------ Version: 2.76.2000.cr Released: 23-Jul-08 ------------------------------------------------------------------------ Minor changes: * New Platform and Toolset : ACEX Provides support for the Fairchild ACEx assebmler ------------------------------------------------------------------------ Version: 2.76.1000.cr Released: 10-Jul-08 ------------------------------------------------------------------------ Major changes: * Jats make: Package and Install directives [DEVI-049299] Convert relative pathnames to absolute pathnames before passing to copy command. This makes the most of Windows limited path length as implemented by many Windows utilities. Minor changes: * JATS makefile generation: Provide case-corrected pathnames for library and include files in dpkg_archive. Needed to support badly formed legacy packages when used with some windows tools. ------------------------------------------------------------------------ Version: 2.76.0000.cr Released: 24-Jun-08 ------------------------------------------------------------------------ Major changes: * Support for Microsoft Visual Studio 2005 [DEVI-049017] The product must be installed in its default location. New platforms: CSHARP2005 Uses C# Framework Version 2.0.50727 Support extends to allow: 1) Building of Csharp source using standard JATS 2) Build Visual Studio solutions Can consume files from CSHARP and WIN32 components. VS2005 Support extends to allow: 1) Building of C and C++ source using standard JATS 2) Build Visual Studio solutions Can consume files from VS2003 and WIN32 components. The existing WIN32 and CSHARP platforms can also utilize VS2005 through a version selector: WIN32 Toolset - "MS.NET2005" CSHARP Toolset - "MS.NET2005" * Version of Make for Win32 builds The version of Make has been upgraded to 3.81 to provide access to macros to simplify support for the MS VS2005. * CSHARP and WIN32 platforms The LIB path uses to locate libraries and DLLs has been altered to: - Contain absolute paths. Relative paths did not work under all conditions when building projects and solutions. - Contain valid paths. JATS generated paths that do not physically exist will be removed from the search path. This removes warning messages under VS2005. Minor changes: * New Jats utility: dstatus Display Build Daemon Status. A text based utility. Use 'jats dstatus -man' for full details. * PPC_603E Toolset Changed the definition of HOST_CPU to be correct for the linux architecture that uses the value - powerpc. Extended LinuxDrivers directive to allow for powerpc. Updated the MakeLinuxDriver directive to use EXTRA_CFLAGS as CFLAGS has been removed. This change is backwardly compatible. * Modified all utilities to avoid a Perl-10 warning message [DEVI-049018] Improved usage of the 'require' statement used to check for a minimal value of perl. Removed excessive require statements. * JATS internal utilities - xmake Source for Make 3.81 is now controlled Include JATS specific files for 1) Windows 2) Linux JATS now includes binaries for make. This will ensure that the version of make being used will be known for all machines. Gnu make does not need to be installed for the various build machines. * JATS internal utility sh.exe (windows) Extended internal debugging via EnvVar SHDEBUGEXEC * JATS Environment Allow Jats Environment variables that are used to specify a directory to be set to either '-' or 'none'. The associated path will set to empty. This can be used to override defaults that may be inserted by the JATS wrapper scripts. * JATS utility: sandbox (Experimental) Correct problem with location of build files. Spell check help and code. ------------------------------------------------------------------------ Version: 2.75.3000.cr Released: 06-Jun-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats utility: release [DEVI-047291] A race condition within clearcase will cause a view to fail during creation. This is detected and the command will be retried a number of times. ------------------------------------------------------------------------ Version: 2.75.2000.cr Released: 27-May-08 ------------------------------------------------------------------------ Major changes: Minor changes: * PPC_603E Toolset Changed the definition of HOST_CPU to be non-numeric * GCC Toolset Correct the operation of the assembler interface to 'gas' such that options are passed correctly. * Jats utility: CCdiff [DEVI-048127] [DEVI-048439] Sped up the label-label comparison. Restored speed to that of observed before the label-view comparison was added. Restored ability to perform a one-sided comparison. This is used when reviewing a new package. * Makefile creation: BuildVersion directive Better handling of the generated files such that they are automatically included in the source file list. * Toolset updates Thyron and gnu_mpt. From An Tran. ------------------------------------------------------------------------ Version: 2.75.1000.cr Released: 14-May-08 ------------------------------------------------------------------------ Major changes: Minor changes: * PackageFile directive [DEVI-048037][DEVI-047541] Now supports the packaging of files with ( or ) in the name ------------------------------------------------------------------------ Version: 2.75.0000.cr Released: 07-May-08 ------------------------------------------------------------------------ Major changes: * New toolset and platform Added support for the PPC_603E platform. This uses the powerpc-603e-linux-gnu compiler The DEVLINUX and LMOS_DEVLINUX targets have been extended to include this platform. Minor changes: * Jats utility: CCdiff Extended operation to allow one side of the comparison to be a directory within a static view. This allows comparison between a label and current work. * Jats utility: release Added checking of correct package name and version when files are published to dpkg_archive. * Jats utility: jats_rewrite [DEVI-034837] Extended operation to allow the special properties to be transferred from Release Manager to the build tool to the target build. Currently only supported for ANT builds. New 'known' ANT properties are: releasemanager.releasename releasemanager.projectname The configuration file, used by this utility, has been extended to support tagged data item of the form releasemanager.releasename = value releasemanager.projectname = value * Mug File Generation Added --NoMugFiles option to suppress the creation of Mug Files This allows THX files to be collected for possible deployment. When this option is enabled, the user does not need to specify the Device ID, Name or Tier Number, nor are the external tools packages required. * Makefile creation: BuildVersion directive Modified the operation of the BuildVersion directive such that the location of the files that are generated will be known to the Jats makefiles. In this manner the user doesn't not need to know the location of the files in order to use them. The file will need to be declared with a 'Src' directive, but JATS will locate the file. This options does not occur for the 'C' version files. This is intentional to ensure backward compatibility. The operation does occur for version files of Style: * CSharp * Properties * WinRC * JATS directive: CompileOptions Correct operation of options that make use of assigned values. The case of the value is now preserved. Value is correctly assigned. ------------------------------------------------------------------------ Version: 2.74.0000.cr Released: 29-Apr-08 ------------------------------------------------------------------------ Major changes: * M16C toolset. Used by the MPR platform to build MCRFirmware [DEVI-047555] Corrected the version number embedded in the generated THX file. Major and minor numbers greater than 9 were incorrectly represented Added a test to ensure that the major and minor numbers are in the range of 0 to 99 inclusive. * Auto-build when multiple build.pl files are labelled [DEVI-047461] Modified JATS to allow support for the automated building of packages that contain multiple, labeled, build files. Added a '-locatepkg=pkg' option to the Jats wrapper script. This allows the user to specify the package to be selected from those that can be found. This will be integrated into the build tool. Modified the operation of the 'jats release' command to use the infrastructure provided by the above feature. Testing a release uses the additional information to ensure that the created package name and version are correct. Modified the operation of the (experimental) 'jats sandbox command to use the infrastructure provided by the above feature. Minor changes: * Solaris Toolset [DEVI-047398] The toolset no longer requires that the user have the compiler and the 'ar' utility in their path. It will be controlled by the toolset. This should improve build reproducibility. This will simplify new user setup. * All Unix Toolsets Corrected the operation of the 'options=showenv' so that it works on unix systems * JATS release utility [DEVI-047356] Fixed problem where utility would issue a 'Broken Pipe' message on some Solaris Machines. * JATS -version= Fixed operation on machines that do not have a GBE_DPKG_CACHE such that JATS does not attempt to cache the alternate version. ------------------------------------------------------------------------ Version: 2.73.4000.cr Released: 10-Apr-08 ------------------------------------------------------------------------ Major changes: * New platform: WCEPSION_500_emu [DEVI-047234] Creates binaries for the WCEPSION_500 emulator Added this platform to the default 'WINCE' alias. Minor changes: * JATS escrow utility [DEVI-047232] Handle package names that have spaces and brackets * JATS release utility [DEVI-047232] Handle view names that have spaces and brackets * Removed detection of unknown platforms Does not work with LMOS * Readme.txt file Added a brief description on the core_devl directory structure. * Misc Cleanup Removed version-1 test that is not applicable to the current jats Move PostInstall script into the BUILD directory. ------------------------------------------------------------------------ Version: 2.73.3000.cr Released: 07-Apr-08 ------------------------------------------------------------------------ Major changes: * MOS68K Toolset (Not MOS68KRM) Force compiler option -nOj The default compiler option (-Oj) has been seen to cause problems with some code. Problem reported/analysed by rparker and thunter. * MOS68K Toolset (Not MOS68KRM) Correct problem in disabling Global Optimization that was introduced in version 2.73.1000 Minor changes: * JATS makefiles Correct problem where a Production/Debug only build would create OBJ directories for both production and debug, and not clean them up. * JATS builds Allow ANT builds to be run in verbose mode to facilitate debugging The command "make all options=args" will run the ANT builds in 'verbose' mode. * JATS makefiles Extended the 'selector' used in all makefile directives - as the first argument. Added two non-platform related options: --Project=xxxx True if the package suffix matches --Defined=yyy True if yyy is declared with a SetValue or SetList directive. ie: AddSrcDir ('--Project=sls' , 'sls' ); AddSrcDir ('!--Project=sls', 'default'); * JATS makefiles. MakeProject directive New packaging options to package up programs to be used as JATS plug-ins --PackageTool=xxxx --PackageToolProd=xxx --PackageToolDebug=xxx * JATS buildfile processing Generate a warning for build platforms that are unknown to JATS These may be the result of a user typo or an incompatible version of JATS. * JATS save_build utility Correctly handle autobuild branches that contain multiple checkouts, one of which may be reserved. * JATS gen_cots utility Correctly labels directories up to the VOB root. Displays the correct 'Source Path' in the Release Manager Information. Ignores the 'administration_view' as this is read-only * JATS sandbox (experimental) Ensure the AutoBuildTool does not use any sandbox * JATS release (cbuilder) utility Handle paths that have a trailing path separators. * JATS Makefile generation. Packaging directives Packaging directives that use the --Dir option have been modified such that the direction cannot use a a relative path. * Escrow tool Creates a simple HTML file that details all the packages with a short description. ------------------------------------------------------------------------ Version: 2.73.2000.cr Released: 06-Mar-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Corrected operation of GBE_PLATFORM, when building a GENERIC package. A GENERIC package can now be built independently of the value of GBE_PLATFORM. * MOS Toolset If only building for a production target, then don't generate an error if there is no debug data and code addresses specified. Use to build platform independent MOS Releases. Cannot have debug, but can have production (PIC) components. * Utility command: jats abt Parse and use -buildfile=xxx option * Utility command: jats extract -extractfiles The extractfiles option will now duplicate empty directories * Building ANT projects under JATS Ensure that the PATH is correctly setup so that ANT can locate utilities within the JAVA directory - for both Solaris and Windows. Previously only worked on Windows ------------------------------------------------------------------------ Version: 2.73.1000.cr Released: 21-Feb-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats Label Utility Correct use of '-norecurse' operation. * Jats command line under Unix Corrected problem when command line quoted arguments with a space are passed in. ie: -xxx="aaa bbb ccc" * Escrow tool Added totals to all the tables created in the HTML report * Platform MOS68KRM Rome builds. Modified compiler options to match the existing build system ------------------------------------------------------------------------ Version: 2.73.0000.cr Released: 20-Feb-08 ------------------------------------------------------------------------ Major changes: * New Toolset: BORLAND The toolset uses the Borland C++ Builder 6 to build Borland Project files via the MakeProject directive. In this release there is no support for native compilation and linking. Details are provided in MASS-00166 JATS Reference Manual Minor changes: * Extract/Release utility. Handle Source Path option with spaces by creating a config spec that can handle spaces * MOS Compiler The TMP directory used by the assembler will be created before the assembler is invoked. This will ensure that the directory exists. * Utility: create_dpkg Uses the first 'descpkg' file found. Allows packages that have embedded descpkg files to be copied. * AVR_IAR Toolset Added support for AT90SC144144CT - by David Payne. * JATS ANT command Better selection of the ant build file * Build directive: BuildVersion Extended the WinRc version file to allow the name of an icon to be embedded in the .RC file. ------------------------------------------------------------------------ Version: 2.72.2000.cr Released: 06-Feb-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Building JATS. Installer will set a+x in dpkg_archive * JATS rewrite. Remove the need for the 'name=' attribute in the field. * CCdiff utility Now ignores blank lines when generating a file difference report. * Escrow utility Quote 'path' in the generated extraction commands Allow escrow to be based on a single Release Manager package * Minor Perl-10 tweaks ------------------------------------------------------------------------ Version: 2.72.2000.cr Released: 24-Jan-08 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats Tool: CCbc2 [DEVI-044908] Locates BeyondCompare through the Windows Registry. This allows BeyondCompare to be installed in places other then the default location. * Jats test runtime helper scripts set_PLATFORM.bat Windows. Batch file modified so that it doesn't exit the shell. * Jats wrapper If JATS attempts to cache itself and an error is reported by the caching utility, then Jats would fail without reporting an error message. ------------------------------------------------------------------------ Version: 2.72.00000.cr Released: 11-Jan-08 ------------------------------------------------------------------------ Major changes: * Jats Release Mechanism Jats can now release itself. This is not the same a building all of its internal components, but it does mean that a new version of JATS can be released using the 'standard' mechanism. Jats releases will be tracked in Release Manager. A side effect of this is that the labelling scheme will change to align itself with Release Manager. ie: _. * Running Jats Running Jats from within a ClearCase view is being deprecated. Jats should be run from a package present in dpkg_archive. This may affect some windows developers. This release of JATS can be run from ClearCase, but generates a warning. Future versions will generate an error. Refer to MASS-00164 Installing and Using JATS. Minor changes: * Perl Version Check Jats will generate a warning if the version of Perl in use is newer than the version used in test. Newer versions are not always backward compatible. Currently JATS has been extensively tested with 5.8.8. * Build Directive: BuildVersion This directive has been extended to allow the creation of a 'properties' file. This file may be used to pass version information into a an ANT build. * Jats Internals Minor fix to interwork with Perl version 5.10. Perl 5.10 has not been extensively tested - yet. * Jats Tool: CCbc2 Added utility to use BeyondCompare (BC2) to compare files in two packages defined as ClearCase labels. The utility creates two dynamic views and starts BeyondCompare. The views are destroyed at the end of the process. Requires BeyondCompare to be installed in its default location. Only works under Windows. Use jats CCbc2 -help (or -man) for further details. * Jats test runtime helper scripts set_PLATFORM.sh Marked as executable, so that users can run them directly * Jats test runtime helper scripts set_PLATFORM.bat Uses SETLOCAL / ENDLOCAL to prevent environment variables being exported into the parent space. This mimics the behaviour of Unix. * Jats eprog Consistent cross-platform handling of programs found in the current directory. * jats tool jats_metrics A new utility that will be used by the Automated Build System to collect build metrics. ------------------------------------------------------------------------ Version: 2.71.6.cr Released: 18-Dec-07 ------------------------------------------------------------------------ Major changes: Minor changes: * Jats Tool: create_dpkg Added options to allow the utility to sanity test the package name and version of the package being created. This is intended to be used by the automated build system. New options are: -pname=Package_Name -pversion=Package_Version Added option to allow the source package form to be tested, without transferring the package. New options are: -test * Jats Tool: CCdiff -output=filename now works. Previously only -out=filename worked. -vob=name does not generate internal message under unix * JATS Environment variables GBE_BUILDFILTER and GBE_PLATFORM can be either a space separated or a comma separated list. * Solaris Toolset Disable the use of purify, purecov and quantify when building shared libraries. Shared libraries are not supported by these tools. Executable programs are still supported. ------------------------------------------------------------------------ Version: 2.71.5.cr Released: 07-Dec-07 ------------------------------------------------------------------------ Major changes: Minor changes: * WINCE toolsets Added a run-time test for the presence of the required toolset This will report an error if the required WINCE toolset has not been installed. This is better than obscure message generated by the compilers when header files cannot be found. * GenerateFiles directive If the generating tool can only be found in the users path, don't make it a prequisite under Windows. There are problems with spaces in pathnames that are difficult to solve. * MakePerlModule directive Extended the directive syntax to allow command line options to be passed to the the module builder. * Jats Tool: label Add the ability to label specific sub-directories (-dirs=name[,name]+) Allow the -up option to be used in conjunction with the -files=xxx and -dirs=xxx options. * Jats Tool: release Corrected a problem when multiple ant builds where located within the build view. Now all ants builds will be perform. Expanded the operation of the '-build=name' option such that it can be used to limit ANT builds by specifying the name of the depends.xml file. * Jats Tool: CCdiff Added utility to provide difference reports in a format suitable to be uploaded to CodeStriker. Use jats CCdiff -help (or -man) for further details. ------------------------------------------------------------------------ Version: 2.71.4.cr Released: 30-Nov-07 ------------------------------------------------------------------------ Major changes: * New Platform : MOS68KRM Building MOS for the 68K processor for Rome Requires the Microtec 4.5R compiler Similar to MOS68K, but has different optimization and definitions Minor changes: * label utility Better handling of filenames with embedded spaces. * make package and install operations Improved the error detection and reported that may occur during a file transfer. * make clean up Improved the cleanup of generated files. * Jats Tool: jats_transform_file Tool that can be used within makefiles and test harnesses to perform minor file transformations such as: Copy, with optional rename Force Dos or Unix style line endings Perform simple TAG replacement Use 'jats jats_transform_file -help' for details * jats release utility Added the -extractfiles option to extract files without leaving a view in place. * escrow utility Added -extract option to assist in creating images of all files in the escrow, with a log file to summarize success/failure of the extraction. ------------------------------------------------------------------------ Version: 2.71.3.cr Released: 16-Nov-07 ------------------------------------------------------------------------ Major changes: Minor changes: * Makefile generation Corrected a problem in the detection of a generated target Some JAVA builds were not correctly detecting the need to run the generate phase early. ------------------------------------------------------------------------ Version: 2.71.2.cr Released: 09-Nov-07 ------------------------------------------------------------------------ Major changes: Minor changes: * GBE_PLATFORM operation Restored operation of GBE_PLATFORM. This feature is not encouraged. * Makefile generation Added a sanity check to generate a warning if a file is packaged, or installed, from more than one makefile.pl * Utilities gen_msproject, gen_dirlist and gen_metrics Modified to use generic interface to the makefile data * AutoBuilder support tool 'save_build' Check for users having placed locks on the build file and the autobuild branch. The locks will be removed. * jats_rewrite utility Better handling of DOS line ending under Unix * jats escrow utility Can now create a simple escrow build, and information, on a Release. Still handles an escrow based on an SBOM. Can be used to create an HTML report on unbuildable packages and inconsistent packages. * jats make help Corrected the list of target platforms to only show those that are available within the current build. * jats makefiles Modified the behaviour of jats when multiple instances of the MakefileGenerate() directive are found. If the MakefileGenerate() directive is found in the 'common' makefile. pl, then it will be ignored. * gcc toolset SharedLibries. The --Def=name option supports two types of def file The 'old' form is used if the name of the Def file ends in .def The 'old' form is created by the existing versions of mod_if.pl The 'new' form is created by tne new versions (daf_tools 25.1.5000.cr) of mod_if - if the name of the file does not end in .def. SharedLibraries and Prog (Experimental) New options: --MultiScan --NoMultiScan ( default) MultiScan will scan the libraries until no more undefined references can be satisfied. This may simplify linking of complex programs. ------------------------------------------------------------------------ Version: 2.71.1.cr Released: 16-Oct-07 ------------------------------------------------------------------------ Major changes: Minor changes: PackageLib directive The construct "PackageLib( '*', @SHLIBS, @LIBS );" now works as expected. Packaging multiple libraries and shared libraries works as expected. Packaging multiple shared libraries works as expected. MakefileGenerate directive This directive should only be called once. JATS will now generate a warning, and not produce an erroneous, if the directive is invoked more than once. Multiple Parent detection A makefile.pl that is invoked from more than one other makefile.pl, or the build.pl, is counted as having multiple parents. This condition is normally treated as an error. When run by the Auto Built Tool, this condition will be treated as a warning. Solaris Toolset Added option '--WithMisalign' to the SharedLib directive. When used in conjunction with the 'misalign' CompleOption this option will cause a machine specific object file (misalign.o) to be included in the link. Programs that are created with 'misalign' will automatically include the misalign.o object file. The fact that shared libraries do not may be an indication that this is a bad thing to do. Make and generation of subdirectories Fixed an issue which caused created directories to have a bad timestamp. This could result in multiple attempts to generate the source dependency file. ------------------------------------------------------------------------ Version: 2.71.0.cr Released: 10-Oct-07 ------------------------------------------------------------------------ Major changes: Makefile generation and make recursion Extensive changes to the makefiles that are generated by JATS and method by which JATS recuses through subdirectories during a build. Summary of changes: - Removed the use of 'make' to perform recursion over subdirectories and platforms. This has been replaced by a JATS program that performs the same task - only a great deal faster and with a greater scope for flexibility. The user interface remains identical: jats make .... - Replaced the generated 'Makefile' with 'Makefile.gbe'. This is a text file that provides sufficient information to allow JATS to locate the interface directory and associated build information. - Significant speed up in determining the need to rebuild a makefile. On a large package this has been reduced from 30+ seconds to less than one second. - Significant speed up of large recursive builds through intelligent building of the 'make_init' target. This is only processed once for each platform type. Previously it was processed in each and every makefile. This make target is used, internally, to perform sanity testing of the compiler environment and to display the name of the toolset. It is an expensive operation. - Intelligent speed up of large recursive through better mechanism for creating required directories. These are now created on the fly, rather than via a slow recursive pass though all makefiles. - Better makefile rebuilding Makefiles can be rebuilt on the fly. The previous system was prone to detecting that makefiles needs to be re-built, but then not re- building them. - Detection of build file changes The make process will detect that the build file has been modified and that the component has not been rebuilt. This is a warning. It does not prevent the 'make' operation. - Quieter make output The 'Nothing to be done' message has been disabled. Minor changes: MakeAnt Directive Allows ANT_HOME to be a path with spaces. ie: c:\Program Files\apache-ant-1.6.5 JATS command "debug" and "prod" These now handle make arguments and options correctly. Thus the command: jats prod WIN32 OPTIONS=args Will correctly do a production build for WIN32 with command execution display. Before, the system would attempt to process prod_OPTIONS=args. CSHARP toolset Correctly detect missing compiler directories ------------------------------------------------------------------------ Version: 2.70.2.cr Released: 27-Sep-07 ------------------------------------------------------------------------ Major changes: Minor changes: Java target. Resolve problem of multiple project builds when multiple files are generated. MakeAnt If the Ant build fails JATS will terminate. Previously JATS would continue until another error forced its termination. This is done through a better startup of ANT using the org.apache.tools.ant.launch.Launcher directly. MCR platform Create '.mod' files from the generated THX files. This is a MOS binary and can be download to the MCR devices. ------------------------------------------------------------------------ Version: 2.70.1.cr Released: 20-Sep-07 ------------------------------------------------------------------------ Major changes: Minor changes: MakeAnt directive extended New option: --PackageBase This will pass the path to all packages specified with LinkPkgArchive directives to the build.xml file. Without the option the path will address a 'jar' directory within the package. New passed parameter: PACKAGEDIR This is the path to the output package that is being created by JATS Allows the ant build script to place artifacts directly into the package image being created. ------------------------------------------------------------------------ Version: 2.70.0.cr Released: 13-Sep-07 ------------------------------------------------------------------------ Major changes: * Linux compiler Changed the linux compiler used to build Embedded Linux platforms DEVLINUX LINUX_EMU LINUX_ETX ARM9TDMI LMOS LMOS_LINUX_EMU LMOS_LINUX_ETX LMOS_ARM9TDMI This is a non-backwardly compatibly release. Do not migrate to this version of JATS if you are building against existing packages, until the underlying packages have been rebuilt. Packages created with the previous version of the compiler should not be mixed with packages created with the version in this release. Packages will be rebuilt with the new compiler as soon as possible. The new compiler will need to be installed on users VM's The compiler package is dpkg_archive/linux_gnu_tools/1.1.0000.cots The binary is:crosstool-gcc-4.1.1-glibc-2.5.tar.bz2 This should be extacted, as root, into / with the (one line) command tar -xjf /net/auperaunx26/export/devl/dpkg_archive/linux_gnu_tools/1.1.0000.cots/ crosstool-gcc-4.1.1-glibc-2.5.tar.bz2 -C/ Minor changes: * Skipped 2.69 due to nature of major change ------------------------------------------------------------------------ Version: JATS_2.68.3 Released: 28-Aug-07 ------------------------------------------------------------------------ Major changes: Minor changes: * WIN32 CompileOptions to control use of precompiled headers Added a WIN32 specific compiler option to control the pre compiled headers. CompileOptions ('WIN32', 'PreCompileHdrs' ); (default) CompileOptions ('WIN32', 'NoPreCompileHdrs' ); ------------------------------------------------------------------------ Version: JATS_2.68.2 Released: 28-Aug-07 ------------------------------------------------------------------------ Major changes: Minor changes: * Reverted changes made in JATS_2.68.1 to the library search path Although the search order is broken, we will need to live with it. Addressed the search order of /usr/lib under Solaris by adding a new AddLibDir option (--System) to add system paths. These will be searched last. For the record, the search order for header files and libraries is: 1) As specified with AddIncDir/AddLibDir in the local makefile.pl or within any such directive with the --Local option 2) Within the components 'local' directories. These are populated with InstallHdr and InstallLib directives. 3) Within the 'interface' directory as populated by BuildPkgArchive 4) As specified with AddIncDir/AddLibDir in the 'global' makefile.pl or within any such directive with the --Global option 5) Within packages specified by a LinkPkgArchive directive 6) As specified with AddIncDir/AddLibDir in any makefile.pl with the --System option * LMOS target platform Includes LINUX_ETX ------------------------------------------------------------------------ Version: JATS_2.68.1 Released: 24-Aug-07 ------------------------------------------------------------------------ Major changes: Minor changes: * Solaris Toolset Corrected library search order, such that /usr/lib is search after the dependent packages. * RunTest operation Added the current directory '.' to the PATH used when the test is run. * Csharp toolkit .dtd files are treated as resource files too ------------------------------------------------------------------------ Version: JATS_2.68.0 Released: 20-Aug-07 ------------------------------------------------------------------------ Major changes: * Trap use of uncontrolled versions of 'ant' and the Java Compiler (javac) It was discovered that a few old makefile.pl's where invoking ant and javac directly in order to build small Java components. This was normally being done in the guise of the WIN32 target. These packages were making assumptions about the version of Java on the users search path. JATS can invoke ANT and build Java based components using the MakeAnt directive and the JAVA platform. This method is controlled and reproducible. This release provides changes such that these packages will not build. This is better than building incorrectly. There are several aspects to the change 1) JATS provides binaries (ant and javac) with an error message. If the user invoked ant/javac in a manner that involves searching the PATH then these will be used and report an error. 2) A special command (jats abt) can be used to start up the Auto Build Tool in a manner that does not alter the PATH seen by the utilities. Moreover it does not alter the JAVA_HOME seen by the build. This is controlled separately. Minor changes: * Sanitize the PATH environment variable Ensure the JATS bin directory is the first directory searched Remove duplicates Place non-existent components at the end of the PATH ------------------------------------------------------------------------ Version: JATS_2.67.1 Released: 17-Aug-07 ------------------------------------------------------------------------ Major changes: Minor changes: * Makefile sanity test Added a test to ensure that makefiles created on a machine of one type are not then run on a machine of a different type. This will prevent files created on solaris-sparc being used on a solaris- x86 machine. * Correct bug in RunTest RunTest now extends the PATH to include the local bin directory ------------------------------------------------------------------------ Version: JATS_2.67.0 Released: 13-Aug-07 ------------------------------------------------------------------------ Major changes: * RunTest directive Added support for running tests within the NUNIT test framework for the CSHARP target. In the process a generalized mechanism for accessing toolset specific test frameworks has been added. Changes to the directive to support a FrameWork. The use of a test FrameWork is signaled with the option --FrameWork= If this is present then the raw name of the program under test will be passed to the framework. program. If a FrameWork is in use, then JATS will invoke the specified framework builder within the current toolset. When a framework is in place JATS will pass arguments of the form: '--Tag=Text' to the FrameWork. Other options are processed as normal. With in the Nunit FrameWork the program under test will be a DLL Nunit will only operate on a DLL. The DLL must have been created by the makefile containing the RunTest directive. The Nunit Framework supports the following options: --Uses=[,SubOption]+ This option specifies other DLLs that are used by the TestDLL. They will be copied in to the test directory, and may be sourced from an external package or the components 'local' lib directory. SubOptions available to The --Uses directive are: --NonJats This is not a JATS built library. It will not have a P or D suffix. --Jats (Default) This is a JATS built library. JATS will select the correct library type for this build. Minor changes: * New Cache cleanup mechanism When a package is consumed from the 'cache' a flag is updated within the cache. The cache aging routines use this file in preference to the descpkg file, thus it will prevent the aging of packages that are frequently used. The aging policy can be made more aggressive. * Save Build Utility This utility is used by the Auto Build System to save the 'build.pl' file used in a ripple build. The utility has been enhanced to detect a reserved checkout of the build.pl. The checkout will be changed to unreserved - if possible. * Release Utility The 'jats release' command will now unlock any labels that it locked when an error is encountered. This simplifies the 'release' process as the developers label will be unlocked if a build error occurs. * Jats caching local copy of itself Fixed a bug which resulted in an "Use of individualized value" message being displayed a large number of times during the file transfer process. * Minor extension to allow plug-in directives to perform a processing step before the makefiles are created. * TestProg directive TestProg's are now built in exactly the same manner as Progs * Correct problem introduced in 2.66.1 with packaging of files with a 'space' or '$' in the file name. ------------------------------------------------------------------------ Version: JATS_2.66.1 Released: 20-Jul-07 ------------------------------------------------------------------------ Major changes: * New build target LINUX_ETX - Support for Linux on an ETX board LMOS_LINUX_ETX - Support for LMOS on the LINUX_ETX target These targets have also been added to the following pseudo targets. DEVLINUX LMOS_DEVLINUX * Internal utility dpkg_cache [Windows] Modified to remove use of system utilities to perform the the file transfer, after having problems the 'cp.exe' provided by JATS. Minor changes: * Added utility class to provide directory searching To be used in JATS and JATS support tools * tweaks to the C# toolset Correct problem with filename that start with "n" as in .\not_nice.cs Create resource files with Fully Qualified Names derived from the .resx and .cs files. Handle Strong Key Names and creates wrappers to provide do the right thing. * Microtec ColdFire compiler Further attempts to get the compiler to place all of its temp files in a local directory. The compiler uses a large number of EnVars to control were it places temp files. Underlying problem is random compiler failures on big builds. Suspected interaction with other builds. * Release utility command Added a -tag=name option to allow the Auto Build Tools to create multiple instances of a static view. The tag is used to provide a unique component in the clearcase tag name. ------------------------------------------------------------------------ Version: JATS_2.66.0 Released: 27-Jun-07 ------------------------------------------------------------------------ Major changes: * Support for building CSHARP code Natively build C# within JATS using the Microsoft command line programs Supports the handling of .resx files Supports the creation of windows programs, console programs and shared libraries Minor changes: * Unit Tests Allow test scripts to be PERL - with a .pl extension These will be correctly initiated under WIndows and Unix Correct warning messsage that is generated if a "CopyIn" file is also listed as a Script. ------------------------------------------------------------------------ Version: JATS_2.65.3 Released: 11-Jun-07 ------------------------------------------------------------------------ Major changes: Minor changes: * WINCE Support Added WCEPA962_500 support. The WINCE target now includes this target. Complete list of WINCE targets is: WCEIT3000 WCEPA961 WCEPA962 WCEPA962_500 WCEPCM7220 WCEPSION_500 WCEPSPC_arm WCEPSPC_emu WCEX86A420 WCEX86A500 WCEX86A500_SOM4455 ------------------------------------------------------------------------ Version: JATS_2.65.2 Released: 06-Jun-07 ------------------------------------------------------------------------ Major changes: Minor changes: * WINCE Support Added WCEPSION_500 support. The WINCE target now includes this target. * Removed the following targets TP5600 TP5600_ARM9TDMI TP5600_EMU LMOS_TP5600_ARM9TDMI LMOS_TP5600_EMU * Deployment Simplify access to build information during deployment * build.pl Better error check on a packages version number. The --forcebuildpkg has been extended to copy files on a Unix system, rather than to use symlinks. This simplifies remote builds. * Tool: gen_msprojects Has been extended to create either a Debug build (default), or a Production build. Eg: jats etool gen_msprojects -prod * Tool: escrow New features Given an rtag_id, report determine packages that are in the 'release' but are not in the SBOM. Prune "patch" package versions. Specify packages to be ignored. ------------------------------------------------------------------------ Version: JATS_2.65.1 Released: 30-May-07 ------------------------------------------------------------------------ Major changes: * Provided a mechanism by which JATS makefile.pl directives can be extended through modules provided by external packages. This will be used to reduce the dependancy on JATS of various packaging processes. * GenerateFiles Added the options: --UnknownPreq - Will force the recipe to be run every time the generated files are required. May be used when the dependancies are too complex to describe. ie: Entire directory tree. --AutoGenerate - Will not force the recipe to be run during the 'generate' phase, unless the recipe generates source files. Allows recipes to be run very late. ie: when the dependent files are actually required. Minor changes: * GenerateFile directive Added --Var(BuildRoot) * GCC Toolset Creating Shared Libaries with a 'Def' file. The library is now dependent on the Def file, such that changes to the Def file will cause the library to be rebuilt. * MakeAnt and MakeProject directives Preserve the order in which projects are built. ------------------------------------------------------------------------ Version: JATS_2.65.0 Released: 16-May-07 ------------------------------------------------------------------------ Major changes: * Access to Release Manager and Deployment Manager databases The database location, user and password have been made configurable via environment variables. Reason: The Release Manager and Deployment Manager databases are being moved. This will affect users that: 1) Use tools that access RM or DM Some tools that build deployable packages 2) Use the ABT system The buildadm user, and the ABT scripts will be modified to provide the required configuration If you need to use tools that access RM or DM, outside of the ABT scripts on the build machine then you will need to add the following environment definitions to your .profile_bash, or jats.bat. Windows set GBE_RM_LOCATION=jdbc:oracle:thin:@auperaora03:1521:RELEASEM set GBE_RM_USERNAME=RELEASE_MANAGER set GBE_RM_PASSWORD=RELEASE_MANAGER set GBE_RM_URL=http://erg:8002/ManagerSuite/Release_Manager set GBE_DM_LOCATION=%GBE_DM_LOCATION% set GBE_DM_USERNAME=DEPLOYMENT_MANAGER set GBE_DM_PASSWORD=DEPLOYMENT_MANAGER set GBE_DM_URL=http://erg:8002/ManagerSuite/Deployment_Manager Note: GBE_RM_LOCATION will change in the near future. * New build platforms ARM9TDMI - To replace TP5600_ARM9TDMI LINUX_EMU - To replace TP5600_EMU LMOS_ARM9TDMI - To replace LMOS_TP5600_ARM9TDMI LMOS_LINUX_EMU - To replace LMOS_TP5600_EMU DEVLINUX - To replace TP5600 LMOS_DEVLINUX - To replace LMOS_TP5600 LMOS - New platform that expands to known LMOS targets: LMOS_ARM9TDMI, LMOS_LINUX_EMU, LMOS_WIN32 Many of these targets are designed to replace the badly named platforms of TP5600_ARM9TDMI and TP5600_EMU. These will be removed in a future release. The GBE_BUILDFILTER for linux boxes may need to be changed to LINUX_I386 ARM9TDMI LINUX_EMU LMOS_ARM9TDMI LMOS_LINUX_EMU The TP5600* targets should be removed to make it obvious that these packages need to be converted. * Building Linux Device Drivers The hard-coded path to the Kernel Headers has been removed. Linux Drivers must be built with a suitable package to provide the kernel headers. This allows multiple versions of the linux kernel to be used for different targets platforms. * Sandbox support Embryonic support for building multiple packages in a common sandbox Will remain undocumented until fully implemented. New command: jats sandbox ... Minor changes: ------------------------------------------------------------------------ Version: JATS_2.64.1 Released: 03-May-07 ------------------------------------------------------------------------ Major changes: * MakeAnt directive Added options to allow the and project to unit tests. New options --AutoTest= # Run as Automated unit test --UnitTest= # Run as Unit test This will invoke the ant build file, with the specified target, during the run_unit_tests phase. * Sandbox support Embryonic support for building multiple packages in a common sandbox Will remain undocumented until fully implemented Minor changes: * jats build Use platform configuration information to prune platforms from the list of platforms that will be 'built'. This simplies the construction of a GBE_BUILDFILTER This information is not available for all supported platforms, but is available for psuedo platforms that transform into machine specific platforms. These include SOLARIS, LINUX, TP5600 and LMOS_TP5600 * AVR_IAR Toolset Clean up 9 files that may be created by the USB license dongle. * JATS.BAT Example file now provides a default GBE_DPKG definition that assumes that the "V" drive is mapped to \\auperaunx26\devl. This allows access to both the dpkg_acrhive and the deploy_archive with the one mapping. * jats label Correct problem when locking a label in a specified VOB ------------------------------------------------------------------------ Version: JATS_2.64.0 Released: 16-Apr-07 ------------------------------------------------------------------------ Major changes: * New build platform: LMOS_TP5600 LMOS_TP5600_ARM9TDMI LMOS_TP5600_EMU LMOS_TP5600 is a tag that will be expanded to the entire family of LMOS_TP5600 supported targets. A common alias of LMOS_T5600 will be created to describe the group of platforms. LMOS_TP5600_ARM9TDMI and LMOS_TP5600_EMU These are LMOS based targets. The 'lmos' package must be used in order to build these targets. The LMOS_TP5600_ARM9TDMI can use components from the TP5600_ARM9TDMI, where no LMOS_TP5600_ARM9TDMI components are provided. The LMOS_TP5600_EMU can use components from the TP5600_EMU, where no LMOS_TP5600_EMU components are provided. * New build platform: WINCE This is a tag that will be expanded to all the known WINCE targets. Use of this platform will simplify the creation of components for consumption on all WINCE machines. The current list of WINCE targets is: WCEIT3000 WCEPA961 WCEPA962 WCEPCM7220 WCEPSION_420 WCEPSPC_arm WCEPSPC_emu WCEX86A420 WCEX86A500 WCEX86A500_SOM4455 The WINCE targets actually built will be affected by GBE_BUILDFILTER. * JATS makefile.pl The package descriptor file, 'descpkg', will be packaged in all makefiles that contain packaging directives. There is now no need to explicitly package the 'descpkg' file, except in very unusual configurations. Minor changes: * Directive: PackageFile Generate a warning if the source file name does not confirm to good naming conventions. The filename must not start with a '-' and must not contain an '='. Normally the result of an error in the directive. ie: "-Subdir=etc", instead of "--Subdir=etc". * JATS Internal utility: cmdfile Updated Linux and Solaris targets with a version of the cmdfile that provides a better error message for libraries that cannot be found. This version will display the library search path with one item per line, rather than all items on one, very long, line. ------------------------------------------------------------------------ Version: JATS_2.63.0 Released: 5-Apr-07 ------------------------------------------------------------------------ Major changes: * JATS release command Modified the configuration spec generated when a branching rule is specified. The change will ensure that directories are not branched. Rules are: Modify a file: File will branch Adding a file: Containing directory will not branch File will be placed on a branch Add a directory: Containing directory will not branch New directory will branch Minor changes: * JATS release command Added -noprefex option to allow the creation of a view directory without the user name being prefixed to it. This is useful in creating an escrow view. * JATS label command Detect and report parent directories that are checkedout when a label is applied. Previously these had gone unreported. * JATS make Undo previous change to preserve symbolic links while Packaging and Installing files. A problem was encountered when a file from a package was re-packaged. * JATS escrow Added a tool to generate information for creating an escrow drop. Use jats escrow -help for details * makefile.pl directive: MakeAnt This directive will create parameters to specify the location of external java packages that have been referenced via a LinkPkgArchive directive. This allows the build.xml to contruct a CLASSPATH to access JAR files in packages, without the overhead of copying the entire package into the interface directory. * build.pl directive: BuildPkgArchive Modified the processing of 'jar' directories. Directories of the form 'jar.' will be transferred into the 'jar' directory as seen by the package. Intended use: Deployment of oraclient for Solaris 10 * JAVA 6 JATS now supports all versions of Java through the use of JAVA_HOME_X_Y environment variables. Where X andY specify the version of JAVA. The jats.bat and jats.sh example files only provide indication of 1.4, 1.5 and 1.6 support, but all versions are now supported. The "jats vars -v" command will display all JAVA_HOME environment variables * Jats command: vars Extended to show a "*" for EnvVars that do not address a valid directory These indicate potential problems. ------------------------------------------------------------------------ Version: JATS_2.62.4 Released: 20-Mar-07 ------------------------------------------------------------------------ Major changes: * JATS create_dpkg + packageing shared libraries (Unix) When a shared library is created a simple symbolic link to the versioned libarry is also created. Previous versions of JATS would replace the symbolic link with a physical copy of the file. The effect of this is that when the shared libaries is 'Installed', 'Packaged' and transferred into dpkg_archive there are two files, instead of one file and one link to the file (in the same directory) The Solaris shared libraries can be quite large, due to the debug information contained within the file. This version of JATS will preserve symbolic links when 'Installing', 'Packaging' and transferring to dpkg_archive. The advantage of this will be significant reduction in disk space used within the build environment and dpkg_archive. * Building Perl Modules Modified the process to prevent the module builder attempting to modify the documentation on the build machine. Integrated the 'jats clean' operation. Minor changes: * jats create_dpkg Added an option to create a built.generic file This is only used by the Automated Built Tools. ------------------------------------------------------------------------ Version: JATS_2.62.3 Released: 28-Feb-07 ------------------------------------------------------------------------ Major changes: * JATS JAVA build target The default behaviour of the JAVA build target has changed such that the default version of JAVA used will be 1.4. Previous behaviour was to use whichever version was specified by the EnvVar JAVA_HOME. This was not controlled, thus the build was not controlled. Problems occur when using the new AutoBuildTool as it uses Java 1.5 and this is then picked up as the default version. If a version, other than 1.4, is required then specify it within the build.pl file. Minor changes: * jats release Ensure that the 'cleartool' command can be found in the users PATH Issue an error if it cannot be found. This error indicates bad DevEnv setup Added facility to create a view based on a config_spec, instead of a label. Such a view cannot be used to create a release. It is intended to simplify the creation of simple static views. The name of view is, by default, based on the name of the config spec. Use the -view=name option to change the name of the view. * GenerateFiles directive Added new --Vars() to allow packaging of JATS plugin tools. * MOS Toolset When using MOS fast intermodule calls the optimizer will preload commonly used memory addresses into a register BEFORE the GDP has been correctly set up. Use the following option to suppress this optimization Added: CompileOptions ('*', 'NoGlobalOptimization' ); ------------------------------------------------------------------------ Version: JATS_2.62.2 Released: 15-Feb-07 ------------------------------------------------------------------------ Major changes: Minor changes: * JATS environment Ensure that the true path of the Perl executable is present in the PATH environment variable. This allows build tool access to various perl utilities that are located in the Perl bin directory. Resolves issues in locating utilities such as pod2html * Use of GENERIC platforms Report an error if a GENERIC platform is mixed with any other platform specifier. GENERIC is used for packages that build on all machines because they do not use a compiler or linker. They simply contains files that need to be packaged. * Generated makefiles Solaris and Linux: Ensure that LD_LIBRARY_PATH is exported if it is used. * Generating MOS THX files Added option --BinaryImage to the SharedLib directive used to create MOS THX files. This option will create a binary image (.bin) instead of a .thx file. This is being used in the creation of BR Applets. SharedLib ( 'MOS', "xxx", @OBJS, "--Rel=xxx.rel", "--BinaryImage" ); * JATS release Correct the operation of the -path option under Unix * JATS extract New JATS command. This is the same as 'jats release -extract' * JATS Toolset Added support for the WinCe PSION (WCEPSION_420) This is a armv4i device using 4.20 of the WCE SDK ------------------------------------------------------------------------ Version: JATS_2.62.1 Released: 18-Jan-07 ------------------------------------------------------------------------ Major changes: Minor changes: * jats label Added a -vob=name option This allwos the label utility to create, lock, unlock, rename and delete labels without the user actually being located within the VOB. This option cannot be used in conjunction with operations that place labels on files. It can only be used for operations that manipulate the label. Added a -user=name option This extends the operation of the -mine operation to change ownership of the label to the named user. * jats release Displays the path to the view and the build file in a user friendly manner Under Windows it uses \, unless running under cygwin. * JATS build.pl BuildProduct supports the --Uses=xxxx construct on a per-target basis. ie: BuildProduct ('TP5', 'LMOS_TP5600_EMU', 'LMOS_TP5600_ARM9TDMI,--Uses=TP5600_ARM9TDMI'); ------------------------------------------------------------------------ Version: JATS_2.62.0 Released: 22-Dec-06 ------------------------------------------------------------------------ Major changes: * GenerateFiles and RunTest directives These directives have been extended to allow a large number of makefile values to be added to the command lines,without resorting to knowledge of the makefile internals. ie: --Var(BuildName) will be expanded to (hen building MyPackage) -BuildName=MyPackage The complete list of Variables is provided in the JATS manual. * GenerateFiles Added a --Clean option to allow tools to be invoked in the 'clean' phase This allows external scripts to cleanup. * BuildPlatforms Restored operation of the --Uses option Minor changes: * GCC Toolset Exports path to compiler. Used by scripts to build packages Internal changes: * GenerateFiles Maintains the arguments in an array for simpler processing. --Shell is now processed by the 'make' shell rather then invoking an external shell. It will be the same shell, just easier to setup. ------------------------------------------------------------------------ Version: JATS_2.61.3 Released: 14-Dec-06 ------------------------------------------------------------------------ Major changes: * Caching JATS Added a mechanism whereby JATS can cache a copy of itself on the users local drive. This is applicable to windows. This mechanism will allow a user to address JATS via the soft-links in dpkg_archive and pick up the current version of JATS without the penalty of then using JATS across a slow(network) link. The EnvVar GBE_CACHE_JATS controls the operation of this feature. Set GBE_CACHE_JATS to one to enable the operation, but it will only be effective if JATS is being run from GBE_DPKG in the first place. Use: Build Machines and Windows Users Minor changes: * Build directive: BuildAlias with --Target option Corrected a problem when the target name is a expanded platform name (ie: TP5600) that prevent correct expansion. * jats build If the user has not configured a cache, then do not attempt to cache packages. This will remove an annoying warning message for each package processed by the build. * jats build Modified the error messages generated when JATS fails to create the makefiles. The previous system would report failures while creating makefiles and, at the end of the process, it would generate a large error message to indicate the failure. This large message diverted the users from reading the other error messages resulting in confusion. * PackageFile, PackageLib, PackageProg and PackageHdr Detect and report as an error use of the --Dir= option where the Path is not specified. Most instances of this error will be where the option has been mis-used in conjunction with a package.pl file, or during transition from using a package.pl file. That change is detects errors where the user has specified --Dir=$Pinc but $Pinc is not defined. * Purify and Purecov under Windows Changes to correct the operation of Rational's tools when used on the Windows platform. - OPTIONS=purecov Forces the link operations to generate the relocation table required by 'purecov. Does not attempt to use purecov in the compiler tool chain This is required under Solaris, but not Windows - OPTIONS=purify Does not attempt to use purecov in the compiler tool chain This is required under Solaris, but not Windows. Under WIndows this option does nothing. ------------------------------------------------------------------------ Version: JATS_2.61.2 Released: 27-Nov-06 ------------------------------------------------------------------------ Major changes: * makefile.pl directive Platform This directive has been expanded to allow for the negation operation Example: Platform ('!MOSCF'); Process makefile for all targets other than MOSCF This is the same as Platform ('*', '!MOSCF'); Excluded platform will be processed after included platforms have been determined. Minor changes: * Added the ScanList directive. This directive allows a list of files within an external package to be located at build-time. * Unix based systems If the EnvVar LD_LIBRARY_PATH was undefined, then a warning would be generated by make under some conditions. The warning has been removed. * MakeLinuxDriver Added a --Define=text option to allow "defines" to be passed to the driver being built. ------------------------------------------------------------------------ Version: JATS_2.61.1 Released: 20-Nov-06 ------------------------------------------------------------------------ Major changes: Minor changes: * jats_rewrite tool Handle the BuildPreviousVersion() directive. This directive is only used within deployment scripts. * Internal package: RmPkgInfo Extract modified date when extracting package information Added the function getDependenciesHash() to provide a hash of all the dependancy information within a package. Added NO_WARN option to the classes 'new' method to supress warning messages. ------------------------------------------------------------------------ Version: JATS_2.61.0 Released: 13-Nov-06 ------------------------------------------------------------------------ Major changes: * makefile.pl directives Added directive: MakePerlModule to build and package CPAN style Perl Modules. Added directive: MakeLinuxDriver to build and Linux Device Driver. GenerateFiles. Added option: --NoGenerate to indicate that the directive does not generate any tangible results. The command will be run on every invocation. Minor changes: * Added the jats version command Will only print out the current version of JATS * GCC Toolset (Used to build Linux) Added options to allow the generation of statically linked programs. There are two mechanism: Globally within the makefile.pl, or if applied in the common makefile.pl the option can apply to all programs being built. CompileOptions ( 'platform', 'StaticProgs' ); - Generate static programs CompileOptions ( 'platform', 'No_StaticProgs' ); - Default Within the Prog directive, the following options will override the global default. --Static - Create a statically linked program --Shared - Create a dynamically linked program ------------------------------------------------------------------------ Version: JATS_2.60.0 Released: 03-Nov-06 ------------------------------------------------------------------------ Major changes: * SunWorks Toolset Better determination of the location of the SunWorks compiler and library Does not use an environment variable to locate compiler libraries It is based on machine type. Uses the absolute path to the compiler and does not use the user's PATH Corrects a problem on the Solaris10 installs. Minor changes: * Perl DBI interface Removed the message showing database connection * JATS internal library Better handling of badly formed version numbers ------------------------------------------------------------------------ Version: JATS_2.59.0 Released: 30-Oct-06 ------------------------------------------------------------------------ Major changes: * GCC Toolset Altered the mechanism used to determine cross compilation Extended the cross compilers that can be handled by the toolset Removed the use of `uname`. * Added platforms TP5600 ( Expands to TP5600_ARM9TDMI and TP5600_EMU ) TP5600_ARM9TDMI TP5600_EMU Minor changes: * descpkg file reader Allow handcrafted JAVA based packages that use tabs instead of spaces as a field separator. * JATS eprog command Can now start java programs encapsulated within JAR files * Microtec Coldfire compiler Force the compiler to create temp files within the interface directory. This is an attempt to solve a infrequent problem seen when multiple builds are being performed. The 68k compiler already had a similar fix to address a similar, but more pronounced, issue. * Atmel toolset (DEVI-031788) New Products: AT90SC7272C and AT90SC3232CS The AT90SC3232CS is identical to the existing AT3232 The AT90SC7272C replaces the (as yet unused) AT72722 Note: Products of AT3232 and AT90SC3232CS cannot be mixed. AT3232 is provided for backward compatibility. ------------------------------------------------------------------------ Version: JATS_2.58.0 Released: 16-Oct-06 ------------------------------------------------------------------------ Major changes: Directive: RunTests * The --CopyIn option will always copy in the specified files * GCC Toolset (Shared Library Generation) Added option --Def=file_name to the shared library definitions When compiling Shared Library objects the -fPIC flag has been added. Minor changes: * JATS wrapper script Added a sanity test to ensure that the JATS machine specific BIN directories have been setup. When JATS is installed the PostInstall script must be run to setup links to system programs. ------------------------------------------------------------------------ Version: JATS_2.57.1 Released: 15-Sep-06 ------------------------------------------------------------------------ Major changes: Minor changes: * AT3232 toolset Added a --Type=PayLoadType field to the Prog directive for this target when creating .sxml files * Test Tool Added: jats_lib_scan.pl Use jats jats_lib_scan -man for detailed help ------------------------------------------------------------------------ Version: JATS_2.57.0 Released: 12-Sep-06 ------------------------------------------------------------------------ Major changes: * SOLARIS toolset: CompileOptions Added CompileOptions misalign - Only allowed on sparc platforms no_misalign - Default multithread - Default no_multithread - Disable multithread compilation and linking * SOLARIS toolset: CompileOptions Implemented the common CompileOptions prod_no_optimise prod_no_debuginfo prod_optimise prod_debuginfo debug_no_optimise debug_no_debuginfo debug_optimise debug_debuginfo * SOLARIS target: New Aliases Provided new ALIAS based in the underlying architecture Theses are: SOLARIS_SPARC SOLARIS_AMD These may be used to limit operations to only flavor of SOLARIS. eg: The utility 'rtc_patch_area' is only usable on sparc machines. Minor changes: * AT3232 toolset Create .sxml files in conjunction with .s19 files * Jats build Altered the programs help mechanism to use perl POD. Extended the builtin help text. ------------------------------------------------------------------------ Version: JATS_2.56.3 Released: 04-Sep-06 ------------------------------------------------------------------------ Major changes: Minor changes: * Utility InstallPkg as used by BuildPkgArchive() Better dection of directories that have been processed to reduce warning messages * PackageFile and PackageProg directives The --Machine and --Tool options have been modified to allow the JATS tools to be created in a directory that is related to GBE_MACHTYPE on which the tool is created, rather then the target platform type. ------------------------------------------------------------------------ Version: JATS_2.56.2 Released: 28-Aug-06 ------------------------------------------------------------------------ Major changes: Minor changes: * WIN32 and WINCE toolsets SharedLib operation. Added an option to allow the creation of a 'stub' library without creating the body of the library: eg: SharedLib ( 'WIN', 'MyStub' , '--Def=windef.def','--MutualDll','--Stubonly' ); * MOS toolsets SharedLib operation. Added an option to allow the creation of a 'stub' library without creating the body of the library: eg: SharedLib ( 'MOS', 'MyStub' , '--Rel=lib.rel' , '--Implib=lib_stub','--Stubonly' ); * JATS BIN directories Added the program 'gmake' as a soft link. gmake is required by some COTS packages that are being built from source using autoconf. * Generate directive The shared library search path is extended to allow the tools to locate all shared libraies (.dll/.so) in packages and the local area. Simplifies the use of Xerces during the build process. ------------------------------------------------------------------------ Version: JATS_2.56.1 Released: 23-Aug-06 ------------------------------------------------------------------------ Major changes: * Support for SOLARIS10_X86 and SOLARIS10_X64 Initial release. Minor changes: ------------------------------------------------------------------------ Version: JATS_2.56.0 Released: 18-Aug-06 ------------------------------------------------------------------------ Major changes: * Support for SOLARIS10_sparc32 and SOLARIS10_sparc64 Initial release. * Packaging directives Added option --OsCommon to allow files and header files to be packed into a directory known to all platforms being built for a common OS. Currently this is only supported to target platforms based on SOLARIS WIN32 * Removal of support for badly formed packages As of this release libraries that exist in the /lib directory will not be available to JATS. These libraries are in the incorrect directory. They MUST be in a directory that indicates the intended purpose of the library. A .so library cannot be used on all machines ( linux, solaris-sparc, solaris-amd ... ). * Build Platform target name expansion facility The build targets of SOLARIS and LINUX are seen as expandable names. They will be expanded to suitable targets - depending on the host machine . Minor changes: * Utility: JATS LABEL Ensure that the 'cleartool' utility can be found in the users path. Generate a suitable error message if it cannot be found. * Utility: JATS RELEASE Added a -root=dirname to allow the user to place the created view at a given location Added GBE_VIEWBASE to provide a globally configured mechanism for controlling the view location. Performs the same job as -root=xxxx * Utility genrc Added the company name to the copyright string * Utility: jats_save_build Added option: -new This option forces the saved file only a new branch. The option can be used to save a build.pl file onto a new project-specific branch. Useful when branching an entire release. * Utility: jats_rewrite Added options to allow project suffixes to be replaced. Use: Convert a .syd project to a .bej project. * Deprecated features: package.pl and tree.dir These two build features are being deprecated. They are not suitable for migration to other SOLARIS based platforms. The Package directives provide sufficient power to replace the package.pl features - in a uniform manner. Internal Changes: * Major rework of the JATS BuildPlatform, BuildAlias an BuildProducts directives, together with the mechanism used to describe the platform builds. Introduced a CFG/.CFG file to provide: 1) Platform information available at build time 2) Dynamic platform names * Major rework of the 'SOLARIS' platform The SOLARIS platform will generate one or more targets, depending on the machine on which the platform is invoked. Consolidated a number of SOLARIS specific kludges and converted them into configurable items. These kludges are really on applicable to the SOLARIS8_SPARC32 platform. New SOLARIS builds will be well formed. * BuildPkgArchive operation Formalized a number of kludges in operation of the SOLARIS8 under sparc32 platform. These are configured early in the build process and are no longer needed. A side effect of this work is that files from external packages may be located in 'SOLARIS', 'SOLARIS_sparc' or 'sparc' directories. The change should be transparent as the consumer tools should be able to handle files from all of these. ------------------------------------------------------------------------ Version: JATS_2.55.1 Released: 17-Aug-06 ------------------------------------------------------------------------ Major changes: Minor changes: * WinCE toolset Added support for the adv_som_4455_wlan ------------------------------------------------------------------------ Version: JATS_2.55.0 Released: 3-Aug-06 ------------------------------------------------------------------------ Major changes: * Jats wrapper: Specify version of JATS to be used Added a -version=xxxx option to force JATS to use a specific version of JATS. The same operation can be achieved by setting GBE_JATS_VERSION. The required version MUST be found in one of the known archives. JATS will attempt to cache the version of JATS to assist in speeding up the operations. The version option MUST be the first option. The version option MUST be followed by a '--' option. This prevents JATS parsing other options and recursion issues. Example: jats -version=2.54.3.cr -- build * Migrated the "jats install" functionality out of the jats wrapper script and into the create_dpkg utility. This is transparent to the user. * Utility: create_dpkg Added a '-quiet' option to allow use within scripts Extended the built-in help Added useful error messages Migrate code to a common error reporting mechanism * WinCE toolset Added support for the WCEPA962 target. * M16 toolset as used in building MCRFirmware Added a --MotOnly option to the Prog directives. MOT files are used in the creation of bootstraps. Minor changes: * JATS wrapper script Added a -ABT=xxx option to allow the Auto Build Tool to be invoked from the command line. * Utility: jats_rewrite Modified so that it will display changes. These will then be present in the ABT log so that a developer can see which packages have been rippled. Internal Changes: * Common Error Reporting Will use environment variables to control DEBUG and VERBOSE levels for individual users. A module reporting with a name of XXXX will use EnvVars of GBE_XXXX_VERBOSE and GBE_XXXX_DEBUG to control the debug and VERBOSE level. Force flushing after a "Question" is asked to ensure that the prompt is displayed. Enable autoflush for both STDOUT and STDERR. * Added JatsSystem module Common code for accessing system commands ------------------------------------------------------------------------ Version: JATS_2.54.3 Released: 17-Jul-06 ------------------------------------------------------------------------ Major changes: Minor changes: * BR Compiler toolset Add the include file search path to the link command line. Allows .def files to include other files. * IAR toolset Added AT7272 support * Tool: jats_manifest Added links to a suitable md5sum program on target platforms ------------------------------------------------------------------------ Version: JATS_2.54.2 Released: 12-Jul-06 ------------------------------------------------------------------------ Major changes: Minor changes: * BR Compiler toolset Corrected a problem in flagging that the non-version-1 compiler was in use. ------------------------------------------------------------------------ Version: JATS_2.54.1 Released: 29-Jun-06 ------------------------------------------------------------------------ Major changes: Minor changes: * Mictotec toolset Assembler files. Define DEBUG in debug builds and NDEBUG in production builds. * JATS Core Added GBE_ABT. This is used by the Auto Build Tool to indicate that an auto build is in progress. It may be used by various tools to modify their behaviour. ------------------------------------------------------------------------ Version: JATS_2.54.0 Released: 22-Jun-06 ------------------------------------------------------------------------ Major changes: * Removal of non-core deployment functionality from JATS. Deployment package will be affected. The build.pl file of deployment package will need to import deployment support with a BuildPkgArchive directive. ie: BuildPkgArchive ( 'deployfiles', '1.0.0.cr' ); This version of deployfiles contains the same functionality as that provided by the previous version of JATS. Version 2 of this package will be the start of a deployment system that will provide support for building InstallShield packages. * Deployment support utilities must be run under JATS The environment required for the deployment support utilities is complex and is provided by the JATS wrapper script. This is a change in usage. Instead of running the program 'updatenodespec' the user will need to run 'jats updatenodespec' Minor changes: * SubDir directive Added a sanity test to detect the case when a 'SubDir' directive specifies a directory from two different makefiles. * Tools: Dependancy generator mkdepend If an include file was referenced by a symbolic name, then the generated dependancy information would be wrong for all but the first occurrence of the file usage. * New utility: jats_manifest Used by the build system to generate and validate source files. Beta Release: Windows only at the moment * Unit tests under SOLARIS_sparc The LD_LIBRARY_PATH has been modified to correctly pick up libraries generated within the build and have been installed locally. * Default behaviour of JATS the wrapper script This has been changed. Previous unknown commands were passed to make. In this release unknown comamnds will be treated a 'etool' commands and will execute a JATS extended command. Internal Changes: * Code refactor Created JatsEnv to encapsulate functionality that was multiply defined. * Deployment utilities The Perl module Ignorelist.pm and the .ccignore file Changed the mechanism by which this module locates a .ccignore file. The .ccignore file has been moved to the same directory as the module and the module can locate the file. Previously the module required an environment variable in order to locate the file, which was in a fixed location anyway. * JATS core Removed the use of the environment variable PERLINC. Better parsing of descpkg files. * JATS core debugging: JatsError.pm Allow control over the debug and verbose messages of specific programs through the use of environment variables. A program reporting errors as "name" can be controlled via environment variables GBE_name_VERBOSE and GBE_name_DEBUG. * BuildPkgArchive operation Modified the subdirectories transferred with this directive to include: deployfiles - as used by the deployment system tools/scripts - as used by perl based extensions * Make environment Extended the PERL5LIB path seen by perl programs executed under make to include 'tools/script' directories that contain Perl Modules. ------------------------------------------------------------------------ Version: JATS_2.53.2 Released: 13-Jun-06 ------------------------------------------------------------------------ Major changes: * Deployment. GetMassInstId.rul (From George Christidis) Added support for SILENT_MODE ------------------------------------------------------------------------ Version: JATS_2.53.1 Released: Not release ------------------------------------------------------------------------ Not Released. This label waas used as a place keeper. This version was not used as a basis for JATS_2.53.2. Its much closer to JATS_2.54.0. ------------------------------------------------------------------------ Version: JATS_2.53.0 Released: 11-Apr-06 ------------------------------------------------------------------------ Major changes: * Deployment Scripts: Release Manager Database Access The mechanism for communicating with the Release Manager Database has been radically replaced. A test tool has been added to prove connectivity to Release Manager. Usage: jats etool test_rmconnection The pervious scripts used DBI::ODBC to communicate with the Oracle Database that contains Release Manager. There were a number of problems with this solution: - Required the installation of two Perl Modules - Required the installation of an Oracle client - Required the use of an ODBC bridge machine when used on Solaris - Support for Perl within Oracle appears to be on the decline The solutions uses a Java application and Java's jdbc. The oracle:thin client is used as this does not require any installation or configuration in order to work. JATS overrides Perl's DBI package with a package of the same name, but reduced functionality. Minor changes: * makefile.pl directive: SetValue Added a '--' option to disable and enable parsing of options. This allows a value with leading '--' to be set. * makefile.pl directive: SetList Added this directive to formalise the creation and processing of lists within the makefiles. Options: --NoWarn Disable name clash warnings --Project=xxxx[,xxxx]+ Add to list in selected projects --Unique Add only if not already present --Clear Clear list, before adding new items --Append Append items to list (default) -- Disable/Enable option parsing Useage: SetList ('*', 'LibList', 'lib1', 'lib2', '--Project=syd'); SharedLib ('*', 'MyDLL', @OBJS, @LibList ); * Makefile.pl directive: RunTest Corrected the option of the --CopyIn=file option where the specified file is not in the current directory. * Jats Command: ant' This command has been extended to make use of the -buildfile=xxxx option to allow multiple buildfiles to be differentiated. eg: jats -buildfile=MyPackage ant * TOOLSET: DAFBR Compiler support Modified the toolset to support an optimisation feature of the next generation of the daf_br_compiler. These will be enabled if the major version of the package containing the compiler is greater the "1". ie: 2.0.0.cr * Interface helper files: set_XXXX.bat/.sh Added provision to process user command arguments. Thus set_WIN32.bat prog will set the WIN32 environment and run the command: prog ------------------------------------------------------------------------ Version: JATS_2.52.2 Released: 30-Mar-06 ------------------------------------------------------------------------ Major changes: Minor changes: * Addressed issue with BUILDNAME, an internal variable. Due to the use of these 'raw' values in user build.pl's they need to be maintained. Previously the values may or may not have had a project extension. It was bad. Now: $(BUILDNAME) contains two or three space seperated fields - always * m16c Toolset - MCRFirmware Force the generation of .thx and payload files when the .bin files are created. Previously this only occured in the packaging phase. Internal changes: * JATS toolsets Added a feature to allow a toolset to flag additional files that get created as a part of a "Prog". This allows a "Prog" definition to generate a number of files, some which may be packaged. Previously such files where only generated during the packaging phase. Now they will be generated during the make_prog phase - with the other programs. ------------------------------------------------------------------------ Version: JATS_2.52.1 Released: 29-Mar-06 ------------------------------------------------------------------------ Major changes: * Jats command: etool Extended to allow execution of deployment tools. This allows the deployment tools to use the JATS core perl modules. * Address issues with the use of BUILDVER and ScmBuildVer Due to the use of these 'raw' values in user makefile.pl's they need to be maintained. Previously the values may or may not have had a projectt extension. It was bad. Now: $(BUILDVERSION) contains the project extension - always $ScmBuildVersion does not contain a project extension - always Minor changes: ------------------------------------------------------------------------ Version: JATS_2.52.0 Released: 27-Mar-06 ------------------------------------------------------------------------ Major changes: * JATS environment variables Added GBE_DPKG_STORE Optionally addresses a dpkg_archive store. This is intended to allow read only access to a remote repository. The GBE_DPKG_STORE will be searched after GBE_DPKG. It will be searched last. JATS, be default, will not publish packages in this repository. Uses: Seed repository for a complete build Remote repository Added GBE_DPLY Optionally addresses a Deployment Archive. This is only used in the placement of deployment packages. This value may be project specific. * MOS_MRI toolset Changes the mechanism used to link against the compiler RTL. Previously the RTL was included multiple times in the link order. This created problem with daf_dsi as the function 'time()' was being satisfied by the RTL before being satisfied by the user libraries. The compiler RTL is now treated as a library of last resort. It will be processed once and it will be processed last. Minor changes: * JATS utility: build * JATS utility: cache_dpkg Extended the package search algorithm to locate a package within GBE_DPKG_STORE. This archive will be searched last. * JATS utility: gen_cots Ensure label is not locked Add option to allow user to specify source directory other than a package that already exists in dpkg_archive. * JATS directive: PackageFile Now supports --Prod and --Debug options to limit the packaging process to a specific type of build. * JATS directive: GenerateFiles and RunTests Added a --PackageInfo() replacement tag to allow package version information to be extracted and passed to generator programs. ie: --PackageInfo(sysbasetypes,syd,--fullversion) Extended the --PackageBase() replacement tag to work with packages such as sysbasetypes, where there is a .cr and a .syd type. ie: --PackageBase(sysbasetypes,syd) * JATS utility: release Under windows, ensure that the directory C:\Clearcase exists. There have been installations of Clearcase where this is directory does not exist. * JATS utility: label Added option: "-comment=Text" to allow a comment to be added to a label, when it is being created. Internal Changes * JATS utility: create_dpkg Refactored code to use JATS DescPkg class. Added options to allow packaging to the various archives. This is of no use to the normal developer, but will be used within the complete build system. * Factored out the parsing of the BuildName directive This process was being done in 3 locations - and there were getting different results. * ToolsetRequire directive This has been extended to allow JATS to locate Toolset extensions within packages. They should be placed within the tool/scripts directory ------------------------------------------------------------------------ Version: JATS_2.51.0 Released: 15-Mar-06 ------------------------------------------------------------------------ Major changes: * MCR toolset Generate CD payload files in conjunction with the .BIN files ------------------------------------------------------------------------ Version: JATS_2.50.0 Released: 15-Feb-06 ------------------------------------------------------------------------ Major changes: * WIN32 utilities Replaced a number of the Windows utilities ( cp, rm, mv ...) with versions from the GNUWin32 project. The 'cp' previously used could not recursively copy large directories under Windows Server 2003, when both the source and destination are on the same drive. ( dpkg_cache of ace ). Minor changes: * BuildVersion The definition of VERSION_BUILD within the generated version-defs.h file will have leading zeros removed, thus allowing it to be used within a 'C' program without the number being interpreted as an octal constant. The string form (VERSION_BUILD_STR) will retain the zeros. * Unix Builds Corrected several issues encountered when specifying the name of a static library or a shared library. JATS will prepend 'lib' to the user specified library name. Problems occurred when the user specified a library name that started with 'lib'. Now, on Unix systems, JATS will only prepend 'lib' if the library name does not already start with 'lib'. * BuildPkgArchive Since 2.45.0 JATS will only transfer files for the BuildPkgArchive, if they have not already been transferred. Added a test for the source package being updated and then forceing the copy to be repeated. ------------------------------------------------------------------------ Version: JATS_2.49.0 Released: 10-Feb-06 ------------------------------------------------------------------------ Major changes: * MOS_MRI toolset Corrected a problem with the dependencies between a .REL file and the target THX file. If the .REL files was modified the output THX file did not get regenerated. This was only a problem in cases where the .REL file was being manually maintained. Minor changes: * MakeAnt directive Introduced a check to ensure that this directive is only used with a toolset that can handle an 'ant' build file. Currently only the JAVA toolset supports ANT builds. * BuildPkgArchive directive Correct problem in the caching of BuildPkgArchive packages in the case where there is no GBE_DPKG_LOCAL on the machine. * Label utility Added a 'files=filename,filename' option to allow only specified files to be labeled. * Build. Parsing descpkg files Corrected problem in which Java Manifest files were not parsed correctly on Solaris. * Generated makefiles Fix a bug with the CompilerOptions that allowed a '0' definition to be set to nothing. * MOS Toolset Added 'CompileOptions' of CcSupervisor. This will set a MOS internal definition suitable for building specialised modules. * Utility: gen_cots This utility will create a JATS buildable package froma dpkg_archive entry and then check it in under clearcase. JATS etool gen_cots -man will provide only help. * Utilty cache_dpkg Detect and repair incomplete copy operations. ------------------------------------------------------------------------ Version: JATS_2.48.0 Released: 24-Jan-06 ------------------------------------------------------------------------ Major changes: None Minor changes: * DEVI addressed DEVI-022055 JATS builds DLLs with wrong copyright symbol in version resource DEVI-022054 JATS puts "ERG Group test" in Product Name of Windows resource * Utility: release (cbuild) Added an option to create a view configured to work with a branching rule. A single branch can be named with the -branch option. eg: jats release -extract 'label' -branch SITS_LEGACY_BRANCH will create a view based on the named label, but suitable for creating a patch for Sydney Legacy work. * RunTest directive The 'PATH' that the test uses is extended to allow access to programs that have been installed with a InstallProg directive. This allows a test script to test a program that is generated elsewhere within the package. * PackageFile, Option --DirTree Support for filenames that contain a "$" or a ' ' within the --DirTree option. Implemented to allow entire JAVA class trees to be packaged under JATS Note: In general the use of a $ and space within a filename is not supported within JATS. * Jats utility wrapper Added an eprog option. The allows any program to be run within the sanitized environment provided by JATS. The specified program may be in the current directory or the user's PATH. If the program is a perl script then it will be run with the JATS perl interpreter, otherwise it will be processed by the system. Eg: jats eprog myscript arg1 arg2 Eg: jats ant * Jats utility wrapper Added an 'ant' command. ( "jats ant" ) This will run an ERG ANT build by scanning the current directory for a file called depends.xml and then looking the a file called .xml. Jats will then create 'auto.xml' based on the depends.xml file and use ant to invoke the .xml file. If the ERG build files cannot be found then ant is simply run and it will expect a build.pl file. * Jats utility wrapper Force the environment variable PERL5INC to be unset. * Jats utility: create_dpkg Simplify handling of ANT based projects. Look for the package within the build/pkg subdirectory, in the JANTS style. * Utility: gen_winrc (DEVI-022054) Added a "'-product=text'" option to allow the product name to be specified. * Build files Handle the java generated descpkg files. These are a Manifest format with ERG extensions. ------------------------------------------------------------------------ Version: JATS_2.47.0 Released: 20-Dec-05 ------------------------------------------------------------------------ Major changes: * BuildVersion directive in build.pl Correct a problem in the generation of version.c The function GetModuleInfo() would return a string with a trailing space when the 'array' mode was selected. This may cause module validation to fail. Minor changes: * None ------------------------------------------------------------------------ Version: JATS_2.46.0 Released: 08-Dec-05 ------------------------------------------------------------------------ Major changes: * BuildProduct and BuildPlatforms directives Added option --Uses=NAME ie: BuildProduct ( 'OBFTP,--Uses=TP5', 'MOSCF' ); This will create a OBFTP_MOSCF platform that will 'use' TP5 headers and libraries if none are specifically provided for the OBFTP. It is the users responsibily to ensure that the two build environments are compatible. Minor changes: * BuildName option Modifications to allow the creation of COTS packages with buildnames that do not confirm to the ERG naming scheme (--RelaxedVersion). * jats.bat Ensure that GBE_BIN is not defined It will be set by the jats.pl to a fully qualified path. ------------------------------------------------------------------------ Version: JATS_2.45.0 Released: 29-Nov-05 ------------------------------------------------------------------------ Major changes: * BuildPkgArchive directive The operation of the BuildPkgArchive directive has been modified so that a package will only be installed once. This significantly speeds up multiple 'build' operations. If the package is being extracted from the 'local archive', then this mechanism is suppressed as packages in the local archive are considered as under development and are subject to change. If package cache is being refreshed, then the package will be installed a second time. Thus it is possible to force the package to be transferred into the 'interface' directory. A BuildTags directory is used to track packages that have been transferred. * Internal changes to factor common code into a group of packages. See notes below. * WIN32 toolset Allow the Microsoft preprocessor directive #import to operate correctly. Export the complete library search path into the build environment for all Microsoft command, not just the linker and library commands. * BuildVersion Modifications to allow the generation of version files for C# The mechanism has been extended to allow version information for other langauges as needed. Minor changes: * Utility: gen_winrc.pl Will extracted build number from the patch number, if present. This information will be available to be placed into the generation version strings. * GenerateFiles directive Fixed a problem detecting programs that were not in the local package or an imported package. * Toolsets: MOS_MRI Generate an error if required tools are not found. Previously this condition would generate a warning. * BuildPkgArchive and LinkPkgArchive directives Ensure that packages are only included once. The previous check was half-hearted and could allow multiple packages of the same version to be included. This could result in badly formed makefiles and strange error messages. Internal Changes * Started to factor out internal packages and place them into a common directory. This will allow common error handling thoughout the suite of utilities. Modified all utilities to utilize the common error reporting functions. ------------------------------------------------------------------------ Version: JATS_2.44.0 Released: 18-Nov-05 ------------------------------------------------------------------------ Major changes: * Generated makefiles Modified the windows shell to remove the use of the EXTENDED_LINE cache. This did not work. Modified the extend.lst file to ensure that sed did not process its arguments. This has been done to address a problem seen within test scripts within unit tests that use wildcard expansion. The windows shell was incorrectly processing: sed '-es~.*WIN32~~' The '.*' construct was being seen as a wildcard and the shell was then putting the argument into a command file - it was totally confused. NOTE: Attempted to remove use of EXTENDED_LINE, but this caused a breakage with the DOS based gcc compiler( ie:H8S and others). The construct -D__SOURCE__=\"name\" was corrupted somewhere. If the command is put in a command file, then it works. * MakeAnt directive Added option: --GeneratedFile=PathOfFile This option has the following effects 1) Marks the file a source file. It is then known to JATS and can be used installed and manipulated. 2) Schedules the processing of the ANT build to be done early - in the generated files phase. Intended use. The creation of packages with a JNI. The Java component needs to generate a header file early. Minor changes: * JATS post-installation script Flag deployment tools and libraries as executable. * Detection of extension type is case insensitive for non-unix systems. Thus *.h and *.H files will considered header files in windows. * Build.pl rewrite tool Handle all variants of BuildName * Jats wrapper script Generate an error if the JATS configuration variables are not usable 1) Contain spaces 2) Start with a // - Remote drives must be mapped * Toolset Added a 'LINUX' platform. * JAVA toolset Ensure the that build file passed via MakeAnt contains the following directive: includeAntRuntime="off"' This MUST be used to ensure that ANT's classpath is not passed to the java compiler thus ensuring that the compiler does not use ANT's version of any JAR files that have not been specified by the user. * GCC Toolset Use -Map name to create map files as needed for GCC under Debian * Makefile generation When packages are used by name to resolve package location JATS has been modified to use the package name specified by the user. Previously JATS would use the package name found within the descpkg file. In cases where the descpkg file was badly formed the package could not be used. * Unit Tests The following environment variables are set: GBE_TYPE - The type of build. Debug or production. This will be set to either a 'P' or 'D' GBE_HOST - The host machine we are running on. This will be set to 'WIN' or Unix' These variable should assist in the production of test scripts. * New makefile.pl directive: SetValue ------------------------------------------------------------------------ Version: JATS_2.43.0 Released: 01-Nov-05 ------------------------------------------------------------------------ Major changes: * New Platform : "MCR" using the Mitsubishi m16c compiler. Special features of this toolset. 1) A .THX source file will be converted to an obtect file This allows processing of fonts within a THX file to be incorporated within the target image. 2) Prog directive extensions: --Set=Name=Value The 'Name' is set to 'Value' at link time. This allows the location of program segments to be set --Ref=name The name of a Release file. If provided, it will be used to provide information that will be placed within the THX header. The version number will be ignored. It will be taken from the build version number. Minor changes: * MOS Toolset Create the VisionClick files when the THX file is created. Previously the files were created when the THX was installed or packaged. * Src directive No generates a warning if no source files are located within the directive. This is normally the result of a missing platform specifier. * WIN32 runtime support Added the following 'Unix' style utilities to assist in testing. 1) od - dump files in octal and other formats 2) cmp - compare two files byte by byte Internal: Added an extension to allow the target toolset to handle the "Prog" dependancy generation if required. This allow complex program generation mechanisms to be handled by the toolset. ------------------------------------------------------------------------ Version: JATS_2.42.0 Released: 19-Oct-05 ------------------------------------------------------------------------ Major changes: * BuildAlias directive Added options. --Define - Does not create implicit platforms --Target - Redeclares the alais as the list of all platforms that are based on a given target or targets. Eg: BuildAlias ( 'LMOS,--Target', 'LMOS_WIN32', 'LMOS_linux_armv4' ); BuildProduct ( 'GAK', 'LMOS', 'MOS68K', 'MOSCF' ); BuildProduct ( 'PCP', 'LMOS', 'MOS68K' ); Will export an alias of LMOS that can be used within makefile.pl's that will be the list of all platforms that have a target of 'LMOS_WIN32' or 'LMOS_linux_armv4'. Note the dual use of LMOS within the example. This is intentional. The LMOS alias is used within the BuildProduct to simplify the specification of all the LMOS targets. Minor changes: * Label utility Will generate a warning message if it labels more than one build.pl file * Package directives. PackageFile. Corrected a problem with wildcard expansion in which a --FilterIn needed to be specified in order for the --FilterOut to operate. Now all files in the tree are considered 'in' unless modified by the --FilterIn option. * jats release (cbuilder) utility Correct use of the -prodOnly and -debugOnly flags. The full name was not accepted; -debug and -prod was. * Location of descpkg file All makefile.pl's now know where the package descpkg file was created. This simplifies the process og packaging this file as it can be done within any makefile.pl. ------------------------------------------------------------------------ Version: JATS_2.41.0 Released: 27-Sep-05 ------------------------------------------------------------------------ Major changes: * RunTest directive Extended the options and operation of RunTest Additional options --CopyIn=file This will copy the specified file into the BIN directory before the test is run. The file will be marked as executable. This allows scripts and configuration files to be transferred into the test area. Additional operations The arguments passed to the script/program allow a number of transformations, similar to GenerateFiles. Transforms --File(xxxx[,flags]) - xxxx is a known file --Local(xxxx[,flags]) - xxxx is a file that has been Installed --PackageBase(xxxx[,flags]) - xxxx is a Package Allows flags: --dir - directory part of the pathname --file - file part of the pathname --abspath - as an absolute path --absdrive - as an absolute path with drive letter (Windows) Files and directories are prerequisites of the test. Their existence is tested. * Packaging Directives Added a --Derived option to support the packaging of derived targets such as LMOS. PackageHdr ('*', 'file1.h', '--Derived=LMOS'); Will place file1.h into .../include/LMOS_WIN32 PackageHdr ('*', 'file1.h', '--Derived=LMOS,sys'); Will place file1.h into .../include/LMOS_WIN32/sys * JAVA 1.4 and 1.5 Added support to the JATS JAVA platform to allow the user to specify the version of Java to be used to build a package. BuildPlatforms ( 'JAVA,--Version=1.5' ); The default will use the default machine version of JAVA. This may not be sutable for all packages. Non-default versions of JAVA require that an environment variable be set to the root of the JDK directory. These are: JAVA_HOME_1_4 JAVA_HOME_1_5 Minor changes: * Script directive Scripts may be copied into the BIN directory for use by a test. These scripts are now always marked as executable. * JATS environment Ensure that all programs run under JATS in Windows have an uppercase COMSPEC envvar. Windows appears to define a mixed case one. Fixed in the JATS wrapper script. * Label utility Added -[no]checkout to control the labeling of checked out files. There are three modes of operation: 1) -nocheckout Checked out files are not labeled 2) -checkout Only checked out files are labeled 3) Neither All files are labeled. ------------------------------------------------------------------------ Version: JATS_2.40.0 Released: 15-Sep-05 ------------------------------------------------------------------------ Major changes: Minor changes: * label utility Added -smartlabel option to unlock and lock the label - if it was locked. This options retains the locked state of a label. * AVR_IAR toolset Extended the 'Prog' directive to allow a Program Loader to be added to a program as it is created. The option is: --ProgLoader=name * Package directives. PackageFile Added support for packaging of directory trees. Options to do this are: --TreeDir=name --FilterOut=regexp --FilterIn=regexp --StripDir Only a single directory can be specified. Multiple filters are allowed. The directories must be within the current directory. It is not possible to search outside the subdirectory tree below the makefile. The filters allow elements within the directory to be selected. The filters are regular expressions. Examples: '--FilterIn=\.h$' - Select all files ending with .h '--FilterOut=MyHeader.h' - Except this one The --StripDir option will remove the TreeDir directory from the files. This allows the top level directory to be stripped off. ------------------------------------------------------------------------ Version: JATS_2.39.0 Released: 14-Sep-05 ------------------------------------------------------------------------ Major changes: * Make commands Consolidated the parsing of the OPTIONS arguments. The filter and nofilter options are globally applied to all tools sets. ie: jats make debug OPTIONS=nofilter * Label utility Generate a warning when attempting to label a symbolic link. Links are very hard to maintain in a reproducible manner. Minor changes: * Toolsets Replaced the use of c:\WINDOWS and c:\Program Files with suitable variables and overrides. The make_init target is always run. This facility had been lost. The target was being used to provide compiler sanity testing, but had was not being reliably run. * Deployment Suppress testing of compiler existence when used in conjunction with deployment operations. * Release utility Add options to build only the debug or the production versions. The default is to build both. Note: User option may be further restricted by options within the build. * PackageLib, InstallLib and MergeLib directives in makefile.pl The use of @LIBS and @MLIBS in unix systems was causing a problem as these variables already had a 'lib' prepended to the list of libraries. These directives would add another 'lib' to the list of libraries under unix causing a mismatch. Corrected by stripping liblib from the names within these directives. * MakeProject directive If the project build fails the log file was not being displayed because 'make' stops when a command fails. The MakeProject operations have been modified to ensure that the log file is always displayed. The exit code of the build command is preserved. * Auto build utility jats-rewrite.pl Modified to support the rewrite of Java 'using' and 'project' statements. * Mugfile generation Added a --ThxDir=xxxx option to allow the THX and load files to be placed in the target package. ------------------------------------------------------------------------ Version: JATS_2.38.0 Released: 01-Sep-05 ------------------------------------------------------------------------ Major changes: * BuildVersion directive The 'defs' mode has been extended to create a file with a build number as well as a patch number. The patch number is decoded into a patch number and a build number. Minor changes: * AddFlags directives Added a --NoWarn option that will suppress the warning of duplicate flags being added. * GBE_CORE environment variable (Windows) Ensure that GBE_CORE has a driver letter. This allows use of JATS loaded into the same dynamic view as the user code. * Mug File Generation Added support to allow load files to include other load files. * 'cbuild' or 'release' command Added a -latestroot=xxxx option. This is a work around for the problem where the root level directory in the VOB has not been labeled. After using this switch add the label to the root directory. The need to use this this switch indicates that the view is NOT reproducible. ------------------------------------------------------------------------ Version: JATS_2.37.0 Released: 22-Aug-05 ------------------------------------------------------------------------ Major changes: * jats.bat and jats.sh Changes to include GBE_DPKG and GBE_DPKG_CACHE. Most importantly GBE_DPKG must be a single directory. It is no longer a list of directories. Removal of the setup of Microsoft Visual Studio 6. This is now done within the toolset. *** Update your jats.bat to follow the format in this release * JATS environment variables Redefined variable GBE_DPKG - Now the MASTER dpkg_archive Previously was a list that included the dpkg_archive cache. New variable GBE_DPKG_CACHE - Optional directory for a local cache of the main dpkg_archive. Minor changes: * Utility: gen_packagelist Enhanced (thanks Ross) to allow PATH information for various target platforms to be extracted. Better support for Product families. This is only an issue for WIN32 derived families due to the generation of a list of libraries. The list now observes Product hierarchy. * Utility: release (cbuilder) Added -noruntests option too suppress the running of unit tests Units tests will still be run by default. Tighten the config specification used to build the sandbox. It has no LATEST rules. All directories and files MUST be labeled. * Utility: jats_rewrite Support ANT based XML files * Utility: create_dpkg Support ANT flavor Manifest dependancy files and pkg directory structure. * makefile.pl's GenerateFiles directive. Added a --Prog specifier to allow tools to be generated within the same script. Example: Prog('*', 'Myprog', @OBJS ); GenerateFiles ('*', "--Prog=MyProg", '--Prereq(infile)', '--GeneratedCommon(outfile)' ); RunTest directive. Added a --Auto option to flags tests that can be run within the Build Systems Auto Build environment. These tests will be run with the 'run_unit_tests' target. All tests will be run with the 'run_tests' targets. Only tests that confirm to the ERG "Unit Test Automation" guidelines should be marked as -- Auto. * Added a new make target: run_unit_tests This will be used by the build tool to run non-interactive unit tests within an automated framework. * Make run_test and run_unit_test operation The search path for DLL's or Shared Libraries is extended to include all Shared Libraries in the build package list as well as the local and interface directory. This allows tests to locate required Shared Libraries at runtime. * WIN32 targets built using Visual Studio 6 The path to the compiler is setup within JATS. It is no longer imported from the users environment as the environment is indeterminate when multiple versions of Visual Studio are installed on the machine. * WINCE Targets The name of the SDK is case sensitive. The POCKET PC 2003 was incorrect ------------------------------------------------------------------------ Version: JATS_2.36.0 Released: 03-Aug-05 ------------------------------------------------------------------------ Major changes: * WIN32 platforms When building Microsoft project files the PATH environment variable is extended to include the DLL path of imported packages and installed packages. * Building DLL or EXE with the --NoPDB option will disable the generation of debug information so that the linker does not create CV style debug information in the target. * UNIX Platforms (SOLARIS and LINUX) Modification to allow BuildProduct and BuildPkgArchive to interwork. Previously BuildPkgArchive packages were placed into the 'interface/lib/SOLARIS' subdirectory and this was not being searched when looking for libraries. Minor changes: * GenerateFiles directive New sub-options to filename generation commands --abspath - provide the named file with an absolute path --absdrive - provide the named file with an absolute path and drive letter * Src directive Modified the --FromPackage' option to allow searching of the root directory of a package. Src('*', 'etc/data.ini', '--FromPackage' ); Also prevent warnings on duplicate files if the package is imported with a BuildPkgArchive directive. The file was being found in the package and the interface directory. * jats_rewrite utility Process depend.xml files for auto builder ------------------------------------------------------------------------ Version: JATS_2.35.0 Released: 28-Jul-05 ------------------------------------------------------------------------ Major changes: * SunWorks production builds Corrected the flag used to select the level of compiler optimisation. The current flag generates an error of: cc: Warning: option -2 passed to ld The flag has been changed from -O2 to -xO2 inline with the compiler documentation. * MOS Toolset Implement a workaround for a bug in VisionClick's convert program in which the tool would not generate a valid .bdx file. The solution was to create the .bdx and .ab file in two steps. Minor changes: * Correct the case of 4 toolset files. The files were created under windows, which has a habit of capitalizing filenames. This should not affect current users. * Mugfile generation Extended the --Package option to allow subdirectories to be specified. "--Package=MyPackage,--Subdir=thx/moscf,thx" ------------------------------------------------------------------------ Version: JATS_2.34.0 Released: 22-Jul-05 ------------------------------------------------------------------------ Major changes: MOS Toolset Modified the optimizations options used to generate 'Production' code. A problem with -Ob optimization has been identified. Minor changes: * Jats wrapper script Windows: Ensure that cmd.exe is in the users PATH. Without cmd.exe scripts will not work properly as the PERL 'system' command assumes that cmd.exe is in the users PATH. * LinkPkgArchive and BuildPkgArchive Processing soft links. Generate a warnings if a package soft link and a real package are found in the same directory. The link may be suspect. * GenerateFiles directive Added a --PackageBase(xxx) argument that will be replaced with the pathname to the specified package. ------------------------------------------------------------------------ Version: JATS_2.33.0 Released: 18-Jul-05 ------------------------------------------------------------------------ Major changes: * Added a JAVA platform to better support the processing of ANT build.xml files. Minor changes: * WIN32 toolset. Delete V7 specific temp files when compiling with V7 compiler * MakeAnt Pass an absolute path to the 'interface' directory to allow the build.xml file to be a directory other than the current directory Allow the ANT_HOME path to contain spaces: c:\Program Files\Ant * gen_winrc - A utility to generate Windows RC files with version information. Allow 3 or 4 fields in the version number. If only 3 fields are provided, then the fourth field is set to 0. * MakeAnt directive Now supports --Debug and --Prod options to limit the building of ANT files. The MakeAnt directive is only going to work in conjunction with the JAVA target Recommended usage: MakeAnt('JAVA',"build.xml","--Jar=java.build/test.jar",'--Prod'); Internal Changes The MakeAnt directive is now treated like a MakeProject directive. ------------------------------------------------------------------------ Version: JATS_2.32.0 Released: 13-Jul-05 ------------------------------------------------------------------------ Major changes: * Initial release of WINCE and WIN32 V7 based project builds The DSW, VCW and SLN files can be built via JATS and selected files packaged into the release. Refer to the 'MakeProject' directive in MASS-00166 JATS Reference Manual http://auperaws396/mass/Wiki.jsp? page=UsingJATSToBuildMicrosoftProjects * Added support for Visual Studio 2003. The recommended platform is: BuildProduct ( 'VS2003', 'WIN32,--Version=MS.NET2003' ); * Initial release of support for building Ant files. JATS can build small Java sub-components using Ant. This is not a replacement for JANTS it is intended for mixed C++ and Java components. Refer to the 'MakeAnt' directive in MASS-00166 JATS Reference Manual http://auperaws396/mass/Wiki.jsp? page=UsingJATSToBuildSmallJavaComponents Minor changes: * Support for Windows DLLs When building a WIN32 target the file interface/set_WIN32.bat is created. This file extends the Windows PATH to allow DLLs used by the package to be accessed. The file may be "called" from a wrapper batch file to start the application or visual studio. * The descpkg file created by JATS contains a JATS version number and the JATS Core path. * AddIncDir, AddSrcDir and AddLibDir directives Now generate an error if there is only one argument to the directive or if no directories where specified. * MOS Toolset Add support for the TPT device Correct error message for unsupported devices. * Correct problem with in creating absolute path names to allow DOS driver letters to be handled correctly. * Added --ExcludeLib(xxx,yyy) processing to allow specified libraries to be excluded from a list of libraries processed by when creating libraries, shared libraries and programs. Used in conjunction with --Using(aaaa) to correct errors. Internal Changes * JATS release process validates the JATS version number contained in jats.pl ------------------------------------------------------------------------ Version: JATS_2.31.0 Released: 28-Jun-05 ------------------------------------------------------------------------ Major changes: * JATS wrapper script Allow multiple alternative build files: auto.pl and build_test.pl * Initial support for the building of WINCE based projects * Formal release of the toosl to generate Mug Files Minor changes: * Deployment support Allow a --PatchNum to be specified in the BuildName This is then used to invoke a deploypatch.pl file * 'build' Added --ForceBuildPkg switch to the 'jats build' command to force LinkPkgArchive directives to be interpreted as BuildPkgArchive. This option is useful for the creation of sandboxes for use within IDEs as the package files are placed in a known directory structure within the sandbox. * WINCE and WIN32 Toolset Options for Program and Shared Library construction --Entry=xxxx - Alternate entry point --NoAddLibs - Do not add default libraries to the link phase. * BuildPkgArchive Handle symlink directories at the top level of the package tree Previously these were ignored. Minor code cleanup * "cbuild" or "release" utility Add a "-path=xxxx" option to provide sanity testing of the Release Manager "Source Path" field. * SOLARIS targets Modified the TARGET name generated with building a Product Family based on SOLARIS. It is treated in the same manner as a Platform of SOLARIS and creates a targets of SOLARIS_sparc * MugFile generation Allows a 'load.cmd' file to be used to list the THX files to be included in the final package. * Corrected a problem with the processing of platform selection arguments used within all directives within a makefile.pl. Multiple platforms should be specified as: Src( 'PLAT1,PLAT2,PLAT3', .... ); with only a comma between the platforms: No whitespace If whitespace did exist then the makefile.pl would not do what was expected - and it would not warn the user. The simplest solution was to allow whitespace either side of the comma. * GenerateFiles directive within makefile.pl Allow 3 different bracket styles for the arguments to allow for embedded brackets. Now allow --Option=(some_text) --Option=[some_text] --Option={some_text} Internal Changes * Derive the names of the package and install directories from a single data structure rather then being hardcoded throughout the code. ------------------------------------------------------------------------ Version: JATS_2.30.0 Released: 01-Jun-05 ------------------------------------------------------------------------ Major changes: * JATS wrapper script Changed the command line parsing. Now use GetOpts. Modified "all" command It no longer performs an "install" The "install" process is not needed. the build places a shortcut to the package into the local_dpkg_archive. This can be used by other components. Removed "bmake" command. The "all" command is the now that same. * JATS Created a class to write JATS configuration files. Changes to the code to use this new class. * Build operations Perform one level of package version checking. Generate warnings if required packages are built against different versions of packages. * Make operations Added a new target - "deploy". This interfaces to the deployment scripts. This is still a work interfaces progress. Minor changes: * Added environment variables to assist in the running of the deployment builds. PERL5LIB - Extended based on GBE_CORE DEPLOYLIB_DIR - Calculate based on GBE_CORE Extended the "jats vars" display * build.pl Corrected BuildAlias() operation. Defined options are correctly processed. Allows BuildAlias('WIN', 'WIN32,--OnlyProduction'); to define a platform called WIN32 that only builds for production. * MOS toolset Added a '--Acon' options to SharedLib to allow the creation of Acon modules. These required special linking. * create_dpkg utility Adds a files to the published package to indicate which type of machine the package was published from. This will be used in a multi-machine build environment to assist in determining the progress of the build. * New utility - jats_save_build.pl This is specific to the auto build system. It will be used to capture the modified build files back into the version control system. ------------------------------------------------------------------------ Version: JATS_2.29.0 Released: 25-May-05 ------------------------------------------------------------------------ Major changes: * WIN32 and WINCE toolsets Modified the way that PDB files are created. The files are now created using absolute pathnames when compiling The name of the PDB files embedded in created DLLs is now correct. The PDB files created when compiling objects for DLLs are now not named after the DLLs - this was causing the linker toolsets crash. * WCEX86A500 target Corrected problem creating DLLs. * MOS Toolsets Modified the mechanism by which absolute filenames are passed to the compiler. * RunTest directive This directive will ensure that the named test is either a script or a TestProg. If the test to be run is a TestProg then a suitable suffix will be added to the named test. Minor changes: * JATS BUILD Generate an error if the setting of GBE_BUILDFILTER or GBE_PLATFORM prevents any targets being made at all. This should highlight bad settings. * Publish the JATS toolsets extension pathnames to simplify the access to extensions. ------------------------------------------------------------------------ Version: JATS_2.28.0 Released: 18-May-05 ------------------------------------------------------------------------ Major changes: * WIN32 and WINCE toolsets Enable dependancy file generation of C++ files * label utility ( SOLARIS ) Fix bug with the escaping of '(' and ')' in cleartool commands under unix. Minor changes: * label utility Added options to: o Delete a label o Prevent recursion while labeling o Control labeling of files missing from a static view * WIN32 and WINCE toolsets Correct problem with the packaging of PDB files. Packaging of the PDB files can be controlled with the -Extras= options to the Package directives. * Added GBE_UNIX to the JATS_2 controlled environment. Set by jats.pl to be used by utilities to determine the underlying system. ------------------------------------------------------------------------ Version: JATS_2.27.0 Released: 10-May-05 ------------------------------------------------------------------------ Major changes: * MOS Toolset The generation of multiple THX's in the one makefile.pl now works There was a subtle "closure" problem in the toolset. * WIN32 Toolset Added CompileOption of AddLibs (default) and NoAddLibs toolset suppress the addition of thread libraries toolset the link list. * Put a version number in the "interface" information toolset allow JATS to generate an error when the "interface" changes. This version is manually maintained and prone to error. * GenerateFiles directive one Unix systems was incorrectly invoking "sh.exe" instead of "sh" Minor changes: * SOLARIS_SPARC platform (GCC toolset) The process of creating a Shared Libraries creates a soft link to the the "GBEBIN" directory. This directory was not listed as a prerequisite and was not being created. This problem has been corrected. * JATS will detect an "auto.pl" file and use it as an alternate build.pl file. Previously this file was named build.use.pl. * Correct problem when .PDB files are installed from a merged library created from libraries that have been 'installed' JATS would create a circular dependancy. ------------------------------------------------------------------------ Version: JATS_2.26.0 Released: 03-May-05 ------------------------------------------------------------------------ Major changes: * WIN32 Toolset Correct a problem linking in required / correct libraries for use with multithreaded modes. * Complete the support for Global build options of --OnlyDebug and --OnlyProd. These options can now be provided in the "Platform" directive within the makefile.pl. Minor changes: * Platform directive within makefile.pl These use of the "*" platform specifier has been modified such that options provided within the directive will be added to all platforms. eg: Platform ('*', '--OnlyProduction' ); ------------------------------------------------------------------------ Version: JATS_2.25.0 Released: 29-Apr-05 ------------------------------------------------------------------------ Major changes: * Correct problem in handling the SOLARIS_SPARC platform. The SOLARIS platform is a bit of a kludge for backward compatibility. JATS was not differentiating between SOLARIS and SOLARIS_SPARC correctly. * Preliminary Support Global build options of --OnlyDebug and --OnlyProd, which are mutually exclusive. These may between specified in the build.pl file as build arguments in any of the three standard mechanism. BuildPlatforms ( 'SOLARIS', '--OnlyDebug' ); BuildProduct ( 'GAK', 'MOS68K,--OnlyProduction' ); BuildArgument ( 'WIN', '--OnlyProduction' ); These options limit processing to either Production or Debug building. The default build will build both. Minor changes: * Extended the search path that JATS will use attempting to locate a build.pl file. JATS will now look in ., build and build/jats directories in the current directory and 3 directories up. * WCEX86A420 toolset Added suitable libflags entry. Prevents the warning: warning: undefined variable `WCE_LIBFLAGS' ------------------------------------------------------------------------ Version: JATS_2.24.0 Released: 21-Apr-05 ------------------------------------------------------------------------ Major changes: * PackageLib and PackageProg directives now have a --Extra=xxx[,xxx] option. Where xxx can be one or more of: none stub map lint debug or all. This option may be used to limit the files that are packaged with the library or program. Eg: PackageLib ('MOS', 'MyThx', '--Extra=none' ); Will only package the .thx file. It will not package the stub library or any debug files. * GenerateFiles All processed arguments now support two options. ie: --Prerequisite(xxxx,--dir) directory in which the prereq file is found ie: --Prerequisite(xxxx,--file) The filename of the prereq file * LinkPkgArchive and BuildPkgArchive will cause the build to fail if the required package is not available. A "--package" option, to the build command, will prevent this behaviour. Minor changes: * create_dpkg utility Touch descpkg files when packages are merged. This will allow utilities that use the timestamp of this file to determine that the package has been altered. ------------------------------------------------------------------------ Version: JATS_2.23.0 Released: 14-Apr-05 ------------------------------------------------------------------------ Major changes: * New toolset: WCEX86A420 This is a WINCE target This uses the ADVANTEC_X86_CE42 SDK * New toolset mpt for the mpt500 platfomr * Modified toolset THYRON - updates from An An Tran * Modified toolset MRI68K. Now supports the Microtec 5.1 68k compiler Minor changes: * "cbuild" or "release" command now has a -merge option to allow builds from different machines to be merged into dpkg_archive. The default operation is to replace the package indpkg_archive. * Simplify the use of GBE_BUILDFILTER GBE_BUILDFILTER should be used to limit the creation of makefiles to those that are supported by the underlying hardware. The change allows the construct GBE_BUILDFILTER=SOLARIS --TARGET=SOLARIS to be replaced by the simpler GBE_BUILDFILTER=SOLARIS The default operation is to allow or disallow all TARGETS of the specified name. ------------------------------------------------------------------------ Version: JATS_2.22.0 Released: 13-Apr-05 ------------------------------------------------------------------------ Major changes: * Dependancy generator Extend the number of header files that can be included to allow for 4096 included files. ------------------------------------------------------------------------ Version: JATS_2.21.0 Released: 12-Apr-05 ------------------------------------------------------------------------ Major changes: * Dependancy generator Extend the number of header files that can be included ------------------------------------------------------------------------ Version: JATS_2.20.0 Released: 12-Apr-05 ------------------------------------------------------------------------ Major changes: * The "package.pl" file. Setting $Pbase to "." is now supported and will result in the package name being taken from the build name It is an error to set Pbase to a value other than "." or the package Build Name. Minor changes: * create_dpkg utility The -m ( merge) option will not replace a file if it already exists ------------------------------------------------------------------------ Version: JATS_2.19.0 Released: 08-Apr-05 ------------------------------------------------------------------------ Major changes: Minor changes: * Dependancy generator Correct two common situations 1) // Style comments. The following line was ignored 2) Allow preprocessor directives to be indents. This is not ansi, but is often done. * GCC toolset Corrected operation of the C++ compiler. The object file was not being created in the correct place. * jats "label" The -auto -clone options allow a label to be created if its not present. Previously this would label all files in the VOB. ------------------------------------------------------------------------ Version: JATS_2.18.0 Released: 06-Apr-05 ------------------------------------------------------------------------ Major changes: Minor changes: * BuildPkgArchive. The transfer of the "pkg" subdirectory has been modified. Directories of the form pkg/pkg.$(GBE_MACHTYPE) will be transferred to the "pkg" directory. If there are no directores of the form "pkg.xxxxx" then the entire pkg directory will be transferred. * Transfer to dpkg_acrhive Corrected a problem in which a file with the same name as the package was not being transferred. ------------------------------------------------------------------------ Version: JATS_2.17.0 Released: 06-Apr-05 ------------------------------------------------------------------------ Major changes: * Support for solaris_i386 The JATS toolset has been modified to provide the required binaries for this target. The platform SOLARIS_I386 has been created to build on this target with the GCC compiler. The JATS startup shell has been modified to allow specfic values to be imported from the environment. Under Unix such values may need to be specified in the /etc/profile file. Minor changes: * The InstallHdr, InstallLib, InstallJar and InstallProd directives will now generate a warning if a "local" directory has not been specified with a "BuildInterface" directive in the build.pl file. * cbuild ( release) utility Fxied a problem locating VOBs under Solaris ------------------------------------------------------------------------ Version: JATS_2.16.0 Released: 04-Apr-05 ------------------------------------------------------------------------ Major changes: * The InstallHdr, InstallLib, InstallJar and InstallProd directives will generate an error if a "local" directory has not been specified with a "BuildInterface" directive in the build.pl file. The "local" directory should be specified to JATS so that it can remove the directory tree with the "clobber" command. * jats_rewrite.pl utility Allow BuildName and LinkPkgArchive directives to contains comments with either " or ' characters. * BuildSubDir - in build.pl It is now an error if the specified subdirectory does not exist and does not contain the file "makefile.pl". * SubDir - in makefile.pl It is now an error if the specified subdirectory does not exist and does not contain the file "makefile.pl". * Jats wrapper Added a "-locate" option to force JATS to locate the build.pl file and then change to the containing directory before execution further commands. Minor changes: * WinCe and Win32 toolsets Corrected a problem in the generation of .dep files used in the creation of Shared Libraries. There was a miss-match between the name of the .dep file and its content. ------------------------------------------------------------------------ Version: JATS_2.15.0 Released: 22-Mar-05 ------------------------------------------------------------------------ Major changes: * WIN32 and WinCE Toolset. New CompileOptions NoPDB - Disable the generation of PDBs PDB - Enable the generation of PDBs (default). These options operation affect all components within the makefile.pl. If the directive is used within the common makefile.pl then they will affect all components within the build. Note: It is not possible to create a merged library in which some of the component libraries have PDB's and some do not. Minor changes: ------------------------------------------------------------------------ Version: JATS_2.14.0 Released: 18-Mar-05 ------------------------------------------------------------------------ Major changes: * The MergeLibrary directive, under WIN32 and WinCe, will publish the PDB files associated with the library files being merged. Minor changes: * gen_winrc tool can add an icon to a program. The utility supports -icon=filename.ico * The JATS wrapper script command "prod" to build and package the production parts. This is similar to the "dev" command. ------------------------------------------------------------------------ Version: JATS_2.13.0 Released: 18-Mar-05 ------------------------------------------------------------------------ Major changes: * Modified the order in which the makefiles passes operate. Merged the make_shlib and the install_shlib into one phase. The implication of this is that Shared Libraries that are created can "installed" so that other shared libraries can link against them. The order in which the makefile.pl's are processed is important as this is the order in which the libraries will be created and installed. This solution does not handle mutual shared libraries: two shared libraries that depend on each other. This is an issue only in Solaris and Linux systems that do not generate separate stub libraries to link against. Minor changes: * WIN32 and WinCE Toolsets Building up resources. The RC compiler can now locate resource files in the "local" and "interface" directory. * The version.c, version.h and descpkg files will be created in the first directory named with a BuildDir directive, unless a "src" directory is encountered. This mimics the operation of the older JATS, without the need for a "src" directory. ------------------------------------------------------------------------ Version: JATS_2.12.0 Released: 18-Mar-05 ------------------------------------------------------------------------ Major changes: Minor changes: * Added a --Depend=xxx[,yyy]+ option to the Src directive Not needed for C and C++ files, but may be used in conjunction with assembler files to indicate that the file includes another file. * Fixed problem with the local_dpkg_archive consistency test when a soft link is used to redirect to the package. * Win32 and WinCE toolsets Added a compiler option to enable Run Time Type Information. CompileOptions ('WIN32', 'RTTI' ); Add an option to Shared Library creation to allow the generation of a Resource Only DLL. Option is "--ResourceOnly" Add an option to allow Resources to be built into Static Libraries in the same manner at Shared Libraries. * WinCE toolsets Mutual DLL support corrected. Library path is used to resolve compiler specific libraries. * SOLARIS toolset Prevent the compiler displaying its command line. This is in line with the other tools sets. The commands can be seen with OPTIONS=args and this may be set in the users environment. Modified the cleanup process to delete the links to shared libraries. Only files, and not links to files, where being cleaned up. * Microtec tools set (MOS) Dependancy generation can display commands with OPTIONS=args * jats_rewriter.pl Allow BuildName and LinkPkgArchive directives to contains arguments with either " or ' characters. ------------------------------------------------------------------------ Version: JATS_2.11.0 Released: 15-Mar-05 ------------------------------------------------------------------------ Major changes: * BuildPkgArchive operation The entire "include" directory is copied into the interface area The installer was trying to be too smart and only copy platform specific files,but was missing out many needed subdirectories Reduce the warnings generated. These were an artifact of the process of picking up all the strange variations of the directory structures. * Cleaned up the handling of object files that were generated by the user. * MOS Microtec Toolset Always present an absolute filename to the compiler Display a shortened filename to allow the user to track progress This will remove error messages about the path being too long for the -Gf option. Minor changes: * SOLARIS Toolset Remove duplicate -KPIC flags on the command line * Win32 and WinCE Toolset Source files are either compiled by the C compiler as C files or the C++ compiler as C++ files. The option to allow the compiler to figure out what sort of file it is has been removed. ------------------------------------------------------------------------ Version: JATS_2.10.0 Released: 11-Mar-05 ------------------------------------------------------------------------ Major changes: * Extended BuildName to accept the form BuildName ('package_name', 'nn.nn.nn.xxx' ); * MOS68K and MOSCF toolset. Extended the --board option to allow the user to define code and data addresses for the board. BuildProduct( 'TP5', 'MOSCF','--board=01234H,05678H' ); Will set the code,data address for the debugable image * Extended the PackageXxxxx options 1) Allow --Platform=xxx,yyy Where xxx is a directory prefix and yyy is suffix to the "platform" name. Only useful within the context of the PackageFile 2) The operation of --Platform=xxx when used by the PackageFile directive now treats the xxx directory as a prefix to the platform name. Other Package directives still treat it as a suffix. In practice this is the logical use. * Allow InstallLib and PackageLib to install a file that has been discovered with a "Src" directive. This allows generated files to be installed and packaged. Minor changes: * cache_dpkg utility If a package is found in the local_dpkg_archive then the cache entry will be deleted and the master archive will not be accessed. * label utility New option -auto to create and label * Build WIN32 and WinCe Mutual DLLs with all the object files This allows the generated import library to contain C++ names * The BuildDirTree directive now supports an empty first argument This allows a NULL tree.dir file, while still creating the root directory. ie: BuildDirTree ( '', 'pkg' ); * Fixed DEVIM 00019520 The problem was that /bin/pwd could return a different path to the Cwd:getpwd() function. Solution: Use one mechanism throughout. ------------------------------------------------------------------------ Version: JATS_2.9.0 Released: 28-Feb-05 ------------------------------------------------------------------------ Major changes: * First release for Back Office and Front Office use. * Added the jats tool jats_rewrite.pl to rewrite build.pl files. To be used by the nightly build process. * Work around a problem in the Microtec 68K compiler. The compiler uses temp files. If the temp file name that the compiler uses already exists, then the compiler will not delete the file. Instead it appends information to the existing file. The workaround is to create the temp files within the build's interface directory and to remove all temp files before each compilation. This bug does not affect the Mictotec CF compiler. Minor changes: * The "jats clobber" command will remove version definition file, if one is being produced. * Using JATS within a Visual Studio project. The "rebuild all" option now translates to the JATS unbuild command to do a better job of cleaning the workspace. * Added GetPackageRoot() directive to support the packaging of MOS * Generate error message for misuse of the SubDir directive * Modified BuildName to allow an '-' in the name. This provides backward compatibility with existing packages. ------------------------------------------------------------------------ Version: JATS_2.8.0 Released: 17-Feb-05 ------------------------------------------------------------------------ Major changes: * Added some new WINCE based targets. These require WINCE SDKs to be installed in order for the compilers to work. * New PLATFORMS are WCEIT3000, WCEPA961 and WCEPCM7220 * All invocations of xmake specify the name of the makefile This allow GNUMakefiles and the Jats makefiles to exist in the same directory * Overcome a limitation of the Microtec compiler in which the flag _DEBUG is defined enev in production builds - contrary to the documenattion. Minor changes: * Process of descpkg files allows for both Unix and DOS line endings Under Unix JATS would report that the package names don't match * Corrected a problem with BuildPkgArchive in which file names with spaces could not be soft linked. Only affects Unix systems. * Added a -rename to the "jats label" utility. Ensure that the user specified label exists in the VOB * Correct problem with "make clean" that resulted in a verbose display when the verbose option had not been selected * Correct a problem with "make unbuild". Changes in the build files would prevent the execution of the command. This command should be exempt from this test. * Correct a problem with "make clean" in the WIN32 and WINCE platforms where the .exp files were not deleted. * The "JATS clobber" command now invokes "make clobber" and "build clobber". The result is as clean a clean as it can be. Note: Jats "clean" does not remove a lot of files. These can be removed with "unbuild" and "unpackage". This is what "clobber" does. * The operation of "build clobber" has been cleaned up. It will not try to invoke make if the makefiles have already been removed. ------------------------------------------------------------------------ Version: JATS_2.7.0 Released: 09-Feb-05 ------------------------------------------------------------------------ Major changes: * First release with support for the DAFBR compiler * Extended MergeLibrary. Added per-file options of: --Interface - Pull lib from Interface directory --Local - Pull lib from Local directory (default) --SubDir=pathname - Pull lib from a subdirectory Note: xxxx,pathname still works * Added "jats label" to provide a number of useful labeling operations. * Added extensive help to JATS. JATS -man. * Added this manual ChangeLog file Minor changes * Added an 'ebin' command to jats to allow the JATS binary tools to be run in a controlled environment from the command line. * Prune the list of library paths passed through to the various toolsets. If a directory does not have any files in it then the directory is not added to the library path. Thus if a library is located in xxxx/lib/WIN32 then JATS will not add the xxxx/lib to the path. * cbuilder will now look in all VOBs for the user specified label. The program has a list of "known" labels which it will search first in an attempt to speed up the process. * The AddFlags directive will issue a warning if the flags does not begin with a -D or a -U. The user should not be using compiler specific flags. * The use of linker flags will issue a warning. * Process the common makefile.pl after the toolset has been determined. This allows the toolset to extend the CompileOptions such they are available to the common makefile.pl. * Added the WIN32 CompileOptions "jats_v1" to force JATS to specify a number of compile time definitions used by earlier versions of JATS. * Fixed bug in the --Debug option to the PackageProg directives that caused both the production and debug versions to be packaged. * The gen_msproject utility now creates simpler names for the MS projects that it creates. The name no longer contains the full pathname, thus making them shorter and readable. * The ShowDlls utility now handles absolute and relative paths to the initial DLL or EXE. * Correct problem in which the use of Generate/Rule directives may fail since prerequisite subdirectories were not being created since the "generate" phase was not being run. Added messages to prompt the user to remove Generate, Generated and Rule directives. Use the GenerateFiles directive * JATS.BAT file will exclude LINUX builds by default. * The make NODEPEND=1 processing now does not recurse at all. Previously each subdirectory was visited - only to do nothing. * Correct a problem in creating stub libraries for MOS targets if the stub library object was not listed with the SharedLib's objects. * Correct a problem with the MS Studio support. The invoked make command is XXX_all_debug. There was a problem with this command in that it did not do any dependancy checking and would not always build defendants.