Index: /CMT/HEAD/doc/CMTDoc.html
===================================================================
--- /CMT/HEAD/doc/CMTDoc.html	(revision 103)
+++ /CMT/HEAD/doc/CMTDoc.html	(revision 104)
@@ -19,8 +19,8 @@
 <h1><center>CMT</center>
 <center>Configuration Management Tool</center></h1>
-<h2><center>Version v1r18p20050901</center>
+<h2><center>Version v1r18p20051101</center>
 <center>Christian Arnault</center>
 <center><tt>arnault@lal.in2p3.fr</tt></center></h2>
-<center><i>Document revision date : 2005-09-05</i></center><hr><h2><a href="#index">General index</a></h2>
+<center><i>Document revision date : 2005-10-20</i></center><hr><h2><a href="#index">General index</a></h2>
 <hr><h2><a name="Presentation"></a><a href="#index"><tt>&nbsp;1</tt></a> - Presentation</h2>
 <blockquote>
@@ -566,4 +566,6 @@
 &lt;project&gt;_cleanup
 &lt;project&gt;_no_cleanup
+&lt;project&gt;_with_version_directory
+&lt;project&gt;_without_version_directory
 &lt;project&gt;_prototypes
 &lt;project&gt;_no_prototypes</pre>
@@ -845,13 +847,13 @@
     utilities, using for example the shell command: </p>
 <pre>
-csh&gt; source /lal/CMT/v1r18p20050901/mgr/setup.csh
+csh&gt; source /lal/CMT/v1r18p20051101/mgr/setup.csh
 
 or 
 
-ksh&gt; . /lal/CMT/v1r18p20050901/mgr/setup.sh
+ksh&gt; . /lal/CMT/v1r18p20051101/mgr/setup.sh
 
 or 
 
-dos&gt; call \lal\CMT\v1r18p20050901\mgr\setup.bat</pre>
+dos&gt; call \lal\CMT\v1r18p20051101\mgr\setup.bat</pre>
   <p>Obviously, this operation <i>must</i>
    be performed (once)
@@ -895,5 +897,5 @@
 <i><font COLOR="#000077" face="courier new, courier">------------------------------------------
 Configuring environment for project Dev
-CMT version v1r18p20050901.
+CMT version v1r18p20051101.
 ------------------------------------------
 Installing the cmt directory
@@ -919,5 +921,5 @@
 <i><font COLOR="#000077" face="courier new, courier">------------------------------------------
 Configuring environment for package Foo version v1.
-CMT version v1r18p20050901.                              [1]
+CMT version v1r18p20051101.                              [1]
 Root set to /home/arnault/Dev.
 System is Linux-i686                                     [2]
@@ -955,5 +957,5 @@
 <i><font COLOR="#007700" face="courier new, courier">------------------------------------------
 Configuring environment for package Foo version v1.
-CMT version v1r18p20050901.
+CMT version v1r18p20051101.
 Root set to /ProjectB.
 System is Linux-i686
@@ -978,5 +980,5 @@
     <tt>requirements</tt>
     ) installed in the <tt>cmt</tt>
-  branch.  </li>
+   branch.  </li>
   <p></p>
     <li> A minimal <tt>Makefile</tt>
@@ -1050,5 +1052,5 @@
 <i><font COLOR="#000077" face="courier new, courier">------------------------------------------
 Removing package Foo version v1.
-CMT version v1r18p20050901.
+CMT version v1r18p20051101.
 Root set to /home/arnault/mydev.
 System is Linux-i686
@@ -1060,5 +1062,5 @@
 <i><font COLOR="#000077" face="courier new, courier">------------------------------------------
 Removing package Foo version v1.
-CMT version v1r18p20050901.
+CMT version v1r18p20051101.
 Root set to /ProjectB.
 System is Linux-i686
@@ -1208,5 +1210,5 @@
 </ol>
     The packages are searched assuming that the directory hierarchy
-    below the access paths always follow the convention :
+below the access paths always follow the convention :
   <ol>
     <li> there is a first directory level exactly named according to
