Incorporate changes from pre-release reviews.
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Tue, 17 Aug 2004 06:01:13 +0000 (06:01 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Tue, 17 Aug 2004 06:01:13 +0000 (06:01 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@1031 fdb21ef1-2011-0410-befe-b5e4ea1792b1

16 files changed:
doc/SConscript
doc/scons.mod
doc/user/MANIFEST
doc/user/SCons-win32-install-1.jpg [new file with mode: 0644]
doc/user/SCons-win32-install-2.jpg [new file with mode: 0644]
doc/user/SCons-win32-install-3.jpg [new file with mode: 0644]
doc/user/SCons-win32-install-4.jpg [new file with mode: 0644]
doc/user/build-install.in
doc/user/build-install.sgml
doc/user/java.in
doc/user/java.sgml
doc/user/sconf.in
doc/user/sconf.sgml
src/CHANGES.txt
src/RELEASE.txt
src/test_copyrights.py

index d33712b70eee6906022ca91f295f186055f6125f..ce5dd6d49c40af611a88a4bf7bef9f0f36c358a5 100644 (file)
@@ -144,7 +144,14 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE.  DO NOT EDIT.
                 'ps'        : 1,
                 'pdf'       : 0,
                 'text'      : 0,
-                'graphics'  : [ 'arch', 'builder', 'job-task', 'node', 'scanner', 'sig' ],
+                'graphics'  : [
+                                'arch.fig',
+                                'builder.fig',
+                                'job-task.fig',
+                                'node.fig',
+                                'scanner.fig',
+                                'sig.fig'
+                              ],
         },
         'reference' : {
                 'htmlindex' : 'book1.html',
@@ -159,6 +166,12 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE.  DO NOT EDIT.
                 'ps'        : 1,
                 'pdf'       : 1,
                 'text'      : 0,
+                'graphics'  : [
+                                'SCons-win32-install-1.jpg',
+                                'SCons-win32-install-2.jpg',
+                                'SCons-win32-install-3.jpg',
+                                'SCons-win32-install-4.jpg',
+                              ],
         },
     }
 
@@ -234,14 +247,17 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE.  DO NOT EDIT.
             tar_deps.extend([html, htmlindex])
             tar_list.extend([html, htmldir])
 
-            if fig2dev:
-                for g in docs[doc].get('graphics', []):
-                    fig = os.path.join(build, doc, '%s.fig' % g)
-                    jpg = os.path.join(htmldir, '%s.jpg' % g)
+            for g in docs[doc].get('graphics', []):
+                if g[-4:] == '.fig' and fig2dev:
+                    fig = os.path.join(build, doc, g)
+                    jpg = os.path.join(htmldir, g[:-4] + '.jpg')
                     env.Command(jpg, fig,
                                 "%s -L jpeg -q 100 $SOURCES $TARGET" % fig2dev)
                     env.Depends(html, jpg)
                     Local(jpg)
