| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

GaudiPolicy

    package GaudiPolicy
    package manager: Marco Clemencic
    Commit Id: $Format:%H$

    ================================ Gaudi v28r2 =================================

    ! 2017-03-20 - Marco Clemencic (commit 7be9d45)

     - Merge branch 'update-test-exclusions' into 'master'

       Hide new property "Sequential" in tests
        See merge request !306

    ! 2017-03-01 - Marco Clemencic (commit bf940c1)

     - Merge branch 'fix-lhcb-tests-after-273' into 'master'

       filter stdout for tests to hide removal of ErrorCounter property
        See merge request !284

    ! 2017-02-08 - Marco Clemencic (commit 29443f0)

     - Fix test stdout preprocessing

       Some mistakes in the regexps used for the ErrorLog test (GaudiExamples) were
       making the test almost blind and causing problems in other tests (in LHCb).
        This fixes the problems.
        See merge request !263

    ! 2017-02-08 - Marco Clemencic (commit d3c4be3)

     - test wrapper improvements

       modified the test wrapper script/classes to allow access to stdout and stderr
        reference files names from the custom validator code in .qmt files.
        This allow to implement easily validators addressing the problem reported
       in LHCBPS-1693.
        See merge request !281

    ================================ Gaudi v28r1 =================================

    ! 2016-12-07 - many contributors (commit dc1b505)

     - port LHCb MT developments to Gaudi master

       among others we have
       - `Gaudi::Functional`: base classes to write algorithms as pure functions
       - `AnyDataWrapper`/`AnyDataHandle`: helper to store any type in the Transient
       Store (DataSvc)
       - fixes to `DataObjectHandle`
       - fixes to `GaudiHive`
       - new tests and examples
       - modernization (removed empty destructors, ...)
        See merge request !245

    ================================ Gaudi v28r0 =================================

    ! 2016-11-08 - Marco Clemencic (commit 4beb4ef)

     - Correctly handle special chars in CTest output

       fixes LBCORE-1229

       See merge request !231

    ! 2016-11-08 - Marco Clemencic (commit ec96c27)

     - cleaning up last minute glitches

       - fixed warnings from clang
       - fixed issues with ROOT 6.08
       - minor polishing
       - minor fixes to tests
       - fixed GAUDI-1221
        See merge request !230

    ! 2016-10-27 - Gerhard Raven, Marco Clemencic (commit b111898)

     - modernization of Property

       This is a major rewrite of the system of `Property` classes. Started as  the
       implementation of GAUDI-1214, it continued as a review of
       `IProperty` and `PropertyMgr`, to end up in a complete rewrite
       (and optimization) of `PropertyWithValue`.

       * Fixes GAUDI-1214
        - added missing `declareProperty` signature
        - added `PropertyHolder` (an updated `PropertyMgr`)
        - adapted all properties in Gaudi
       * improved use of `PropertyHolder`
        - use inheritance instead of composition
        - removed ~200 (duplicated) lines of code in GaudiKernel
       * optimization of Property (fixes GAUDI-1229)
        - use templates and automatic code generation to handle efficiently
          both value and reference properties
          - avoid creation of values on the heap (see GAUDI-1229)
          - removed the *owned* boolean flag
          - improved usability of properties (e.g. begin/end wrappers for
            C++11 loops, increment/decrement operators...)
          - deprecated use of C arrays as properties
        - merged features of `PropertyWithVerifier`, `SimpleProperty` and
          `SimplePropertyRef` into `PropertyWithValue`
        - deduplication of name and doc strings via

       [`boost::string_ref`](http://www.boost.org/doc/libs/1_61_0/libs/utility/doc/html/string_ref.html)

          and a static storage  (see GAUDI-1229)
       * Fixes GAUDI-1205
       * add deprecation warnings in service accessors of `Algorithm` (@graven)
       * renamed `Property` base class to `Gaudi::Details::PropertyBase` and
       `PropertyWithValue` to `Gaudi::Property`
        - added backward compatibility type aliases (but not compatible with
          forward declarations of `class Property`, which should be replaced
          by `#include "GaudiKernel/PropertyFwd.h"`)
       * added macro `GAUDI_PROPERTY_v2` to allow easy implementation of
        backward compatible changes in derived projects (e.g. when user code
        relied on `DoubleProperty` having a verifier)
       * Fixes GAUDI-1268
        The changes are as backward compatible as much as possible (except if you
       explicitly inherit from `SimpleProperty`, or you forward declared
       `class Property`, which now are typedefs), but must be validated in the
       experiment frameworks.
        See merge request !182

    ! 2016-10-12 - Marco Clemencic (commit b5e05a1)

     - improved handling of package version in CMake configuration

       use project version if a package version is not provided
        See GAUDI-1215.
        See merge request !175

    ! 2016-10-10 - Marco Clemencic (commit 5df4dde)

     - fix tests failing after mr !178

       See merge request !206

    ! 2016-07-26 - Marco Clemencic (commit b1c2124)

     - modified quick-merge to create the destination directory if missing

       Fixes GAUDI-1240
        See merge request !191

    ! 2016-07-25 - Marco Clemencic (commit e3d4b07)

     - remove CMT configuration and related files

       * removed CMT configuration files
       * adapted scripts not to use CMT
        Fixes GAUDI-1216 Fixes GAUDI-979
        See merge request !186

    ! 2016-06-23 - Ben Couturier (commit 175bec5)

     - Fixed manifest.xml generation for external tcmalloc for LCG >= 84

       Fixed project_manifest.py to map dependency to tcmalloc (still used in CMT
       config) to the new name of the package (gperftools). This is a temporary
       hack needed to generate the RPM dependencies correctly.
        See merge request !180

    ! 2016-06-10 - Marco Clemencic (commit 79fe8bc)

     - Remove references to GCCXML

       Fixes GAUDI-1202
        See merge request !148

    ! 2016-05-18 - Sami Kama (commit 9eeef96)

     - allow build of Gaudi without LCG and fix ThreadPoolSvc

       Allow building of Gaudi with local externals.
        It also contains a fix to an issue introduced with merge request !160
       (GAUDI-1212).
        Fixes GAUDI-1211, GAUDI-1212.
        See merge request !166

    ! 2016-04-14 - Marco Clemencic (commit 0873424)

     - improvements to CTestXML2HTML

       - added CPU info summary to test annotations (see LBCORE-869)
       - fixed lookup of `manifest.xml`
       - minor fixes
        See merge request !150

    ============================= GaudiPolicy v15r8 ==============================

    ! 2016-02-15 - commit 46a5bd4

     - ignore special codes when parsing histograms summaries in tests

       Comparing standard output to reference files, a regular expression is
     used
       to find histogram summaries, but it was failing when color output
     was
       enabled.
        Fixes GAUDI-1177
        See merge request !110
    ============================= GaudiPolicy v15r7 ==============================

    ! 2015-11-11 - commit 0a0032f

     - Merge branch 'GAUDI-1130' into 'master'

       fixes to support native build on Ubuntu 15.10
        Fixes GAUDI-1130.
        See merge request !70

    ! 2015-11-02 - commit 57f356c

     - Merge branch 'hive' into 'master'

       Fixes GAUDI-978.

       See merge request !65

    ! 2015-10-16 - commit e614af5

     - fixed GAUDI-1113: name 'locker' is not defined in merge_files.py

       Re-added 'import locker' (where needed) to merge_files.py (removed by commit
       13de2d61).

       See merge request !54

    ============================= GaudiPolicy v15r6 ==============================

    ! 2015-10-09 - commit 1fa113a

     - fixed a typo

    ! 2015-10-09 - commit 64a6bc4

     - Fix GAUDI-1105: Race condition when creating installation directories

       I wrote a test case, but it's a bugger to reproduce as the race condition has
       to happen between lines 223 and 225. However, tweaking the original and
       patched `install.py` scripts to manually create the race (by doing
       `makedirs()` twice) I can show the patch works fine.

       See merge request !46

    ! 2015-10-08 - commit cda934f

     - Merge branch 'master' into 'master'

       updated versions and release notes for Gaudi v26r4

       See merge request !45

    ! 2015-09-25 - commit 73ba6dc

     - Merge branch 'GAUDI-1084' into 'master'

       GAUDI-1084: modified test timeout handling to avoid infinite waits

       Fixes GAUDI-1084.

       See merge request !30

    ! 2015-09-17 - commit 6a793d3

     - Merge branch 'dev/merge_files' into 'master'

       fix for race condition in merge_files.py

       semi-regularly, Atlas has build failures due to race conditions from
       merge_files.py:

       https://its.cern.ch/jira/browse/ATEAM-151

       https://its.cern.ch/jira/browse/GAUDI-1079

       here is the fix proposed by Scott and implemented by Rolf.

       See merge request !21

    ! 2015-02-27 - Marco Clemencic
     - Ignore EventLoopMgr "Loop Finished" report in tests.

    ============================= GaudiPolicy v15r5 ==============================
    ! 2015-05-14 - Marco Clemencic
     - Select 'dbg' in test reference files if the platform contains 'do0'.

    ! 2015-05-11 - Marco Clemencic
     - In the test comparison with reference files, absorb the change of the
       property name introduced with GAUDI-1030.

    ! 2015-03-04 - Marco Clemencic
     - Fixed escaping of special XML/HTML chars in CTestXML2HTML.

    ! 2015-02-21 - Marco Clemencic
     - Fixed issue in run_qmtest when called from CMT.
       (it should have been fixed already, but the fix disappeared in the merge)

    ============================= GaudiPolicy v15r4 ==============================
    ! 2015-02-16 - Marco Clemencic
     - Fixed generation of .new reference file for stderr.

    ! 2015-02-13 - Marco Clemencic
     - Fixed showing of test failure causes in the HTML report.

    ! 2015-02-13 - Marco Clemencic
     - Fixed some special cases in GaudiTesting.

    ! 2015-02-06 - Marco Clemencic
     - Separated stderr from stdout in GaudiTesting CTest reports.

    ! 2015-02-04 - Marco Clemencic
     - Fixed a few problems in the GaudiTesting Python module.

    ! 2015-01-30 - Marco Clemencic
     - Added to GaudiTesting.Run a small workaround from the old GaudiTest.py.

    ! 2015-01-26 - Marco Clemencic
     - Several fixes, improvements and clean up in the QMTest replacement modules.

    ============================= GaudiPolicy v15r3 ==============================
    ! 2015-01-07 - Marco Clemencic
     - Ignore "success" StatusCodeSvc message in the tests' output.

    ============================= GaudiPolicy v15r2 ==============================
    ! 2014-12-03 - Marco Clemencic
     - Fixed inconsistency with the rpm and LCG_interface name of expat in
       project_manifest.py

    ! 2014-11-27 - Marco Clemencic
     - Added the declaration of the CMT tag lcg-nightlies to avoid CMT warnings.

    ! 2014-11-27 - Marco Clemencic
     - Use <package>_native_version instead of <package>_config_version in
       project_manifest.py for the dependencies on externals.

    ! 2014-11-26 - Marco Clemencic
     - Updated project_manifest.py to generate the correct list of externals in
       the manifest.xml file (see LBCORE-677).
       Note that this is only for CMT builds at the moment.

    ============================= GaudiPolicy v15r1 ==============================
    ! 2014-10-07 - Marco Clemencic
     - LBCORE-632: Enable -pedantic flag by default.
       (can be disabled with the CMT tag GAUDI_NO_PEDANTIC)

    ! 2014-09-24 - Marco Clemencic
     - Added support for gcc49.

    ! 2014-09-11 - Marco Clemencic
     - Fixed issue in run_qmtest when called from CMT.
       (introduced with commit c4dff5)

    ! 2014-08-29 - Marco Clemencic
     - Modified CTestXML2HTML to ignore tests with label 'test-wrapper', if they are
       successful.

    ! 2014-08-29 - Marco Clemencic
     - Made run_qmtest and CTestXML2HTML more resilient to configuration mistakes.

    ! 2014-08-28 - Marco Clemencic
     - Minor fixes to GaudiTest.py and CTestXML2HTML.

    ! 2014-09-01 - Marco Clemencic
     - Fixed use of "-ansi" gcc option.

    ============================= GaudiPolicy v15r0p1 ============================
    ! 2014-08-20 - Charles Leggett
     - fixed typo in generate_rootmap warning
    M       cmt/requirements

    ============================= GaudiPolicy v15r0 ==============================
    ! 2014-07-04 - Marco Clemencic
     - Fixed a problem with unicode-ascii conversion failure in CTestXML2HTML.

    ! 2014-07-02 - Marco Clemencic
     - Modified run_qmtest.py to accept nested test suites in
       GAUDI_QMTEST_DEFAULT_SUITE.

    ! 2014-07-02 - Marco Clemencic
     - GAUDI-976: make GaudiTest.py more resilient towards unicode-ascii conversion failure

    ! 2014-07-01 - Marco Clemencic
     - Fixed destination of the merged .confdb file when using shared directories in
       InstallArea (ATLAS).

    ! 2014-06-19 - Marco Clemencic
     - Modified createProjVersHeader.py to handle more nicely special cases like the
       ATLAS "rel_1".

    ! 2014-05-08 - Charles Leggett
     - some special sauce for ATLAS

    #	modified:   GaudiPolicy/cmt/requirements

    ! 2014-06-10 - Charles Leggett
     - cmt: print warning message if client uses generate_rootmap pattern
    M       cmt/requirements

    ! 2014-05-27 - Marco Clemencic
     - Modified genconf patterns to avoid installation of .confdb files and
       produce a .confdb instead of _merged.confdb.

    ! 2014-05-06 - Sebastien Binet
     - fix bug #102404: implement a pure ascii based configurable-db.
       these ascii files are now named .confdb (for the per package ones)
       *_user.confdb (for the user ones) and *_merged.confdb (for the merged ones.)

    ============================= GaudiPolicy v14r3 ==============================
    ! 2014-05-16 - Marco Clemencic
     - Removed the overridden reflex_dictionary fragments (changes now in LCGCMT).

    ! 2014-05-09 - Marco Clemencic
     - Modified reflex_dictionary fragments to install the generated PCMs, if any.

    ! 2014-05-09 - Marco Clemencic
     - Override the reflex_dictionary fragments to change the name of the .cpp
       generated from genreflex (needed for the PCMs in ROOT 6).

    ! 2014-05-27 - Marco Clemencic
     - Minor fixes to GaudiTest.py: use unicode instead of ascii in XML template,
       and allow disabling of Eclipse launchers generation.

    ! 2014-05-22 - Graeme Stewart
     - fixed locker.py to address some special use case (see patch #3169).

    ============================= GaudiPolicy v14r2 ==============================

    ! 2014-05-19 - Charles Leggett
     - fix use_if cmt pattern
     - alias cmt pattern generate_rootmap to generate_componentslist for backward
       compatibility

    ! 2014-04-17 - Marco Clemencic
     - Ignore TInterpreter::ReadRootmapFile warnings until we find a way to fix
       them. (ROOT6_WORK_AROUND: ReadRootmapCheck)

    ! 2014-04-16 - Marco Clemencic
     - Fixed LBCORE-463 (build error when no 'python' dir in InstallArea).
       https://its.cern.ch/jira/browse/LBCORE-463

    ============================= GaudiPolicy v14r1 ==============================
    ! 2014-03-18 - Ben Couturier
     - Fixed bug #104127: remove hwaf configuration.

    ! 2014-03-11 - Marco Clemencic
     - Re-enabled change in Boost Spirit version for all the platforms (problem
       fixed in LHCb).

    ! 2014-02-21 - Marco Clemencic
     - LBCORE-331: Generate manifest.xml for CMT built projects
       Added generation of manifest.xml during CMT builds (requires that the
       project does have a top-level CMake configuration file).
       https://its.cern.ch/jira/browse/LBCORE-331

    ! 2014-02-21 - Marco Clemencic
     - Modified the genconfig_add_extraModules pattern.

    ============================= GaudiPolicy v14r0 ==============================
    ! 2014-02-13 - Marco Clemencic
     - Prevent path normalization in test arguments if they do not point to a file.
       Needed because sometimes an argument is a URL and it must not be normalized.

    ! 2014-02-13 - Marco Clemencic
     - Fixed LBCORE-292: added project and slot details to the test summaries
       The test results page now contains the project name, version, and platform
       (CMake builds only), and the slot name and date (CMT and CMake).
       https://its.cern.ch/jira/browse/LBCORE-292

    ! 2014-02-13 - Marco Clemencic
     - Added support for CMTCONFIG x86_64-slc6-gcc48-test.

    ! 2014-01-29 - Marco Clemencic
     - Fixed LBCORE-370: Some test results do not show up in the new HTML summary.
       https://its.cern.ch/jira/browse/LBCORE-370

    ! 2014-01-17 - Marco Clemencic
     - Re-enabled the Boost fix only for Clang.

    ! 2014-01-16 - Marco Clemencic
     - Temporarily disable the change in Boost Spirit version (breaks some code in
       LHCb).

    ! 2014-01-14 - Sasha Mazurov
     - Use Phoenix V3 in Boost Spirit (fixes compilation with Clang 3.3).

    ! 2013-12-17 - Marco Clemencic
     - Removed work-around for ROOT-5694, because it was not needed anymore and it
       was hiding SPI-385.
       https://sft.its.cern.ch/jira/browse/SPI-385

    ! 2013-12-16 - Marco Clemencic
     - Use GaudiKernel.ROOT6WorkAroundEnabled to enable/disable the workaround for
       ROOT-5694.

    ! 2013-12-11 - Sebastien Binet
     - Added hwaf configuration files.

    ! 2013-11-15 - Marco Clemencic
     - Ignore warning about classes already in TClassTable in the tests while
       ROOT-5694 is being fixed.
       See https://sft.its.cern.ch/jira/browse/ROOT-5694

    ! 2013-11-01 - Marco Clemencic
     - Override the pattern reflex_dictionary because of an issue with ROOT6.
       With ROOT 6 the '_Instantiations' dummy class used in the dictionaries
       must have a different name in each dictionary.

    ! 2013-09-30 - Marco Clemencic
     - Tentatively set the environment variable TCLING_INCLUDE_PATH.

    ! 2013-09-30 - Marco Clemencic
     - Removed a couple of ignored strings in the tests outputs (should not be
       needed).

    ! 2013-11-11 - Marco Clemencic
     - Added tool CTestXML2HTML, to convert CTest-compatible XML files into web
       pages easy to navigate.
     - Fixed time handling in XMLResultStream (correct time zone support).

    ! 2013-09-03 - Marco Clemencic
     - Minor changes/fixes to the new XMLResultStream and the corresponding code in
       run_qmtest.py.

    ! 2013-08-29 - Kevin Win-Lime
     - Modified GaudiTest.py to add a new result stream class called
       XMLResultStream. This class format the QMtest output to be an CTest like
       XML output.
     - Modified classes.qmc to declare the new class XMLResultStream to QMTest.
     - Modified run_qmtest.py to allow the using of this new class. There are two
       way to use this class. You can use the option "--xml-output output_Dir"
       or set the environment variable : "GAUDI_QMTEST_XML_OUTPUT=output_Dir"
       where "output_Dir" is the directory where you want to see the xml files.
       The option has the priority on the environment variable.

    ============================= GaudiPolicy v13r1 ==============================
    ! 2013-11-18 - Marco Clemencic
     - Minor change in GaudiTest to absorb a change in a debug message.

    ============================= GaudiPolicy-13-00-00 =========================
    ! 2013-08-30 - Charles Leggett
     - retag for Atlas merge

    ! 2013-04-18 - Charles Leggett
     - patches for CMT v1r26

    M       cmt/requirements

    ! 2013-04-05 - Charles Leggett
     - merge macro and pattern for genconf extra modules, make it tag dependent

    M       cmt/requirements

    ! 2013-04-05 - Charles Leggett
     - add macro and pattern for loading of optional modules into <pkg>Conf.py
       files via genconf. This eases the transition of ATLAS packages that
       imported modules that used to be in GaudiSvc but are now in GaudiCoreSvc or
       GaudiCommonSvc

    M       cmt/requirements
    M       cmt/fragments/nmake/genconfig_header
    M       cmt/fragments/genconfig_header

    ! 2013-03-05 - Charles Leggett
     - Merge with GaudiPolicy-11-01-16
       - Conditional usage
       - extra env vars
       - install.py hack for darwin cp on afs

    M       cmt/requirements
    M       scripts/install.py

    ============================= GaudiPolicy v12r8 ==============================
    ! 2013-09-25 - Marco Clemencic
     - Changed GaudiTest.py to set LC_ALL to C, to avoid the new message from
       gaudirun.py and GaudiPython.

    ! 2013-09-24 - Marco Clemencic, Danilo Piparo
     - Disabled the warning about unused local typedefs in gcc-4.8 (~900 hits in
       Boost).

    ! 2013-07-27 - Marco Clemencic
     - Restored merge_rootmap macros and fragments, used by the Reflex dictionary
       pattern.

    ! 2013-07-26 - Marco Clemencic
     - Ported new GaudiPluginService to CMT.

    ! 2013-06-13 - Marco Clemencic
     - Added a special exclusion pattern for reference file comparison to ignore a
       message from ROOT after the removal of PyCintex.

    ! 2013-09-03 - Marco Clemencic
     - Modified GaudiTest.py to use also the line 'from Configurables import' as
       signature for Python options embedded in a '.qmt' file.

    ! 2013-09-02 - Marco Clemencic
     - Reverted the change for icc13 to fix the build in LCG nightlies.

    ! 2013-08-28 - Marco Clemencic
     - Use the wrapper lcg-icpc-13 when building for icc13.

    ============================= GaudiPolicy v12r7 ==============================
    ! 2013-03-27 - Hubert Degaudenzi
     - Modified createProjVersHeader.py to understand only the LHCb version
       style(vXrY[pZ]) , the ATLAS version style (bla-X-Y[-Z]) and the plain
       version style (X.Y[.Z])

    ! 2013-06-20 - Marco Clemencic
     - Use the special name lcg-<compiler>-<version> for Clang too (already done
       when building with CMake).
     - Use -Og when compiling in debug mode with gcc 4.8.

    ! 2013-06-10 - Marco Clemencic
     - Added -Wno-deprecated for gcc 4.8 (as it was done already for 4.6 and 4.7).
     - GaudiTest.py: Removed a stale debug printout statement.

    ============================= GaudiPolicy v12r6 ==============================
    ! 2013-04-28 - Marco Clemencic
     - Extended the GaudiExeTest class to allow expected termination by signal.
       To accept termination by signal of a test, set the test field 'signal',
       e.g. (for SIGABRT):

         <argument name="signal"><integer>6</integer></argument>

    ! 2013-04-23 - Marco Clemencic
     - Exclude some (make) variables in the Eclipse launcher configuration generated
       with QMTest, because they can cause problems in some builds.

    ! 2013-03-22 - Marco Clemencic
     - Enable C++11 by default when using gcc 4.7

    ============================= GaudiPolicy v12r5 ==============================
    ! 2013-02-08 - Marco Clemencic
     - Improvements to the checker for Python files encoding.

    ============================= GaudiPolicy v12r4 ==============================
    ! 2013-01-25 - Marco Clemencic
     - Ignore '.__afs**' when zipping Python directories
     - Check that the Python files have the correct encoding.
       http://www.python.org/dev/peps/pep-0263/

    ! 2012-12-06 - Marco Clemencic
     - Added to merge_files.py the possibility to ignore missing fragments.

    ============================= GaudiPolicy v12r3 ==============================
    ! 2012-11-20 - Marco Clemencic
     - Modified createProjVersHeader.py to understand version 'HEAD' as v999r999.

    ! 2012-11-13 - Marco Clemencic
     - Modified qmtest_summarize.py to work under CMake too.

    ! 2012-10-28 - Marco Clemencic
     - Fixed a missing space in ICC command line after the latest change.
     - Fixed compilation on MacOSX.

    ! 2012-10-10 - Marco Clemencic
     - Added -Wno-long-long when using -pedantic to avoid non-interesting warnings.

    ! 2012-10-05 - Marco Clemencic
     - Set the -pedantic flag for the tag GAUDI_PEDANTIC (and target-gcc).

    ! 2012-10-03 - Charles Leggett
     - set max-page-size for all 64 bit gcc targets
     M       cmt/requirements

    ============================= GaudiPolicy v12r2 ==============================
    ! 2012-09-13 - Marco Clemencic
     - Removed the hack used to avoid the AFS stress caused by LCGCMT 64.

    ! 2012-09-11 - Marco Clemencic
     - Minor improvements to GaudiTest.py:
       - hide Eclipse launch configurations (in a .eclipse directory)
       - create the directory $QMTEST_TMPDIR if missing

    ! 2012-09-04 - Marco Clemencic
     - Fixed a problem with the installation of configurables modules when using the
       CMTUSERCONTEXT.
     - Fixed a bug in merge_files.py that caused a failure when the output file name
       did not have the directory part (i.e. plain filename).

    ! 2012-07-30 - Marco Clemencic
     - Override LCG_releases and LCG_external to avoid stress on AFS when using
       LCGCMT >= 64.
       *** The hack must be removed ASAP ***

    ! 2012-07-27 - Marco Clemencic
     - Rationalized the permissions of files in the repository.

    ! 2012-07-26 - Marco Clemencic
     - Added the possibility to compile with the option -std=c+=0x, for example in
       the LCG nightly platform *-g11max-*.

    ! 2012-07-20 - Marco Clemencic
     - Modified the script createProjVersHeader.py to modify the destination file
       only if there are changes (prevents useless recompilation).

    ! 2012-06-29 - Marco Clemencic
     - Fixed compilation problem with Boost 1.49 (foreseen for LCGCMT 65).

    ============================= GaudiPolicy v12r1 ==============================
    ! 2012-06-19 - Marco Clemencic
     - Small hack in GaudiTest.py to prevent spurious escape sequences in teh output
       of some Python tests on SLC6.

    ! 2012-06-08 - Marco Clemencic
     - Fixed configuration problem for the special platform *-g11max-*.
     - Added CMake configuration files.
     - Re-added a couple of lines removed by mistake.

    ! 2012-06-07 - Marco Clemencic
     - Hide some warnings on gcc 4.7 and Clang.
     - Fixed bad interaction between gccxml and gcc 4.7.

    ! 2012-06-06 - Marco Clemencic
     - Use the compiler native dependencies from CMT when using CMT v1r25.

    ! 2012-06-04 - Marco Clemencic
     - Added fragment to install generic resources (install_resources).

    ! 2012-02-23 - Marco Clemencic
     - Modified GaudiTest.GaudiExeTest to be able to run executables with or without
       the .exe extension.

    ============================= GaudiPolicy v12r0 ==============================
    ! 2012-01-20 - Marco Clemencic
     - Added the CMTCONFIGs *-test (only few of them), implying the tag target-test,
       which should be used for tunable (by experiments) tests.
       At the moment is not possible to tune the tests (yet), so the tag enable the
       use of '-O3'.

    ! 2011-12-15 - Marco Clemencic
     - Added the pattern PackageVersionHeader, similar to ProjectVersionHeader, but
       dedicated to packages and with the possibility of specifying the destination
       directory of the generated header.

    ! 2011-12-13 - Ben Couturier
     - Patch #5165: Change GaudiPolicy requirements to allow compilation with -O3
       (CMT tag "use-O3")

    ! 2011-12-13 - Marco Clemencic
     - Removed POOL from the list of *VERS variables (old Doxygen settings).
     - Moved the genConf directories of the packages inside the binary directory.

    ! 2011-12-07 - Marco Clemencic
     - Enforce the use of Boost Filesystem Version 3 also with Boost 1.44, for
       backward compatibility (bug #89653)

    ! 2011-11-16 - Marco Clemencic
     - Disable deprecation warnings on gcc 4.6.
       We need an alternative to the current gccxml to properly fix them.

    ! 2011-11-01 - Marco Clemencic
     - Moved core services out of GaudiSvc and into the new packages GaudiCoreSvc
       and GaudiCommonSvc. (patch #1816)
       Use GaudiCoreSvc as a pre-requisite for the call to genConf.

    ============================= GaudiPolicy v11r5 ==============================
    ! 2011-09-22 - Marco Clemencic
     - Modified Windows library fragment to be able to pass arguments to the link
       command from the requirements.

    ! 2011-09-08 - Marco Clemencic
     - Fixed a problem in the parsing of TTree summaries when multiple top branches
       are present (new LHCb ROOT-based persistency).

    ! 2011-09-06 - Hubert Degaudenzi
     - added the -we1011 and -we117 for the icc compiler. This is to mimic the
       behaviour of gcc's -Werror=return-type

    ! 2011-09-06 - Marco Clemencic
     - Fixed bug #86424: Problem with patch #5025
       Remove the added option for ICC (produces a warning).

    ============================= GaudiPolicy v11r4 ==============================
    ! 2011-09-01 - Charles Leggett
     - Patch #5025: add -Werror=return-type to cpp flags
       Prevent that a function returning non-void reaches the end without returning
       a value (by default it is just a warning, not enabled).

    ============================= GaudiPolicy v11r3 ==============================
    ! 2011-08-18 - Marco Clemencic
     - Hack in GaudiTest.py to be able to start Visual Studio to debug on WinXP.
     - Improvements to the QMTest HTML output (new jQuery, nicer foldable lists).

    ! 2011-08-15 - Marco Clemencic
     - Small change in test exclusion list for portability.
     - Bad hack in fragments/nmake/library to allow very big libraries on VC9,
       needed by GaudiKernel after the introduction of the new parser.

    ! 2011-07-25 - Marco Clemencic
     - Changed the default exclusion list to take into account the new output of
       the JobOptionsSvc.

    ! 2011-05-03 - Charles Leggett
     - remove doxygen make_fragment declaration
     M       cmt/requirements

    ! 2011-05-03 - Marco Clemencic
     - Fixed a problem with Python script tests on Windows (including gaudirun.py).

    ============================= GaudiPolicy v11r2 ==============================
    ! 2011-04-15 - Marco Clemencic
     - Fixed the usage of cpp fragments on Windows.

    ! 2011-04-12 - Marco Clemencic
     - Improved Javascript code to present QMTest results.
       - lots of clean-up
       - switch to jQuery 1.5.2
       - improved responsiveness

    ! 2011-04-05 - Hubert Degaudenzi
     - modified the cmt_compiler_version macro to avoid repeated calls to
       "gcc --version".
     - added 2 fragments (cpp and cpp_library) for the native calculation of
       dependencies by gcc. For each ".o" file a makefile fragment ".d" is
       created. It contains the include dependencies of the file. The ".d" is then
       included in the cpp and cpp_library fragment. This reduces the time to
       calculate the dependencies because only one call to gcc is made to compile
       the ".ccp" and calculate its dependencies.

    ! 2011-04-01 - Charles Leggett
     - get the lib_no_static_fragment macro to work with CMT > v20
     M cmt/requirements

    ! 2011-03-17 - Marco Clemencic
     - Removed the option "-undefined suppress" from the link statement on MacOSX
       (added by CMT) to have the same behavior as on Linux (-Wl,--no-undefined).

    ! 2011-03-16 - Charles Leggett, Marco Clemencic
     - Patch #4727: Add NDEBUG macro for opt builds

    ! 2011-03-09 - Marco Clemencic
     - Avoid exception in QMTest if the test executable is not built.
     - Minor improvements to GaudiTest.py

    ! 2011-02-03 - Marco Clemencic
     - Removed redundant code in the requirements.

    ============================= GaudiPolicy v11r1 ==============================
    ! 2011-02-22 - Marco Clemencic
     - Minor improvement in reference file name matching in QMTest.
       It is possible to specify any part of the CMTCONFIG in the file name extension,
       for example "myfile.ref.i686-opt".

    ! 2011-02-04 - Charles Leggett
     - Fixed bug #77806: createProjVersHeader breaks with Atlas style tags
       allow Atlas style GaudiPKJ-XX-YY-ZZ tags

    ============================= GaudiPolicy v11r0 ==============================
    ! 2011-01-17 - Marco Clemencic
     - Fixed a small problem with the recent change in the nmake fragments

    ! 2011-01-12 - Marco Clemencic
     - Modified the directory where Python binary modules are installed to me
       more standard (python/lib-dynload)
     - Fixed a problem in a regular expression used in the exclusion of lines
       from the references of the tests

    ! 2011-01-11 - Hubert Degaudenzi
     - Initial commit for gcc native dependency calculations.

    ! 2011-01-07 - Marco Clemencic
     - Fixes to run_qmtest.py to allow creation of HTML output on Windows.
     - Fixed nmake fragments to honor the shlibsuffix macro.

    ! 2010-11-16 - Charles Leggett
     - Fixed 32bit compilation with ICC on 64bit host.

    ! 2010-11-05 - Marco Clemencic
     - Added the "soname" flag to the linker libraries (to help the test of cmake).

    ! 2010-10-05 - Marco Clemencic
     - Work-around for an icc-related configuration problems in LCG_Settings.

    ! 2010-09-20 - Marco Clemencic
     - Minor improvements to the generated Eclipse launchers (GaudiTest).

    ! 2010-09-10 - Marco Clemencic
     - Fixed a minor problems in the 'uninstall_command' macro and in the NMake version
       of the install_scripts_header fragment.

    ! 2010-09-09 - Marco Clemencic
     - Changed the default behavior about shared directories: by default shared
       directories are not used. The old behavior can be restored with the tag
       'user-shared-dir' (the tag ATLAS implies it).

    ! 2010-09-02 - Marco Clemencic
     - Improved and documented the 'pyd_module' and 'pyd_boost_module' (new) patterns.

    ! 2010-09-01 - Marco Clemencic
     - Fixed compilation problem on the gcov platform.
     - Fixed a problem with Python binary modules on Linux (the extension must be .so)

    ! 2010-08-31 - Marco Clemencic
     - Use a different directory for Python binary modules if the tag no-shared-dir
       is used.

    ! 2010-08-26 - Marco Clemencic
     - Fixed a problem in the linking of executables with VC9
       (manifest files must be embedded in the executable, e.g.
       http://msdn.microsoft.com/en-us/library/ms235560%28VS.80%29.aspx).

    ! 2010-08-24 - Marco Clemencic
     - Hide deprecation warnings in ICC (due to the usage of hash_map, unavoidable
       because of gccxml).
     - Enabled "-Wl,--as-needed" for ICC.
     - Added an ugly work-around for the ICC warning
        libimf.so: warning: warning: feupdateenv is not implemented and will always
        fail

    ! 2010-08-23 - Marco Clemencic
     - Added the possibility of installing the platform-independent files in the
       platform-specific directory in the InstallArea.
       The new behavior is disabled by default at the moment, and it can be enabled
       with the CMT extra tags 'no-shared-dir' (always disabled for ATLAS).
     - Improved run_qmtest.py to be able to run the tests from a read-only location
       even if the "QMTest" directory is not present.
       The QMTestTestsDatabase action is not executed anymore during the build
       since it is not needed.

    ! 2010-08-20 - Marco Clemencic
     - Fixed a compilation warning in VC9 (option 'GX' has been deprecated).

    ! 2010-07-29 - Marco Clemencic
     - Fixed a problem in the generation of Eclipse debug launchers from QMTest and
       adapted them to CDT 7 (Eclipse Helios, 3.6).

    ! 2010-07-21 - Marco Clemencic
     - Improvements to the QMTest HTML output:
       cause of the failure written just after the result message, so that it is
       visible without having to click.

    ============================= GaudiPolicy v10r8 ==============================
    ! 2010-07-13 - Hubert Degaudenzi
     - Added protection against directories which are not listable in StripPath.

    ! 2010-07-12 - Charles Leggett
     - Patch #4260: small change in the way -Wno-long-double is
       disabled on Mac OSX 10.6
     - Patch #4254: special tags/features for ATLAS in GaudiPolicy

    ! 2010-07-08 - Charles Leggett
     - Inserted override of the library_no_static for Unix and CMT v1r21. This is to cure
       bug #69427 where the .stamp file is missing with the env variable PEDANTIC set.

    ! 2010-06-24 - Marco Clemencic
     - Easthetic and technical improvements to the QMTest HTML output.

    ! 2010-06-23 - Marco Clemencic
     - Synchronized PathStripper with the version in LbScripts.

    ! 2010-06-21 - Marco Clemencic
     - Fixed bug #67366: undefined pattern library_Clinkopts
       Removed the usage of pattern library_Clinkopts (a left-over of some old
       clean-up).

    ! 2010-05-15 - Marco Clemencic
     - Fixed a compilation problem on MacOSX 10.6.

    ! 2010-05-12 - Marco Clemencic
     - Fixed a compilation problem on MacOSX 10.6.

    ! 2010-04-27 - Marco Clemencic
     - Use the simplejson Python module from LCG instead of shipping it.

    ============================= GaudiPolicy v10r7 ==============================
    ! 2010-04-23 - Marco Clemencic
     - Hack to allow the compilation with the gcc preview provided by LCGCMT
       (AKA gccmax).

    ! 2010-04-22 - Marco Clemencic
     - Added the possibility to choose the test suite to run with QMTest via an
       environment variable (GAUDI_QMTEST_DEFAULT_SUITE).
       The content of the variable must be a comma-separated list of possible names
       among which the first one is chosen. If the variable is not set or none of
       its entries is found, the suite with the same name as the package is tried
       (old behavior).

    ! 2010-04-20 - Marco Clemencic
     - Removed ICC warnings and remarks.
     - Fixed a problem in install.py when using shared directories.
       If the destination file is owned by somebody else and writable, shutil.copy2
       fails in copystat because the access and modify times of the destination
       cannot be changed.
       The solution is to remove the file before making the copy.

    ! 2010-04-16 - Marco Clemencic
     - Modified the implementation of the fix to bug #62374 (Handling of signal
       SIGXCPU).
       A minor change in GaudiTest.py (exclusion list for reference files) was
       needed.

    ============================= GaudiPolicy v10r6 ==============================
    ! 2010-03-15 - Marco Clemencic
     - Added a cmt action to start the QMTest GUI (cmt QMTestGUI).
       It simplifies the creation of tests, but still has some problems to run them.

    ! 2010-03-15 - Gerhard Raven
     - Patch #3854: Reduce verbosity of zipping of python modules.

    ! 2010-03-10 - Marco Clemencic
     - Added a specialized QMTest ResultStream implementation to produce an HTML
       summary with collapsable lists and AJAX-style dynamic load of the content.
       The generation of the HTML output can be generated using the option
       --html-output to TestPackage or the environment variable
       GAUDI_QMTEST_HTML_OUTPUT. In both cases the user should specify the full path
       to the directory meant to contain the data.
       Note: The HTMLResultStream class uses the Python module "simplejson" included
             in qmtest_classes (backport of the Python 2.6 module "json"), unless
             the native Python module is found.
             The dynamic HTML uses the jQuery JavaScript library (included).

    ! 2010-01-29 - Marco Clemencic
     - Ignored icc remarks
       #1419: external declaration in primary source file
              (triggers on forward declarations in a .cpp)

    ! 2010-01-28 - Marco Clemencic
     - Ignored icc remarks
       #383:  valued copied to temporary, reference to temporary
       #981:  operands are evaluated in unspecified order
       #1418: external function definition with no prior declaration
              (triggers on templates)
       #82:   storage class is not first
              (appears only once in ROOT)
       #522:  function "X" redeclared "inline" after being called
              (fixed those in Gaudi, but a lot are coming from ROOT, Reflex and
               HepPDT)
       #444:  destructor for base class "X" is not virtual
              (gives a lot of false positives, e.g. std::unary_function)
       #304:  access control not specified ("public/private" by default)
              (fixed one in GaudiKernel, but most are from Boost)

    ============================= GaudiPolicy v10r5 ==============================
    ! 2010-01-15 - Marco Clemencic
     - Fixed compilation on icc 11.
       - cmt/requirements:
         removed the cppflags -pedantic, -Wextra and -Wno-long-long, because not
         understood by icc (only for icc).

    ! 2010-01-11 - Marco Clemencic
     - Added an excluded line when comparing reference files in the tests to avoid
       (because of patch #3487).

    ! 2009-12-18 - Marco Clemencic
     - Improvements to the testing infrastructure.
       - Allow testing from a read-only location:
         - modified GaudiExeTest to ignore failures when writing the new reference
           files
         - modified run_qmtest.py and qmtest_summarize.py to use the environment
           variable QMTESTRESULTSDIR as base path for the QMTest result files (.qmr)
       - Modified GaudiExeTest to correctly report a failure due to timeout limits.

    ! 2009-12-04 - Marco Clemencic
     - Avoid the manipulation of the compiler name for the LCG compiler if the tag
       CERNDISTCC (Atlas distcc cluster) is defined, because the manipulation for
       that case is already done in LCG_Settings.

    ! 2009-11-26 - Marco Clemencic
     - Fixed a problem in locker.py (LockFile) on Win32.

    ! 2009-11-19 - Marco Clemencic
     - Removed run-time dependency on PCRE (which has been removed from LCGCMT).

    ============================= GaudiPolicy v10r4 ==============================
    ! 2009-11-10 - Marco Clemencic
     - Modified ZipPythonDir.py to remove old .pyc files before adding the .py to
       the .zip file to force a re-compilation.
     - Added mapping of SL5 tags to host-slc5 (the will go in LCG 57b).

    ! 2009-11-09 - Marco Clemencic
     - Minor changes to the requirements:
       - added *.py[co] to the exclusion list of install.py
       - removed the _cov and _pro tags because conflicting with the LCG ones

    ! 2009-11-03 - Hubert Degaudenzi
     - Fixed bug #57319: Suppression of GaudiPolicy/scripts/StripPath.sh
       requirements: added a switch on the StripPath script. if GAUDI_NO_STRIP_PATH is
       set in the environment, no path stripping will occur at setup time.

    ================ GaudiPolicy v10r3 ====================================
    ! 2009-10-16 - Hubert Degaudenzi
     - requirements: removed the compile option "-ff90" for the target-gcc4 tag.
       This flag is obsolete for the gfortran compiler.

    ! 2009-10-13 - Marco Clemencic
     - GaudiTest.py: remove leading '0' from Windows' exponential notation when
       comparing stdout with reference files in tests (not perfect)

    ! 2009-10-07 - Marco Clemencic
     - Fixed a problem with the generation of the python.zip files on Windows.
       The file, once created, was not overwritten.

    ! 2009-10-05 - Charles Leggett
     - Fixed bug #55550: saving memory with alignment of libraries

    ! 2009-10-05 - Gerhard Raven
     - Patch #3295: do not copy back-up files to InstallArea

    ! 2009-10-02 - Marco Clemencic
     - Modified the generated Eclipse launchers, such that the options file extracted
       from the .qmt files can be added easily to the ignored list of SVN/CVS.

    ! 2009-09-25 - Marco Clemencic
     - Instrumented GaudiTest.py to produce an Eclipse CDT debug launcher
       configuration for each test. The configuration is automatically discovered by
       Eclipse and inserted in the list of debug configurations with the name of the
       test.

    ! 2009-09-21 - Marco Clemencic
     - Added "*.cmtref" to the list of exclusion patterns in ZipPythonDir.py

    ================ GaudiPolicy v10r2 ====================================
    ! 2009-09-02 - Marco Clemencic
     - Added a pattern useful to mark the container package of a project
       (container_package).
     - Modified the effect of the no-pyzip tag at compile time. If specified, the
       python.zip file is generated only once, during the build of the container
       package.

    ! 2009-07-30 - Marco Clemencic
     - Fixed some doxygen warnings.
     - Use the special name for LCG-distributed compiler always.
       (removed the exception on ATLAS)
     - Added the C++ flag "-Wno-empty-body" to hide the warnings from XercesC.
     - Added the tag "no-hide-warnings" to re-enable the warnings disabled because
       coming from external libraries.

    ! 2009-07-29 - Marco Clemencic
     - Moved the Python scripts and modules to the directory scripts and modified
       the genconfuser pattern to locate the locker.py module.
     - The scripts merge_files.py, ZipPythonDir.py and genconfuser.py can now be
       synchronized with a "global lock file" defined with the environment variable
       GAUDI_BUILD_LOCK (needed when using tbroadcast or equivalent).

    ! 2009-07-28 - Marco Clemencic
     - Fixed problems on Windows:
       - added a custom "library_no_static" fragment (identical to "library") needed
         because of the library flag "-no_static" recently added
       - solved a portability problem in ZipPythonDir.py

    ! 2009-07-24 - Marco Clemencic
     - Fixed a problem of ZipPythonDir.py on Windows (unlocking must precede close).

    ! 2009-07-21 - Marco Clemencic
     - Added .cvsignore to the exclusion list of install.py
     - Modified the zipping script to collect the changes needed in the zip file
       before actually writing it, to be able to avoid unnecessary writes.

    ! 2009-07-20 - Marco Clemencic
     - Fixed a possible race condition during the build between MergeConfDb and the
       zipping of python modules.
     - Use a memory buffer instead of writing directly the Python zipped file to
       reduce the probability of a conflict between a test on a platform and a build
       on another (like in the nightly builds).
     - Moved the use of tcmalloc from Gaudi to GaudiPolicy to make it available
       everywhere.

    ! 2009-07-17 - Marco Clemencic
     - Modified the QMTest pattern to force the creation of the QMTest directory
       (needed to call qmtest) during the build, so that it becomes part of the
       distribution. It also required a restructuring of run_qmtest.py.

    ! 2009-07-16 - Marco Clemencic
     - Minor restructuring an clean up of install.py

    ! 2009-07-16 - Marco Clemencic
     - Support for zipped python directories.
         The "InstallArea/python" directory is replaced, in PYTHONPATH, by
       "InstallArea/python.zip". The old directory is still present and used to
       generate the .zip file or for debugging (can be used at run-time specifying
       the CMT tag "no-pyzip").
         The use of .zip files increases significantly the speed of the
       configuration of an application (when using configurables).
         Since .zip files can only contain python files, it is not possible to store
       anything else under InstallArea/python path.
         The current implementation re-creates the .zip file during the build of
       each package, so re-compressing files already in the original .zip, which can
       become a problem with very large projects. A merge feature would be welcome,
       but it has to allow also the removal of the files that have been removed from
       the original python directory (a la install.py). Note that the current
       implementation of the module "zipfile" does not allow replacement or removal.
         This, implicitely, addresses bug #39868 because the .pyc files are
       automatically generated during the zipping step to be included in the .zip
       file.

       See http://www.python.org/dev/peps/pep-0273 for more information.

    ================ GaudiPolicy v10r1 ====================================
    ! 2009-07-14 - Marco Clemencic
     - Modified the library fragment on for NMake to work with both CMT
       v1r20p20070208 and v1r20p20090520.

    ! 2009-07-09 - Marco Clemencic
     - Reverted to the original manipulation of PYTHONPATH for testing.

    ! 2009-07-08 - Marco Clemencic
     - Re-enabled distcc when using the LCG-distributed compiler.

    ! 2009-07-06 - Marco Clemencic
     - Fixed bug #52831: Disable StripPath in GaudiPolicy
       Added a tag to disable the "strip path" setup script.

    ! 2009-07-03 - Marco Clemencic
     - Fixed a problem introduced with the latest change (too many removals from
       PYTHONPATH).

    ! 2009-07-02 - Marco Clemencic, Hubert Degaudenzi
     - Modified the patterns for PYTHONPATH to remove the project name or the
       package name instead of the full path to them.

    ================ GaudiPolicy v10r0 ====================================
      *** requires LCGCMT >= 56b ***

    ! 2009-06-26 - Marco Clemencic
     - Modified to use the new features of LCG_Setting in LCGCMT 56b. Cannot work
       with lower versions.
     - Modified genconfig_header to allow easier debugging. The environment variable
       GENCONF_ECHO can be set to have the genconf command line printed.
     - Removed the link option "-Wl,-s" for Linux optimized libraries to make the
       profiling easier. It can be re-enabled with the tag "strip-symbols".
     - Disabled distcc when using the LCG-distributed compiler (the tag force-distcc
       can be used for testing).

    ! 2009-06-22 - Marco Clemencic
     - Disable the macros for the visibility of symbols on Windows, because it is
       impossible (currently) to make coexists the gcc and VC ways.
     - Fixed a problem with local installations on Win32.

    ! 2009-06-11 - Hubert Degaudenzi
     - use the new LCG tag convention.
     - removed slc3
     - removed static build

    ! 2009-06-11 - Marco Clemencic
     - Modified the way to locate gcc43 (expected to be in LGC_contrib).
     - Use the special imported fragments "library" and "dependencies" only with
       CMT v1r20p20070208 (they do not work with most recent versions).

    ! 2009-06-10 - Marco Clemencic
     - Imported and modified the library fragment and the linking .bat scripts to
       avoid the installation of .lib files for non-linker libraries (components and
       dictionaries).

    ! 2009-06-05 - Marco Clemencic
     - Added a part of GaudiFilterExecutable (in GaudiTest.py) that is requested on
       Win32.

    ! 2009-05-26 - Marco Clemencic
     - Modified createProjVersHeader.py to create the destination directory if it
       does not exist.
     - Removed the "touch" command in merge_genconfDb_header, not needed because the
       Python script is able to handle new files (related to bug #50600).

    ================ GaudiPolicy v9r1 ====================================
    ! 2009-05-12 - Marco Clemencic
     - Fixed bug #50070: error in GaudiPolicy for gcc43 and 32 bits.
       The native compiler must be used even when building i686 binaries on
       x86_64.

    ! 2009-04-27 - Marco Clemencic
     - Added specific macros to disable specific backward compatibility hacks.
       See GaudiKernel release.notes.

    ================ GaudiPolicy v9r0 ====================================
    ! 2009-04-27 - Marco Clemencic
     - Automatic support for GCC 4.3 at CERN.
       The value of CMTCONFIG triggers the correct setting of PATH and
       LD_LIBRARY_PATH. It requires LCGCMT 56 and will be obsolete with LCGCMT 56a.

    ! 2009-04-24 - Marco Clemencic
     - Extended GaudiTest.py with a re-implementation of the QMTest
       TimeoutExecutable class that allows to get the stack trace for a process
       being terminated.

    ! 2009-04-21 - Marco Clemencic
     - Added a work-around in install.py for a problem of shutil.copy2 on win32
       as of Python 2.5 (fixed in 2.5.1). See
        # http://bugs.python.org/issue1671965
        # http://bugs.python.org/issue1565150

    ! 2009-03-13 - Marco Clemencic
     - Added the tag GAUDI_V22 to enable future API changes.
     - Minor updates of GaudiTest.py to absorb changes in the reference files.

    ! 2009-02-13 - Marco Clemencic
     - Fixed a problem in the histogram summary comparison in GaudiTest.py.
       If only the header was present (GaudiHistoAlg.HistoPrint == False), it was
       ignored.

    ! 2009-01-29 - Marco Clemencic
     - Symbol visibility
       - Added the (C++) compiler flag -fvisibility=hidden for gcc-4 to switch on
         the symbol hiding if the CMT tag "GAUDI_V21" is used. In the future it
         should be on by default unless a special tag is used
         (e.g. EXPORT_ALL_SYMBOLS).
       - When compiling a linker library the preprocessor macro GAUDI_LINKER_LIBRARY
         is defined, so that the macro GAUDI_API (defined in GaudiKernel) is mapped
         to GAUDI_EXPORT. The default (for component libraries) is to have GAUDI_API
         mapped to GAUDI_IMPORT. Unfortunately, the .cpp files of the component
         library that lives in the same package of a linker library are also
         compiled with GAUDI_LINKER_LIBRARY. This has to be fixed later.
       - Modified cmt_make_shlib.bat to avoid the creation of the .def file if the
         environment variable EXPORT_ALL_SYMBOLS is defined (done by the
         linker_library pattern if the visibility control is enabled, i.e.
         GAUDI_V21). A hack has been introduced to exclude some symbols from a
         linker library (detail@boost) to allow the compilation of GaudiKernel (it
         overcomes the 32000 symbols limit of VC71).

    ! 2009-01-23 - Marco Clemencic
     - Moved the preprocessor macro GAUDI_V20_COMPAT to the right place (pp_cppflags
       instead of cppflags) to get it propagated to gccxml too.

    ! 2009-01-22 - Marco Clemencic
     - Added by default the preprocessor macro GAUDI_V20_COMPAT. That macro is used
       to enable the compatibility hacks needed to allow a smooth migration between
       Gaudi v20 and Gaudi v21. It can be disabled using the CMT tag GAUDI_V21.

    ================ GaudiPolicy v8r7 ====================================
    ! 2008-12-12 - Marco Clemencic
     - Removed the (unused) environment variable <project>_HOME (cmt_path_pattern)
       to avoid problems with some ATLAS project with names containing a '-'.

    ! 2008-12-09 - Marco Clemencic
     - Fixed a compilation problem on *-slc5-gcc34-*.

    ! 2008-12-08 - Marco Clemencic
     - Fixed a problem in the logic of cmpTreesDicts in GaudiTest.py.
     - Added -ldl to the link flags of the executables. It was already present in
       the libraries, but it is needed explicitely in the executables on SLC5
       (problem with cppunit).

    ! 2008-12-05 - Marco Clemencic
     - Updates in the standard output filter of GaudiTest.py
     - Update of the macro 'cpp' to work on SLC5 with gcc-3.4.

    ! 2008-12-03 - Marco Clemencic
     - Adapted the test class to absorb a change in the standard output with the
       latest version of POOL.

    ! 2008-12-01 - Charles Leggett
     - Patch #2664. Proper handling of shared libraries on Mac OSX platform.

    ================ GaudiPolicy v8r6 ====================================
    ! 2008-11-07 - Marco Clemencic
     - Added automatic registration of ConfigurableUser specializations to the
       database of configurables.
     - Improved the test function "findReferenceBlock" to allow more than one call
       in the same validation code.

    ! 2008-10-30 - Hubert Degaudenzi
     - Added cmt action to create .pyc file in the InstallArea. This action is called
       by "cmt CompilePython". This is not added by default to the build procedure
       since these created files are location dependent. They have to be created at
       installation time.

    ! 2008-10-28 - Marco Clemencic
     - Fixed bug #43114. Python clean make target not removing .pyc files
       - Modified install.py to remove the corresponding .py[co] files when removing
         a .py file.

    ! 2008-10-27 - Marco Clemencic
     - Fixed warnings reported by gcc 4.3:
       - hash_map: deprecated header (temporary work-around until gccxml understands
         std::tr1::unordered_map)

    ! 2008-10-20 - Marco Clemencic
     - Modified GaudiTest.py to report the content of the environment for failing
       tests.

    ! 2008-10-17 - Marco Clemencic, Hubert Degaudenzi
     - Added environment variables needed to generate doxygen documentation
       (<project>VERS, many <external>VERS, GAUDI_DOXY_HOME).

    ! 2008-10-16 - Marco Clemencic
     - GaudiTests.py:
       - Improved the handling of positional arguments in the CallWrapper class
         (allowing backward compatibility).

    ! 2008-10-15 - Marco Clemencic
     - GaudiTests.py:
       - Added a function to check the consistency or GaudiHistos summaries:
         CheckHistosSummaries (similar to CheckTTreesSummaries).

    ! 2008-09-30 - Marco Clemencic
     - GaudiTests.py:
       - Added a function (with some helpers) to check the consistency or TTree
         summaries: CheckTTreesSummaries.
       - Excluded TTree summaries from the basic reference file comparison, replaced
         by a call to CheckTTreesSummaries in ValidateWithReference.
       - Moved the code to generate a new reference file from ReferenceFileValidator
         to ValidateWithReference.
       - Excluded (temporarily) the ROOT message:
           'Note: (file "(tmpfile)", line 2) File "set" already loaded'
         present only with ROOT >= 5.21 (HEAD).
       - Added a boolean field to the test description to allow the usage of a
         temporary directory (use_temp_dir), false by default.
       - Converts paths to absolute in program name, arguments and reference files
         to simplify the usage of temporary directories.

    ! 2008-09-29 - Marco Clemencic
     - GaudiTests.py:
       - Added "countErrorLines" to the validation functions.
       - Extended "validateWithReference" to accept a custom preprocessor.
       - Moved specific reference file replacement for Aida2Root into the test.
       - Added hack to hide bug #34177/bug #33971.

    ! 2008-08-06 - Marco Clemencic
     - Fixed bug #35792: merge_genconfDb fragment does not need -dependencies
       Removed the '-dependencies' as suggested. Remoed it from the python_init
       fragment too.

    ! 2008-08-05 - Marco Clemencic
     - Fixed bug #39272. Cannot use cmt TestPackage before cmt make
       Now the binary directory (to hold the results report of the tests) is
       automatically created if not present.
     - Simplified the way to call standard validation functions in the validator
       section of the .qmt files. Now the standard arguments (stdout, stderr,
       results, causes) are passed automatically.

    ! 2008-08-04 - Marco Clemencic
     - Fixed bug #39273. Need separate qmtest reference files for slc4_ia32 and
                         slc4_amd64 platforms
       The reference file name matching has been improved to match also names like
       "<specified_name>.<platform_prefix>", where <platform_prefix> is a substring
       of platform string. E.g. "RefFile.ref.slc4_ia32" will be valid for
       slc4_ia32_gcc34, slc4_ia32_gcc34_dbg, slc4_ia32_gcc41.

    ! 2008-07-31 - Hubert Degaudenzi
     - added the application of the linker library pattern to the genconf
       helper library. This will ensure the creation of the dll on windows.
     - fixed the gcov support for gcc 3.4 and above.
     - added the ccache support. It works with/without distcc

    ================ GaudiPolicy v8r5 ====================================
    ! 2008-07-11 - Hubert Degaudenzi
     - Applied the linker_library to the genconf helper library. Otherwise the
       dll file is not created on windows.

    ================ GaudiPolicy v8r4 ====================================
    ! 2008-06-25 - Marco Clemencic
     - Fixed bug #38208: The pattern GaudiApp does not work if inherited.
       Modified the pattern to use <package> and <version> instead of $(package) and
       $(version).

    ================ GaudiPolicy v8r3 ====================================
    ! 2008-06-19 - Marco Clemencic
     - Removed hard-coded package prefix in cmt/fragments/qmtest_summarize.py.
     - Defined a macro for the location of the qmtest_summarize.py script.

    ! 2008-06-13 - Marco Clemencic
     - Added a pattern to generate a header file containing macros to identify the
       version of a project at compile-time.
       It is enough to add the line

         apply_pattern ProjectVersionHeader

       to a package that has the same version number of the project (like the
       steering project) and it will create a file called "<PROJECT>_VERSION.h" in
       InstallArea/include.

    ! 2008-05-29 - Charles Leggett
     - Changed the name of the extension for libraries on OSX from ".dylib" to ".so".

    ! 2008-05-28 - Hubert Degaudenzi
     - Added a path cleaner to the global Gaudi setup. This is removing invalid or
       empty components in the PATH, LD_LIBRARY_PATH, JOBOPTSEARCHPATH, PYTHONPATH
     - Added the pattern pyd_module in order to be able to create python binary
       modules (.pyd files).
     - Added generic "template" document/fragment which allows to transform some
       spam.txt.tmpl file into spam.txt expanding all the cmt macros. It uses internally
       "cmt filter"

    ================ GaudiPolicy v8r2 ====================================
    ! 2008-04-11 - Marco Clemencic
     - Fixed a problem introduced with Patch #1724.
       If the directory of the source file passed to merge_files.py is not writable,
       an error is produced and the stamp file is not created.
       If does not happen in Gaudi, but LHCb uses merge_files.py to copy the rootmap
       files from RELAX.
       Now it is possible to specify an alternative directory for the stamp files
       (command line option --stamp-dir).

    ! 2008-03-11 - Hubert Degaudenzi
     - added 2 patterns to create and use helper library for genconf. Some libraries
       need to have other preloaded libraries in order to perform the genconf
       procedure correctly. While this can be fixed on linux with the
       LD_PRELOAD environment variable, this is not possible on windows. Thus
       the genconf executable takes an extra argument "--load-library" to which
       the full path of the helper library is passed.

    ! 2008-03-06 - Sebastien Binet
     - Patch #1724. Do not create stamp files in the InstallArea for merged files.
       The stamp files created by merge_files.py for rootmap files are read by ROOT
       because it thinks they are real rootmap files, slowing down the application
       startup. The script and the related fragments have been modified to create
       the stamp files in the same directories of the files to be merged.
     - (Marco Clemencic) Added *.stamp to the list of the files to be excluded by
       install.py.

    ! 2008-03-06 - Marco Clemencic
     - Added a pattern to define the environment variables GAUDIAPPNAME and
       GAUDIAPPVERSION, used by gaudirun.py to set the default values for the
       corresponding ApplicationMgr properties.
     - Added a generic fragment/document to call a script.
       Most of the fragments are makefile-wrappers around simple commands. With the
       generic fragment is possible to define input, output and command in the
       requirements file, using dedicated fragments for more complicated use-cases.

    ================ GaudiPolicy v8r1 ====================================
    ! 2008-02-11 - Hubert Degaudenzi
     - Improved removal of constituents in the "disable_package_on" pattern with a
       regexp action.
     - Empty the <package>_stamps macro as well if the package is disabled.

    ! 2008-02-08 - Marco Clemencic
     - Minor change to GaudiTest.py to ignore the change in the output due to
       patch #1656.

    ================ GaudiPolicy v8r0 ====================================
            -------  NEEDS LCGCMT >= 54 -------
    ! 2008-01-30 - Marco Clemencic
     - Other minor changes to GaudiTest.py.

    ! 2008-01-28 - Marco Clemencic
     - Removed the ROOT file size reports from the comparison with the reference
       file.

    ! 2008-01-15 - Marco Clemencic
     - Removed the need of adding explicitely the tag QMTest to run the tests.
     - Added a couple of simpler actions to run the tests:
         - cmt TestPackage
           run all the tests of a package (= cmt qmtest_run)
           to be called from the cmt directory of the package
         - cmt TestProject
           run all the tests of the project (= cmt br cmt TestPackage)
           to be called from the cmt directory of the container package
     - Adapted GaudiTest.py to handle correctly the new format of the ROOT
       print-out of the file version (ROOT 5.16 says "SUCCESS" instead of "Always").
     - Removed the genmap command and fragments, now available in
       LCG_Interfaces/ROOT (Needs LCGCMT >= 54).

    ! 2008-01-14 - Marco Clemencic
     - Modified locker.py to use msvcrt.locking instead of win32file.LockFileEx
       to fix a proble on win32 + Python2.5 (win32files is not available, while
       msvcrt exists in Python 2.4 too).

    ! 2007-12-20 - Hubert Degaudenzi
     - fixed bug #32341. install.py uses absolute path if the source and
       the destination files are on different windows drives.

    ! 2007-12-20 - Marco Clemencic
     - Replaced "mkdirhier" (part of X11 distribution) with "mkdir -p" (more common)
       in genconfig_header.
     - Added a hack for a the ErrorLog test for a couple of lines that appeared
       recently.

    ! 2007-12-19 - Marco Clemencic
     - Fixed a problem in install.py in the computation of the relative path in case
       of symlinks. It was failing if the link was already there and the packages
       has a "hat".

    ! 2007-12-13 - Marco Clemencic
     - Modified qmtest_summarize.py to work on both QMtest 2.3 and 2.4.
       It does not generate anymore the report, but parses the local summaries
       and produce a digest (for the nightlies).

    ! 2007-12-11 - Marco Clemencic
     - Minor clean up in cppflags and linkopts.
       The options that do not work on SLC3 (gcc323) are removed for SLC3, instead
       of being added otherwise.

    ! 2007-11-29 - Marco Clemencic
     - Added "Always Root file version:" to the list of lines to skip when testing
       GaudiExamples.
     - Added a function to GaudiTest.py to look for a block in the standard output
       of a test (findReferenceBlock).

    ================ GaudiPolicy v7r2 ====================================
    ! 2007-11-16 - Marco Clemencic
     - Added a default time-out to the Gaudi QMTest extension (10 minutes if the
       test does not give a larger time). The time-out can be disabled with the
       environment variable QMTEST_IGNORE_TIMEOUT.

    ! 2007-11-15 - David Quarrie & Marco Clemencic
     - Fixed a problem in install.py when installing single files: the files were
       installed and immediately removed. Now install.py does not try to remove the
       previous copy if the file is copied twice (it forgets about the first one).

    ! 2007-11-14 - Hubert Degaudenzi
     - added 2 macros in order to be able to choose where the scripts to be
       installed are located (and where they will be installed)

    ! 2007-11-13 - Marco Clemencic
     - Instead of generating *Conf.py files trying to import AthenaCommon and fail
       back on GaudiKernel, use the module GaudiKernel.Proxy, which internally does
       the same kind of trick but only once.
     - Added the possibility to specify a job option file inside the .qmt file.
       This allows to write quick tests without the need of an extra file.
       The test should be able to distiguish between old option files and python
       option files (to add a sensible extension to the temporary file).
     - Fixed a problem in run_qmtest.py occurring when the test suite with the same
       name of the package exists and the user specifies arguments to the action
       qmtest_run.

    ! 2007-11-09 - Marco Clemencic
     - bug #31136. (install.py copies emacs back-up files)
       Added "*~" to the exclusion list in the install command macros.

    ! 2007-11-07 - Marco Clemencic
     - Renamed the pattern to run the tests from run_qmtest to qmtest_run (because
       it calls "qmtest run ...").
     - Added the pattern QMTestSummarize to enable the action qmtest_summarize. It
       was needed to ensure that a call to qmtest_summarize is done only if QMTest
       is available.
     - Modified the script run_qmtest.py (called by the action qmtest_run) to accept
       command line options which are them passed to qmtest. Needed to be able to
       run a single test from the pattern, e.g.: "cmt qmtest_run mytest".
     - Modified GaudiTest.py to allow a more flexible use of the check on the
       reference file. It should be easy enough to add to each test its specific
       manipulation of the output file (like skipping special lines, etc.).

    ! 2007-11-06 - Marco Clemencic
     - Added a pattern to disable the build of a package for a given platform or
       combination of tags. E.g.:

         apply_pattern disable_package_on platform=Darwin
         apply_pattern disable_package_on platform=slc4-amd64&gcc41

     - fixed install.py: continues gracefully even if the previous
       installation destination is not accessible any more for deletion.
     - Moved qmtest_summarize.py from GaudiRelease to GaudiPolicy. The action to use
       it is available to any package. The name of the report file to be generated
       can be passed with the command line option "-o".

    ! 2007-11-06 - Hubert Degaudenzi
     - fixed bug in install.py. Failure when the source and the destination
       have nothing in common except the root of the filesystem ("/").

    ! 2007-11-03 - Marco Clemencic
     - Minor improvement to QMTest extension class:
       escape the "escape" char used when printing with colors (it was preventing
       the merge of result files).

    ! 2007-11-02 - Hubert Degaudenzi
     - fixed bug in install.py when calculating the relative path.
     - fixed the limit case where the installation is done in the
       same directory (Marco Clemencic)

    ! 2007-11-01 - Marco Clemencic
     - Improvements to QMTest extension class:
       - use python interpreter to execute the program if the extension is ".py"
       - allow custom test output validator to be included as python scripts in the
         test definition

    ! 2007-10-24 - Marco Clemencic
     - Removed the fragment qmtest and moved the generation of the QMTest directory
       to run_qmtest.py.

    ! 2007-10-22 - Marco Clemencic
     - Added a pattern (and some other settings, like fragments and scripts) to
       give a simple way of defining and running QMTest-based tests.
       The user have to:
        1 - apply the pattern QMTest (in the requirements file)
        2 - provide the directory <package_root>/tests/qmtest with the xml files
            describing the tests (files .qmt, examples can be found in GaudiKerenel
            and GaudiExamples)
        2b- (optional) provide a test suite (file .qms) with the same name of the
            package (all lowercase) to specify which tests to run (if not all)
        3 - make CMTEXTRATAGS=QMTest tests
        4 - cmt -tag_add=QMTest run_qmtest
       Alternative to 3 and 4, one can set the environment variable
       CMTEXTRATAGS=QMTest and use:
        3b - make tests
        4b - cmt run_qmtest
     - Modified install.py to handle relative installation. The install.history
       file is storing relative informations (to its own location). When
       creating links, it creates also relative links (with regards to the
       destination directory).

    ! 2007-10-22 - Hubert Degaudenzi
     - added options to create a link for a single file installation in
       install.py.
     - overridden the cmt_installarea_command to use install.py. This will
       be applied to the installation of libraries in the installarea.

    !================ GaudiPolicy v7r1 ================================
    ! 2007-09-28 - Sebastien Binet
     - patch #1284. <project> is massaged to get a valid python module name
       (ie: remove dots and dashes) in the merge_genConfDb fragment.

    ! 2007-09-24 - Marco Clemencic
     - fixed a problem with the dependency of *_python_init when the package
       has non default groups (e.g. GaudiPoolDb)

    ! 2007-09-24 - Hubert Degaudenzi & Marco Clemencic
     - defined the module import strategy used by genconf:
       - no tag / LHCb tag : GaudiKernel
       - ATLAS tag         : AthenaCommon
       - ATLAS & LHCb tag  : AthenaCommon, GaudiKernel as fall-back
       This is a temporary solution to give us some time for the merge.

    ! 2007-09-20 - Hubert Degaudenzi
     - added global macro <project>_home.

    ! 2007-08-21 - Hubert Degaudenzi
     - factor out the creation of the __init__.py file in the InstallArea into a
       separate document. This will ensure the correctness of the parallel build
       with configurables and custom python modules export together.

    ! 2007-08-21 - Marco Clemencic
     - added an option to install.py to be able to select a destination name
       different for the source one.
       Example
        To install the python directory as <package> use:
        install.py <package>/python <InstallArea>/python --destname <package>

    ! 2007-08-20 - Hubert Degaudenzi
     - fixed the last problems remaining on windows for the installation of python
       scripts and modules.

    ! 2007-08-06 - Hubert Degaudenzi
     - introduced the equivalent fragments for windows (install_python_header
       and install_scripts_header)

    ! 2007-07-30 - Hubert Degaudenzi
     - introduced 2 new make fragments (install_python and install_scripts)
       based on the install.py script for the python modules and script
       installation.
     - added the corresponding patterns: install_python_modules and
       install_scripts
     - modified the genconfig fragment/pattern in order to generate the files
       in <package>/genConf/<package>.

    ! 2007-07-23 - Hubert Degaudenzi
     - fixed the merge_rootmap and merge_genConf fragments to avoid the
       double building of the target in case of parallel build.

    ! 2007-07-18 - Sebastien Binet
     - patch #1249. Fix to avoid "use" cycle with GaudiSvc.

    ! 2007-07-16 - Hubert Degaudenzi
     - fixed use of "distcc"
     - added "use Python * LCG_Interfaces -no_auto_imports" for
       compilation on win32. the "win32con" module is needed with the
       locker.py script (which is used for rootmap building).

    ! 2007-06-26 - Marco Clemencic
     - Added a python script to handle the installation of files in a
       platform-independent way and to keep track of the installed files
       so that if many packages add files to the same directory, a
       "make clean" in a package removes only the files that the
       package installed (use cases: python modules, LHCb event model
       classes).

    !================ GaudiPolicy v7r0 ================================
    ! 2007-06-07 - Marco Clemencic
     - Fixed a problem with merge_files.py when the directory of the
       destination file does not exist.

    ! 2007-06-05 - Marco Clemencic & Sebastien Binet
     - Applied an committed a slightly modified version of the latest
       version of patch #1159 (file #4075), to allow the concurrent
       merging of files on NFS.

    ! 2007-05-15 - Pere Mato
     - Commited patch 1159: merging files during build procedure
       with some additional changes:
         Reverted the dependency to GaudiSvc. This is needed for genconf
         to work specially when building the Gaudi project itself. The
         only possibility to remove this dependency is by providing a
         minimal application manager to support the instantiation of the
         components for which you need to dump the properties and they
         default values.

         Moved the stampfiles to the destination area (i.e. the
         InstallArea). In this way if the install area gets deleted the
         merged file is reconstructed again.

         Renamed the fragment merge_genmap to merge_rootmap to generalize
         it and use it also for merging the rootmaps from reflex
         dictionaries.

         Improved the rules in the makefile fragments and corrected some
         error messages.

    ! 2007-05-15 - Marco Clemencic
     - Fixed a problem with the pattern "install_more_includes" which did
       not add the correct include dirs if the project was not using the
       install area.

    ! 2007-03-28 - Mattias Ellert
     - fix to bug #24973. Two pattern in GaudiPolicy uses private ... public
       instead of private ... end_private. This causes some private
       definitions the leak into public.
       The attached patch fixes this problem (and also adds a macro_append
       to GaudiExamples that is needed since after the fix a private
       macro_append in a different package doesn't leak to GaudiExamples
       anymore).

    !================ GaudiPolicy v6r5 ================================
    ! 2007-03-22 - Hubert Degaudenzi
     - added the local package root directory for the compilation of the
       package. It is needed for the parallel build.

    ! 2007-03-13 - Sebastien Binet
     - patch #1080: fix in the GaudiPolicy/cmt/fragments/genconfig_header
       to address make's slc3 limited features (and prevents CMT from
       looping or stopping build in PEDANTIC mode).

    ! 2007-03-09 - Hubert Degaudenzi
     - removed the genconfi_cmd macro. Rely on the one in the GaudiKernel
       requirements file.
     - reenabled the -Wl,--no-undefined option by default (not under the
       LHCb tag any more)

    !================ GaudiPolicy v6r4 ================================
    ! 2007-02-17 - Pere Mato
     - Applied again path  #1016: configurable genconf

    ! 2007-02-14 - Pere Mato (David Quarrie)
     - Modified GaudiPolicy so that it supports distcc at CERN. The value of the macro "cpp" has been changed.

    ! 2007-02-13 - Pere Mato
     - Applied patch #1016: configurable genconf
       Added genconfig fragments and modified requirements to make use of it (default is not to do it)

    ! 2007-02-06 - Hubert Degaudenzi
     - reenabled the previous modification for the LHCb tag only.

    ! 2007-02-01 - Hubert Degaudenzi
     - commented out the previous modification.

    ! 2007-01-31 - Marco Clemencic
     - added the "--no-undefined" link flag for the building of librairies
       and applications on Linux. This enforces the symbols resolution.
     - added the "--as-needed" link flag for the building of librairies
       and applications on the slc4 platform. This instructs the runtime
       linker to avoid looking for uneeded librairies.

    ! 2007-01-30 - Hubert Degaudenzi
     - added a global cmtpath_pattern in the GaudiPolicy requirements file
       in order to at least prepend to the PYTHONPATH env variable the
       InstallArea/python directory.

    !================ GaudiPolicy v6r3 ================================
    ! 2007-01-16 - Florence Ranjard
     - use cmtpath_pattern_reverse to set macro <project>_include_dir
       and then set include_dirs with it
       remove setting of cppcomp and pp_cppflags introduced previously.
    - add "-m32" flag in ${for), ${libraryShr} and ${componentShr} when
      tag slc4-ia32

    !================= GaudiPolicy v6r2 ==================================
    ! 2006-12-20 - Florence RANJARD
     - remove setting of <library>Shr for <project>_with_installarea

    ! 2006-12-18 - Pere Mato
     - added $(cmt_installarea_linkopts) in the <library>_shlibflags for the component library pattern.
       Was failing on Windows becuase the script to build the shared library does not add it as it is
       on Linux.

    ! 2006-12-19 - Florence RANJARD
     - set the cppcomp macro with a cmtpath_pattern to reverse the order
       of $(includes) and $(pp_cppflags) macros depending of with/without
       installArea

    ! 2006-12-14 - Florence Ranjard
     - set a macro copyInclude depending on the platform to be used in
       install_more_includes pattern
     - added the -p flag to the copyInclude macro to preserve the time
       stamp of the source header files.

    ! 2006-12-13 - Florence RANJARD
     - prepend pp_cppflags with InstallArea/include if with_installArea

    ! 2006-11-30 - Pere Mato
      Adpated package to the new PluginSvc. The following chnages have been done:
      - Using a local copy of cmt_make_shlib.bat to make libraries on
        windows from *.objs instead of using the archive library. It
        avoids to have the _entries.cpp and _load.cpp files.
      - prepend PATH for linker libraries on windows
      - added new pattern and fragments to generate rootmap files from
        component libraries
      - added generate_rootmap in the component_library pattern

    ! 2006-11-27 - David Quarrie
     - added tags for MacOS 10.4

    !================= GaudiPolicy v6r1 =================================
    ! 2006-11-22 - Hubert Degaudenzi
     - commented out momentarily the SSE2 flags.

    ! 2006-11-17 - Marco Cattaneo
     - Patch #916. Add flags to compile in 32-bit mode even on 64-bit
       machines, when slc4-ia32 tag is set.

    !================= GaudiPolicy v6r0 =================================
    ! 2006-10-05 - Hubert Degaudenzi & Florence Ranjard
     - Merge from branch v5r25b (tag v5r25p2) to introduce the use of the
       InstallArea

    !================= GaudiPolicy v5r25p2 =================================
                   built on v5r25b branch
    ! 2006-10-04 - Hubert Degaudenzi
     - modified the tag for slc4 platforms. Now uses gcc34 instead of
       gcc345 (like LCGCMT)

    ! 2006-10-02 - Florence RANJARD
     - use LCG_Settings to get LCG tags
     - remove "_dbg" from LCG_platform on LOCAL because LCG debug libraries
        are not distributed

    !================= GaudiPolicy v5r25p1 ===================================
                  built on is v5r25b branch to use installarea

    ! 2006-08-15 - Florence RANJARD
     - add fragments install_more_includes and install_more_includes_header
     - modify patterns setting linkopts and LD_LIBRARY_PATH to make use of the
       InstallArea if required.
     - set BINDIR as a macro (it was a set)

    !================ GaudiPolicy v5r26 ======================================
    ! 2006-09-21 - Marco Cattaneo
     - added SSE2 options to cppflags, cflags and fflags.

    !================ GaudiPolicy v5r25 ======================================
    ! 2006-07-17 - Hubert Degaudenzi
     - fixed length of messages.
     - added -fPIC for the compilation of C files (required by amd64 platform)

    !================ GaudiPolicy v5r24 ======================================
    ! 2006-05-02 - Hubert Degaudenzi
     - added slc4_ia32_gcc345 tags.

    !================ GaudiPolicy v5r23 ======================================
    ! 2006-03-15 - Hubert Degaudenzi
     - removed the obsolete Solaris platform tags.
     - changed default optimization for fflags to "-O2".

    ! 2006-02-23 - Hubert Degaudenzi
     - added slc3_amd64_gcc344 tags

    ! 2006-02-22 - Florence Ranjard
     - remove $(use_linkopts) from pattern <library>_shlibflags
     - add tags slc3_ia32_gcc344
     - remove rh* and slc3_gcc323 tags

    !================ GaudiPolicy v5r22 ======================================
    ! 2006-01-23 - Pere Mato
     - removed <package>_linkopts from $(<library>_use_linkopts). To fix
       the problem with latest change.

    ! 2006-01-17 - Pere Mato
     - added $(<library>_use_linkopts) into the macro <library>_shlibflags
       for various patterns. This fixes the problem with the -import
       option not taken into account when building libraries (visible on
       windows only)

    !================ GaudiPolicy v5r21 ======================================
    ! 2006-01-16 - Hubert Degaudenzi
     - modified the definition of the slc3_ia32_gcc323_cov and
       slc3_ia32_gcc323_pro to work around the LCG_system definition in
       the LCG_settings package: if the above tags were decomposed like the
       other ones, the LCG_system would end up in "rh73.." (ie Linux from
       LCG_settings).

    ! 2005-07-15 - Hubert Degaudenzi
     - fixed bug #9478. added -fPIC option to the macro fflags.
     - added the slc3_ia32_cov for coverage.
     - added the slc3_ia32_pro for profiling.
     - added dependency of the component library onto the linker library
       (when it exists) (Pere Mato).

    ! 2005-01-07 - Florence RANJARD
     - add slc3_ia32_gcc323Static and rh73_gcc323Static tags to please VeloTB

    !================ GaudiPolicy v5r19 ======================================
    ! 2004-09-10 - Pere Mato
     - Removed /D_DEBUG from cppdebugflags_s  (for Windows)

    !================ GaudiPolicy v5r18 ======================================
    ! 2004-07-26 - Pere Mato
     - Changed pattern library_Softlinks to use macro_append instead of macro

    !================ GaudiPolicy v5r17 ======================================
    ! 2004-07-16 - Pere Mato
     - added scl3 tags
     - commnented last lines concerning global installation area patterns

    ! 2004-07-13 - Charles Leggett
     - added patterns and fragments to copy jobOptions files to InstallArea

    ! 2004-07-06 - Pere Mato
     - added "setup_strategy root" to set <PACKAGE>ROOT environment variables during setup. It seems
       that the latest version of CMT has the default not to create them and they are needed in
       JobOptions files.

    !================ GaudiPolicy v5r16 ======================================
    ! 2004-06-28 - Florence RANJARD
     - add tags for FedoraCore2
     - add rh73_gcc32_dbg

    ! 2004-05-04 - Florence RANJARD
     - remove linker_path pattern which gives trouble with CMT v1r16
     - remove tags using gcc2.95.2
     - use win32_vc71_dbg for win32 vc71 and debug
     - add tags for RH 9 and FedoraCorel

    !================ GaudiPolicy v5r15 =======================================
    ! 2004-04-02 - Guy Barrand
     - append options to shlibflags for MacOSX

    ! 2004-03-23 - Florence Ranjard
     - set ppcmd as -I on all platforms

    ! 2004-03-09 - Pere Mato
     - Changed libraryShr pattern for MacOSX

    !================ GaudiPolicy v5r14 =======================================
    ! 2003-12-11 - Pere Mato
     - Put back that rh73_gcc32 is optimized by default

    !================ GaudiPolicy v5r13 =======================================
    ! 2003-11-25 - Pere Mato
     - changes from Guy Barrand concerning the Mac-OSX platform (Darwin)
     - changes from Toby Burnett concerning building Visual development project files

    !!================ GaudiPolicy v5r12 =======================================
    ! 2003-11-13 - Pere Mato
     - removed  library msvcirt.lib for vc++7.0 and vc++7.1

    ! 2003-11-10 - Florence Ranjard
     - remove  "-global" option from the RuleChecker pattern

    ! 2003-08-05 - Pere Mato
     - introduced two new tags (mcvs6 and msvc7) to distinguish between different versions
       of Visual C++ compiler.

    !================ GaudiPolicy v5r11p2 =======================================
    ! 2003-06-16 - Florence RANJARD
     - fix BINDIR definition : there was a missing " at the end of the statment
                               which removes the -tag=$CMTDEB in some packages
                               during a cmt broadcast gmake -tag=$CMTDEB
                               the bug was introduced in v5r5

    !================ GaudiPolicy v5r11p1 =========================================
    ! 2003-05-24 - David Quarrie
     - fixed tags for profiled builds

    !================ GaudiPolicy v5r11============================================
    ! 2003-05-06 - Pere Mato
     - Added "optimized" in rh73_gcc32 tag. This adds -O2 in the compilation
     - Removed compilation flag -Wno-deprecated which should not be necessary

    ! 2003-02-28 - Paolo Calafiura
     - cleaned up atlas tags. Always define "platform" tags
     (e.g. rh73_gcc32) no matter which compile option is chosen
    ! 2003-02-25 - Paolo Calafiura
     - added compilation flag pthread for gcc/linux
     - added a few "forwarding tags" for Atlas platform names

    !================ GaudiPolicy v5r10============================================
    ! 2003-02-04 - Pere Mato
     - Removed compilation flag /Ob2 on windows to disable inline function expansion

    ! 2003-02-03 - Florence RANJARD
     - remove egcs tags
     - add UnixStatic in some patterns
     - set makelinkmap for Linux
     - remove makelinkmap from compentShr and libraryShr_linkopts
     - replace -rdynamic with --export-dynamic in application_linkopts

    ! 20021218 - Pere Mato, Vanya
      - Added "apply_pattern library_stamps" in pattern "linker_library"

    !================ GaudiPolicy v5r9============================================
    ! 20021128 - Pere Mato
      - Removed redefinitions of $(bin), $(src),....
      - Corrected bugs in patterns library_Clinkopts and library_Llinkopts
        for UnixStatic

    !================ GaudiPolicy v5r8============================================
    ! 20021113 - Pere Mato
      - Corrected bug in cdebugflags for Win32

    !================ GaudiPolicy v5r7============================================
    ! 20021028 - Pere Mato
      - Added compilation flag -Wno-deprecated to avoid warnings when compiling with gcc3.2

    !============================v5r6=============================================
    ! 20020913 - Pere Mato
      - removed -Bsymbolic in the componentshr_linkopts macro. This is
        suspected of producing memory leaks.
      - added more tags to take into account new version of redhat and gcc compiler

    !============================v5r5=============================================
    ! 20020321 - GaudiPolicy v5r5 (Flr)
      - new patterns accept an argument  library=<library name>
        libraryShr, library_stamps, library_Clinkopts, library_Cshlibflags
        library_Llinkopts, library_Lshlibflags, library_Softlinks, library_path
        i.e. apply_pattern libraryShr library=GaudiAlg
             apply_pattern library_path library=GaudiAlgLIb

      - new patterns to handle component library and linker library
        accepts one argument library=<library name>
        i.e. apply_pattern component_library library=GaudiAlg
             apply_pattern linker_library library=GaudiAlgLib

      - following patterns accept an argument
        library=<library name>
        packageShr, package_stamps, package_Clinkopts, package_Cshlibflags,
        package_Llinkopts, package_Lshlibflags

      - package_libraries,linker_path patterns accept an argument
        library = <list of libraries for wich SoftLinks are required>
        i.e. - apply_pattern package_Llinkopts library=GaudiAlgLib
               apply_pattern package_Clinkopts library=GaudiAlg
               apply_pattern package_libraries library=GaudiAlg GaudiAlgLib
               apply_pattern linker_path       library=GaudiAlg GaudiAlgLib

    ! 20020321 - GaudiPolicy (Pere)
      - added tags from ATLAS and definition of a set of "primitive" tags
        to be used when defining macros and sets.

    ! 20020313 - GaudiPolicy (Pere)
      - changed dsp_all fragment to add the release.notes in the DevStudio project

    ! 20020307 - GaudiPolicy (Pere)
      - added <package>Dict in linker_path pattern

    !=============================================================================
    ! 20011214 - GaudiPolicy v5r4 (Flr)
      - add rh71_gcc29521 tags for Cambridge

    ! 20011121 - GaudiPolicy v5r3 (Pere)
      - Replaced several " " by "" which caused extra blanks in PATH and LD_LIBRARY_PATH
      - Added by default to create a map when linking a library on Windows
      - Updated Developer Studio addin (CmtAddIn.dll)

    ! 20010928 - GaudiPolicy v5r2 (Marco)
      - add fragments rule_checker_header, rule_checker, rule_checker_trailer
      - in requirements: add global pattern RuleChecker
                         add rule_checker fragments and CLASSPATH

    ! 20010823 - GaudiPolicy v5r1 (Pere)

      - Corrected bug that did add twice the list of include directories when compiling
        Fortran code using windows Nmake. This prevented to build LHCb Brunel due to the
        total length of command line.
      - Building a package using DevStudio also creates the "stamps" files

      Changes:
      - requirements: removed $(use_fflags) from macro fflags
      - dsp_library_header: added $(use_fflags) for fortran compilation, added creation
                            of "stamp" files
      - dsp_application_header: added $(use_fflags) for fortran compilation

    ! 20010619 - GaudiPolicy v5 (flr)
       requirements - restrict pattern <package>_libraries to Unix.
                    - define pattern linker_path as LD_LIBRARY_PATH for WIN32
                      and as <package>_libraries for Unix.
                    - define pattern application_path to add application path to
                      LD_LIBRARY_PATH on Unix.
                    - remove all tags related to AIX.
                    - add tags rh61_gcc2952, rh61_gcc2952dbx, rh61_gcc2952Static
                    - pattern package_stamps is NOT global anylonger
                    - define pattern package_Lstamps
                    - remove pattern package_tag
                    - patterns include_none and packageDir are kept global
                    - keep BINDIR because of LinuxStatic and SolarisStatic
                    - use <package>_tag in application_path pattern

       packages which produce only a component library (i.e. Calo/CaloAgs) should
       - call the library as <package>
       - apply patterns packageShr, package_Clinkopts, package_Cshlibflags

       packages which produce only a linker library (i.e. Tr/TrKernel) should
       - call the library as <package>
       - apply patterns package_stamps, package_linkopts, package_shlibflags
       - apply_pattern linker_path
         in case the linker library is -no_share it is not necessary to apply
         pattern linker_path

       packages which produce 2 libraries (i.e. Det/CaloDet), should
       - call the component library as <package>
       - apply patterns package_Clinkopts, package_Cshlibflags
       - call the linker library as <package>Lib
       - apply patterns package_Lstamps, package_Llinkopts, package_Lshlibflags
       - apply_pattern linker_path
         in case the linker library is -no_share the pattern linker_path can be
         replaced with the pattern packageShr

    !=============================================================================
    ! 20010523 - GaudiPolicy v4r4p1 (Pere Mato)
      - Removed extra $(includes) in dsp_xxxx fragments
      - Added a path_remove with "\<package>\" in ld_library_path pattern for WIN32

    ! 20010426 - GaudiPolicy v4r4 (David Quarrie)
       requirements - added gcc 2.95.2 and Solaris tags

    ! 20010402 - GaudiPolicy v4r4 (Pere Mato)
      - requirements   - Removed 2 library fragments (see previous change)
                       - Added macro fdebugflags similarly to cppdebugflags.
                       - Added into pattern package_fflags the /src directory to look for
                         fortran include files

      - dsp fragments  - Use the macro fdebugflags to compile fortran with debug information

    ! 20010305 - GaudiPolicy v4r4 (Flr)
       cmt/fragments/library and library_no_share - add these files
                       replace *.o with empty *.o to remove unecessary *.o but keep
                       the time stamp
       requirements - add the 2 library fragments

    ! 20010223 - David Quarrie
       requirements - added support for Solaris.

    ! 20010132 - GaudiPolicy v4r3 (Pere Mato)
       requirements - added correctly the Win32 and Win32Debug tags
                      added a windebug tag for setting debug options in compiler and linker
       fragments -    Changed dsp fragments for libraries and applications to include a
                      single configuration based on the $(tag).
                      Removed dsp_shared_library_header that it is not used anymore

    ! 20010118 - GaudiPolicy v4r2 (Flr)
       requirements - define pattern package_libraries
                      define macro dq '"' to solve the problem of double quotes in
                      macros.

    ! 20010109 - GaudiPolicy v4r1 (Flr)
       requirements - use -Lpath -llibname in package_Llinkopts and
                      package_linkopts
                      use <package>Dir where ever possible instead of the full
                      definition.
                      remove path/libname.a in package_Lshlibflags.

    ! 20001216 - GaudiPolicy v4 (Flr)
       requirements - bug fix in pattern package_shlibflags

    ! 20001126 - GaudiPolicy v4 (Pere Mato)
       Changes to make posible the use of CMT v1r7 on Windows

    ! 20001116 - GaudiPolicy v4 (Flr)
       rename mgr/ as cmt/ to follow new CMT_v1r5 conventions.
       mv fragments/ to cmt/fragments to follow CMT_v1r6 conventions.
       requirements - define global pattern : package_stamps, package_tag
                                              include_none, packageDir
                      define patterns :
                      component - package_Clinkopts, package_Cshlibflags
                                  packageShr
                      link      - package_Llinkopts, package_Lshlibflags
                      default   - package_linkopts, package_shlibflags
                                  ld_library_path
                      Fortran   - package_Flinkopts
                      Static    - package_Slinkopts

       fragments/ is now a subdirectory of cmt/ to follow the CMT suggestion.

    !===========================================================================