From 3a04ee14eb94ec69fb9b1e0a8ca5bc2e209cf38c Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Tue, 17 Aug 2004 06:01:13 +0000 Subject: Incorporate changes from pre-release reviews. --- doc/SConscript | 37 ++++++++++---- doc/scons.mod | 3 +- doc/user/MANIFEST | 4 ++ doc/user/SCons-win32-install-1.jpg | Bin 0 -> 28857 bytes doc/user/SCons-win32-install-2.jpg | Bin 0 -> 27131 bytes doc/user/SCons-win32-install-3.jpg | Bin 0 -> 25137 bytes doc/user/SCons-win32-install-4.jpg | Bin 0 -> 19549 bytes doc/user/build-install.in | 42 +++++++++++++++- doc/user/build-install.sgml | 42 +++++++++++++++- doc/user/java.in | 99 ++++++++++++++++++++++++++++++++++++- doc/user/java.sgml | 59 ++++++++++++++++++++++ doc/user/sconf.in | 20 ++++++-- doc/user/sconf.sgml | 20 ++++++-- src/CHANGES.txt | 17 ++++--- src/RELEASE.txt | 7 +-- src/test_copyrights.py | 4 ++ 16 files changed, 324 insertions(+), 30 deletions(-) create mode 100644 doc/user/SCons-win32-install-1.jpg create mode 100644 doc/user/SCons-win32-install-2.jpg create mode 100644 doc/user/SCons-win32-install-3.jpg create mode 100644 doc/user/SCons-win32-install-4.jpg diff --git a/doc/SConscript b/doc/SConscript index d33712b..ce5dd6d 100644 --- a/doc/SConscript +++ b/doc/SConscript @@ -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, [ diff --git a/doc/scons.mod b/doc/scons.mod index 3b15c64..58a6576 100644 --- a/doc/scons.mod +++ b/doc/scons.mod @@ -184,7 +184,8 @@ CheckCXXHeader"> CheckFunc"> CheckHeader"> -CheckLibrary"> +CheckLib"> +CheckLibWithHeader"> CheckType"> TryAction"> TryBuild"> diff --git a/doc/user/MANIFEST b/doc/user/MANIFEST index 58ac2fc..e266393 100644 --- a/doc/user/MANIFEST +++ b/doc/user/MANIFEST @@ -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 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 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 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 index 0000000..d37973b Binary files /dev/null and b/doc/user/SCons-win32-install-4.jpg differ diff --git a/doc/user/build-install.in b/doc/user/build-install.in index 164aabe..0f63bd9 100644 --- a/doc/user/build-install.in +++ b/doc/user/build-install.in @@ -256,7 +256,7 @@ Download the scons-0.95.win32.exe file from the &SCons; download page at http://www.scons.org/download.html. - 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 @@ -305,6 +305,46 @@ --> + + diff --git a/doc/user/build-install.sgml b/doc/user/build-install.sgml index 164aabe..0f63bd9 100644 --- a/doc/user/build-install.sgml +++ b/doc/user/build-install.sgml @@ -256,7 +256,7 @@ Download the scons-0.95.win32.exe file from the &SCons; download page at http://www.scons.org/download.html. - 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 @@ -305,6 +305,46 @@ --> + + diff --git a/doc/user/java.in b/doc/user/java.in index 6b22de8..66b9c86 100644 --- a/doc/user/java.in +++ b/doc/user/java.in @@ -117,11 +117,108 @@
How &SCons; Handles Java Dependencies - + + + In addition to searching the source directory for + .java files, + &SCons; actually runs the .java 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 .class files + will be produced by the &javac; call. + So our one-liner example from the preceding section: + + + + + + Java('classes', 'src') + + + 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"); + } + } + + + public class Example2 + { + class Inner2 { + public static void main(String[] args) + { + System.out.println("Hello Java world!\n"); + } + } + } + + + 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"); + } + } + + + + + + Will not only tell you reliably + that the .class files + in the classes subdirectory + are up-to-date: + + + + scons -Q scons -Q classes + + + But it will also remove all of the generated + .class files, + even for inner classes, + without you having to specify them manually. + For example, if our + Example1.java + and + Example3.java + files both define additional classes, + and the class defined in Example2.java + has an inner class, + running scons -c + will clean up all of those .class files + as well: + + + + + scons -Q + scons -Q -c classes + +
diff --git a/doc/user/java.sgml b/doc/user/java.sgml index 98135b0..e3eee53 100644 --- a/doc/user/java.sgml +++ b/doc/user/java.sgml @@ -89,6 +89,34 @@
How &SCons; Handles Java Dependencies + + + In addition to searching the source directory for + .java files, + &SCons; actually runs the .java 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 .class files + will be produced by the &javac; call. + So our one-liner example from the preceding section: + + + + + Java('classes', 'src') + + + + + Will not only tell you reliably + that the .class files + in the classes subdirectory + are up-to-date: + + + % scons -Q javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java @@ -96,6 +124,37 @@ scons: `classes' is up to date. + + + But it will also remove all of the generated + .class files, + even for inner classes, + without you having to specify them manually. + For example, if our + Example1.java + and + Example3.java + files both define additional classes, + and the class defined in Example2.java + has an inner class, + running scons -c + will clean up all of those .class files + as well: + + + + + % scons -Q + javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java + % scons -Q -c classes + 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 + +
diff --git a/doc/user/sconf.in b/doc/user/sconf.in index 309e862..525b0fc 100644 --- a/doc/user/sconf.in +++ b/doc/user/sconf.in @@ -153,7 +153,7 @@ 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 lib prefix or a .a or .lib suffix: @@ -171,9 +171,13 @@ - 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 + and a header file + at the same time by using the + &CheckLibWithHeader; method: @@ -186,6 +190,14 @@ env = conf.Finish() + + + This is essentially shorthand for + separate calls to the &CheckHeader; and &CheckLib; + functions. + + +
diff --git a/doc/user/sconf.sgml b/doc/user/sconf.sgml index 715ba67..2e2a698 100644 --- a/doc/user/sconf.sgml +++ b/doc/user/sconf.sgml @@ -153,7 +153,7 @@ 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 lib prefix or a .a or .lib suffix: @@ -171,9 +171,13 @@ - 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 + and a header file + at the same time by using the + &CheckLibWithHeader; method: @@ -186,6 +190,14 @@ env = conf.Finish() + + + This is essentially shorthand for + separate calls to the &CheckHeader; and &CheckLib; + functions. + + +
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 6b6fdea..9d21296 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -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 diff --git a/src/RELEASE.txt b/src/RELEASE.txt index 0e63771..3183cfa 100644 --- a/src/RELEASE.txt +++ b/src/RELEASE.txt @@ -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 diff --git a/src/test_copyrights.py b/src/test_copyrights.py index b0ab396..1671dbd 100644 --- a/src/test_copyrights.py +++ b/src/test_copyrights.py @@ -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 = [ -- cgit v0.12