+                else:
+                    src = os.path.join(build, doc, g)
+                    Local(env.Install(htmldir, src))
 
         if docs[doc].get('ps') and jadetex:
             env.Command(ps, main, [
@@ -257,13 +273,16 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE.  DO NOT EDIT.
             tar_deps.append(ps)
             tar_list.append(ps)
 
-            if fig2dev:
-                for g in docs[doc].get('graphics', []):
-                    fig = os.path.join(build, doc, '%s.fig' % g)
-                    eps = os.path.join(build, 'PS', '%s.eps' % g)
+            for g in docs[doc].get('graphics', []):
+                if g[-4:] == '.fig' and fig2dev:
+                    fig = os.path.join(build, doc, g)
+                    eps = os.path.join(build, 'PS', g[:-4] + '.eps')
                     env.Command(eps, fig, "%s -L eps $SOURCES $TARGET" % fig2dev)
                     env.Depends(ps, eps)
                     Local(eps)
+                else:
+                    src = os.path.join(build, doc, g)
+                    Local(env.Install(htmldir, src))
 
         if docs[doc].get('pdf') and pdfjadetex:
             env.Command(pdf, main, [
index 3b15c640ad15f3a9b76d1b583c2d4806ca6623d1..58a6576aa2de6b831419e65ed5f7ef5b69c914cb 100644 (file)
 <!ENTITY CheckCXXHeader "<function>CheckCXXHeader</function>">
 <!ENTITY CheckFunc "<function>CheckFunc</function>">
 <!ENTITY CheckHeader "<function>CheckHeader</function>">
-<!ENTITY CheckLibrary "<function>CheckLibrary</function>">
+<!ENTITY CheckLib "<function>CheckLib</function>">
+<!ENTITY CheckLibWithHeader "<function>CheckLibWithHeader</function>">
 <!ENTITY CheckType "<function>CheckType</function>">
 <!ENTITY TryAction "<function>TryAction</function>">
 <!ENTITY TryBuild "<function>TryBuild</function>">
index 58ac2fc7280de27e164a1dcd90a42dc02c4129c3..e266393121833f641908839fe48ba4f0b8d6a651 100644 (file)
@@ -36,3 +36,7 @@ sourcecode.sgml
 tasks.sgml
 troubleshoot.sgml
 variants.sgml
+SCons-win32-install-1.jpg
+SCons-win32-install-2.jpg
+SCons-win32-install-3.jpg
+SCons-win32-install-4.jpg
diff --git a/doc/user/SCons-win32-install-1.jpg b/doc/user/SCons-win32-install-1.jpg
new file mode 100644 (file)
index 0000000..ecc439d
Binary files /dev/null and b/doc/user/SCons-win32-install-1.jpg differ
diff --git a/doc/user/SCons-win32-install-2.jpg b/doc/user/SCons-win32-install-2.jpg
new file mode 100644 (file)
index 0000000..f468526
Binary files /dev/null and b/doc/user/SCons-win32-install-2.jpg differ
diff --git a/doc/user/SCons-win32-install-3.jpg b/doc/user/SCons-win32-install-3.jpg
new file mode 100644 (file)
index 0000000..90d2ed4
Binary files /dev/null and b/doc/user/SCons-win32-install-3.jpg differ
diff --git a/doc/user/SCons-win32-install-4.jpg b/doc/user/SCons-win32-install-4.jpg
new file mode 100644 (file)
index 0000000..d37973b
Binary files /dev/null and b/doc/user/SCons-win32-install-4.jpg differ
index 164aabe5c158395ff210bd599aa17671c033a7fb..0f63bd9038045ed0f9c586028d5fd8747c960d08 100644 (file)
       Download the <filename>scons-0.95.win32.exe</filename>
       file from the &SCons; download page at
       <ulink url="http://www.scons.org/download.html">http://www.scons.org/download.html</ulink>.
-      Then all you need to is execute the file
+      Then all you need to do is execute the file
       (usually by clicking on its icon in Windows Explorer).
       These will take you through a small
       sequence of windows that will install
 
       -->
 
+      <!--
+
+      XXX - don't have the kinks worked out on how to
+      get these to display properly in all formats,
+      so comment them out for now.
+
+      <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="SCons-win32-install-1.jpg" format="jpg" align="center">
+        </imageobject>
+      </mediaobject>
+      </screenshot>
+
+      <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="SCons-win32-install-2.jpg" format="jpg" align="center">
+        </imageobject>
+      </mediaobject>
+      </screenshot>
+
+      <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="SCons-win32-install-3.jpg" format="jpg" align="center">
+        </imageobject>
+      </mediaobject>
+      </screenshot>
+
+      <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="SCons-win32-install-4.jpg" format="jpg" align="center">
+        </imageobject>
+      </mediaobject>
+      </screenshot>
+
+      -->
+
     </section>
 
   </section>
index 164aabe5c158395ff210bd599aa17671c033a7fb..0f63bd9038045ed0f9c586028d5fd8747c960d08 100644 (file)
       Download the <filename>scons-0.95.win32.exe</filename>
       file from the &SCons; download page at
       <ulink url="http://www.scons.org/download.html">http://www.scons.org/download.html</ulink>.
-      Then all you need to is execute the file
+      Then all you need to do is execute the file
       (usually by clicking on its icon in Windows Explorer).
       These will take you through a small
       sequence of windows that will install
 
       -->
 
+      <!--
+
+      XXX - don't have the kinks worked out on how to
+      get these to display properly in all formats,
+      so comment them out for now.
+
+      <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="SCons-win32-install-1.jpg" format="jpg" align="center">
+        </imageobject>
+      </mediaobject>
+      </screenshot>
+
+      <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="SCons-win32-install-2.jpg" format="jpg" align="center">
+        </imageobject>
+      </mediaobject>
+      </screenshot>
+
+      <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="SCons-win32-install-3.jpg" format="jpg" align="center">
+        </imageobject>
+      </mediaobject>
+      </screenshot>
+
+      <screenshot>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="SCons-win32-install-4.jpg" format="jpg" align="center">
+        </imageobject>
+      </mediaobject>
+      </screenshot>
+
+      -->
+
     </section>
 
   </section>
index 6b22de84034a5c3deb2f25743e3f84d425291882..66b9c8675c9fc968087ff19fa061f0a0effd2cbf 100644 (file)
   <section>
   <title>How &SCons; Handles Java Dependencies</title>
 
-    <scons_output example="java">
+    <para>
+
+    In addition to searching the source directory for
+    <filename>.java</filename> files,
+    &SCons; actually runs the <filename>.java</filename> files
+    through a stripped-down Java parser that figures out
+    what classes are defined.
+    In other words, &SCons; knows,
+    without you having to tell it,
+    what <filename>.class</filename> files
+    will be produced by the &javac; call.
+    So our one-liner example from the preceding section:
+
+    </para>
+
+    <scons_example name="java-classes">
+      <file name="SConstruct" printme="1">
+      Java('classes', 'src')
+      </file>
+      <file name="src/Example1.java">
+      public class Example1
+      {
+        public static void main(String[] args)
+        {
+          System.out.println("Hello Java world!\n");
+        }
+      }
+      public class AdditionalClass1
+      {
+        public static void main(String[] args)
+        {
+          System.out.println("Hello Java world!\n");
+        }
+      }
+      </file>
+      <file name="src/Example2.java">
+      public class Example2
+      {
+        class Inner2 {
+          public static void main(String[] args)
+          {
+            System.out.println("Hello Java world!\n");
+          }
+        }
+      }
+      </file>
+      <file name="src/Example3.java">
+      public class Example3
+      {
+        public static void main(String[] args)
+        {
+          System.out.println("Hello Java world!\n");
+        }
+      }
+      public class AdditionalClass3
+      {
+        public static void main(String[] args)
+        {
+          System.out.println("Hello Java world!\n");
+        }
+      }
+      </file>
+    </scons_example>
+
+    <para>
+
+    Will not only tell you reliably
+    that the <filename>.class</filename> files
+    in the <filename>classes</filename> subdirectory 
+    are up-to-date:
+
+    </para>
+
+    <scons_output example="java-classes">
       <command>scons -Q</command>
       <command>scons -Q classes</command>
     </scons_output>
 
+    <para>
+
+    But it will also remove all of the generated
+    <filename>.class</filename> files,
+    even for inner classes,
+    without you having to specify them manually.
+    For example, if our
+    <filename>Example1.java</filename>
+    and
+    <filename>Example3.java</filename>
+    files both define additional classes,
+    and the class defined in <filename>Example2.java</filename>
+    has an inner class,
+    running <userinput>scons -c</userinput>
+    will clean up all of those <filename>.class</filename> files
+    as well:
+
+    </para>
+
+    <scons_output example="java-classes">
+      <command>scons -Q</command>
+      <command>scons -Q -c classes</command>
+    </scons_output>
+
   </section>
 
   <section>
index 98135b0db40ce6a5ca7228c7fc81b76f7fb045c5..e3eee533a42584a90b5f9e528771a6e4d277bc58 100644 (file)
   <section>
   <title>How &SCons; Handles Java Dependencies</title>
 
+    <para>
+
+    In addition to searching the source directory for
+    <filename>.java</filename> files,
+    &SCons; actually runs the <filename>.java</filename> files
+    through a stripped-down Java parser that figures out
+    what classes are defined.
+    In other words, &SCons; knows,
+    without you having to tell it,
+    what <filename>.class</filename> files
+    will be produced by the &javac; call.
+    So our one-liner example from the preceding section:
+
+    </para>
+
+    <programlisting>
+      Java('classes', 'src')
+    </programlisting>
+
+    <para>
+
+    Will not only tell you reliably
+    that the <filename>.class</filename> files
+    in the <filename>classes</filename> subdirectory 
+    are up-to-date:
+
+    </para>
+
     <screen>
       % <userinput>scons -Q</userinput>
       javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java
       scons: `classes' is up to date.
     </screen>
 
+    <para>
+
+    But it will also remove all of the generated
+    <filename>.class</filename> files,
+    even for inner classes,
+    without you having to specify them manually.
+    For example, if our
+    <filename>Example1.java</filename>
+    and
+    <filename>Example3.java</filename>
+    files both define additional classes,
+    and the class defined in <filename>Example2.java</filename>
+    has an inner class,
+    running <userinput>scons -c</userinput>
+    will clean up all of those <filename>.class</filename> files
+    as well:
+
+    </para>
+
+    <screen>
+      % <userinput>scons -Q</userinput>
+      javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java
+      % <userinput>scons -Q -c classes</userinput>
+      Removed classes/Example1.class
+      Removed classes/AdditionalClass1.class
+      Removed classes/Example2$Inner2.class
+      Removed classes/Example2.class
+      Removed classes/Example3.class
+      Removed classes/AdditionalClass3.class
+    </screen>
+
   </section>
 
   <section>
index 309e8629a80aa7a6f68391ae82a2aee567e3ee3f..525b0fc4d01410f4b3dc89fe665dc23b556ecd8e 100644 (file)
     <para>
 
     Check for the availability of a library
-    using the &CheckLibrary; method.
+    using the &CheckLib; method.
     You only specify the basename of the library,
     you don't need to add a <literal>lib</literal>
     prefix or a <literal>.a</literal> or <literal>.lib</literal> suffix:
 
     <para>
 
-    If the library requires the inclusion of
-    a header file to compile successfully,
-    add that as a second argument:
+    Because the ability to use a library successfully
+    often depends on having access to a header file
+    that describes the library's interface,
+    you can check for a library
+    <emphasis>and</emphasis> a header file
+    at the same time by using the
+    &CheckLibWithHeader; method:
 
     </para>
 
     env = conf.Finish()
     </sconstruct>
 
+    <para>
+
+    This is essentially shorthand for
+    separate calls to the &CheckHeader; and &CheckLib;
+    functions.
+
+    </para>
+
   </section>
 
   <section>
index 715ba671f81bb9d25497ba3fa9ef9a2476dc812d..2e2a698a8f41410d5370ad5ba162c6efa5c22bcc 100644 (file)
     <para>
 
     Check for the availability of a library
-    using the &CheckLibrary; method.
+    using the &CheckLib; method.
     You only specify the basename of the library,
     you don't need to add a <literal>lib</literal>
     prefix or a <literal>.a</literal> or <literal>.lib</literal> suffix:
 
     <para>
 
-    If the library requires the inclusion of
-    a header file to compile successfully,
-    add that as a second argument:
+    Because the ability to use a library successfully
+    often depends on having access to a header file
+    that describes the library's interface,
+    you can check for a library
+    <emphasis>and</emphasis> a header file
+    at the same time by using the
+    &CheckLibWithHeader; method:
 
     </para>
 
     env = conf.Finish()
     </programlisting>
 
+    <para>
+
+    This is essentially shorthand for
+    separate calls to the &CheckHeader; and &CheckLib;
+    functions.
+
+    </para>
+
   </section>
 
   <section>
index 6b6fdeae598e3840f0cc5cf5d33b84f7b4ee2da2..9d21296ae38db6fd0044cb115b3f5f8cf8902fe2 100644 (file)
@@ -253,6 +253,17 @@ RELEASE 0.96 - XXX
   - Allow the env.WhereIs() method to take a "reject" argument to
     let it weed out specific path names.
 
+  From Christoph Wiedemann:
+
+  - Add new Moc() and Uic() Builders for more explicit control over
+    Qt builds, plus new construction variables to control them:
+    $QT_AUTOSCAN, $QT_DEBUG, $QT_MOCCXXPREFIX, $QT_MOCCXXSUFFIX,
+    $QT_MOCHPREFIX, $QT_MOCHSUFFIX, $QT_UICDECLPREFIX, $QT_UICDECLSUFFIX,
+    $QT_UICIMPLPREFIX, $QT_UICIMPLSUFFIX and $QT_UISUFFIX.
+
+  - Add a new single_source keyword argument for Builders that enforces
+    a single source file on calls to the Builder.
+
 
 
 RELEASE 0.95 - Mon, 08 Mar 2004 06:43:20 -0600
@@ -489,12 +500,6 @@ RELEASE 0.95 - Mon, 08 Mar 2004 06:43:20 -0600
     the flags from the environment used to specify the target, not
     the environment that first has the Qt Builders attached.
 
-  - Add new Moc() and Uic() Builders for Qt, and a slew of $QT_*
-    construction variables to control them.
-
-  - Add a new single_source keyword argument for Builders that enforces
-    a single source file on calls to the Builder.
-
 
 
 RELEASE 0.94 - Fri, 07 Nov 2003 05:29:48 -0600
index 0e637711e6908dabf62435ca22ae8805815b59f1..3183cfa1893f9a5c07fb339abbbdb0e766ecc106 100644 (file)
@@ -84,9 +84,10 @@ RELEASE 0.96 - XXX
           DScan.add_skey('.x')       => env.Append(DSUFFIXES = ['.x'])
           FortranScan.add_skey('.x') => env.Append(FORTRANSUFFIXES = ['.x'])
 
-    - The internal "node_factory" keyword argument has been removed;
-      the separate and more flexible "target_factory" and "source_factory"
-      keywords should be used instead.
+    - The "node_factory" and "scanner" keyword arguments to the Builder()
+      function have been removed.  In their place, the separate and more
+      flexible "target_factory," "source_factory," "target_scanner" and
+      "source scanner" keywords should be used instead.
 
     - SCons now treats file "extensions" that contain all digits (for
       example, "file.123") as part of the file basename, for easier
index b0ab39622993e71b0badfbb04dab7d9f38dea243..1671dbd0ec82d6989382467b0b315a29e4c7a0ee 100644 (file)
@@ -77,6 +77,10 @@ remove_list = [
         'MANIFEST',
         'os_spawnv_fix.diff',
         'setup.cfg',
+        'SCons-win32-install-1.jpg',
+        'SCons-win32-install-2.jpg',
+        'SCons-win32-install-3.jpg',
+        'SCons-win32-install-4.jpg',
 ]
 
 src_remove_list = [