diff options
Diffstat (limited to 'doc')
32 files changed, 1333 insertions, 753 deletions
diff --git a/doc/SConscript b/doc/SConscript index d9afc238..6dbf33de 100644 --- a/doc/SConscript +++ b/doc/SConscript @@ -29,25 +29,43 @@ import os.path import re import sys import glob -import SConsDoc -import SConsExamples + import bootstrap Import('build_dir', 'env', 'whereis', 'revaction') -env = env.Clone() +# +# -- Check prerequisites for building the documentation --- +# +skip_doc = False -build = os.path.join(build_dir, 'doc') +try: + import SConsDoc + import SConsExamples +except ImportError as exc: + print("doc: SConsDoc failed to import, the error was:") + print(" ImportError: %s" % exc) + print(" Please make sure that python-libxml2 or python-lxml is installed.") + skip_doc = True fop = whereis('fop') xep = whereis('xep') + +if not fop and not xep: + print "doc: No PDF renderer found (fop|xep)!" + skip_doc = True + +# +# --- Configure build +# +env = env.Clone() + +build = os.path.join(build_dir, 'doc') + epydoc_cli = whereis('epydoc') gs = whereis('gs') lynx = whereis('lynx') -# -# -# dist_doc_tar_gz = '$DISTDIR/scons-doc-${VERSION}.tar.gz' tar_deps = [] @@ -56,7 +74,9 @@ tar_list = [] orig_env = env env = orig_env.Clone(SCONS_PY = File('#src/script/scons.py').rfile()) - +# +# --- Helpers --- +# def writeVersionXml(verfile, date, ver, rev): """ Helper function: Write a version.xml file. """ try: @@ -76,31 +96,54 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY buildrevision "%s"> """ % (date, ver, rev)) + +# The names of the target files for the MAN pages +man_page_list = ['scons.1','scons-time.1','sconsign.1'] + +# Template for the MAN page texts when we can't properly +# create them because the skip_doc flag is set (required +# modules/tools aren't installed in the current system) +man_replace_tpl = """.TH "%(uctitle)s" "1" "%(today)s" "SCons %(version)s" "SCons %(version)s" +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.nh +.ad l +.SH "NOTE" +%(title)s \- This is a replacement file, stemming from an incomplete +packaging process without the required doc modules installed. Please +update the system and try running bootstrap.py again. +""" + # -# Check whether we have all tools installed for -# building the documentation. +# --- Processing --- # -skip_doc = False -try: - import libxml2 -except: - try: - import lxml - except: - print("doc: Neither libxml2 nor lxml Python bindings found!") - print(" Please install one of the packages python-libxml2 or python-lxml.") - skip_doc = True - -if not fop and not xep: - print("doc: No PDF renderer found (fop|xep)!") - skip_doc = True - + if skip_doc: print("doc: ...skipping building User Guide.") + print(" ...creating fake MAN pages.") + + # Since the top-level SConstruct requires the MAN + # pages to exist for the basic packaging, we create simple + # stub texts here as replacement... + scdir = os.path.join(build, 'man') + if not os.path.isdir(scdir): + os.makedirs(scdir) + + import datetime + today = datetime.date.today().strftime("%m/%d/%Y") + version = env.subst('$VERSION') + for m in man_page_list: + man, _ = os.path.splitext(m) + fman = open(os.path.join(scdir, m), "w") + fman.write(man_replace_tpl % {'uctitle' : man.upper().replace("-", "\\-"), + 'today' : today, + 'title' : man, + 'version' : version}) + fman.close() else: if not lynx: print("doc: Warning, lynx is not installed...created release packages won't be complete!") - + # # Always create a version.xml file containing the version information # for this run. Ignore it for dependency purposes so we don't @@ -116,7 +159,7 @@ else: # # Builder for copying files to an Install dir, based # on their extension (better: glob matching pattern)... - # + # def _glob_install_action(target, source, env): if not SCons.Util.is_List(target): target = [target] @@ -129,7 +172,7 @@ else: target = [target] if not SCons.Util.is_List(source): source = [source] - + res = [] res_src = [] tdir = env.Dir(target[0]) @@ -144,7 +187,7 @@ else: # # Builder for copying ChunkedHTML files to an Install dir... - # + # def _chunked_install_action(target, source, env): if not SCons.Util.is_List(target): target = [target] @@ -154,13 +197,13 @@ else: spattern = os.path.join(os.path.split(str(source[0]))[0], '*.html') for g in glob.glob(spattern): shutil.copy(g, tdir) - + def _chunked_install_emitter(target, source, env): if not SCons.Util.is_List(target): target = [target] if not SCons.Util.is_List(source): source = [source] - + tdir = env.Dir(target[0]) head, tail = os.path.split(str(source[0])) return os.path.join(str(tdir), tail), source @@ -178,18 +221,18 @@ else: print("OK") else: print("Validation failed! Please correct the errors above and try again.") - sys.exit(0) - + sys.exit(1) + print("Checking whether all example names are unique...") if SConsExamples.exampleNamesAreUnique(os.path.join('doc','user')): print("OK") else: print("Not all example names and suffixes are unique! Please correct the errors listed above and try again.") - sys.exit(0) - + sys.exit(1) + # List of prerequisite files in the build/doc folder buildsuite = [] - + def copy_dbfiles(env, toolpath, paths, fpattern, use_builddir=True): """ Helper function, copies a bunch of files matching the given fpattern to a target directory. @@ -210,7 +253,7 @@ else: target_dir = env.Dir(os.path.join(*(toolpath+paths))) buildsuite.extend(env.GlobInstall(target_dir, os.path.join(*(paths + fpattern)))) - + # # Copy generated files (.gen/.mod/.xml) to the build folder # @@ -259,7 +302,7 @@ else: # installing/copying them to the build directory. It basically # links the original sources to the respective build folder, # such that a simple 'python bootstrap.py' rebuilds the - # documentation when a file, like 'doc/user/depends.xml' + # documentation when a file, like 'doc/user/depends.xml' # for example, changes. # Finally, in DOCNODES we store the created PDF and HTML files, # such that we can then install them in the proper places for @@ -274,10 +317,7 @@ else: 'user' : (['chunked','html','pdf','epub','text'], [], []), 'man' : (['man','epub','text'], [], []) } - - # The names of the target files for the MAN pages - man_page_list = ['scons.1','scons-time.1','sconsign.1'] - + # # We have to tell SCons to scan the top-level XML files which # get included by the document XML files in the subdirectories. @@ -289,15 +329,15 @@ else: continue base, ext = os.path.splitext(s) if ext in ['.fig', '.jpg']: - buildsuite.extend(env.Command(os.path.join(build, s), - s, + buildsuite.extend(env.Command(os.path.join(build, s), + s, Copy("$TARGET", "$SOURCE"))) else: revaction([env.File(os.path.join(build, s))], [env.File(s)], env) for doc in docs: - + # # Read MANIFEST file and copy the listed files to the # build directory, while branding them with the @@ -321,7 +361,7 @@ else: else: target_dir = os.path.join(build, doc) if ext in ['.fig', '.jpg', '.svg']: - docs[doc][DOCDEPENDS].extend(env.Command(build_s, doc_s, + docs[doc][DOCDEPENDS].extend(env.Command(build_s, doc_s, Copy("$TARGET", "$SOURCE"))) else: btarget = env.File(build_s) @@ -351,18 +391,18 @@ else: sctargets.append(env.File(os.path.join(scdir, 'scons-%s.pdf' % doc))) if 'epub' in docs[doc][DOCTARGETS]: sctargets.append(env.File(os.path.join(scdir, 'scons-%s.epub' % doc))) - + if 'man' in docs[doc][DOCTARGETS]: for m in man_page_list: sctargets.append(os.path.join(scdir, m)) man, _1 = os.path.splitext(m) - + sctargets.append(os.path.join(scdir, 'scons-%s.pdf' % man)) sctargets.append(os.path.join(scdir, 'scons-%s.html' % man)) - - docs[doc][DOCNODES].extend(env.Command(sctargets, buildsuite + docs[doc][DOCDEPENDS], + + docs[doc][DOCNODES].extend(env.Command(sctargets, buildsuite + docs[doc][DOCDEPENDS], "cd %s && $PYTHON ${SCONS_PY.abspath}%s" % (scdir, cleanopt))) - + install_css = False for doc in docs: @@ -374,13 +414,13 @@ else: epub = os.path.join(build, 'EPUB', 'scons-%s.epub' % doc) text = os.path.join(build, 'TEXT', 'scons-%s.txt' % doc) if 'chunked' in docs[doc][DOCTARGETS]: - installed_chtml = env.ChunkedInstall(env.Dir(htmldir), + installed_chtml = env.ChunkedInstall(env.Dir(htmldir), os.path.join(build, doc,'scons-%s' % doc, 'index.html')) installed_chtml_css = env.Install(env.Dir(htmldir), os.path.join(build, doc, 'scons.css')) env.Depends(installed_chtml, docs[doc][DOCNODES]) env.Depends(installed_chtml_css, docs[doc][DOCNODES]) - + tar_deps.extend([htmlindex, installed_chtml_css]) tar_list.extend([htmldir]) Local(htmlindex) @@ -393,7 +433,7 @@ else: Local(html) env.Ignore(html, version_xml) install_css = True - + if 'pdf' in docs[doc][DOCTARGETS]: env.InstallAs(env.File(pdf), env.File(os.path.join(build, doc,'scons-%s.pdf' % doc))) Local(pdf) @@ -409,14 +449,14 @@ else: tar_deps.append(epub) tar_list.append(epub) - - if ('text' in docs[doc][DOCTARGETS] and lynx and + + if ('text' in docs[doc][DOCTARGETS] and lynx and (('html' in docs[doc][DOCTARGETS]) or (doc == 'man'))): texthtml = os.path.join(build, doc,'index.html') if doc == 'man': # Special handling for single MAN file texthtml = os.path.join(build, doc, 'scons-scons.html') - + env.Command(text, env.File(texthtml), "lynx -dump ${SOURCE.abspath} > $TARGET") Local(text) @@ -424,21 +464,21 @@ else: tar_deps.append(text) tar_list.append(text) - - + + if 'man' in docs[doc][DOCTARGETS]: # # Man page(s) # for m in man_page_list: man, _1 = os.path.splitext(m) - + pdf = os.path.join(build, 'PDF', '%s-man.pdf' % man) html = os.path.join(build, 'HTML' , '%s-man.html' % man) - + env.InstallAs(env.File(pdf), env.File(os.path.join(build, 'man','scons-%s.pdf' % man))) env.InstallAs(env.File(html), env.File(os.path.join(build, 'man','scons-%s.html' % man))) - + tar_deps.extend([pdf, html]) tar_list.extend([pdf, html]) @@ -446,7 +486,7 @@ else: # Install CSS file, common to all single HTMLs if install_css: css_file = os.path.join(build, 'HTML', 'scons.css') - env.InstallAs(env.File(css_file), + env.InstallAs(env.File(css_file), env.File(os.path.join(build, 'user','scons.css'))) tar_deps.extend([css_file]) tar_list.extend([css_file]) @@ -502,7 +542,7 @@ if not epydoc_cli: # http://epydoc.svn.sourceforge.net/viewvc/epydoc/trunk/epydoc/src/epydoc/cli.py elif env['EPYDOCFLAGS'] == '--pdf': - pdf_writer = LatexWriter(docindex, + pdf_writer = LatexWriter(docindex, docformat='restructuredText', prj_name='SCons', prj_url='http://www.scons.org/') @@ -522,7 +562,7 @@ else: # epydoc_cli is found Touch('$TARGET'), ] - + if not epydoc_cli and not epydoc: print("doc: epydoc not found, skipping building API documentation.") else: diff --git a/doc/design/titlepage/SConsBuildBricks_path.svg b/doc/design/titlepage/SConsBuildBricks_path.svg index ed0c60d7..0d7f63e0 100644 --- a/doc/design/titlepage/SConsBuildBricks_path.svg +++ b/doc/design/titlepage/SConsBuildBricks_path.svg @@ -14,9 +14,9 @@ height="80.330002" id="svg2" sodipodi:version="0.32" - inkscape:version="0.48.1 r9760" + inkscape:version="0.48.4 r9939" version="1.0" - sodipodi:docname="SConsBuildBricks.svg" + sodipodi:docname="SConsBuildBricks_path.svg" inkscape:export-filename="Constructs-using-SCons.png" inkscape:export-xdpi="100" inkscape:export-ydpi="100"> @@ -77,24 +77,22 @@ </cc:Agent> </dc:contributor> <cc:license - rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/" /> + rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" /> </cc:Work> <cc:License - rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.5/"> + rdf:about="http://creativecommons.org/licenses/by-sa/3.0/"> <cc:permits - rdf:resource="http://web.resource.org/cc/Reproduction" /> + rdf:resource="http://creativecommons.org/ns#Reproduction" /> <cc:permits - rdf:resource="http://web.resource.org/cc/Distribution" /> + rdf:resource="http://creativecommons.org/ns#Distribution" /> <cc:requires - rdf:resource="http://web.resource.org/cc/Notice" /> + rdf:resource="http://creativecommons.org/ns#Notice" /> <cc:requires - rdf:resource="http://web.resource.org/cc/Attribution" /> - <cc:prohibits - rdf:resource="http://web.resource.org/cc/CommercialUse" /> + rdf:resource="http://creativecommons.org/ns#Attribution" /> <cc:permits - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> <cc:requires - rdf:resource="http://web.resource.org/cc/ShareAlike" /> + rdf:resource="http://creativecommons.org/ns#ShareAlike" /> </cc:License> </rdf:RDF> </metadata> diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen index 3d534b07..d49156f3 100644 --- a/doc/generated/builders.gen +++ b/doc/generated/builders.gen @@ -486,6 +486,14 @@ and source arguments list different numbers of files or directories. </para> + +<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +env.InstallAs(target = '/usr/local/bin/foo', + source = 'foo_debug') +env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'], + source = ['libFOO.a', 'libBAR.a']) +</example_commands> + </listitem> </varlistentry> <varlistentry id="b-InstallVersionedLib"> @@ -497,17 +505,13 @@ arguments list different numbers of files or directories. </term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -Installs a versioned shared library. The <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> -construction variable should be defined in the environment -to confirm the version number in the library name. -The symlinks appropriate to the architecture will be generated. +Installs a versioned shared library. The symlinks appropriate to the +architecture will be generated based on symlinks of the source library. </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env.InstallAs(target = '/usr/local/bin/foo', - source = 'foo_debug') -env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'], - source = ['libFOO.a', 'libBAR.a']) +env.InstallVersionedLib(target = '/usr/local/bin/foo', + source = 'libxyz.1.5.2.so') </example_commands> </listitem> </varlistentry> @@ -832,161 +836,105 @@ Compile files for languages defined in <filename>LINGUAS</filename> file <term> <function>env.MSVSProject()</function> </term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Builds a Microsoft Visual Studio project file, -and by default builds a solution file as well. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -This builds a Visual Studio project file, based on the version of -Visual Studio that is configured (either the latest installed version, -or the version specified by -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> -in the Environment constructor). -For Visual Studio 6, it will generate a -<filename>.dsp</filename> -file. -For Visual Studio 7 (.NET) and later versions, it will generate a -<filename>.vcproj</filename> -file. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -By default, -this also generates a solution file -for the specified project, -a -<filename>.dsw</filename> -file for Visual Studio 6 -or a -<filename>.sln</filename> -file for Visual Studio 7 (.NET). -This behavior may be disabled by specifying -<literal>auto_build_solution=0</literal> -when you call -<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>, -in which case you presumably want to -build the solution file(s) -by calling the -<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSSolution</function> -Builder (see below). -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> builder -takes several lists of filenames -to be placed into the project file. -These are currently limited to -<literal>srcs</literal>, -<literal>incs</literal>, -<literal>localincs</literal>, -<literal>resources</literal>, -and -<literal>misc</literal>. -These are pretty self-explanatory, but it should be noted that these -lists are added to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SOURCES"><envar>$SOURCES</envar></link> construction variable as strings, -NOT as SCons File Nodes. This is because they represent file -names to be added to the project file, not the source files used to -build the project file. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The above filename lists are all optional, -although at least one must be specified -for the resulting project file to be non-empty. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -In addition to the above lists of values, -the following values may be specified: -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<literal>target</literal>: -The name of the target -<filename>.dsp</filename> -or -<filename>.vcproj</filename> -file. -The correct -suffix for the version of Visual Studio must be used, -but the -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSPROJECTSUFFIX"><envar>$MSVSPROJECTSUFFIX</envar></link> -construction variable -will be defined to the correct value (see example below). -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<literal>variant</literal>: -The name of this particular variant. -For Visual Studio 7 projects, -this can also be a list of variant names. -These are typically things like "Debug" or "Release", but really -can be anything you want. -For Visual Studio 7 projects, -they may also specify a target platform -separated from the variant name by a -<literal>|</literal> -(vertical pipe) -character: -<literal>Debug|Xbox</literal>. -The default target platform is Win32. -Multiple calls to -<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> -with different variants are allowed; -all variants will be added to the project file with their appropriate -build targets and sources. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<literal>buildtarget</literal>: -An optional string, node, or list of strings or nodes -(one per build variant), to tell the Visual Studio debugger -what output target to use in what build variant. -The number of -<literal>buildtarget</literal> -entries must match the number of -<literal>variant</literal> -entries. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<literal>runfile</literal>: -The name of the file that Visual Studio 7 and later -will run and debug. -This appears as the value of the -<literal>Output</literal> -field in the resutling Visual Studio project file. -If this is not specified, -the default is the same as the specified -<literal>buildtarget</literal> -value. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Note that because <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> always executes its build commands -from the directory in which the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> file is located, -if you generate a project file in a different directory -than the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> directory, -users will not be able to double-click -on the file name in compilation error messages -displayed in the Visual Studio console output window. -This can be remedied by adding the -Visual C/C++ -<literal>/FC</literal> -compiler option to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCFLAGS"><envar>$CCFLAGS</envar></link> variable -so that the compiler will print -the full path name of any -files that cause compilation errors. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Example usage: -</para> - -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -barsrcs = ['bar.cpp'], + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> Builds a Microsoft Visual Studio project +file, and by default builds a solution file as well. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> This +builds a Visual Studio project file, based on the version of Visual Studio +that is configured (either the latest installed version, or the version +specified by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> in the Environment constructor). For +Visual Studio 6, it will generate a <filename>.dsp</filename> file. For Visual +Studio 7 (.NET) and later versions, it will generate a +<filename>.vcproj</filename> file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> By default, this also +generates a solution file for the specified project, a +<filename>.dsw</filename> file for Visual Studio 6 or a +<filename>.sln</filename> file for Visual Studio 7 (.NET). This behavior may +be disabled by specifying <literal>auto_build_solution=0</literal> when you +call <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>, in which case you presumably want to build the solution +file(s) by calling the <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSSolution</function> Builder (see below). </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> +The <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> builder takes several lists of filenames to be placed into +the project file. These are currently limited to <literal>srcs</literal>, +<literal>incs</literal>, <literal>localincs</literal>, +<literal>resources</literal>, and <literal>misc</literal>. These are pretty +self-explanatory, but it should be noted that these lists are added to the +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SOURCES"><envar>$SOURCES</envar></link> construction variable as strings, NOT as SCons File Nodes. +This is because they represent file names to be added to the project file, not +the source files used to build the project file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> The above +filename lists are all optional, although at least one must be specified for +the resulting project file to be non-empty. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> In addition to the +above lists of values, the following values may be specified: +</para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> + <varlistentry> + <term>target</term> + + <listitem> + <para>The name of the target <filename>.dsp</filename> or + <filename>.vcproj</filename> file. The correct suffix for the version + of Visual Studio must be used, but the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSPROJECTSUFFIX"><envar>$MSVSPROJECTSUFFIX</envar></link> + construction variable will be defined to the correct value (see + example below).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>variant</term> + + <listitem> + <para>The name of this particular variant. For Visual Studio 7 + projects, this can also be a list of variant names. These are + typically things like "Debug" or "Release", but really can be anything + you want. For Visual Studio 7 projects, they may also specify a target + platform separated from the variant name by a <literal>|</literal> + (vertical pipe) character: <literal>Debug|Xbox</literal>. The default + target platform is Win32. Multiple calls to <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> with + different variants are allowed; all variants will be added to the + project file with their appropriate build targets and + sources.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>cmdargs</term> + + <listitem> + <para>Additional command line arguments for the different + variants. The number of <literal>cmdargs</literal> entries must match + the number of <literal>variant</literal> entries, or be empty (not + specified). If you give only one, it will automatically be propagated + to all variants.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>buildtarget</term> + + <listitem> + <para>An optional string, node, or list of strings or nodes (one + per build variant), to tell the Visual Studio debugger what output + target to use in what build variant. The number of + <literal>buildtarget</literal> entries must match the number of + <literal>variant</literal> entries.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>runfile</term> + + <listitem> + <para>The name of the file that Visual Studio 7 and later will + run and debug. This appears as the value of the + <literal>Output</literal> field in the resulting Visual Studio project + file. If this is not specified, the default is the same as the + specified <literal>buildtarget</literal> value.</para> + </listitem> + </varlistentry> + </variablelist><para xmlns="http://www.scons.org/dbxsd/v1.0"> Note that because <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> always executes its build +commands from the directory in which the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> file is located, if you +generate a project file in a different directory than the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> +directory, users will not be able to double-click on the file name in +compilation error messages displayed in the Visual Studio console output +window. This can be remedied by adding the Visual C/C++ <literal>/FC</literal> +compiler option to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCFLAGS"><envar>$CCFLAGS</envar></link> variable so that the compiler will +print the full path name of any files that cause compilation errors. </para> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> Example usage: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0">barsrcs = ['bar.cpp'], barincs = ['bar.h'], barlocalincs = ['StdAfx.h'] barresources = ['bar.rc','resource.h'] @@ -1004,7 +952,143 @@ env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], buildtarget = dll, variant = 'Release') </example_commands> -</listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0">Starting with version 2.4 of +SCons it's also possible to specify the optional argument +<parameter>DebugSettings</parameter>, which creates files for debugging under +Visual Studio:</para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> + <varlistentry> + <term>DebugSettings</term> + + <listitem> + <para>A dictionary of debug settings that get written to the + <filename>.vcproj.user</filename> or the + <filename>.vcxproj.user</filename> file, depending on the version + installed. As it is done for cmdargs (see above), you can specify a + <parameter>DebugSettings</parameter> dictionary per variant. If you + give only one, it will be propagated to all variants.</para> + </listitem> + </varlistentry> + </variablelist><para xmlns="http://www.scons.org/dbxsd/v1.0">Currently, only Visual Studio v9.0 and Visual Studio +version v11 are implemented, for other versions no file is generated. To +generate the user file, you just need to add a +<parameter>DebugSettings</parameter> dictionary to the environment with the +right parameters for your MSVS version. If the dictionary is empty, or does +not contain any good value, no file will be generated.</para><para xmlns="http://www.scons.org/dbxsd/v1.0">Following +is a more contrived example, involving the setup of a project for variants and +DebugSettings:</para><example_commands xmlns="http://www.scons.org/dbxsd/v1.0"># Assuming you store your defaults in a file +vars = Variables('variables.py') +msvcver = vars.args.get('vc', '9') + +# Check command args to force one Microsoft Visual Studio version +if msvcver == '9' or msvcver == '11': + env = Environment(MSVC_VERSION=msvcver+'.0', MSVC_BATCH=False) +else: + env = Environment() + +AddOption('--userfile', action='store_true', dest='userfile', default=False, + help="Create Visual Studio Project user file") + +# +# 1. Configure your Debug Setting dictionary with options you want in the list +# of allowed options, for instance if you want to create a user file to launch +# a specific application for testing your dll with Microsoft Visual Studio 2008 (v9): +# +V9DebugSettings = { + 'Command':'c:\\myapp\\using\\thisdll.exe', + 'WorkingDirectory': 'c:\\myapp\\using\\', + 'CommandArguments': '-p password', +# 'Attach':'false', +# 'DebuggerType':'3', +# 'Remote':'1', +# 'RemoteMachine': None, +# 'RemoteCommand': None, +# 'HttpUrl': None, +# 'PDBPath': None, +# 'SQLDebugging': None, +# 'Environment': '', +# 'EnvironmentMerge':'true', +# 'DebuggerFlavor': None, +# 'MPIRunCommand': None, +# 'MPIRunArguments': None, +# 'MPIRunWorkingDirectory': None, +# 'ApplicationCommand': None, +# 'ApplicationArguments': None, +# 'ShimCommand': None, +# 'MPIAcceptMode': None, +# 'MPIAcceptFilter': None, +} + +# +# 2. Because there are a lot of different options depending on the Microsoft +# Visual Studio version, if you use more than one version you have to +# define a dictionary per version, for instance if you want to create a user +# file to launch a specific application for testing your dll with Microsoft +# Visual Studio 2012 (v11): +# +V10DebugSettings = { + 'LocalDebuggerCommand': 'c:\\myapp\\using\\thisdll.exe', + 'LocalDebuggerWorkingDirectory': 'c:\\myapp\\using\\', + 'LocalDebuggerCommandArguments': '-p password', +# 'LocalDebuggerEnvironment': None, +# 'DebuggerFlavor': 'WindowsLocalDebugger', +# 'LocalDebuggerAttach': None, +# 'LocalDebuggerDebuggerType': None, +# 'LocalDebuggerMergeEnvironment': None, +# 'LocalDebuggerSQLDebugging': None, +# 'RemoteDebuggerCommand': None, +# 'RemoteDebuggerCommandArguments': None, +# 'RemoteDebuggerWorkingDirectory': None, +# 'RemoteDebuggerServerName': None, +# 'RemoteDebuggerConnection': None, +# 'RemoteDebuggerDebuggerType': None, +# 'RemoteDebuggerAttach': None, +# 'RemoteDebuggerSQLDebugging': None, +# 'DeploymentDirectory': None, +# 'AdditionalFiles': None, +# 'RemoteDebuggerDeployDebugCppRuntime': None, +# 'WebBrowserDebuggerHttpUrl': None, +# 'WebBrowserDebuggerDebuggerType': None, +# 'WebServiceDebuggerHttpUrl': None, +# 'WebServiceDebuggerDebuggerType': None, +# 'WebServiceDebuggerSQLDebugging': None, +} + +# +# 3. Select the dictionary you want depending on the version of visual Studio +# Files you want to generate. +# +if not env.GetOption('userfile'): + dbgSettings = None +elif env.get('MSVC_VERSION', None) == '9.0': + dbgSettings = V9DebugSettings +elif env.get('MSVC_VERSION', None) == '11.0': + dbgSettings = V10DebugSettings +else: + dbgSettings = None + +# +# 4. Add the dictionary to the DebugSettings keyword. +# +barsrcs = ['bar.cpp', 'dllmain.cpp', 'stdafx.cpp'] +barincs = ['targetver.h'] +barlocalincs = ['StdAfx.h'] +barresources = ['bar.rc','resource.h'] +barmisc = ['ReadMe.txt'] + +dll = env.SharedLibrary(target = 'bar.dll', + source = barsrcs) + +env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], + srcs = barsrcs, + incs = barincs, + localincs = barlocalincs, + resources = barresources, + misc = barmisc, + buildtarget = [dll[0]] * 2, + variant = ('Debug|Win32', 'Release|Win32'), + cmdargs = 'vc=%s' % msvcver, + DebugSettings = (dbgSettings, {})) +</example_commands> </listitem> </varlistentry> <varlistentry id="b-MSVSSolution"> <term> @@ -1013,70 +1097,54 @@ env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], <term> <function>env.MSVSSolution()</function> </term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Builds a Microsoft Visual Studio solution file. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -This builds a Visual Studio solution file, -based on the version of Visual Studio that is configured -(either the latest installed version, -or the version specified by -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> -in the construction environment). -For Visual Studio 6, it will generate a -<filename>.dsw</filename> -file. -For Visual Studio 7 (.NET), it will -generate a -<filename>.sln</filename> -file. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The following values must be specified: -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<literal>target</literal>: -The name of the target .dsw or .sln file. The correct -suffix for the version of Visual Studio must be used, but the value -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSOLUTIONSUFFIX"><envar>$MSVSSOLUTIONSUFFIX</envar></link> -will be defined to the correct value (see example below). -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<literal>variant</literal>: -The name of this particular variant, or a list of variant -names (the latter is only supported for MSVS 7 solutions). These are -typically things like "Debug" or "Release", but really can be anything -you want. For MSVS 7 they may also specify target platform, like this -"Debug|Xbox". Default platform is Win32. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<literal>projects</literal>: -A list of project file names, or Project nodes returned by calls to the -<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> -Builder, -to be placed into the solution file. -It should be noted that these file names are NOT added to the $SOURCES -environment variable in form of files, but rather as strings. This -is because they represent file names to be added to the solution file, -not the source files used to build the solution file. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Example Usage: -</para> - -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX'], - projects = ['bar' + env['MSVSPROJECTSUFFIX']], - variant = 'Release') -</example_commands> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">Builds a Microsoft Visual Studio solution +file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0">This builds a Visual Studio solution file, based on the +version of Visual Studio that is configured (either the latest installed +version, or the version specified by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> in the +construction environment). For Visual Studio 6, it will generate a +<filename>.dsw</filename> file. For Visual Studio 7 (.NET), it will generate a +<filename>.sln</filename> file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> The following values must be +specified: </para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> + <varlistentry> + <term>target</term> + + <listitem> + <para>The name of the target .dsw or .sln file. The correct + suffix for the version of Visual Studio must be used, but the value + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSOLUTIONSUFFIX"><envar>$MSVSSOLUTIONSUFFIX</envar></link> will be defined to the correct value (see + example below).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>variant</term> + + <listitem> + <para>The name of this particular variant, or a list of variant + names (the latter is only supported for MSVS 7 solutions). These are + typically things like "Debug" or "Release", but really can be anything + you want. For MSVS 7 they may also specify target platform, like this + "Debug|Xbox". Default platform is Win32.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>projects</term> + + <listitem> + <para>A list of project file names, or Project nodes returned by + calls to the <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> Builder, to be placed into the solution + file. It should be noted that these file names are NOT added to the + $SOURCES environment variable in form of files, but rather as strings. + This is because they represent file names to be added to the solution + file, not the source files used to build the solution + file.</para> + </listitem> + </varlistentry> + </variablelist> <para xmlns="http://www.scons.org/dbxsd/v1.0"> Example Usage: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX'], projects = ['bar' ++ env['MSVSPROJECTSUFFIX']], variant = 'Release') +</example_commands></listitem> </varlistentry> <varlistentry id="b-Object"> <term> @@ -1182,7 +1250,7 @@ file as the second element. Normally the object file is ignored. This builder method is only provided when Microsoft Visual C++ is being used as the compiler. The PCH builder method is generally used in -conjuction with the PCH construction variable to force object files to use +conjunction with the PCH construction variable to force object files to use the precompiled header: </para> @@ -1415,7 +1483,7 @@ the results shall be as the comments above say. <emphasis>Example 2.</emphasis> The <function xmlns="http://www.scons.org/dbxsd/v1.0">POTUpdate</function> builder may be used with no target specified, in which case default target <filename>messages.pot</filename> will be used. The -default target may also be overriden by setting <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-POTDOMAIN"><envar>$POTDOMAIN</envar></link> construction +default target may also be overridden by setting <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-POTDOMAIN"><envar>$POTDOMAIN</envar></link> construction variable or providing it as an override to <function xmlns="http://www.scons.org/dbxsd/v1.0">POTUpdate</function> builder: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -1548,7 +1616,7 @@ Target nodes defined through <function xmlns="http://www.scons.org/dbxsd/v1.0">P (they're <literal>Ignore</literal>d from <literal>'.'</literal> node). Instead, they are added automatically to special <literal>Alias</literal> (<literal>'po-update'</literal> by default). The alias name may be changed -through the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-POUPDATE_ALIAS"><envar>$POUPDATE_ALIAS</envar></link> construction variable. You can easilly +through the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-POUPDATE_ALIAS"><envar>$POUPDATE_ALIAS</envar></link> construction variable. You can easily update <literal>PO</literal> files in your project by <command>scons po-update</command>. </para> @@ -1920,17 +1988,20 @@ For maximum portability, use the <function xmlns="http://www.scons.org/dbxsd/v1. When the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> construction variable is defined a versioned shared library is created. This modifies the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKFLAGS"><envar>$SHLINKFLAGS</envar></link> as required, adds the version number to the library name, and creates the symlinks that -are needed. <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> needs to be of the form X.Y.Z, where X -and Y are numbers, and Z is a number but can also contain letters to designate -alpha, beta, or release candidate patch levels. +are needed. </para> +<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +env.SharedLibrary(target = 'bar', source = ['bar.c', 'foo.o'], SHLIBVERSION='1.5.2') +</example_commands> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> -This builder may create multiple links to the library. On a POSIX system, -for the shared library libbar.so.2.3.1, the links created would be -libbar.so and libbar.so.2; on a Darwin (OSX) system -the library would be libbar.2.3.1.dylib and the link would be -libbar.dylib. +On a POSIX system, versions with a single token create exactly one symlink: +libbar.so.6 would have symlinks libbar.so only. +On a POSIX system, versions with two or more +tokens create exactly two symlinks: libbar.so.2.3.1 would have symlinks +libbar.so and libbar.so.2; on a Darwin (OSX) system the library would be +libbar.2.3.1.dylib and the link would be libbar.dylib. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -2484,7 +2555,7 @@ running <command>scons '.'</command>.</para></note> <para xmlns="http://www.scons.org/dbxsd/v1.0"> Builds a Windows type library (<filename>.tlb</filename>) file from an input IDL file (<filename>.idl</filename>). -In addition, it will build the associated inteface stub and +In addition, it will build the associated interface stub and proxy source files, naming them according to the base name of the <filename>.idl</filename> file. For example, diff --git a/doc/generated/examples/caching_ex-random_1.xml b/doc/generated/examples/caching_ex-random_1.xml index 2ed1a8f5..6a0337b9 100644 --- a/doc/generated/examples/caching_ex-random_1.xml +++ b/doc/generated/examples/caching_ex-random_1.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> -cc -o f1.o -c f1.c cc -o f2.o -c f2.c -cc -o f3.o -c f3.c +cc -o f1.o -c f1.c cc -o f5.o -c f5.c +cc -o f3.o -c f3.c cc -o f4.o -c f4.c cc -o prog f1.o f2.o f3.o f4.o f5.o </screen> diff --git a/doc/generated/examples/troubleshoot_Dump_1.xml b/doc/generated/examples/troubleshoot_Dump_1.xml index 248e85c0..bf141a0f 100644 --- a/doc/generated/examples/troubleshoot_Dump_1.xml +++ b/doc/generated/examples/troubleshoot_Dump_1.xml @@ -64,7 +64,11 @@ scons: Reading SConscript files ... '_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)', '_LIBFLAGS': '${_concat(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, __env__)}', '__DRPATH': '$_DRPATH', + '__DSHLIBVERSIONFLAGS': '${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}', + '__LDMODULEVERSIONFLAGS': '${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}', '__RPATH': '$_RPATH', + '__SHLIBVERSIONFLAGS': '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}', + '__libversionflags': <function __libversionflags at 0x700000&gt;, '_concat': <function _concat at 0x700000&gt;, '_defines': <function _defines at 0x700000&gt;, '_stripixes': <function _stripixes at 0x700000&gt;} diff --git a/doc/generated/examples/troubleshoot_Dump_2.xml b/doc/generated/examples/troubleshoot_Dump_2.xml index 17c9de51..0ae8fe1b 100644 --- a/doc/generated/examples/troubleshoot_Dump_2.xml +++ b/doc/generated/examples/troubleshoot_Dump_2.xml @@ -34,7 +34,7 @@ scons: Reading SConscript files ... '.SPP', '.sx'], 'CXX': '$CC', - 'CXXCOM': '${TEMPFILE("$CXX $_MSVC_OUTPUT_FLAG /c $CHANGED_SOURCES $CXXFLAGS $CCFLAGS $_CCCOMCOM")}', + 'CXXCOM': '${TEMPFILE("$CXX $_MSVC_OUTPUT_FLAG /c $CHANGED_SOURCES $CXXFLAGS $CCFLAGS $_CCCOMCOM","$CXXCOMSTR")}', 'CXXFILESUFFIX': '.cc', 'CXXFLAGS': ['$(', '/TP', '$)'], 'DSUFFIXES': ['.d'], @@ -77,7 +77,7 @@ scons: Reading SConscript files ... 'SHCCFLAGS': ['$CCFLAGS'], 'SHCFLAGS': ['$CFLAGS'], 'SHCXX': '$CXX', - 'SHCXXCOM': '${TEMPFILE("$SHCXX $_MSVC_OUTPUT_FLAG /c $CHANGED_SOURCES $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM")}', + 'SHCXXCOM': '${TEMPFILE("$SHCXX $_MSVC_OUTPUT_FLAG /c $CHANGED_SOURCES $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM","$SHCXXCOMSTR")}', 'SHCXXFLAGS': ['$CXXFLAGS'], 'SHELL': None, 'SHLIBPREFIX': '', @@ -97,6 +97,10 @@ scons: Reading SConscript files ... '_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)', '_LIBFLAGS': '${_concat(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, __env__)}', '_MSVC_OUTPUT_FLAG': <function msvc_output_flag at 0x700000&gt;, + '__DSHLIBVERSIONFLAGS': '${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}', + '__LDMODULEVERSIONFLAGS': '${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}', + '__SHLIBVERSIONFLAGS': '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}', + '__libversionflags': <function __libversionflags at 0x700000&gt;, '_concat': <function _concat at 0x700000&gt;, '_defines': <function _defines at 0x700000&gt;, '_stripixes': <function _stripixes at 0x700000&gt;} diff --git a/doc/generated/examples/troubleshoot_explain1_3.xml b/doc/generated/examples/troubleshoot_explain1_3.xml index 0bdaace1..3d8592d4 100644 --- a/doc/generated/examples/troubleshoot_explain1_3.xml +++ b/doc/generated/examples/troubleshoot_explain1_3.xml @@ -3,5 +3,5 @@ cp file.in file.oout scons: warning: Cannot find target file.out after building -File "/home/garyo/src/scons-scons/bootstrap/src/script/scons.py", line 199, in <module> +File "/scons/as_scons/bootstrap/src/script/scons.py", line 199, in <module> </screen> diff --git a/doc/generated/examples/troubleshoot_stacktrace_2.xml b/doc/generated/examples/troubleshoot_stacktrace_2.xml index 1ab65ee3..add59ff4 100644 --- a/doc/generated/examples/troubleshoot_stacktrace_2.xml +++ b/doc/generated/examples/troubleshoot_stacktrace_2.xml @@ -8,6 +8,6 @@ scons: internal stack trace: return SCons.Taskmaster.OutOfDateTask.prepare(self) File "bootstrap/src/engine/SCons/Taskmaster.py", line 191, in prepare executor.prepare() - File "bootstrap/src/engine/SCons/Executor.py", line 396, in prepare + File "bootstrap/src/engine/SCons/Executor.py", line 430, in prepare raise SCons.Errors.StopError(msg % (s, self.batches[0].targets[0])) </screen> diff --git a/doc/generated/functions.gen b/doc/generated/functions.gen index 62a9ab3b..e80c1c98 100644 --- a/doc/generated/functions.gen +++ b/doc/generated/functions.gen @@ -2426,10 +2426,10 @@ option. </varlistentry> <varlistentry id="f-Glob"> <term> - <literal>Glob(pattern, [ondisk, source, strings])</literal> + <literal>Glob(pattern, [ondisk, source, strings, exclude])</literal> </term> <term> - <literal>env.Glob(pattern, [ondisk, source, strings])</literal> + <literal>env.Glob(pattern, [ondisk, source, strings, exclude])</literal> </term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -2543,21 +2543,32 @@ directory.) </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> +The +<varname>exclude</varname> +argument may be set to a pattern or a list of patterns +(following the same Unix shell semantics) +which must be filtered out of returned elements. +Elements matching a least one pattern of +this list will be excluded. +</para> + +<para xmlns="http://www.scons.org/dbxsd/v1.0"> Examples: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> Program('foo', Glob('*.c')) Zip('/tmp/everything', Glob('.??*') + Glob('*')) +sources = Glob('*.cpp', exclude=['os_*_specific_*.cpp']) + Glob('os_%s_specific_*.cpp'%currentOS) </example_commands> </listitem> </varlistentry> <varlistentry id="f-Help"> <term> - <literal>Help(text)</literal> + <literal>Help(text, append=False)</literal> </term> <term> - <literal>env.Help(text)</literal> + <literal>env.Help(text, append=False)</literal> </term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -2565,12 +2576,18 @@ This specifies help text to be printed if the <option>-h</option> argument is given to <filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>. -If +If <function xmlns="http://www.scons.org/dbxsd/v1.0">Help</function> -is called multiple times, the text is appended together in the order -that +is called multiple times, the text is appended together in the order that <function xmlns="http://www.scons.org/dbxsd/v1.0">Help</function> -is called. +is called. With append set to False, any +<function xmlns="http://www.scons.org/dbxsd/v1.0">Help</function> +text generated with +<function xmlns="http://www.scons.org/dbxsd/v1.0">AddOption</function> +is clobbered. If append is True, the AddOption help is prepended to the help +string, thus preserving the +<option>-h</option> +message. </para> </listitem> </varlistentry> diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen index dc9b50da..ba12966f 100644 --- a/doc/generated/tools.gen +++ b/doc/generated/tools.gen @@ -129,6 +129,14 @@ Sets construction variables for generic POSIX C++ compilers. </para> <para>Sets: &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-CXXFLAGS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-OBJSUFFIX;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;.</para><para>Uses: &cv-link-CXXCOMSTR;.</para></listitem> </varlistentry> + <varlistentry id="t-cyglink"> + <term>cyglink</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Set construction variables for cygwin linker/loader. +</para> +<para>Sets: &cv-link-IMPLIBPREFIX;, &cv-link-IMPLIBSUFFIX;, &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-LINKFLAGS;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLIBPREFIX;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLIBVERSIONFLAGS;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_LDMODULEVERSIONFLAGS;, &cv-link-_SHLIBVERSIONFLAGS;.</para></listitem> + </varlistentry> <varlistentry id="t-default"> <term>default</term> <listitem> @@ -307,6 +315,14 @@ Set construction variables for generic POSIX Fortran 03 compilers. </para> <para>Sets: &cv-link-F03;, &cv-link-F03COM;, &cv-link-F03FLAGS;, &cv-link-F03PPCOM;, &cv-link-SHF03;, &cv-link-SHF03COM;, &cv-link-SHF03FLAGS;, &cv-link-SHF03PPCOM;, &cv-link-_F03INCFLAGS;.</para><para>Uses: &cv-link-F03COMSTR;, &cv-link-F03PPCOMSTR;, &cv-link-SHF03COMSTR;, &cv-link-SHF03PPCOMSTR;.</para></listitem> </varlistentry> + <varlistentry id="t-f08"> + <term>f08</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Set construction variables for generic POSIX Fortran 08 compilers. +</para> +<para>Sets: &cv-link-F08;, &cv-link-F08COM;, &cv-link-F08FLAGS;, &cv-link-F08PPCOM;, &cv-link-SHF08;, &cv-link-SHF08COM;, &cv-link-SHF08FLAGS;, &cv-link-SHF08PPCOM;, &cv-link-_F08INCFLAGS;.</para><para>Uses: &cv-link-F08COMSTR;, &cv-link-F08PPCOMSTR;, &cv-link-SHF08COMSTR;, &cv-link-SHF08PPCOMSTR;.</para></listitem> + </varlistentry> <varlistentry id="t-f77"> <term>f77</term> <listitem> @@ -387,7 +403,7 @@ Sets construction variables for the D language compiler GDC. <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> This is actually a toolset, which supports internationalization and -localization of sofware being constructed with SCons. The toolset loads +localization of software being constructed with SCons. The toolset loads following tools: </para> @@ -446,7 +462,7 @@ Sets construction variables for the GNU F95/F2003 GNU compiler. <para xmlns="http://www.scons.org/dbxsd/v1.0"> Set construction variables for GNU linker/loader. </para> -<para>Sets: &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLINKFLAGS;.</para></listitem> +<para>Sets: &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLIBVERSIONFLAGS;, &cv-link-SHLINKFLAGS;, &cv-link-_LDMODULESONAME;, &cv-link-_SHLIBSONAME;.</para></listitem> </varlistentry> <varlistentry id="t-gs"> <term>gs</term> @@ -615,7 +631,7 @@ Sets construction variables for the <application xmlns="http://www.scons.org/dbx <para xmlns="http://www.scons.org/dbxsd/v1.0"> Sets construction variables for generic POSIX linkers. </para> -<para>Sets: &cv-link-LDMODULE;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;.</para><para>Uses: &cv-link-LDMODULECOMSTR;, &cv-link-LINKCOMSTR;, &cv-link-SHLINKCOMSTR;.</para></listitem> +<para>Sets: &cv-link-LDMODULE;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULENOVERSIONSYMLINKS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LDMODULEVERSION;, &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-__LDMODULEVERSIONFLAGS;, &cv-link-__SHLIBVERSIONFLAGS;.</para><para>Uses: &cv-link-LDMODULECOMSTR;, &cv-link-LINKCOMSTR;, &cv-link-SHLINKCOMSTR;.</para></listitem> </varlistentry> <varlistentry id="t-linkloc"> <term>linkloc</term> @@ -736,11 +752,8 @@ Sets construction variables for the Microsoft Visual C/C++ compiler. </varlistentry> <varlistentry id="t-msvs"> <term>msvs</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Sets construction variables for Microsoft Visual Studio. -</para> -<para>Sets: &cv-link-MSVSBUILDCOM;, &cv-link-MSVSCLEANCOM;, &cv-link-MSVSENCODING;, &cv-link-MSVSPROJECTCOM;, &cv-link-MSVSREBUILDCOM;, &cv-link-MSVSSCONS;, &cv-link-MSVSSCONSCOM;, &cv-link-MSVSSCONSCRIPT;, &cv-link-MSVSSCONSFLAGS;, &cv-link-MSVSSOLUTIONCOM;.</para></listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> +Sets construction variables for Microsoft Visual Studio. </para> <para>Sets: &cv-link-MSVSBUILDCOM;, &cv-link-MSVSCLEANCOM;, &cv-link-MSVSENCODING;, &cv-link-MSVSPROJECTCOM;, &cv-link-MSVSREBUILDCOM;, &cv-link-MSVSSCONS;, &cv-link-MSVSSCONSCOM;, &cv-link-MSVSSCONSCRIPT;, &cv-link-MSVSSCONSFLAGS;, &cv-link-MSVSSOLUTIONCOM;.</para></listitem> </varlistentry> <varlistentry id="t-mwcc"> <term>mwcc</term> @@ -767,19 +780,19 @@ Sets construction variables for the </para> <para>Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.</para><para>Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;.</para></listitem> </varlistentry> - <varlistentry id="t-packaging"> - <term>packaging</term> + <varlistentry id="t-Packaging"> + <term>Packaging</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -A framework for building binary and source packages. +Sets construction variables for the <function xmlns="http://www.scons.org/dbxsd/v1.0">Package</function> Builder. </para> </listitem> </varlistentry> - <varlistentry id="t-Packaging"> - <term>Packaging</term> + <varlistentry id="t-packaging"> + <term>packaging</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -Sets construction variables for the <function xmlns="http://www.scons.org/dbxsd/v1.0">Package</function> Builder. +A framework for building binary and source packages. </para> </listitem> </varlistentry> @@ -896,7 +909,7 @@ Sets construction variables for the SGI linker. <para xmlns="http://www.scons.org/dbxsd/v1.0"> Sets construction variables for the Sun library archiver. </para> -<para>Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;.</para><para>Uses: &cv-link-ARCOMSTR;, &cv-link-SHLINKCOMSTR;.</para></listitem> +<para>Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.</para><para>Uses: &cv-link-ARCOMSTR;.</para></listitem> </varlistentry> <varlistentry id="t-suncXX"> <term>sunc++</term> diff --git a/doc/generated/tools.mod b/doc/generated/tools.mod index 3c6f71cf..2ee22706 100644 --- a/doc/generated/tools.mod +++ b/doc/generated/tools.mod @@ -22,6 +22,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY t-cvf "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>cvf</literal>"> <!ENTITY t-CVS "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>CVS</literal>"> <!ENTITY t-cXX "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>cXX</literal>"> +<!ENTITY t-cyglink "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>cyglink</literal>"> <!ENTITY t-default "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>default</literal>"> <!ENTITY t-dmd "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>dmd</literal>"> <!ENTITY t-docbook "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>docbook</literal>"> @@ -29,6 +30,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY t-dvipdf "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>dvipdf</literal>"> <!ENTITY t-dvips "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>dvips</literal>"> <!ENTITY t-f03 "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>f03</literal>"> +<!ENTITY t-f08 "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>f08</literal>"> <!ENTITY t-f77 "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>f77</literal>"> <!ENTITY t-f90 "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>f90</literal>"> <!ENTITY t-f95 "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>f95</literal>"> @@ -76,8 +78,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY t-mwcc "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>mwcc</literal>"> <!ENTITY t-mwld "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>mwld</literal>"> <!ENTITY t-nasm "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>nasm</literal>"> -<!ENTITY t-packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>packaging</literal>"> <!ENTITY t-Packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>Packaging</literal>"> +<!ENTITY t-packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>packaging</literal>"> <!ENTITY t-pdf "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdf</literal>"> <!ENTITY t-pdflatex "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdflatex</literal>"> <!ENTITY t-pdftex "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdftex</literal>"> @@ -131,6 +133,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY t-link-cvf "<link linkend='t-cvf' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>cvf</literal></link>"> <!ENTITY t-link-CVS "<link linkend='t-CVS' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>CVS</literal></link>"> <!ENTITY t-link-cXX "<link linkend='t-cXX' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>cXX</literal></link>"> +<!ENTITY t-link-cyglink "<link linkend='t-cyglink' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>cyglink</literal></link>"> <!ENTITY t-link-default "<link linkend='t-default' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>default</literal></link>"> <!ENTITY t-link-dmd "<link linkend='t-dmd' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>dmd</literal></link>"> <!ENTITY t-link-docbook "<link linkend='t-docbook' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>docbook</literal></link>"> @@ -138,6 +141,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY t-link-dvipdf "<link linkend='t-dvipdf' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>dvipdf</literal></link>"> <!ENTITY t-link-dvips "<link linkend='t-dvips' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>dvips</literal></link>"> <!ENTITY t-link-f03 "<link linkend='t-f03' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>f03</literal></link>"> +<!ENTITY t-link-f08 "<link linkend='t-f08' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>f08</literal></link>"> <!ENTITY t-link-f77 "<link linkend='t-f77' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>f77</literal></link>"> <!ENTITY t-link-f90 "<link linkend='t-f90' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>f90</literal></link>"> <!ENTITY t-link-f95 "<link linkend='t-f95' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>f95</literal></link>"> @@ -185,8 +189,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY t-link-mwcc "<link linkend='t-mwcc' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>mwcc</literal></link>"> <!ENTITY t-link-mwld "<link linkend='t-mwld' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>mwld</literal></link>"> <!ENTITY t-link-nasm "<link linkend='t-nasm' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>nasm</literal></link>"> -<!ENTITY t-link-packaging "<link linkend='t-packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>packaging</literal></link>"> <!ENTITY t-link-Packaging "<link linkend='t-Packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>Packaging</literal></link>"> +<!ENTITY t-link-packaging "<link linkend='t-packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>packaging</literal></link>"> <!ENTITY t-link-pdf "<link linkend='t-pdf' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdf</literal></link>"> <!ENTITY t-link-pdflatex "<link linkend='t-pdflatex' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdflatex</literal></link>"> <!ENTITY t-link-pdftex "<link linkend='t-pdftex' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdftex</literal></link>"> diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen index d21b417a..b3771027 100644 --- a/doc/generated/variables.gen +++ b/doc/generated/variables.gen @@ -13,6 +13,24 @@ ]> <variablelist xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd"> + <varlistentry id="cv-__LDMODULEVERSIONFLAGS"> + <term>__LDMODULEVERSIONFLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +This construction variable automatically introduces <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_LDMODULEVERSIONFLAGS"><envar>$_LDMODULEVERSIONFLAGS</envar></link> +if <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULEVERSION"><envar>$LDMODULEVERSION</envar></link> is set. Othervise it evaluates to an empty string. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-__SHLIBVERSIONFLAGS"> + <term>__SHLIBVERSIONFLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +This construction variable automatically introduces <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_SHLIBVERSIONFLAGS"><envar>$_SHLIBVERSIONFLAGS</envar></link> +if <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> is set. Othervise it evaluates to an empty string. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-AR"> <term>AR</term> <listitem> @@ -950,19 +968,19 @@ DFLAGPREFIX. </para> </listitem> </varlistentry> - <varlistentry id="cv-DFLAGS"> - <term>DFLAGS</term> + <varlistentry id="cv-_DFLAGS"> + <term>_DFLAGS</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -DFLAGS. +_DFLAGS. </para> </listitem> </varlistentry> - <varlistentry id="cv-_DFLAGS"> - <term>_DFLAGS</term> + <varlistentry id="cv-DFLAGS"> + <term>DFLAGS</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -_DFLAGS. +DFLAGS. </para> </listitem> </varlistentry> @@ -1686,6 +1704,184 @@ F03 dialect will be used. By default, this is empty </para> </listitem> </varlistentry> + <varlistentry id="cv-F08"> + <term>F08</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The Fortran 08 compiler. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRAN"><envar>$FORTRAN</envar></link> variable, +which specifies the default Fortran compiler +for all Fortran versions. +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08"><envar>$F08</envar></link> if you need to use a specific compiler +or compiler version for Fortran 08 files. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-F08COM"> + <term>F08COM</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The command line used to compile a Fortran 08 source file to an object file. +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08COM"><envar>$F08COM</envar></link> if you need to use a specific +command line for Fortran 08 files. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link> variable, +which specifies the default command line +for all Fortran versions. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-F08COMSTR"> + <term>F08COMSTR</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The string displayed when a Fortran 08 source file +is compiled to an object file. +If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08COM"><envar>$F08COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link> +(the command line) is displayed. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-F08FILESUFFIXES"> + <term>F08FILESUFFIXES</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The list of file extensions for which the F08 dialect will be used. By +default, this is ['.f08'] +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-F08FLAGS"> + <term>F08FLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +General user-specified options that are passed to the Fortran 08 compiler. +Note that this variable does +<emphasis>not</emphasis> +contain +<option>-I</option> +(or similar) include search path options +that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08PATH"><envar>$F08PATH</envar></link>. +See +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F08INCFLAGS"><envar>$_F08INCFLAGS</envar></link> +below, +for the variable that expands to those options. +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08FLAGS"><envar>$F08FLAGS</envar></link> if you need to define specific +user options for Fortran 08 files. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANFLAGS"><envar>$FORTRANFLAGS</envar></link> variable, +which specifies the user-specified options +passed to the default Fortran compiler +for all Fortran versions. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-_F08INCFLAGS"> + <term>_F08INCFLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +An automatically-generated construction variable +containing the Fortran 08 compiler command-line options +for specifying directories to be searched for include files. +The value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F08INCFLAGS"><envar>$_F08INCFLAGS</envar></link> is created +by appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link> +to the beginning and end +of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08PATH"><envar>$F08PATH</envar></link>. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-F08PATH"> + <term>F08PATH</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The list of directories that the Fortran 08 compiler will search for include +directories. The implicit dependency scanner will search these +directories for include files. Don't explicitly put include directory +arguments in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08FLAGS"><envar>$F08FLAGS</envar></link> because the result will be non-portable +and the directories will not be searched by the dependency scanner. Note: +directory names in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08PATH"><envar>$F08PATH</envar></link> will be looked-up relative to the SConscript +directory when they are used in a command. To force +<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename> +to look-up a directory relative to the root of the source tree use #: +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08PATH"><envar>$F08PATH</envar></link> if you need to define a specific +include path for Fortran 08 files. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link> variable, +which specifies the include path +for the default Fortran compiler +for all Fortran versions. +</para> + +<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +env = Environment(F08PATH='#/include') +</example_commands> + +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The directory look-up can also be forced using the +<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>() +function: +</para> + +<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +include = Dir('include') +env = Environment(F08PATH=include) +</example_commands> + +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The directory list will be added to command lines +through the automatically-generated +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F08INCFLAGS"><envar>$_F08INCFLAGS</envar></link> +construction variable, +which is constructed by +appending the values of the +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link> +construction variables +to the beginning and end +of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08PATH"><envar>$F08PATH</envar></link>. +Any command lines you define that need +the F08PATH directory list should +include <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F08INCFLAGS"><envar>$_F08INCFLAGS</envar></link>: +</para> + +<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +env = Environment(F08COM="my_compiler $_F08INCFLAGS -c -o $TARGET $SOURCE") +</example_commands> +</listitem> + </varlistentry> + <varlistentry id="cv-F08PPCOM"> + <term>F08PPCOM</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The command line used to compile a Fortran 08 source file to an object file +after first running the file through the C preprocessor. +Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08FLAGS"><envar>$F08FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables +are included on this command line. +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08PPCOM"><envar>$F08PPCOM</envar></link> if you need to use a specific +C-preprocessor command line for Fortran 08 files. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link> variable, +which specifies the default C-preprocessor command line +for all Fortran versions. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-F08PPCOMSTR"> + <term>F08PPCOMSTR</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The string displayed when a Fortran 08 source file +is compiled to an object file +after first running the file through the C preprocessor. +If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F08PPCOM"><envar>$F08PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link> +(the command line) is displayed. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-F08PPFILESUFFIXES"> + <term>F08PPFILESUFFIXES</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The list of file extensions for which the compilation + preprocessor pass for +F08 dialect will be used. By default, this is empty +</para> +</listitem> + </varlistentry> <varlistentry id="cv-F77"> <term>F77</term> <listitem> @@ -2642,6 +2838,15 @@ is <quote><literal>-dNOPAUSE -dBATCH -sDEVICE=pdfwrite</literal></quote> <term>HOST_ARCH</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The name of the host hardware architecture used to create the Environment. + If a platform is specified when creating the Environment, then + that Platform's logic will handle setting this value. + This value is immutable, and should not be changed by the user after + the Environment is initialized. + Currently only set for Win32. +</para> + +<para xmlns="http://www.scons.org/dbxsd/v1.0"> Sets the host architecture for Visual Studio compiler. If not set, default to the detected host architecture: note that this may depend on the python you are using. @@ -2657,16 +2862,7 @@ Valid values are the same as for <envar xmlns="http://www.scons.org/dbxsd/v1.0"> This is currently only used on Windows, but in the future it will be used on other OSes as well. </para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> - The name of the host hardware architecture used to create the Environment. - If a platform is specified when creating the Environment, then - that Platform's logic will handle setting this value. - This value is immutable, and should not be changed by the user after - the Environment is initialized. - Currently only set for Win32. -</para> - </listitem> +</listitem> </varlistentry> <varlistentry id="cv-HOST_OS"> <term>HOST_OS</term> @@ -2696,6 +2892,52 @@ The default list is: </example_commands> </listitem> </varlistentry> + <varlistentry id="cv-IMPLIBNOVERSIONSYMLINKS"> + <term>IMPLIBNOVERSIONSYMLINKS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Used to override <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBNOVERSIONSYMLINKS"><envar>$SHLIBNOVERSIONSYMLINKS</envar></link>/<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULENOVERSIONSYMLINKS"><envar>$LDMODULENOVERSIONSYMLINKS</envar></link> when +creating versioned import library for a shared library/loadable module. If not defined, +then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBNOVERSIONSYMLINKS"><envar>$SHLIBNOVERSIONSYMLINKS</envar></link>/<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULENOVERSIONSYMLINKS"><envar>$LDMODULENOVERSIONSYMLINKS</envar></link> is used to determine +whether to disable symlink generation or not. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-IMPLIBPREFIX"> + <term>IMPLIBPREFIX</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The prefix used for import library names. For example, cygwin uses import +libraries (<literal>libfoo.dll.a</literal>) in pair with dynamic libraries +(<literal>cygfoo.dll</literal>). The <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-cyglink"><literal>cyglink</literal></link> linker sets +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-IMPLIBPREFIX"><envar>$IMPLIBPREFIX</envar></link> to <literal>'lib'</literal> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBPREFIX"><envar>$SHLIBPREFIX</envar></link> +to <literal>'cyg'</literal>. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-IMPLIBSUFFIX"> + <term>IMPLIBSUFFIX</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The suffix used for import library names. For example, cygwin uses import +libraries (<literal>libfoo.dll.a</literal>) in pair with dynamic libraries +(<literal>cygfoo.dll</literal>). The <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-cyglink"><literal>cyglink</literal></link> linker sets +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-IMPLIBSUFFIX"><envar>$IMPLIBSUFFIX</envar></link> to <literal>'.dll.a'</literal> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBSUFFIX"><envar>$SHLIBSUFFIX</envar></link> +to <literal>'.dll'</literal>. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-IMPLIBVERSION"> + <term>IMPLIBVERSION</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Used to override <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link>/<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULEVERSION"><envar>$LDMODULEVERSION</envar></link> when +generating versioned import library for a shared library/loadable module. If +undefined, the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link>/<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULEVERSION"><envar>$LDMODULEVERSION</envar></link> is used to +determine the version of versioned import library. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-IMPLICIT_COMMAND_DEPENDENCIES"> <term>IMPLICIT_COMMAND_DEPENDENCIES</term> <listitem> @@ -3230,6 +3472,15 @@ General user options passed to the linker for building loadable modules. </para> </listitem> </varlistentry> + <varlistentry id="cv-LDMODULENOVERSIONSYMLINKS"> + <term>LDMODULENOVERSIONSYMLINKS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Instructs the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-LoadableModule"><function>LoadableModule</function></link> builder to not automatically create symlinks +for versioned modules. Defaults to <literal>$SHLIBNOVERSIONSYMLINKS</literal> +</para> +</listitem> + </varlistentry> <varlistentry id="cv-LDMODULEPREFIX"> <term>LDMODULEPREFIX</term> <listitem> @@ -3241,6 +3492,16 @@ the same as <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBPREFI </para> </listitem> </varlistentry> + <varlistentry id="cv-_LDMODULESONAME"> + <term>_LDMODULESONAME</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +A macro that automatically generates loadable module's SONAME based on $TARGET, +$LDMODULEVERSION and $LDMODULESUFFIX. Used by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-LoadableModule"><function>LoadableModule</function></link> builder +when the linker tool supports SONAME (e.g. <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-gnulink"><literal>gnulink</literal></link>). +</para> +</listitem> + </varlistentry> <varlistentry id="cv-LDMODULESUFFIX"> <term>LDMODULESUFFIX</term> <listitem> @@ -3252,6 +3513,42 @@ the same as $SHLIBSUFFIX. </para> </listitem> </varlistentry> + <varlistentry id="cv-LDMODULEVERSION"> + <term>LDMODULEVERSION</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +When this construction variable is defined, a versioned loadable module +is created by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-LoadableModule"><function>LoadableModule</function></link> builder. This activates the +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_LDMODULEVERSIONFLAGS"><envar>$_LDMODULEVERSIONFLAGS</envar></link> and thus modifies the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULECOM"><envar>$LDMODULECOM</envar></link> as +required, adds the version number to the library name, and creates the symlinks +that are needed. <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULEVERSION"><envar>$LDMODULEVERSION</envar></link> versions should exist in the same +format as <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link>. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-LDMODULEVERSIONFLAGS"> + <term>LDMODULEVERSIONFLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Extra flags added to <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULECOM"><envar>$LDMODULECOM</envar></link> when building versioned +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-LoadableModule"><function>LoadableModule</function></link>. These flags are only used when <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULEVERSION"><envar>$LDMODULEVERSION</envar></link> is +set. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-_LDMODULEVERSIONFLAGS"> + <term>_LDMODULEVERSIONFLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +This macro automatically introduces extra flags to <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULECOM"><envar>$LDMODULECOM</envar></link> when +building versioned <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-LoadableModule"><function>LoadableModule</function></link> (that is when +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULEVERSION"><envar>$LDMODULEVERSION</envar></link> is set). <literal>_LDMODULEVERSIONFLAGS</literal> +usually adds <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSIONFLAGS"><envar>$SHLIBVERSIONFLAGS</envar></link> and some extra dynamically generated +options (such as <literal>-Wl,-soname=$_LDMODULESONAME</literal>). It is unused +by plain (unversioned) loadable modules. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-LEX"> <term>LEX</term> <listitem> @@ -3978,355 +4275,254 @@ Versions ending in <literal>Exp</literal> refer to "Express" or </varlistentry> <varlistentry id="cv-MSVS"> <term>MSVS</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -When the Microsoft Visual Studio tools are initialized, they set up -this dictionary with the following keys: -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>VERSION</envar>: -the version of MSVS being used (can be set via -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link>) -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>VERSIONS</envar>: -the available versions of MSVS installed -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>VCINSTALLDIR</envar>: -installed directory of Visual C++ -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>VSINSTALLDIR</envar>: -installed directory of Visual Studio -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>FRAMEWORKDIR</envar>: -installed directory of the .NET framework -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>FRAMEWORKVERSIONS</envar>: -list of installed versions of the .NET framework, sorted latest to oldest. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>FRAMEWORKVERSION</envar>: -latest installed version of the .NET framework -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>FRAMEWORKSDKDIR</envar>: -installed location of the .NET SDK. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>PLATFORMSDKDIR</envar>: -installed location of the Platform SDK. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -<envar>PLATFORMSDK_MODULES</envar>: -dictionary of installed Platform SDK modules, -where the dictionary keys are keywords for the various modules, and -the values are 2-tuples where the first is the release date, and the -second is the version number. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -If a value isn't set, it wasn't available in the registry. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> +When the Microsoft Visual Studio tools are initialized, they set up this +dictionary with the following keys: </para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> + <varlistentry> + <term>VERSION</term> + + <listitem> + <para>the version of MSVS being used (can be set via + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link>)</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>VERSIONS</term> + + <listitem> + <para>the available versions of MSVS installed</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>VCINSTALLDIR</term> + + <listitem> + <para>installed directory of Visual C++</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>VSINSTALLDIR</term> + + <listitem> + <para>installed directory of Visual Studio</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FRAMEWORKDIR</term> + + <listitem> + <para>installed directory of the .NET framework</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FRAMEWORKVERSIONS</term> + + <listitem> + <para>list of installed versions of the .NET framework, sorted + latest to oldest.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FRAMEWORKVERSION</term> + + <listitem> + <para>latest installed version of the .NET + framework</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FRAMEWORKSDKDIR</term> + + <listitem> + <para>installed location of the .NET SDK.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>PLATFORMSDKDIR</term> + + <listitem> + <para>installed location of the Platform SDK.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>PLATFORMSDK_MODULES</term> + + <listitem> + <para>dictionary of installed Platform SDK modules, where the + dictionary keys are keywords for the various modules, and the values + are 2-tuples where the first is the release date, and the second is + the version number.</para> + </listitem> + </varlistentry> + </variablelist><para xmlns="http://www.scons.org/dbxsd/v1.0">If a value isn't set, it wasn't available in the +registry.</para></listitem> </varlistentry> <varlistentry id="cv-MSVS_ARCH"> <term>MSVS_ARCH</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Sets the architecture for which the generated project(s) should build. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The default value is <literal>x86</literal>. -<literal>amd64</literal> is also supported -by <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> for some Visual Studio versions. -Trying to set <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_ARCH</envar> to an architecture that's not -supported for a given Visual Studio version -will generate an error. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">Sets +the architecture for which the generated project(s) should build. </para> +<para xmlns="http://www.scons.org/dbxsd/v1.0">The default value is <literal>x86</literal>. <literal>amd64</literal> is +also supported by <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> for some Visual Studio versions. Trying to set +<envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_ARCH</envar> to an architecture that's not supported for a given Visual +Studio version will generate an error. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVS_PROJECT_GUID"> <term>MSVS_PROJECT_GUID</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The string -placed in a generated Microsoft Visual Studio project file -as the value of the -<literal>ProjectGUID</literal> -attribute. -There is no default value. If not defined, a new GUID is generated. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The string placed in a generated +Microsoft Visual Studio project file as the value of the +<literal>ProjectGUID</literal> attribute. There is no default value. If not +defined, a new GUID is generated. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVS_SCC_AUX_PATH"> <term>MSVS_SCC_AUX_PATH</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The path name -placed in a generated Microsoft Visual Studio project file -as the value of the -<literal>SccAuxPath</literal> -attribute -if the -<envar>MSVS_SCC_PROVIDER</envar> -construction variable is also set. -There is no default value. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The path name placed in a generated +Microsoft Visual Studio project file as the value of the +<literal>SccAuxPath</literal> attribute if the +<envar>MSVS_SCC_PROVIDER</envar> construction variable is also set. There is +no default value. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVS_SCC_CONNECTION_ROOT"> <term>MSVS_SCC_CONNECTION_ROOT</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The root path of projects in your SCC workspace, i.e the path under which -all project and solution files will be generated. It is used as a -reference path from which the relative paths of the generated -Microsoft Visual Studio project and solution files are computed. -The relative project file path is placed as the value of the -<literal>SccLocalPath</literal> -attribute -of the project file -and as the values of the -<literal>SccProjectFilePathRelativizedFromConnection[i]</literal> -(where [i] ranges from 0 to the number of projects in the solution) -attributes of the -<literal>GlobalSection(SourceCodeControl)</literal> -section of the Microsoft Visual Studio solution file. -Similarly the relative solution file path is placed as the values of the -<literal>SccLocalPath[i]</literal> -(where [i] ranges from 0 to the number of projects in the solution) -attributes of the -<literal>GlobalSection(SourceCodeControl)</literal> -section of the Microsoft Visual Studio solution file. -This is used only -if the -<envar>MSVS_SCC_PROVIDER</envar> -construction variable is also set. -The default value is the current working directory. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The root path of projects in +your SCC workspace, i.e the path under which all project and solution files +will be generated. It is used as a reference path from which the relative +paths of the generated Microsoft Visual Studio project and solution files are +computed. The relative project file path is placed as the value of the +<literal>SccLocalPath</literal> attribute of the project file and as the +values of the +<literal>SccProjectFilePathRelativizedFromConnection[i]</literal> (where [i] +ranges from 0 to the number of projects in the solution) attributes of the +<literal>GlobalSection(SourceCodeControl)</literal> section of the Microsoft +Visual Studio solution file. Similarly the relative solution file path is +placed as the values of the <literal>SccLocalPath[i]</literal> (where [i] +ranges from 0 to the number of projects in the solution) attributes of the +<literal>GlobalSection(SourceCodeControl)</literal> section of the Microsoft +Visual Studio solution file. This is used only if the +<envar>MSVS_SCC_PROVIDER</envar> construction variable is also set. The +default value is the current working directory. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVS_SCC_PROJECT_NAME"> <term>MSVS_SCC_PROJECT_NAME</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The project name -placed in a generated Microsoft Visual Studio project file -as the value of the -<literal>SccProjectName</literal> -attribute -if the -<envar>MSVS_SCC_PROVIDER</envar> -construction variable is also set. -In this case the string is also placed in the -<literal>SccProjectName0</literal> -attribute of the -<literal>GlobalSection(SourceCodeControl)</literal> -section of the Microsoft Visual Studio solution file. -There is no default value. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The project name placed in +a generated Microsoft Visual Studio project file as the value of the +<literal>SccProjectName</literal> attribute if the +<envar>MSVS_SCC_PROVIDER</envar> construction variable is also set. In this +case the string is also placed in the <literal>SccProjectName0</literal> +attribute of the <literal>GlobalSection(SourceCodeControl)</literal> section +of the Microsoft Visual Studio solution file. There is no default value. +</para> </listitem> </varlistentry> <varlistentry id="cv-MSVS_SCC_PROVIDER"> <term>MSVS_SCC_PROVIDER</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The string -placed in a generated Microsoft Visual Studio project file -as the value of the -<literal>SccProvider</literal> -attribute. -The string is also placed in the -<literal>SccProvider0</literal> -attribute of the -<literal>GlobalSection(SourceCodeControl)</literal> -section of the Microsoft Visual Studio solution file. -There is no default value. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The +string placed in a generated Microsoft Visual Studio project file as the value +of the <literal>SccProvider</literal> attribute. The string is also placed in +the <literal>SccProvider0</literal> attribute of the +<literal>GlobalSection(SourceCodeControl)</literal> section of the Microsoft +Visual Studio solution file. There is no default value. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVS_VERSION"> <term>MSVS_VERSION</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Sets the preferred version of Microsoft Visual Studio to use. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is not set, -<application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> will (by default) select the latest version -of Visual Studio installed on your system. -So, if you have version 6 and version 7 (MSVS .NET) installed, -it will prefer version 7. -You can override this by -specifying the -<envar>MSVS_VERSION</envar> -variable in the Environment initialization, setting it to the -appropriate version ('6.0' or '7.0', for example). -If the specified version isn't installed, -tool initialization will fail. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -This is obsolete: use <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> instead. If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is set and -<envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> is not, <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> will be set automatically to <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar>. -If both are set to different values, scons will raise an error. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">Sets the preferred version +of Microsoft Visual Studio to use. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0">If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is not +set, <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> will (by default) select the latest version of Visual Studio +installed on your system. So, if you have version 6 and version 7 (MSVS .NET) +installed, it will prefer version 7. You can override this by specifying the +<envar>MSVS_VERSION</envar> variable in the Environment initialization, +setting it to the appropriate version ('6.0' or '7.0', for example). If the +specified version isn't installed, tool initialization will fail. </para> +<para xmlns="http://www.scons.org/dbxsd/v1.0">This is obsolete: use <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> instead. If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is +set and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> is not, <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> will be set automatically +to <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar>. If both are set to different values, scons will raise an +error. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSBUILDCOM"> <term>MSVSBUILDCOM</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The build command line placed in -a generated Microsoft Visual Studio project file. -The default is to have Visual Studio invoke SCons with any specified -build targets. -</para> -</listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0">The build command line placed in a generated Microsoft Visual Studio +project file. The default is to have Visual Studio invoke SCons with any +specified build targets. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSCLEANCOM"> <term>MSVSCLEANCOM</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The clean command line placed in -a generated Microsoft Visual Studio project file. -The default is to have Visual Studio invoke SCons with the -c option -to remove any specified targets. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The clean command line placed in a generated Microsoft Visual +Studio project file. The default is to have Visual Studio invoke SCons with +the -c option to remove any specified targets. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSENCODING"> <term>MSVSENCODING</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The encoding string placed in -a generated Microsoft Visual Studio project file. -The default is encoding -<literal>Windows-1252</literal>. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The encoding string placed in a +generated Microsoft Visual Studio project file. The default is encoding +<literal>Windows-1252</literal>. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSPROJECTCOM"> <term>MSVSPROJECTCOM</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The action used to generate Microsoft Visual Studio project files. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The action used to generate Microsoft +Visual Studio project files. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSPROJECTSUFFIX"> <term>MSVSPROJECTSUFFIX</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The suffix used for Microsoft Visual Studio project (DSP) files. -The default value is -<filename>.vcproj</filename> -when using Visual Studio version 7.x (.NET) -or later version, -and -<filename>.dsp</filename> -when using earlier versions of Visual Studio. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The suffix used for Microsoft Visual +Studio project (DSP) files. The default value is <filename>.vcproj</filename> +when using Visual Studio version 7.x (.NET) or later version, and +<filename>.dsp</filename> when using earlier versions of Visual Studio. +</para> </listitem> </varlistentry> <varlistentry id="cv-MSVSREBUILDCOM"> <term>MSVSREBUILDCOM</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The rebuild command line placed in -a generated Microsoft Visual Studio project file. -The default is to have Visual Studio invoke SCons with any specified -rebuild targets. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The +rebuild command line placed in a generated Microsoft Visual Studio project +file. The default is to have Visual Studio invoke SCons with any specified +rebuild targets. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSSCONS"> <term>MSVSSCONS</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The SCons used in generated Microsoft Visual Studio project files. -The default is the version of SCons being -used to generate the project file. -</para> -</listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0">The SCons used in generated Microsoft Visual Studio project files. The +default is the version of SCons being used to generate the project file. +</para> </listitem> </varlistentry> <varlistentry id="cv-MSVSSCONSCOM"> <term>MSVSSCONSCOM</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The default SCons command used in generated Microsoft Visual Studio -project files. -</para> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The default +SCons command used in generated Microsoft Visual Studio project files. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSSCONSCRIPT"> <term>MSVSSCONSCRIPT</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The sconscript file -(that is, -<filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> -or -<filename xmlns="http://www.scons.org/dbxsd/v1.0">SConscript</filename> -file) -that will be invoked by Visual Studio -project files -(through the -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONSCOM"><envar>$MSVSSCONSCOM</envar></link> -variable). -The default is the same sconscript file -that contains the call to -<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> -to build the project file. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The sconscript +file (that is, <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> or <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConscript</filename> file) that will be invoked by +Visual Studio project files (through the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONSCOM"><envar>$MSVSSCONSCOM</envar></link> variable). The +default is the same sconscript file that contains the call to <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> +to build the project file. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSSCONSFLAGS"> <term>MSVSSCONSFLAGS</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The SCons flags used in generated Microsoft Visual Studio -project files. -</para> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The +SCons flags used in generated Microsoft Visual Studio project files. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSSOLUTIONCOM"> <term>MSVSSOLUTIONCOM</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The action used to generate Microsoft Visual Studio solution files. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The action used to generate Microsoft +Visual Studio solution files. </para> </listitem> </varlistentry> <varlistentry id="cv-MSVSSOLUTIONSUFFIX"> <term>MSVSSOLUTIONSUFFIX</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The suffix used for Microsoft Visual Studio solution (DSW) files. -The default value is -<filename>.sln</filename> -when using Visual Studio version 7.x (.NET), -and -<filename>.dsw</filename> -when using earlier versions of Visual Studio. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The suffix used for Microsoft +Visual Studio solution (DSW) files. The default value is +<filename>.sln</filename> when using Visual Studio version 7.x (.NET), and +<filename>.dsw</filename> when using earlier versions of Visual Studio. +</para> </listitem> </varlistentry> <varlistentry id="cv-MT"> <term>MT</term> @@ -5672,17 +5868,11 @@ to check out editable files from SCCS. </varlistentry> <varlistentry id="cv-SCONS_HOME"> <term>SCONS_HOME</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The (optional) path to the SCons library directory, -initialized from the external environment. -If set, this is used to construct a shorter and more -efficient search path in the -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONS"><envar>$MSVSSCONS</envar></link> -command line executed -from Microsoft Visual Studio project files. -</para> -</listitem> + <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The +(optional) path to the SCons library directory, initialized from the external +environment. If set, this is used to construct a shorter and more efficient +search path in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONS"><envar>$MSVSSCONS</envar></link> command line executed from Microsoft +Visual Studio project files. </para> </listitem> </varlistentry> <varlistentry id="cv-SHCC"> <term>SHCC</term> @@ -5915,6 +6105,88 @@ If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend=" </para> </listitem> </varlistentry> + <varlistentry id="cv-SHF08"> + <term>SHF08</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The Fortran 08 compiler used for generating shared-library objects. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRAN"><envar>$SHFORTRAN</envar></link> variable, +which specifies the default Fortran compiler +for all Fortran versions. +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF08"><envar>$SHF08</envar></link> if you need to use a specific compiler +or compiler version for Fortran 08 files. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-SHF08COM"> + <term>SHF08COM</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The command line used to compile a Fortran 08 source file +to a shared-library object file. +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF08COM"><envar>$SHF08COM</envar></link> if you need to use a specific +command line for Fortran 08 files. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link> variable, +which specifies the default command line +for all Fortran versions. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-SHF08COMSTR"> + <term>SHF08COMSTR</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The string displayed when a Fortran 08 source file +is compiled to a shared-library object file. +If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF08COM"><envar>$SHF08COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link> +(the command line) is displayed. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-SHF08FLAGS"> + <term>SHF08FLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Options that are passed to the Fortran 08 compiler +to generated shared-library objects. +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF08FLAGS"><envar>$SHF08FLAGS</envar></link> if you need to define specific +user options for Fortran 08 files. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANFLAGS"><envar>$SHFORTRANFLAGS</envar></link> variable, +which specifies the user-specified options +passed to the default Fortran compiler +for all Fortran versions. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-SHF08PPCOM"> + <term>SHF08PPCOM</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The command line used to compile a Fortran 08 source file to a +shared-library object file +after first running the file through the C preprocessor. +Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF08FLAGS"><envar>$SHF08FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables +are included on this command line. +You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF08PPCOM"><envar>$SHF08PPCOM</envar></link> if you need to use a specific +C-preprocessor command line for Fortran 08 files. +You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link> variable, +which specifies the default C-preprocessor command line +for all Fortran versions. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-SHF08PPCOMSTR"> + <term>SHF08PPCOMSTR</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The string displayed when a Fortran 08 source file +is compiled to a shared-library object file +after first running the file through the C preprocessor. +If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF08PPCOM"><envar>$SHF08PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link> +(the command line) is displayed. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-SHF77"> <term>SHF77</term> <listitem> @@ -6232,6 +6504,15 @@ TODO </para> </listitem> </varlistentry> + <varlistentry id="cv-SHLIBNOVERSIONSYMLINKS"> + <term>SHLIBNOVERSIONSYMLINKS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Instructs the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-SharedLibrary"><function>SharedLibrary</function></link> builder to not create symlinks for versioned +shared libraries. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-SHLIBPREFIX"> <term>SHLIBPREFIX</term> <listitem> @@ -6240,6 +6521,16 @@ The prefix used for shared library file names. </para> </listitem> </varlistentry> + <varlistentry id="cv-_SHLIBSONAME"> + <term>_SHLIBSONAME</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +A macro that automatically generates shared library's SONAME based on $TARGET, +$SHLIBVERSION and $SHLIBSUFFIX. Used by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-SharedLibrary"><function>SharedLibrary</function></link> builder when +the linker tool supports SONAME (e.g. <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-gnulink"><literal>gnulink</literal></link>). +</para> +</listitem> + </varlistentry> <varlistentry id="cv-SHLIBSUFFIX"> <term>SHLIBSUFFIX</term> <listitem> @@ -6253,11 +6544,35 @@ The suffix used for shared library file names. <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> When this construction variable is defined, a versioned shared library -is created. This modifies the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKFLAGS"><envar>$SHLINKFLAGS</envar></link> as required, adds -the version number to the library name, and creates the symlinks that -are needed. <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> needs to be of the form X.Y.Z, -where X and Y are numbers, and Z is a number but can also contain -letters to designate alpha, beta, or release candidate patch levels. +is created by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-SharedLibrary"><function>SharedLibrary</function></link> builder. This activates the +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_SHLIBVERSIONFLAGS"><envar>$_SHLIBVERSIONFLAGS</envar></link> and thus modifies the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKCOM"><envar>$SHLINKCOM</envar></link> as +required, adds the version number to the library name, and creates the symlinks +that are needed. <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> versions should exist as alpha-numeric, +decimal-delimited values as defined by the regular expression "\w+[\.\w+]*". +Example <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> values include '1', '1.2.3', and '1.2.gitaa412c8b'. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-_SHLIBVERSIONFLAGS"> + <term>_SHLIBVERSIONFLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +This macro automatically introduces extra flags to <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKCOM"><envar>$SHLINKCOM</envar></link> when +building versioned <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-SharedLibrary"><function>SharedLibrary</function></link> (that is when <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> +is set). <literal>_SHLIBVERSIONFLAGS</literal> usually adds <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSIONFLAGS"><envar>$SHLIBVERSIONFLAGS</envar></link> +and some extra dynamically generated options (such as +<literal>-Wl,-soname=$_SHLIBSONAME</literal>. It is unused by "plain" +(unversioned) shared libraries. +</para> +</listitem> + </varlistentry> + <varlistentry id="cv-SHLIBVERSIONFLAGS"> + <term>SHLIBVERSIONFLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Extra flags added to <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKCOM"><envar>$SHLINKCOM</envar></link> when building versioned +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-SharedLibrary"><function>SharedLibrary</function></link>. These flags are only used when <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> is +set. </para> </listitem> </varlistentry> @@ -6331,6 +6646,18 @@ The suffix used for shared object file names. </para> </listitem> </varlistentry> + <varlistentry id="cv-SONAME"> + <term>SONAME</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Variable used to hard-code SONAME for versioned shared library/loadable module. +<example_commands> +env.SharedLibrary('test', 'test.c', SHLIBVERSION='0.1.2', SONAME='libtest.so.2') +</example_commands> +The variable is used, for example, by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-gnulink"><literal>gnulink</literal></link> linker tool. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-SOURCE"> <term>SOURCE</term> <listitem> @@ -6600,9 +6927,7 @@ and translated into the The list of directories that the scripting language wrapper and interface generate will search for included files. The SWIG implicit dependency scanner will search these -directories for include files. -The default is to use the same path -specified as <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar>. +directories for include files. The default value is an empty list. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -6649,7 +6974,7 @@ include <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar>: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env = Environment(SWIGCOM="my_swig -o $TARGET $_SWIGINCFLAGS $SORUCES") +env = Environment(SWIGCOM="my_swig -o $TARGET $_SWIGINCFLAGS $SOURCES") </example_commands> </listitem> </varlistentry> @@ -6713,6 +7038,13 @@ that may not be set or used in a construction environment. <term>TARGET_ARCH</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The name of the target hardware architecture for the compiled objects + created by this Environment. + This defaults to the value of HOST_ARCH, and the user can override it. + Currently only set for Win32. +</para> + +<para xmlns="http://www.scons.org/dbxsd/v1.0"> Sets the target architecture for Visual Studio compiler (i.e. the arch of the binaries generated by the compiler). If not set, default to <envar xmlns="http://www.scons.org/dbxsd/v1.0">$HOST_ARCH</envar>, or, if that is unset, to the architecture of the @@ -6737,14 +7069,7 @@ and <literal>ia64</literal> (Itanium). For example, if you want to compile 64-bit binaries, you would set <literal>TARGET_ARCH='x86_64'</literal> in your SCons environment. </para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> - The name of the target hardware architecture for the compiled objects - created by this Environment. - This defaults to the value of HOST_ARCH, and the user can override it. - Currently only set for Win32. -</para> - </listitem> +</listitem> </varlistentry> <varlistentry id="cv-TARGET_OS"> <term>TARGET_OS</term> diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod index 0a59605a..955a9eb8 100644 --- a/doc/generated/variables.mod +++ b/doc/generated/variables.mod @@ -8,6 +8,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. --> +<!ENTITY cv-__LDMODULEVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$__LDMODULEVERSIONFLAGS</envar>"> +<!ENTITY cv-__SHLIBVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$__SHLIBVERSIONFLAGS</envar>"> <!ENTITY cv-AR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$AR</envar>"> <!ENTITY cv-ARCHITECTURE "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$ARCHITECTURE</envar>"> <!ENTITY cv-ARCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$ARCOM</envar>"> @@ -76,8 +78,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-DESCRIPTION_lang "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DESCRIPTION_lang</envar>"> <!ENTITY cv-DFILESUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFILESUFFIX</envar>"> <!ENTITY cv-DFLAGPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFLAGPREFIX</envar>"> -<!ENTITY cv-DFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFLAGS</envar>"> <!ENTITY cv-_DFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_DFLAGS</envar>"> +<!ENTITY cv-DFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFLAGS</envar>"> <!ENTITY cv-DFLAGSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFLAGSUFFIX</envar>"> <!ENTITY cv-_DINCFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_DINCFLAGS</envar>"> <!ENTITY cv-DINCPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DINCPREFIX</envar>"> @@ -144,6 +146,16 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-F03PPCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F03PPCOM</envar>"> <!ENTITY cv-F03PPCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F03PPCOMSTR</envar>"> <!ENTITY cv-F03PPFILESUFFIXES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F03PPFILESUFFIXES</envar>"> +<!ENTITY cv-F08 "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08</envar>"> +<!ENTITY cv-F08COM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08COM</envar>"> +<!ENTITY cv-F08COMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08COMSTR</envar>"> +<!ENTITY cv-F08FILESUFFIXES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08FILESUFFIXES</envar>"> +<!ENTITY cv-F08FLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08FLAGS</envar>"> +<!ENTITY cv-_F08INCFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_F08INCFLAGS</envar>"> +<!ENTITY cv-F08PATH "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08PATH</envar>"> +<!ENTITY cv-F08PPCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08PPCOM</envar>"> +<!ENTITY cv-F08PPCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08PPCOMSTR</envar>"> +<!ENTITY cv-F08PPFILESUFFIXES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F08PPFILESUFFIXES</envar>"> <!ENTITY cv-F77 "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F77</envar>"> <!ENTITY cv-F77COM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F77COM</envar>"> <!ENTITY cv-F77COMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$F77COMSTR</envar>"> @@ -206,6 +218,10 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-HOST_ARCH "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$HOST_ARCH</envar>"> <!ENTITY cv-HOST_OS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$HOST_OS</envar>"> <!ENTITY cv-IDLSUFFIXES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$IDLSUFFIXES</envar>"> +<!ENTITY cv-IMPLIBNOVERSIONSYMLINKS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$IMPLIBNOVERSIONSYMLINKS</envar>"> +<!ENTITY cv-IMPLIBPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$IMPLIBPREFIX</envar>"> +<!ENTITY cv-IMPLIBSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$IMPLIBSUFFIX</envar>"> +<!ENTITY cv-IMPLIBVERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$IMPLIBVERSION</envar>"> <!ENTITY cv-IMPLICIT_COMMAND_DEPENDENCIES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$IMPLICIT_COMMAND_DEPENDENCIES</envar>"> <!ENTITY cv-INCPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$INCPREFIX</envar>"> <!ENTITY cv-INCSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$INCSUFFIX</envar>"> @@ -243,8 +259,13 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-LDMODULECOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LDMODULECOM</envar>"> <!ENTITY cv-LDMODULECOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LDMODULECOMSTR</envar>"> <!ENTITY cv-LDMODULEFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LDMODULEFLAGS</envar>"> +<!ENTITY cv-LDMODULENOVERSIONSYMLINKS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LDMODULENOVERSIONSYMLINKS</envar>"> <!ENTITY cv-LDMODULEPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LDMODULEPREFIX</envar>"> +<!ENTITY cv-_LDMODULESONAME "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_LDMODULESONAME</envar>"> <!ENTITY cv-LDMODULESUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LDMODULESUFFIX</envar>"> +<!ENTITY cv-LDMODULEVERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LDMODULEVERSION</envar>"> +<!ENTITY cv-LDMODULEVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LDMODULEVERSIONFLAGS</envar>"> +<!ENTITY cv-_LDMODULEVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_LDMODULEVERSIONFLAGS</envar>"> <!ENTITY cv-LEX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LEX</envar>"> <!ENTITY cv-LEXCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LEXCOM</envar>"> <!ENTITY cv-LEXCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LEXCOMSTR</envar>"> @@ -464,6 +485,12 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-SHF03FLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF03FLAGS</envar>"> <!ENTITY cv-SHF03PPCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF03PPCOM</envar>"> <!ENTITY cv-SHF03PPCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF03PPCOMSTR</envar>"> +<!ENTITY cv-SHF08 "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF08</envar>"> +<!ENTITY cv-SHF08COM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF08COM</envar>"> +<!ENTITY cv-SHF08COMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF08COMSTR</envar>"> +<!ENTITY cv-SHF08FLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF08FLAGS</envar>"> +<!ENTITY cv-SHF08PPCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF08PPCOM</envar>"> +<!ENTITY cv-SHF08PPCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF08PPCOMSTR</envar>"> <!ENTITY cv-SHF77 "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF77</envar>"> <!ENTITY cv-SHF77COM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF77COM</envar>"> <!ENTITY cv-SHF77COMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHF77COMSTR</envar>"> @@ -489,15 +516,20 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-SHFORTRANPPCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHFORTRANPPCOM</envar>"> <!ENTITY cv-SHFORTRANPPCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHFORTRANPPCOMSTR</envar>"> <!ENTITY cv-SHLIBEMITTER "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBEMITTER</envar>"> +<!ENTITY cv-SHLIBNOVERSIONSYMLINKS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBNOVERSIONSYMLINKS</envar>"> <!ENTITY cv-SHLIBPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBPREFIX</envar>"> +<!ENTITY cv-_SHLIBSONAME "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_SHLIBSONAME</envar>"> <!ENTITY cv-SHLIBSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBSUFFIX</envar>"> <!ENTITY cv-SHLIBVERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBVERSION</envar>"> +<!ENTITY cv-_SHLIBVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_SHLIBVERSIONFLAGS</envar>"> +<!ENTITY cv-SHLIBVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBVERSIONFLAGS</envar>"> <!ENTITY cv-SHLINK "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLINK</envar>"> <!ENTITY cv-SHLINKCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLINKCOM</envar>"> <!ENTITY cv-SHLINKCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLINKCOMSTR</envar>"> <!ENTITY cv-SHLINKFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLINKFLAGS</envar>"> <!ENTITY cv-SHOBJPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHOBJPREFIX</envar>"> <!ENTITY cv-SHOBJSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHOBJSUFFIX</envar>"> +<!ENTITY cv-SONAME "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SONAME</envar>"> <!ENTITY cv-SOURCE "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SOURCE</envar>"> <!ENTITY cv-SOURCE_URL "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SOURCE_URL</envar>"> <!ENTITY cv-SOURCES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SOURCES</envar>"> @@ -630,6 +662,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. --> +<!ENTITY cv-link-__LDMODULEVERSIONFLAGS "<link linkend='cv-__LDMODULEVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$__LDMODULEVERSIONFLAGS</envar></link>"> +<!ENTITY cv-link-__SHLIBVERSIONFLAGS "<link linkend='cv-__SHLIBVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$__SHLIBVERSIONFLAGS</envar></link>"> <!ENTITY cv-link-AR "<link linkend='cv-AR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$AR</envar></link>"> <!ENTITY cv-link-ARCHITECTURE "<link linkend='cv-ARCHITECTURE' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$ARCHITECTURE</envar></link>"> <!ENTITY cv-link-ARCOM "<link linkend='cv-ARCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$ARCOM</envar></link>"> @@ -698,8 +732,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-DESCRIPTION_lang "<link linkend='cv-DESCRIPTION_lang' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DESCRIPTION_lang</envar></link>"> <!ENTITY cv-link-DFILESUFFIX "<link linkend='cv-DFILESUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFILESUFFIX</envar></link>"> <!ENTITY cv-link-DFLAGPREFIX "<link linkend='cv-DFLAGPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFLAGPREFIX</envar></link>"> -<!ENTITY cv-link-DFLAGS "<link linkend='cv-DFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFLAGS</envar></link>"> <!ENTITY cv-link-_DFLAGS "<link linkend='cv-_DFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_DFLAGS</envar></link>"> +<!ENTITY cv-link-DFLAGS "<link linkend='cv-DFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFLAGS</envar></link>"> <!ENTITY cv-link-DFLAGSUFFIX "<link linkend='cv-DFLAGSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFLAGSUFFIX</envar></link>"> <!ENTITY cv-link-_DINCFLAGS "<link linkend='cv-_DINCFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_DINCFLAGS</envar></link>"> <!ENTITY cv-link-DINCPREFIX "<link linkend='cv-DINCPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DINCPREFIX</envar></link>"> @@ -766,6 +800,16 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-F03PPCOM "<link linkend='cv-F03PPCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F03PPCOM</envar></link>"> <!ENTITY cv-link-F03PPCOMSTR "<link linkend='cv-F03PPCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F03PPCOMSTR</envar></link>"> <!ENTITY cv-link-F03PPFILESUFFIXES "<link linkend='cv-F03PPFILESUFFIXES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F03PPFILESUFFIXES</envar></link>"> +<!ENTITY cv-link-F08 "<link linkend='cv-F08' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08</envar></link>"> +<!ENTITY cv-link-F08COM "<link linkend='cv-F08COM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08COM</envar></link>"> +<!ENTITY cv-link-F08COMSTR "<link linkend='cv-F08COMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08COMSTR</envar></link>"> +<!ENTITY cv-link-F08FILESUFFIXES "<link linkend='cv-F08FILESUFFIXES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08FILESUFFIXES</envar></link>"> +<!ENTITY cv-link-F08FLAGS "<link linkend='cv-F08FLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08FLAGS</envar></link>"> +<!ENTITY cv-link-_F08INCFLAGS "<link linkend='cv-_F08INCFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_F08INCFLAGS</envar></link>"> +<!ENTITY cv-link-F08PATH "<link linkend='cv-F08PATH' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08PATH</envar></link>"> +<!ENTITY cv-link-F08PPCOM "<link linkend='cv-F08PPCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08PPCOM</envar></link>"> +<!ENTITY cv-link-F08PPCOMSTR "<link linkend='cv-F08PPCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08PPCOMSTR</envar></link>"> +<!ENTITY cv-link-F08PPFILESUFFIXES "<link linkend='cv-F08PPFILESUFFIXES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F08PPFILESUFFIXES</envar></link>"> <!ENTITY cv-link-F77 "<link linkend='cv-F77' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F77</envar></link>"> <!ENTITY cv-link-F77COM "<link linkend='cv-F77COM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F77COM</envar></link>"> <!ENTITY cv-link-F77COMSTR "<link linkend='cv-F77COMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$F77COMSTR</envar></link>"> @@ -828,6 +872,10 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-HOST_ARCH "<link linkend='cv-HOST_ARCH' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$HOST_ARCH</envar></link>"> <!ENTITY cv-link-HOST_OS "<link linkend='cv-HOST_OS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$HOST_OS</envar></link>"> <!ENTITY cv-link-IDLSUFFIXES "<link linkend='cv-IDLSUFFIXES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$IDLSUFFIXES</envar></link>"> +<!ENTITY cv-link-IMPLIBNOVERSIONSYMLINKS "<link linkend='cv-IMPLIBNOVERSIONSYMLINKS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$IMPLIBNOVERSIONSYMLINKS</envar></link>"> +<!ENTITY cv-link-IMPLIBPREFIX "<link linkend='cv-IMPLIBPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$IMPLIBPREFIX</envar></link>"> +<!ENTITY cv-link-IMPLIBSUFFIX "<link linkend='cv-IMPLIBSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$IMPLIBSUFFIX</envar></link>"> +<!ENTITY cv-link-IMPLIBVERSION "<link linkend='cv-IMPLIBVERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$IMPLIBVERSION</envar></link>"> <!ENTITY cv-link-IMPLICIT_COMMAND_DEPENDENCIES "<link linkend='cv-IMPLICIT_COMMAND_DEPENDENCIES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$IMPLICIT_COMMAND_DEPENDENCIES</envar></link>"> <!ENTITY cv-link-INCPREFIX "<link linkend='cv-INCPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$INCPREFIX</envar></link>"> <!ENTITY cv-link-INCSUFFIX "<link linkend='cv-INCSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$INCSUFFIX</envar></link>"> @@ -865,8 +913,13 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-LDMODULECOM "<link linkend='cv-LDMODULECOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LDMODULECOM</envar></link>"> <!ENTITY cv-link-LDMODULECOMSTR "<link linkend='cv-LDMODULECOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LDMODULECOMSTR</envar></link>"> <!ENTITY cv-link-LDMODULEFLAGS "<link linkend='cv-LDMODULEFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LDMODULEFLAGS</envar></link>"> +<!ENTITY cv-link-LDMODULENOVERSIONSYMLINKS "<link linkend='cv-LDMODULENOVERSIONSYMLINKS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LDMODULENOVERSIONSYMLINKS</envar></link>"> <!ENTITY cv-link-LDMODULEPREFIX "<link linkend='cv-LDMODULEPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LDMODULEPREFIX</envar></link>"> +<!ENTITY cv-link-_LDMODULESONAME "<link linkend='cv-_LDMODULESONAME' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_LDMODULESONAME</envar></link>"> <!ENTITY cv-link-LDMODULESUFFIX "<link linkend='cv-LDMODULESUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LDMODULESUFFIX</envar></link>"> +<!ENTITY cv-link-LDMODULEVERSION "<link linkend='cv-LDMODULEVERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LDMODULEVERSION</envar></link>"> +<!ENTITY cv-link-LDMODULEVERSIONFLAGS "<link linkend='cv-LDMODULEVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LDMODULEVERSIONFLAGS</envar></link>"> +<!ENTITY cv-link-_LDMODULEVERSIONFLAGS "<link linkend='cv-_LDMODULEVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_LDMODULEVERSIONFLAGS</envar></link>"> <!ENTITY cv-link-LEX "<link linkend='cv-LEX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LEX</envar></link>"> <!ENTITY cv-link-LEXCOM "<link linkend='cv-LEXCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LEXCOM</envar></link>"> <!ENTITY cv-link-LEXCOMSTR "<link linkend='cv-LEXCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LEXCOMSTR</envar></link>"> @@ -1086,6 +1139,12 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-SHF03FLAGS "<link linkend='cv-SHF03FLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF03FLAGS</envar></link>"> <!ENTITY cv-link-SHF03PPCOM "<link linkend='cv-SHF03PPCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF03PPCOM</envar></link>"> <!ENTITY cv-link-SHF03PPCOMSTR "<link linkend='cv-SHF03PPCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF03PPCOMSTR</envar></link>"> +<!ENTITY cv-link-SHF08 "<link linkend='cv-SHF08' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF08</envar></link>"> +<!ENTITY cv-link-SHF08COM "<link linkend='cv-SHF08COM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF08COM</envar></link>"> +<!ENTITY cv-link-SHF08COMSTR "<link linkend='cv-SHF08COMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF08COMSTR</envar></link>"> +<!ENTITY cv-link-SHF08FLAGS "<link linkend='cv-SHF08FLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF08FLAGS</envar></link>"> +<!ENTITY cv-link-SHF08PPCOM "<link linkend='cv-SHF08PPCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF08PPCOM</envar></link>"> +<!ENTITY cv-link-SHF08PPCOMSTR "<link linkend='cv-SHF08PPCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF08PPCOMSTR</envar></link>"> <!ENTITY cv-link-SHF77 "<link linkend='cv-SHF77' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF77</envar></link>"> <!ENTITY cv-link-SHF77COM "<link linkend='cv-SHF77COM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF77COM</envar></link>"> <!ENTITY cv-link-SHF77COMSTR "<link linkend='cv-SHF77COMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHF77COMSTR</envar></link>"> @@ -1111,15 +1170,20 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-SHFORTRANPPCOM "<link linkend='cv-SHFORTRANPPCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHFORTRANPPCOM</envar></link>"> <!ENTITY cv-link-SHFORTRANPPCOMSTR "<link linkend='cv-SHFORTRANPPCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHFORTRANPPCOMSTR</envar></link>"> <!ENTITY cv-link-SHLIBEMITTER "<link linkend='cv-SHLIBEMITTER' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBEMITTER</envar></link>"> +<!ENTITY cv-link-SHLIBNOVERSIONSYMLINKS "<link linkend='cv-SHLIBNOVERSIONSYMLINKS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBNOVERSIONSYMLINKS</envar></link>"> <!ENTITY cv-link-SHLIBPREFIX "<link linkend='cv-SHLIBPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBPREFIX</envar></link>"> +<!ENTITY cv-link-_SHLIBSONAME "<link linkend='cv-_SHLIBSONAME' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_SHLIBSONAME</envar></link>"> <!ENTITY cv-link-SHLIBSUFFIX "<link linkend='cv-SHLIBSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBSUFFIX</envar></link>"> <!ENTITY cv-link-SHLIBVERSION "<link linkend='cv-SHLIBVERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBVERSION</envar></link>"> +<!ENTITY cv-link-_SHLIBVERSIONFLAGS "<link linkend='cv-_SHLIBVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_SHLIBVERSIONFLAGS</envar></link>"> +<!ENTITY cv-link-SHLIBVERSIONFLAGS "<link linkend='cv-SHLIBVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBVERSIONFLAGS</envar></link>"> <!ENTITY cv-link-SHLINK "<link linkend='cv-SHLINK' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLINK</envar></link>"> <!ENTITY cv-link-SHLINKCOM "<link linkend='cv-SHLINKCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLINKCOM</envar></link>"> <!ENTITY cv-link-SHLINKCOMSTR "<link linkend='cv-SHLINKCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLINKCOMSTR</envar></link>"> <!ENTITY cv-link-SHLINKFLAGS "<link linkend='cv-SHLINKFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLINKFLAGS</envar></link>"> <!ENTITY cv-link-SHOBJPREFIX "<link linkend='cv-SHOBJPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHOBJPREFIX</envar></link>"> <!ENTITY cv-link-SHOBJSUFFIX "<link linkend='cv-SHOBJSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHOBJSUFFIX</envar></link>"> +<!ENTITY cv-link-SONAME "<link linkend='cv-SONAME' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SONAME</envar></link>"> <!ENTITY cv-link-SOURCE "<link linkend='cv-SOURCE' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SOURCE</envar></link>"> <!ENTITY cv-link-SOURCE_URL "<link linkend='cv-SOURCE_URL' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SOURCE_URL</envar></link>"> <!ENTITY cv-link-SOURCES "<link linkend='cv-SOURCES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SOURCES</envar></link>"> diff --git a/doc/man/scons-time.xml b/doc/man/scons-time.xml index a1ecadf7..e0fa6b17 100644 --- a/doc/man/scons-time.xml +++ b/doc/man/scons-time.xml @@ -32,7 +32,8 @@ <refmeta> <refentrytitle>SCONS-TIME</refentrytitle> <manvolnum>1</manvolnum> -<refmiscinfo class='source'>__MONTH_YEAR__</refmiscinfo> +<refmiscinfo class='source'>SCons __VERSION__</refmiscinfo> +<refmiscinfo class='manual'>SCons __VERSION__</refmiscinfo> </refmeta> <refnamediv id='name'> <refname>scons-time</refname> diff --git a/doc/man/scons.xml b/doc/man/scons.xml index 8d52c1e6..5c832c2a 100644 --- a/doc/man/scons.xml +++ b/doc/man/scons.xml @@ -54,10 +54,10 @@ <corpauthor>Steven Knight and the SCons Development Team</corpauthor> - <pubdate>2004 - 2014</pubdate> + <pubdate>2004 - 2015</pubdate> <copyright> - <year>2004 - 2014</year> + <year>2004 - 2015</year> <holder>The SCons Foundation</holder> </copyright> @@ -75,7 +75,8 @@ <refmeta> <refentrytitle>SCONS</refentrytitle> <manvolnum>1</manvolnum> -<refmiscinfo class='source'>__MONTH_YEAR__</refmiscinfo> +<refmiscinfo class='source'>SCons __VERSION__</refmiscinfo> +<refmiscinfo class='manual'>SCons __VERSION__</refmiscinfo> </refmeta> <refnamediv id='name'> <refname>scons</refname> @@ -425,7 +426,7 @@ try to access a list member that does not exist.</para> <para><command>scons</command> -requires Python version 2.4 or later. +requires Python version 2.7 or later. There should be no other dependencies or requirements to run <emphasis role="bold">scons.</emphasis></para> @@ -7039,7 +7040,7 @@ env.Program('MyApp', ['Foo.cpp', 'Bar.cpp']) <para>For more information see the document for the PCH builder, and the PCH and PCHSTOP construction variables. To learn about the details of precompiled -headers consult the MSDN documention for /Yc, /Yu, and /Yp.</para> +headers consult the MSDN documentation for /Yc, /Yu, and /Yp.</para> </refsect2> diff --git a/doc/man/sconsign.xml b/doc/man/sconsign.xml index ca99db6c..44a1e5f1 100644 --- a/doc/man/sconsign.xml +++ b/doc/man/sconsign.xml @@ -32,7 +32,8 @@ <refmeta> <refentrytitle>SCONSIGN</refentrytitle> <manvolnum>1</manvolnum> -<refmiscinfo class='source'>__MONTH_YEAR__</refmiscinfo> +<refmiscinfo class='source'>SCons __VERSION__</refmiscinfo> +<refmiscinfo class='manual'>SCons __VERSION__</refmiscinfo> </refmeta> <refnamediv id='name'> <refname>sconsign</refname> diff --git a/doc/man/titlepage/SConsBuildBricks_path.svg b/doc/man/titlepage/SConsBuildBricks_path.svg index ed0c60d7..0d7f63e0 100644 --- a/doc/man/titlepage/SConsBuildBricks_path.svg +++ b/doc/man/titlepage/SConsBuildBricks_path.svg @@ -14,9 +14,9 @@ height="80.330002" id="svg2" sodipodi:version="0.32" - inkscape:version="0.48.1 r9760" + inkscape:version="0.48.4 r9939" version="1.0" - sodipodi:docname="SConsBuildBricks.svg" + sodipodi:docname="SConsBuildBricks_path.svg" inkscape:export-filename="Constructs-using-SCons.png" inkscape:export-xdpi="100" inkscape:export-ydpi="100"> @@ -77,24 +77,22 @@ </cc:Agent> </dc:contributor> <cc:license - rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/" /> + rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" /> </cc:Work> <cc:License - rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.5/"> + rdf:about="http://creativecommons.org/licenses/by-sa/3.0/"> <cc:permits - rdf:resource="http://web.resource.org/cc/Reproduction" /> + rdf:resource="http://creativecommons.org/ns#Reproduction" /> <cc:permits - rdf:resource="http://web.resource.org/cc/Distribution" /> + rdf:resource="http://creativecommons.org/ns#Distribution" /> <cc:requires - rdf:resource="http://web.resource.org/cc/Notice" /> + rdf:resource="http://creativecommons.org/ns#Notice" /> <cc:requires - rdf:resource="http://web.resource.org/cc/Attribution" /> - <cc:prohibits - rdf:resource="http://web.resource.org/cc/CommercialUse" /> + rdf:resource="http://creativecommons.org/ns#Attribution" /> <cc:permits - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> <cc:requires - rdf:resource="http://web.resource.org/cc/ShareAlike" /> + rdf:resource="http://creativecommons.org/ns#ShareAlike" /> </cc:License> </rdf:RDF> </metadata> diff --git a/doc/python10/process.xml b/doc/python10/process.xml index 24645e61..6c790d0b 100644 --- a/doc/python10/process.xml +++ b/doc/python10/process.xml @@ -50,7 +50,7 @@ <listitem> <para> - &SCons; will be written to Python version 2.4 (to ensure + &SCons; will be written to Python version 2.7 (to ensure usability by a wide install base). </para> @@ -296,7 +296,7 @@ </para> <para> - + In practice, simple tests only need to initialize a test object, use the object to write some input files, run &SCons;, and then check whatever criteria diff --git a/doc/reference/titlepage/SConsBuildBricks_path.svg b/doc/reference/titlepage/SConsBuildBricks_path.svg index ed0c60d7..0d7f63e0 100644 --- a/doc/reference/titlepage/SConsBuildBricks_path.svg +++ b/doc/reference/titlepage/SConsBuildBricks_path.svg @@ -14,9 +14,9 @@ height="80.330002" id="svg2" sodipodi:version="0.32" - inkscape:version="0.48.1 r9760" + inkscape:version="0.48.4 r9939" version="1.0" - sodipodi:docname="SConsBuildBricks.svg" + sodipodi:docname="SConsBuildBricks_path.svg" inkscape:export-filename="Constructs-using-SCons.png" inkscape:export-xdpi="100" inkscape:export-ydpi="100"> @@ -77,24 +77,22 @@ </cc:Agent> </dc:contributor> <cc:license - rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/" /> + rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" /> </cc:Work> <cc:License - rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.5/"> + rdf:about="http://creativecommons.org/licenses/by-sa/3.0/"> <cc:permits - rdf:resource="http://web.resource.org/cc/Reproduction" /> + rdf:resource="http://creativecommons.org/ns#Reproduction" /> <cc:permits - rdf:resource="http://web.resource.org/cc/Distribution" /> + rdf:resource="http://creativecommons.org/ns#Distribution" /> <cc:requires - rdf:resource="http://web.resource.org/cc/Notice" /> + rdf:resource="http://creativecommons.org/ns#Notice" /> <cc:requires - rdf:resource="http://web.resource.org/cc/Attribution" /> - <cc:prohibits - rdf:resource="http://web.resource.org/cc/CommercialUse" /> + rdf:resource="http://creativecommons.org/ns#Attribution" /> <cc:permits - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> <cc:requires - rdf:resource="http://web.resource.org/cc/ShareAlike" /> + rdf:resource="http://creativecommons.org/ns#ShareAlike" /> </cc:License> </rdf:RDF> </metadata> diff --git a/doc/scons.mod b/doc/scons.mod index 72dc7ff2..8d640541 100644 --- a/doc/scons.mod +++ b/doc/scons.mod @@ -276,6 +276,7 @@ <!ENTITY CheckHeader "<function xmlns='http://www.scons.org/dbxsd/v1.0'>CheckHeader</function>"> <!ENTITY CheckLib "<function xmlns='http://www.scons.org/dbxsd/v1.0'>CheckLib</function>"> <!ENTITY CheckLibWithHeader "<function xmlns='http://www.scons.org/dbxsd/v1.0'>CheckLibWithHeader</function>"> +<!ENTITY CheckProg "<function xmlns='http://www.scons.org/dbxsd/v1.0'>CheckProg</function>"> <!ENTITY CheckType "<function xmlns='http://www.scons.org/dbxsd/v1.0'>CheckType</function>"> <!ENTITY CheckTypeSize "<function xmlns='http://www.scons.org/dbxsd/v1.0'>CheckTypeSize</function>"> <!ENTITY TryAction "<function xmlns='http://www.scons.org/dbxsd/v1.0'>TryAction</function>"> diff --git a/doc/user/build-install.xml b/doc/user/build-install.xml index ca40b044..3e661720 100644 --- a/doc/user/build-install.xml +++ b/doc/user/build-install.xml @@ -6,7 +6,7 @@ <!ENTITY % scons SYSTEM "../scons.mod"> %scons; - + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> %builders-mod; <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> @@ -15,7 +15,7 @@ %tools-mod; <!ENTITY % variables-mod SYSTEM "../generated/variables.mod"> %variables-mod; - + ]> <chapter id="chap-build-install" @@ -79,7 +79,7 @@ to configure simple &SCons; builds without knowing Python, so you can skip this section if you want to dive in and pick up things - by example- -or, of course, if you are + by example- -or, of course, if you are already familiar with Python. </para> @@ -147,7 +147,7 @@ Python 2.5.1 <para> - &SCons; will work with any 2.x version of Python from 2.4 on; + &SCons; will work with any 2.x version of Python from 2.7 on; 3.0 and later are not yet supported. If you need to install Python and have a choice, we recommend using the most recent 2.x Python version available. @@ -209,7 +209,7 @@ Python 2.5.1 a specific &SCons; RPM file, you can download and install from the generic RPM provided by the &SCons; project. - This will install the + This will install the SCons script(s) in <filename>/usr/bin</filename>, and the SCons library modules in <filename>/usr/lib/scons</filename>. @@ -231,7 +231,7 @@ Python 2.5.1 <para> Or, you can use a graphical RPM package manager. - See your package manager application's documention + See your package manager application's documentation for specific instructions about how to use it to install a downloaded RPM. @@ -530,7 +530,7 @@ Python 2.5.1 This would install the <application>scons</application> script in <filename>/opt/scons/bin</filename> - and the build engine in + and the build engine in <filename>/opt/scons/lib/scons</filename>, </para> @@ -566,7 +566,7 @@ Python 2.5.1 relative to the user's <literal>$HOME</literal> directory, the &scons; script in <filename>$HOME/bin</filename> - and the build engine in + and the build engine in <filename>$HOME/lib/scons</filename>, simply type: @@ -719,7 +719,7 @@ $ <userinput>python setup.py install --prefix=$HOME</userinput> while: statements look like break statements look like - + continue statements look like </para> diff --git a/doc/user/builders-writing.xml b/doc/user/builders-writing.xml index f3713f2c..dec176a8 100644 --- a/doc/user/builders-writing.xml +++ b/doc/user/builders-writing.xml @@ -502,7 +502,7 @@ def build_function(target, source, env): The builder function may raise an exception or return any non-zero value - to indicate that the build is unsuccessful, + to indicate that the build is unsuccessful. </para> diff --git a/doc/user/less-simple.xml b/doc/user/less-simple.xml index cca60333..9f27738e 100644 --- a/doc/user/less-simple.xml +++ b/doc/user/less-simple.xml @@ -257,6 +257,7 @@ Program('program', Glob('*.c')) (see <xref linkend="chap-variants"></xref>, below) and repositories (see <xref linkend="chap-repositories"></xref>, below), + excluding some files and returning strings rather than Nodes. </para> diff --git a/doc/user/libraries.xml b/doc/user/libraries.xml index 626e9392..d7983c90 100644 --- a/doc/user/libraries.xml +++ b/doc/user/libraries.xml @@ -123,7 +123,7 @@ void f3() { printf("f3.c\n"); } list of source files. You can, however, also give the &b-link-Library; call object files, - and it will correctly realize + and it will correctly realize they are object files. In fact, you can arbitrarily mix source code files and object files in the source list: diff --git a/doc/user/main.xml b/doc/user/main.xml index a1657776..d2c4c183 100644 --- a/doc/user/main.xml +++ b/doc/user/main.xml @@ -74,10 +74,10 @@ <corpauthor>Steven Knight and the SCons Development Team</corpauthor> - <pubdate>2004 - 2014</pubdate> + <pubdate>2004 - 2015</pubdate> <copyright> - <year>2004 - 2014</year> + <year>2004 - 2015</year> <holder>The SCons Foundation</holder> </copyright> diff --git a/doc/user/misc.xml b/doc/user/misc.xml index a71663f2..286963d2 100644 --- a/doc/user/misc.xml +++ b/doc/user/misc.xml @@ -2,7 +2,7 @@ <!DOCTYPE sconsdoc [ <!ENTITY % scons SYSTEM "../scons.mod"> %scons; - + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> %builders-mod; <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> @@ -56,11 +56,10 @@ <para> - Although the &SCons; code itself will run - on any 2.x Python version 2.4 or later, + Although the &SCons; code itself will run + on any 2.x Python version 2.7 or later, you are perfectly free to make use of - Python syntax and modules from more modern versions - (for example, Python 2.5 or 2.6) + Python syntax and modules from later versions when writing your &SConscript; files or your own local modules. If you do this, it's usually helpful to diff --git a/doc/user/output.xml b/doc/user/output.xml index cdb28d75..78dcca49 100644 --- a/doc/user/output.xml +++ b/doc/user/output.xml @@ -83,6 +83,21 @@ Type: 'scons program' to build the production program, <para> + Optionally, one can specify the append flag: + + </para> + + <scons_example name="output_ex1_a"> + <file name="SConstruct" printme="1"> +Help(""" +Type: 'scons program' to build the production program, + 'scons debug' to build the debug version. +""", append=True) + </file> + </scons_example> + + <para> + (Note the above use of the Python triple-quote syntax, which comes in very handy for specifying multi-line strings like help text.) @@ -120,6 +135,13 @@ Type: 'scons program' to build the production program, <para> + When used with &AddOption; Help("text", append=False) will clobber any help output associated with AddOption(). + To preserve the help output from AddOption(), set append=True. + + </para> + + <para> + Another use would be to make the help text conditional on some variable. For example, suppose you only want to display diff --git a/doc/user/repositories.xml b/doc/user/repositories.xml index 32a0b5b3..c91188e4 100644 --- a/doc/user/repositories.xml +++ b/doc/user/repositories.xml @@ -423,7 +423,7 @@ int main() { printf("Hello, world!\n"); } <para> Change all occurrences of <literal>#include "file.h"</literal> - to <literal>#include &lt;file.h&gt;</literal>. + to <literal>#include <file.h></literal>. Use of <literal>#include</literal> with angle brackets does not have the same behavior--the <literal>-I</literal> directories are searched first diff --git a/doc/user/sconf.xml b/doc/user/sconf.xml index 214569db..fe933f12 100644 --- a/doc/user/sconf.xml +++ b/doc/user/sconf.xml @@ -275,7 +275,7 @@ env = conf.Finish() <sconstruct> env = Environment() conf = Configure(env) -if not conf.CheckType('off_t', '#include &lt;sys/types.h&gt;\n'): +if not conf.CheckType('off_t', '#include <sys/types.h>\n'): print 'Did not find off_t typedef, assuming int' conf.env.Append(CCFLAGS = '-Doff_t=int') env = conf.Finish() @@ -304,6 +304,26 @@ scons: `.' is up to date. </section> <section> + <title>Checking for the Presence of a program</title> + + <para> + + Check for the presence of a program + by using the &CheckProg; method: + + </para> + + <sconstruct> +env = Environment() +conf = Configure(env) +if not conf.CheckProg('foobar'): + print 'Unable to find the program foobar on the system' + Exit(1) +env = conf.Finish() + </sconstruct> + + </section> + <section> <title>Adding Your Own Custom Checks</title> <para> @@ -324,7 +344,7 @@ scons: `.' is up to date. <sconstruct> mylib_test_source_file = """ -#include &lt;mylib.h&gt; +#include <mylib.h> int main(int argc, char **argv) { MyLibrary mylib(argc, argv); @@ -401,7 +421,7 @@ conf = Configure(env, custom_tests = {'CheckMyLibrary' : CheckMyLibrary}) <sconstruct> mylib_test_source_file = """ -#include &lt;mylib.h&gt; +#include <mylib.h> int main(int argc, char **argv) { MyLibrary mylib(argc, argv); diff --git a/doc/user/tasks.xml b/doc/user/tasks.xml index 0bdf6786..8026a536 100644 --- a/doc/user/tasks.xml +++ b/doc/user/tasks.xml @@ -96,8 +96,8 @@ filenames = [x for x in filenames if os.path.splitext(x)[1] in extensions] <example> <title>The "backtick function": run a shell command and capture the output</title> -<programlisting>import os -output = os.popen(command).read() +<programlisting>import subprocess +output = subprocess.check_output(command) </programlisting> </example> diff --git a/doc/user/titlepage/SConsBuildBricks_path.svg b/doc/user/titlepage/SConsBuildBricks_path.svg index ed0c60d7..0d7f63e0 100644 --- a/doc/user/titlepage/SConsBuildBricks_path.svg +++ b/doc/user/titlepage/SConsBuildBricks_path.svg @@ -14,9 +14,9 @@ height="80.330002" id="svg2" sodipodi:version="0.32" - inkscape:version="0.48.1 r9760" + inkscape:version="0.48.4 r9939" version="1.0" - sodipodi:docname="SConsBuildBricks.svg" + sodipodi:docname="SConsBuildBricks_path.svg" inkscape:export-filename="Constructs-using-SCons.png" inkscape:export-xdpi="100" inkscape:export-ydpi="100"> @@ -77,24 +77,22 @@ </cc:Agent> </dc:contributor> <cc:license - rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/" /> + rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" /> </cc:Work> <cc:License - rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.5/"> + rdf:about="http://creativecommons.org/licenses/by-sa/3.0/"> <cc:permits - rdf:resource="http://web.resource.org/cc/Reproduction" /> + rdf:resource="http://creativecommons.org/ns#Reproduction" /> <cc:permits - rdf:resource="http://web.resource.org/cc/Distribution" /> + rdf:resource="http://creativecommons.org/ns#Distribution" /> <cc:requires - rdf:resource="http://web.resource.org/cc/Notice" /> + rdf:resource="http://creativecommons.org/ns#Notice" /> <cc:requires - rdf:resource="http://web.resource.org/cc/Attribution" /> - <cc:prohibits - rdf:resource="http://web.resource.org/cc/CommercialUse" /> + rdf:resource="http://creativecommons.org/ns#Attribution" /> <cc:permits - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> <cc:requires - rdf:resource="http://web.resource.org/cc/ShareAlike" /> + rdf:resource="http://creativecommons.org/ns#ShareAlike" /> </cc:License> </rdf:RDF> </metadata> diff --git a/doc/version.xml b/doc/version.xml index f6eba1f3..172a9ec6 100644 --- a/doc/version.xml +++ b/doc/version.xml @@ -2,6 +2,6 @@ <!-- THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. --> -<!ENTITY builddate "2013-03-23"> -<!ENTITY buildversion "2.3.0"> +<!ENTITY builddate "2015-06-17"> +<!ENTITY buildversion "2.3.5"> <!ENTITY buildrevision "1"> |