@@ -1307,5 +1309,5 @@
   <li>policies for external software organisation</li>
 </ul>
-      Then the global policy package will use them
+  Then the global policy package will use them
 </blockquote>
 <hr><h3><a name="The container or management package"></a><a href="#index"><tt>&nbsp;7.&nbsp;3</tt></a> - The container or management package</h3>
@@ -1686,5 +1688,5 @@
     </a>
     , a specific context is
-            created, which is materialized with a dedicated tag named
+       created, which is materialized with a dedicated tag named
     <tt>target_&lt;action&gt;</tt>
     , very similarly to the target
@@ -2017,5 +2019,5 @@
      component. This is done using one
     <tt>library</tt>
-  statement.  </li>
+   statement.  </li>
 </ol>
   <p>The <tt>cmt create</tt>
@@ -2118,5 +2120,5 @@
         development. Then we create a <tt>FooTest.cxx</tt>
    source, and
-        generate the associated makefile (specifying that it will be an
+     generate the associated makefile (specifying that it will be an
       executable instead of a library) : </p>
 <pre>
@@ -2739,4 +2741,39 @@
 <hr><h4><a name="The package structuring style "></a><a href="#index"><tt>13.&nbsp;2.&nbsp;1</tt></a> - The package structuring style </h4>
 <blockquote>
+  <p>Packages are installed in a directory structure that
+              can optionnally include a version directory (just after
+              the top directory of the package name). This is controlled
+              through the <i>structuring style</i>
+     or <i>structuring
+              strategy</i>
+   parameters specified using one of the
+            following means:</p>
+  <ol>
+    <li>Through the environment variable
+    <tt>CMTSTRUCTURINGSTYLE</tt>
+     taking one of the
+                  alternate values:
+<pre>
+with_version_directory
+without_version_directory</pre>
+    <p></p>
+  </li>
+    <li>Through the command line options
+    <tt>-with_version_directory</tt>
+     or
+    <tt>-without_version_directory</tt>
+    <p></p>
+  </li>
+    <li>Through the <tt>structure_strategy</tt>
+     specification entered into the project file of the current project, using the alternate values:
+<pre>
+with_version_directory
+without_version_directory</pre>
+    <p></p>
+  </li>
+</ol>
+  <p>It should be noted that the command line option will
+              take precedence over the strategy specification, in case
+            of conflict.</p>
 </blockquote>
 <hr><h4><a name="Meta-information : author, manager"></a><a href="#index"><tt>13.&nbsp;2.&nbsp;2</tt></a> - Meta-information : author, manager</h4>
@@ -3200,5 +3237,5 @@
             defined by a used package).</p>
   <p>The translations occur while running either the setup
