The Gaudi Framework  v29r0 (ff2e7097)
GaudiPolicy
package GaudiPolicy
package manager: Marco Clemencic
Commit Id: $Format:%H$

================================ Gaudi v28r3 =================================

! 2017-07-05 - Sebastien Ponce (commit 7f14dda8)

 - Merge branch 'QMTestObjects' into 'master'

   Allowed to inherit from default QMTTest object

   See merge request !360

! 2017-07-03 - Marco Clemencic (commit 13902574)

 - Merge branch 'master' into 'master'

   Fixes to Gitlab-CI configuration

   See merge request !350

! 2017-04-27 - Marco Clemencic (commit d1575d9f)

 - Merge branch 'hide-new-property-in-tests' into 'master'

   Hide base class property changes
    See merge request !325

================================ 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.

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