From 021a6bb3ef12da0f3ea661d12c03882cd7769f69 Mon Sep 17 00:00:00 2001 From: stevenknight Date: Tue, 17 Aug 2004 06:01:13 +0000 Subject: [PATCH] Incorporate changes from pre-release reviews. git-svn-id: http://scons.tigris.org/svn/scons/trunk@1031 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- 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 d33712b7..ce5dd6d4 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 3b15c640..58a6576a 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 58ac2fc7..e2663931 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 0000000000000000000000000000000000000000..ecc439dbd2f40f6823875b222faaa53826e36002 GIT binary patch literal 28857 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 CLT9-E literal 0 HcmV?d00001 diff --git a/doc/user/build-install.in b/doc/user/build-install.in index 164aabe5..0f63bd90 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 164aabe5..0f63bd90 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 6b22de84..66b9c867 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 98135b0d..e3eee533 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 309e8629..525b0fc4 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 715ba671..2e2a698a 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 6b6fdeae..9d21296a 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 0e637711..3183cfa1 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 b0ab3962..1671dbd0 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 = [ -- 2.26.2