-      scripts (for alias, set or path) or the make command (for
+                scripts (for alias, set or path) or the make command (for
               macro and actions).</p>
 <p>All these definitions follow the same pattern:</p>
@@ -3706,5 +3743,5 @@
             applications, etc.</p>
   <p>The concept of pattern proposed here implements this
-              genericity. Patterns may be either <i>global</i>
+              genericity. Patterns may be either<i>global</i>
   , in which
               case they will be systematically applied onto every
@@ -4264,5 +4301,5 @@
                 applications (in which case they are named exactly after the
                 language name eg c, cpp, fortran) and the other for the
-                libraries (in which case they have the <tt>_library</tt>
+    libraries (in which case they have the <tt>_library</tt>
                 suffix (eg. c_library, cpp_library, fortran_library). A set
                 of language definitions (C, C++, Fortran, Java, Lex, Yacc)
@@ -4361,5 +4398,5 @@
   	    the sub-tree, expanding it only when the operator really
   	    acts from within the context of the package. It should be
-  	    noticed that private use relationships are completely
+  noticed that private use relationships are completely
   	    unvisible from clients, which implies that none of the
 	    definitions (not only symbols) will be set.</p>
@@ -4756,5 +4793,5 @@
   <p>The actions associated with the build options are
               generally meant for internal use only, and users will
-            rarely (if ever!) apply them manually</p>
+ rarely (if ever!) apply them manually</p>
   <p>All build commands are generally meant to change the
               current package (some file or set of files is
@@ -4947,5 +4984,5 @@
     <li><tt>tag_makefile</tt>
       <p> This command produces onto the standard output, the
-             exhaustive list of all macros controled by <tt>CMT</tt>
+                        exhaustive list of all macros controled by <tt>CMT</tt>
       ,
                         ie. those defined in the requirements files as well as the
@@ -5041,5 +5078,5 @@
 <pre>
 csh&gt; cmt create Foo v1 </pre>
-or:
+            or:
 <pre>
 csh&gt; cmt create Foo v1 ~/dev</pre>
@@ -5084,4 +5121,7 @@
   </li>
 </ol>
+  <p>It should be noted that the command line option will
+              take precedence over the strategy specification, in case
+            of conflict.</p>
 </blockquote>
 <hr><h4><a name="cmt expand model [-strict] &lt;model-string&gt;"></a><a href="#index"><tt>13.&nbsp;3.10</tt></a> - cmt expand model [-strict] &lt;model-string&gt;</h4>
@@ -5100,5 +5140,5 @@
 <pre>
 &gt; cmt expand model "abcd $(CMTVERSION) efgh"
-<i><font COLOR="#000077" face="courier new, courier">abcd v1r18p20050901 efgh</font></i></pre>
+<i><font COLOR="#000077" face="courier new, courier">abcd v1r18p20051101 efgh</font></i></pre>
   </li>
     <li><i>Recursively</i>
@@ -5239,5 +5279,5 @@
 <hr><h4><a name="cmt lock [ &lt;package&gt; &lt;version&gt; [&lt;area&gt;] ]"></a><a href="#index"><tt>13.&nbsp;3.13</tt></a> - cmt lock [ &lt;package&gt; &lt;version&gt; [&lt;area&gt;] ]</h4>
 <blockquote>
-   This command tries to set a lock onto the current package (or onto the
+            This command tries to set a lock onto the current package (or onto the
             specified package). This consists in the following operations:
 <p></p>
@@ -5527,5 +5567,5 @@
                       sub-project definitions and settings. It shows the
                       project names and their location (ie the corresponding
-               item in <tt>CMTPATH</tt>
+                      item in <tt>CMTPATH</tt>
     </p>
 <pre>
@@ -5586,5 +5626,5 @@
 #
 # Selection :                                    [4]
-use CMT v1r18p20050901 (/afs/cern.ch/sw/contrib)
+use CMT v1r18p20051101 (/afs/cern.ch/sw/contrib)
 use ExternalLibs v4r2p0  (/afs/cern.ch/atlas/offline/external/Gaudi/0.12.1.5)    [5]
 use CLHEP v2r1820p0  (/afs/cern.ch/atlas/offline/external/Gaudi/0.12.1.5)
@@ -5635,5 +5675,5 @@
                   package.</p>
     <p>In particular this will detect if a package has no
-                    access to another one, due to private use
+        access to another one, due to private use
                   statements</p>
     <li><tt>version</tt>
@@ -6166,5 +6206,5 @@
 use OPACS v3 </pre>
   <p>This procedure gives the complete benefit of the use 
-         relationships between packages (a client application 
+            relationships between packages (a client application 
             transparently inherits all configuration specifications) while 
             keeping unchanged the original referenced package, allowing to 
@@ -6480,6 +6520,6 @@
 csh&gt; cd /Packages 
 csh&gt; &lt;get the tar file from the Web&gt; 
-csh&gt; tar xzf CMTv1r18p20050901.tar.gz 
-csh&gt; cd CMT/v1r18p20050901/mgr 
+csh&gt; tar xzf CMTv1r18p20051101.tar.gz 
+csh&gt; cd CMT/v1r18p20051101/mgr 
 csh&gt; ./INSTALL 
 csh&gt; source setup.csh 
@@ -6517,5 +6557,5 @@
      will
                 contain the current version tag of <tt>CMT</tt>
-                (<tt>"v1r18p20050901"</tt>
+                (<tt>"v1r18p20051101"</tt>
    for this version). </li>
     <li><tt>HKEY_LOCAL_MACHINE/Software/CMT/path/</tt>
@@ -6539,5 +6579,5 @@
 dos&gt; cd Packages 
 dos&gt; &lt;get the tar file from the Web&gt; 
-dos&gt; cd CMT\v1r18p20050901\mgr 
+dos&gt; cd CMT\v1r18p20051101\mgr 
 dos&gt; call INSTALL 
 dos&gt; call setup.bat
@@ -6696,5 +6736,5 @@
       </td>
       <td>gives the current complete version tag of CMT</td>
-        <td><tt>v1r18p20050901</tt>
+        <td><tt>v1r18p20051101</tt>
       </td>
     </tr>
@@ -7310,5 +7350,5 @@
                     provides user defined dependency specifications for each
                     constituent. The typical use of this macro is fill it
-                    with the name of the list of some other constituents
+        with the name of the list of some other constituents
                     which <i>have</i>
          to be rebuilt first (since each
Index: /CMT/HEAD/doc/CMTDoc.xml
===================================================================
--- /CMT/HEAD/doc/CMTDoc.xml	(revision 103)
+++ /CMT/HEAD/doc/CMTDoc.xml	(revision 104)
@@ -3,8 +3,8 @@
   <!ENTITY nbsp "&nbsp;">
   <!ENTITY CMTrelease "18">
-  <!ENTITY CMTVersion "v1r18p20050901">
+  <!ENTITY CMTVersion "v1r18p20051101">
   <!ENTITY CMTvTag "CMTv1">
   <!ENTITY CMTrTag "CMTr18">
-  <!ENTITY CMTpTag "CMTp20050901">
+  <!ENTITY CMTpTag "CMTp20051101">
   <!ENTITY CMTrequirements "&nbsp;<a HREF='#The requirements file'>requirements</a>&nbsp;">
 ]>  
Index: /CMT/HEAD/doc/ReleaseNotes.html
===================================================================
--- /CMT/HEAD/doc/ReleaseNotes.html	(revision 103)
+++ /CMT/HEAD/doc/ReleaseNotes.html	(revision 104)
@@ -45,5 +45,54 @@
     <ul>
 
-    <ul>
+      <li>
+        <b>v1r18p20051101</b>
+
+	<ul>
+
+	  <!--
+	  <li class="new"></li>
+	  <li class="bug"></li>
+	  <li class="int"></li>
+	  -->
+
+	  <li class="new">Add a new standard macro definition
+	  <tt>$(q)</tt> to hold a double quote. This is useful to
+	  define symbol values that contin doublequotes so as they are
+	  not filtered out by CMT. Typical usage is to cope with paths
+	  containing spaces on Windows. Various fixes have been done
+	  to improve the support of spaces in paths</li>
+
+	  <li class="new">The <tt>pacman</tt> source file for CMT now
+	  includes a constraint on the version of Pacman.</li>
+
+	  <li class="bug">Added a mechanism to filter out bad items in
+	  a PATH symbol. This was causing troubles at <tt>source
+	  setup</tt> time</li>
+
+	  <li class="bug">Added a protection against old protocols in
+	  the CVS pluggin</li>
+
+	  <li class="bug">Better support of release-less projects on
+	  Windows</li>
+
+	  <li class="bug">Added a protection against single level
+	  directories in CMTPATH</li>
+
+	  <li class="bug">Added a protection against unexisting
+	  makefile fragments when running the <tt>clean</tt> target.</li>
+
+	  <li class="bug">The definition of standard macros was not
+	  properly set when using the <tt>cmt broadcast</tt>
+	  command. Thus environment variables where badly preset.</li>
+
+	  <li class="int">Improve the automatic preparation of CMT releases</li>
+
+	  <li class="int">The internal <tt>Makefile</tt> structure has
+	  been cleaned up to remove obsolete internal targets (leading
+	  to confusing behavours in some cases)</li>
+
+        </ul>
+
+      </li>
 
       <li>
