diff options
Diffstat (limited to 'src/engine/SCons/Tool')
84 files changed, 4018 insertions, 9 deletions
diff --git a/src/engine/SCons/Tool/386asm.xml b/src/engine/SCons/Tool/386asm.xml new file mode 100644 index 0000000..2a9d993 --- /dev/null +++ b/src/engine/SCons/Tool/386asm.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="386asm"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/BitKeeper.xml b/src/engine/SCons/Tool/BitKeeper.xml new file mode 100644 index 0000000..43841a0 --- /dev/null +++ b/src/engine/SCons/Tool/BitKeeper.xml @@ -0,0 +1,43 @@ +<!-- __COPYRIGHT__ --> +<tool name="BitKeeper"> +<summary> +XXX +</summary> +</tool> + +<cvar name="BITKEEPER"> +<summary> +The BitKeeper executable. +</summary> +</cvar> + +<cvar name="BITKEEPERCOM"> +<summary> +The command line for +fetching source files using BitKEeper. +</summary> +</cvar> + +<cvar name="BITKEEPERCOMSTR"> +<summary> +The string displayed when fetching +a source file using BitKeeper. +If this is not set, then &cv-BITKEEPERCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="BITKEEPERGET"> +<summary> +The command (&cv-BITKEEPER;) and subcommand +for fetching source files using BitKeeper. +</summary> +</cvar> + +<cvar name="BITKEEPERGETFLAGS"> +<summary> +Options that are passed to the BitKeeper +<command>get</command> +subcommand. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/CVS.xml b/src/engine/SCons/Tool/CVS.xml new file mode 100644 index 0000000..9a07294 --- /dev/null +++ b/src/engine/SCons/Tool/CVS.xml @@ -0,0 +1,51 @@ +<!-- __COPYRIGHT__ --> +<tool name="CVS"> +<summary> +XXX +</summary> +</tool> + +<cvar name="CVS"> +<summary> +The CVS executable. +</summary> +</cvar> + +<cvar name="CVSCOFLAGS"> +<summary> +Options that are passed to the CVS checkout subcommand. +</summary> +</cvar> + +<cvar name="CVSCOM"> +<summary> +The command line used to +fetch source files from a CVS repository. +</summary> +</cvar> + +<cvar name="CVSCOMSTR"> +<summary> +The string displayed when fetching +a source file from a CVS repository. +If this is not set, then &cv-CVSCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="CVSFLAGS"> +<summary> +General options that are passed to CVS. +By default, this is set to +<literal>-d $CVSREPOSITORY</literal> +to specify from where the files must be fetched. +</summary> +</cvar> + +<cvar name="CVSREPOSITORY"> +<summary> +The path to the CVS repository. +This is referenced in the default +&cv-CVSFLAGS; value. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/Perforce.xml b/src/engine/SCons/Tool/Perforce.xml new file mode 100644 index 0000000..247330e --- /dev/null +++ b/src/engine/SCons/Tool/Perforce.xml @@ -0,0 +1,33 @@ +<!-- __COPYRIGHT__ --> +<tool name="Perforce"> +<summary> +XXX +</summary> +</tool> + +<cvar name="P4"> +<summary> +The Perforce executable. +</summary> +</cvar> + +<cvar name="P4COM"> +<summary> +The command line used to +fetch source files from Perforce. +</summary> +</cvar> + +<cvar name="P4COMSTR"> +<summary> +The string displayed when +fetching a source file from Perforce. +If this is not set, then &cv-P4COM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="P4FLAGS"> +<summary> +General options that are passed to Perforce. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/RCS.xml b/src/engine/SCons/Tool/RCS.xml new file mode 100644 index 0000000..40d972f --- /dev/null +++ b/src/engine/SCons/Tool/RCS.xml @@ -0,0 +1,46 @@ +<!-- __COPYRIGHT__ --> +<tool name="RCS"> +<summary> +XXX +</summary> +</tool> + +<cvar name="RCS"> +<summary> +The RCS executable. +Note that this variable is not actually used +for the command to fetch source files from RCS; +see the +&cv-RCS_CO; +construction variable, below. +</summary> +</cvar> + +<cvar name="RCS_CO"> +<summary> +The RCS "checkout" executable, +used to fetch source files from RCS. +</summary> +</cvar> + +<cvar name="RCS_COCOM"> +<summary> +The command line used to +fetch (checkout) source files from RCS. +</summary> +</cvar> + +<cvar name="RCS_COCOMSTR"> +<summary> +The string displayed when fetching +a source file from RCS. +If this is not set, then &cv-RCS_COCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="RCS_COFLAGS"> +<summary> +Options that are passed to the &cv-RCS_CO; command. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/SCCS.xml b/src/engine/SCons/Tool/SCCS.xml new file mode 100644 index 0000000..08aa949 --- /dev/null +++ b/src/engine/SCons/Tool/SCCS.xml @@ -0,0 +1,43 @@ +<!-- __COPYRIGHT__ --> +<tool name="SCCS"> +<summary> +XXX +</summary> +</tool> + +<cvar name="SCCS"> +<summary> +The SCCS executable. +</summary> +</cvar> + +<cvar name="SCCSCOM"> +<summary> +The command line used to +fetch source files from SCCS. +</summary> +</cvar> + +<cvar name="SCCSCOMSTR"> +<summary> +The string displayed when fetching +a source file from a CVS repository. +If this is not set, then &cv-SCCSCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="SCCSFLAGS"> +<summary> +General options that are passed to SCCS. +</summary> +</cvar> + +<cvar name="SCCSGETFLAGS"> +<summary> +Options that are passed specifically to the SCCS "get" subcommand. +This can be set, for example, to +<option>-e</option> +to check out editable files from SCCS. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/Subversion.xml b/src/engine/SCons/Tool/Subversion.xml new file mode 100644 index 0000000..e5560d1 --- /dev/null +++ b/src/engine/SCons/Tool/Subversion.xml @@ -0,0 +1,32 @@ +<!-- __COPYRIGHT__ --> +<tool name="Subversion"> +<summary> +XXX +</summary> +</tool> + +<!-- +<cvar name="SVN"> +<summary> +The Subversion executable (usually named +<command>svn</command>). +</summary> +</cvar> +--> + +<!-- +<cvar name="SVNCOM"> +<summary> +The command line used to +fetch source files from a Subversion repository. +</summary> +</cvar> +--> + +<!-- +<cvar name="SVNFLAGS"> +<summary> +General options that are passed to Subversion. +</summary> +</cvar> +--> diff --git a/src/engine/SCons/Tool/__init__.py b/src/engine/SCons/Tool/__init__.py index 7ef2ea0..7010e1c 100644 --- a/src/engine/SCons/Tool/__init__.py +++ b/src/engine/SCons/Tool/__init__.py @@ -161,8 +161,8 @@ def createStaticLibBuilder(env): try: static_lib = env['BUILDERS']['StaticLibrary'] except KeyError: - import SCons.Defaults - static_lib = SCons.Builder.Builder(action = SCons.Defaults.ArAction, + ar_action = SCons.Action.Action("$ARCOM", "$ARCOMSTR") + static_lib = SCons.Builder.Builder(action = ar_action, emitter = '$LIBEMITTER', prefix = '$LIBPREFIX', suffix = '$LIBSUFFIX', diff --git a/src/engine/SCons/Tool/__init__.xml b/src/engine/SCons/Tool/__init__.xml new file mode 100644 index 0000000..86b830c --- /dev/null +++ b/src/engine/SCons/Tool/__init__.xml @@ -0,0 +1,324 @@ +<!-- __COPYRIGHT__ --> +<builder name="CFile"> +<summary> +Builds a C source file given a lex (<filename>.l</filename>) +or yacc (<filename>.y</filename>) input file. +The suffix specified by the &cv-CFILESUFFIX; construction variable +(<filename>.c</filename> by default) +is automatically added to the target +if it is not already present. Example: + +<example> +# builds foo.c +env.CFile(target = 'foo.c', source = 'foo.l') +# builds bar.c +env.CFile(target = 'bar', source = 'bar.y') +</example> +</summary> +</builder> + +<builder name="CXXFile"> +<summary> +Builds a C++ source file given a lex (<filename>.ll</filename>) +or yacc (<filename>.yy</filename>) +input file. +The suffix specified by the &cv-CXXFILESUFFIX; construction variable +(<filename>.cc</filename> by default) +is automatically added to the target +if it is not already present. Example: + +<example> +# builds foo.cc +env.CXXFile(target = 'foo.cc', source = 'foo.ll') +# builds bar.cc +env.CXXFile(target = 'bar', source = 'bar.yy') +</example> +</summary> +</builder> + +<builder name="Library"> +<summary> +A synonym for the +&b-StaticLibrary; +builder method. +</summary> +</builder> + +<builder name="Object"> +<summary> +A synonym for the +&b-StaticObject; +builder method. +</summary> +</builder> + +<builder name="Program"> +<summary> +Builds an executable given one or more object files +or C, C++, D, or Fortran source files. +If any C, C++, D or Fortran source files are specified, +then they will be automatically +compiled to object files using the +&b-Object; +builder method; +see that builder method's description for +a list of legal source file suffixes +and how they are interpreted. +The target executable file prefix +(specified by the &cv-PROGPREFIX; construction variable; nothing by default) +and suffix +(specified by the &cv-PROGSUFFIX; construction variable; +by default, <filename>.exe</filename> on Windows systems, +nothing on POSIX systems) +are automatically added to the target if not already present. +Example: + +<example> +env.Program(target = 'foo', source = ['foo.o', 'bar.c', 'baz.f']) +</example> +</summary> +</builder> + +<builder name="SharedLibrary"> +<summary> +Builds a shared library +(<filename>.so</filename> on a POSIX system, +<filename>.dll</filename> on WIN32) +given one or more object files +or C, C++, D or Fortran source files. +If any source files are given, +then they will be automatically +compiled to object files. +The static library prefix and suffix (if any) +are automatically added to the target. +The target library file prefix +(specified by the &cv-SHLIBPREFIX; construction variable; +by default, <filename>lib</filename> on POSIX systems, +nothing on Windows systems) +and suffix +(specified by the &cv-SHLIBSUFFIX; construction variable; +by default, <filename>.dll</filename> on Windows systems, +<filename>.so</filename> on POSIX systems) +are automatically added to the target if not already present. +Example: + +<example> +env.SharedLibrary(target = 'bar', source = ['bar.c', 'foo.o']) +</example> + +On WIN32 systems, the +&b-SharedLibrary; +builder method will always build an import +(<filename>.lib</filename>) library +in addition to the shared (<filename>.dll</filename>) library, +adding a <filename>.lib</filename> library with the same basename +if there is not already a <filename>.lib</filename> file explicitly +listed in the targets. + +Any object files listed in the +<literal>source</literal> +must have been built for a shared library +(that is, using the +&b-SharedObject; +builder method). +&scons; +will raise an error if there is any mismatch. + +On WIN32 systems, specifying +<literal>register=1</literal> +will cause the <filename>.dll</filename> to be +registered after it is built using REGSVR32. +The command that is run +("regsvr32" by default) is determined by &cv-REGSVR; construction +variable, and the flags passed are determined by &cv-REGSVRFLAGS;. By +default, &cv-REGSVRFLAGS; includes the <option>/s</option> option, +to prevent dialogs from popping +up and requiring user attention when it is run. If you change +&cv-REGSVRFLAGS;, be sure to include the <option>/s</option> option. +For example, + +<example> +env.SharedLibrary(target = 'bar', + source = ['bar.cxx', 'foo.obj'], + register=1) +</example> + +will register <filename>bar.dll</filename> as a COM object +when it is done linking it. +</summary> +</builder> + +<builder name="SharedObject"> +<summary> +Builds an object file for +inclusion in a shared library. +Source files must have one of the same set of extensions +specified above for the +&b-StaticObject; +builder method. +On some platforms building a shared object requires additional +compiler option +(e.g. <option>-fPIC</option> for gcc) +in addition to those needed to build a +normal (static) object, but on some platforms there is no difference between a +shared object and a normal (static) one. When there is a difference, SCons +will only allow shared objects to be linked into a shared library, and will +use a different suffix for shared objects. On platforms where there is no +difference, SCons will allow both normal (static) +and shared objects to be linked into a +shared library, and will use the same suffix for shared and normal +(static) objects. +The target object file prefix +(specified by the &cv-SHOBJPREFIX; construction variable; +by default, the same as &cv-OBJPREFIX;) +and suffix +(specified by the &cv-SHOBJSUFFIX; construction variable) +are automatically added to the target if not already present. +Examples: + +<example> +env.SharedObject(target = 'ddd', source = 'ddd.c') +env.SharedObject(target = 'eee.o', source = 'eee.cpp') +env.SharedObject(target = 'fff.obj', source = 'fff.for') +</example> +</summary> +</builder> + +<builder name="StaticLibrary"> +<summary> +Builds a static library given one or more object files +or C, C++, D or Fortran source files. +If any source files are given, +then they will be automatically +compiled to object files. +The static library prefix and suffix (if any) +are automatically added to the target. +The target library file prefix +(specified by the &cv-LIBPREFIX; construction variable; +by default, <filename>lib</filename> on POSIX systems, +nothing on Windows systems) +and suffix +(specified by the &cv-LIBSUFFIX; construction variable; +by default, <filename>.lib</filename> on Windows systems, +<filename>.a</filename> on POSIX systems) +are automatically added to the target if not already present. +Example: + +<example> +env.StaticLibrary(target = 'bar', source = ['bar.c', 'foo.o']) +</example> + +Any object files listed in the +<literal>source</literal> +must have been built for a static library +(that is, using the +&b-StaticObject; +builder method). +&scons; +will raise an error if there is any mismatch. +</summary> +</builder> + +<builder name="StaticObject"> +<summary> +Builds a static object file +from one or more C, C++, D, or Fortran source files. +Source files must have one of the following extensions: + +<example> + .asm assembly language file + .ASM assembly language file + .c C file + .C WIN32: C file + POSIX: C++ file + .cc C++ file + .cpp C++ file + .cxx C++ file + .cxx C++ file + .c++ C++ file + .C++ C++ file + .d D file + .f Fortran file + .F WIN32: Fortran file + POSIX: Fortran file + C pre-processor + .for Fortran file + .FOR Fortran file + .fpp Fortran file + C pre-processor + .FPP Fortran file + C pre-processor + .s assembly language file + .S WIN32: assembly language file + POSIX: assembly language file + C pre-processor + .spp assembly language file + C pre-processor + .SPP assembly language file + C pre-processor +</example> + +The target object file prefix +(specified by the &cv-OBJPREFIX; construction variable; nothing by default) +and suffix +(specified by the &cv-OBJSUFFIX; construction variable; +<filename>.obj</filename> on Windows systems, +<filename>.o</filename> on POSIX systems) +are automatically added to the target if not already present. +Examples: + +<example> +env.StaticObject(target = 'aaa', source = 'aaa.c') +env.StaticObject(target = 'bbb.o', source = 'bbb.c++') +env.StaticObject(target = 'ccc.obj', source = 'ccc.f') +</example> +</summary> +</builder> + +<cvar name="CCVERSION"> +<summary> +The version number of the C compiler. +This may or may not be set, +depending on the specific C compiler being used. +</summary> +</cvar> + +<cvar name="CFILESUFFIX"> +<summary> +The suffix for C source files. +This is used by the internal CFile builder +when generating C files from Lex (.l) or YACC (.y) input files. +The default suffix, of course, is +<filename>.c</filename> +(lower case). +On case-insensitive systems (like Win32), +SCons also treats +<filename>.C</filename> +(upper case) files +as C files. +</summary> +</cvar> + +<cvar name="CXXVERSION"> +<summary> +The version number of the C++ compiler. +This may or may not be set, +depending on the specific C++ compiler being used. +</summary> +</cvar> + +<cvar name="CXXFILESUFFIX"> +<summary> +The suffix for C++ source files. +This is used by the internal CXXFile builder +when generating C++ files from Lex (.ll) or YACC (.yy) input files. +The default suffix is +<filename>.cc</filename>. +SCons also treats files with the suffixes +<filename>.cpp</filename>, +<filename>.cxx</filename>, +<filename>.c++</filename>, +and +<filename>.C++</filename> +as C++ files. +On case-sensitive systems (Linux, UNIX, and other POSIX-alikes), +SCons also treats +<filename>.C</filename> +(upper case) files +as C++ files. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/aixc++.xml b/src/engine/SCons/Tool/aixc++.xml new file mode 100644 index 0000000..d386779 --- /dev/null +++ b/src/engine/SCons/Tool/aixc++.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="aixc++"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/aixcc.xml b/src/engine/SCons/Tool/aixcc.xml new file mode 100644 index 0000000..cb27adb --- /dev/null +++ b/src/engine/SCons/Tool/aixcc.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="aixcc"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/aixf77.xml b/src/engine/SCons/Tool/aixf77.xml new file mode 100644 index 0000000..7e7988c --- /dev/null +++ b/src/engine/SCons/Tool/aixf77.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="aixf77"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/aixlink.xml b/src/engine/SCons/Tool/aixlink.xml new file mode 100644 index 0000000..378dcbf --- /dev/null +++ b/src/engine/SCons/Tool/aixlink.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="aixlink"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/applelink.xml b/src/engine/SCons/Tool/applelink.xml new file mode 100644 index 0000000..d839be0 --- /dev/null +++ b/src/engine/SCons/Tool/applelink.xml @@ -0,0 +1,11 @@ +<!-- __COPYRIGHT__ --> +<cvar name="FRAMEWORKSFLAGS"> +<summary> +On Mac OS X, +frameworks options to be added at +the end of a command +line building a loadable module. +</summary> +</cvar> + + diff --git a/src/engine/SCons/Tool/ar.py b/src/engine/SCons/Tool/ar.py index ab232ee..92cab59 100644 --- a/src/engine/SCons/Tool/ar.py +++ b/src/engine/SCons/Tool/ar.py @@ -37,6 +37,7 @@ import SCons.Defaults import SCons.Tool import SCons.Util + def generate(env): """Add Builders and construction variables for ar to an Environment.""" SCons.Tool.createStaticLibBuilder(env) diff --git a/src/engine/SCons/Tool/ar.xml b/src/engine/SCons/Tool/ar.xml new file mode 100644 index 0000000..de3246f --- /dev/null +++ b/src/engine/SCons/Tool/ar.xml @@ -0,0 +1,48 @@ +<!-- __COPYRIGHT__ --> +<tool name="ar"> +<summary> +XXX +</summary> +</tool> + +<cvar name="AR"> +<summary> +The static library archiver. +</summary> +</cvar> + +<cvar name="ARCOM"> +<summary> +The command line used to generate a static library from object files. +</summary> +</cvar> + +<cvar name="ARCOMSTR"> +<summary> +The string displayed when an object file +is generated from an assembly-language source file. +If this is not set, then &cv-ARCOM; (the command line) is displayed. + +<example> +env = Environment(ARCOMSTR = "Archiving $TARGET") +</example> +</summary> +</cvar> + +<cvar name="ARFLAGS"> +<summary> +General options passed to the static library archiver. +</summary> +</cvar> + +<cvar name="RANLIB"> +<summary> +The archive indexer. +</summary> +</cvar> + +<cvar name="RANLIBFLAGS"> +<summary> +General options passed to the archive indexer. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/as.xml b/src/engine/SCons/Tool/as.xml new file mode 100644 index 0000000..a9395df --- /dev/null +++ b/src/engine/SCons/Tool/as.xml @@ -0,0 +1,69 @@ +<!-- __COPYRIGHT__ --> +<tool name="as"> +<summary> +XXX +</summary> +</tool> + +<cvar name="AS"> +<summary> +The assembler. +</summary> +</cvar> + +<cvar name="ASCOM"> +<summary> +The command line used to generate an object file +from an assembly-language source file. +</summary> +</cvar> + +<cvar name="ASCOMSTR"> +<summary> +The string displayed when an object file +is generated from an assembly-language source file. +If this is not set, then &cv-ASCOM; (the command line) is displayed. + +<example> +env = Environment(ASCOMSTR = "Assembling $TARGET") +</example> +</summary> +</cvar> + +<cvar name="ASFLAGS"> +<summary> +General options passed to the assembler. +</summary> +</cvar> + +<cvar name="ASPPCOM"> +<summary> +The command line used to assemble an assembly-language +source file into an object file +after first running the file through the C preprocessor. +Any options specified in the &cv-ASFLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +</summary> +</cvar> + +<cvar name="ASPPCOMSTR"> +<summary> +The string displayed when an object file +is generated from an assembly-language source file +after first running the file through the C preprocessor. +If this is not set, then &cv-ASPPCOM; (the command line) is displayed. + +<example> +env = Environment(ASPPCOMSTR = "Assembling $TARGET") +</example> +</summary> +</cvar> + +<cvar name="ASPPFLAGS"> +<summary> +General options when an assembling an assembly-language +source file into an object file +after first running the file through the C preprocessor. +The default is to use the value of &cv-ASFLAGS;. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/bcc32.xml b/src/engine/SCons/Tool/bcc32.xml new file mode 100644 index 0000000..ded614c --- /dev/null +++ b/src/engine/SCons/Tool/bcc32.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="bcc32"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/c++.xml b/src/engine/SCons/Tool/c++.xml new file mode 100644 index 0000000..eaa8e6c --- /dev/null +++ b/src/engine/SCons/Tool/c++.xml @@ -0,0 +1,76 @@ +<!-- __COPYRIGHT__ --> +<tool name="c++"> +<summary> +XXX +</summary> +</tool> + +<cvar name="CXX"> +<summary> +The C++ compiler. +</summary> +</cvar> + +<cvar name="CXXCOM"> +<summary> +The command line used to compile a C++ source file to an object file. +Any options specified in the &cv-CXXFLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +</summary> +</cvar> + +<cvar name="CXXCOMSTR"> +<summary> +The string displayed when a C++ source file +is compiled to a (static) object file. +If this is not set, then &cv-CXXCOM; (the command line) is displayed. + +<example> +env = Environment(CXXCOMSTR = "Compiling static object $TARGET") +</example> +</summary> +</cvar> + +<cvar name="CXXFLAGS"> +<summary> +General options that are passed to the C++ compiler. +By default, this includes the value of &cv-CCFLAGS;, +so that setting &cv-CCFLAGS; affects both C and C++ compilation. +If you want to add C++-specific flags, +you must set or override the value of &cv-CXXFLAGS;. +</summary> +</cvar> + +<cvar name="SHCXX"> +<summary> +The C++ compiler used for generating shared-library objects. +</summary> +</cvar> + +<cvar name="SHCXXCOM"> +<summary> +The command line used to compile a C++ source file +to a shared-library object file. +Any options specified in the &cv-SHCXXFLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +</summary> +</cvar> + +<cvar name="SHCXXCOMSTR"> +<summary> +The string displayed when a C++ source file +is compiled to a shared object file. +If this is not set, then &cv-SHCXXCOM; (the command line) is displayed. + +<example> +env = Environment(SHCXXCOMSTR = "Compiling shared object $TARGET") +</example> +</summary> +</cvar> + +<cvar name="SHCXXFLAGS"> +<summary> +Options that are passed to the C++ compiler +to generate shared-library objects. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/cc.xml b/src/engine/SCons/Tool/cc.xml new file mode 100644 index 0000000..fb688ad --- /dev/null +++ b/src/engine/SCons/Tool/cc.xml @@ -0,0 +1,111 @@ +<!-- __COPYRIGHT__ --> +<tool name="cc"> +<summary> +XXX +</summary> +</tool> + +<cvar name="CC"> +<summary> +The C compiler. +</summary> +</cvar> + +<cvar name="CCCOM"> +<summary> +The command line used to compile a C source file to a (static) object file. +Any options specified in the &cv-CCFLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +</summary> +</cvar> + +<cvar name="CCCOMSTR"> +<summary> +The string displayed when a C source file +is compiled to a (static) object file. +If this is not set, then &cv-CCCOM; (the command line) is displayed. + +<example> +env = Environment(CCCOMSTR = "Compiling static object $TARGET") +</example> +</summary> +</cvar> + +<cvar name="CCFLAGS"> +<summary> +General options that are passed to the C compiler. +</summary> +</cvar> + +<cvar name="CPPFLAGS"> +<summary> +User-specified C preprocessor options. +These will be included in any command that uses the C preprocessor, +including not just compilation of C and C++ source files +via the &cv-CCCOM;, &cv-SHCCCOM;, &cv-CXXCOM; and &cv-SHCXXCOM; command lines, +but also the &cv-FORTRANPPCOM;, &cv-SHFORTRANPPCOM;, +&cv-F77PPCOM; and &cv-SHF77PPCOM; command lines +used to compile a Fortran source file, +and the &cv-ASPPCOM; command line +used to assemble an assembly language source file, +after first running each file through the C preprocessor. +Note that this variable does +<emphasis>not</emphasis> +contain +<option>-I</option> +(or similar) include search path options +that scons generates automatically from &cv-CPPPATH;. +See &cv-link-_CPPINCFLAGS;, below, +for the variable that expands to those options. +</summary> +</cvar> + +<cvar name="CPPSUFFIXES"> +<summary> +The list of suffixes of files that will be scanned +for C preprocessor implicit dependencies +(#include lines). +The default list is: + +<example> +[".c", ".C", ".cxx", ".cpp", ".c++", ".cc", + ".h", ".H", ".hxx", ".hpp", ".hh", + ".F", ".fpp", ".FPP", + ".S", ".spp", ".SPP"] +</example> +</summary> +</cvar> + +<cvar name="SHCC"> +<summary> +The C compiler used for generating shared-library objects. +</summary> +</cvar> + +<cvar name="SHCCCOM"> +<summary> +The command line used to compile a C source file +to a shared-library object file. +Any options specified in the &cv-SHCCFLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +</summary> +</cvar> + +<cvar name="SHCCCOMSTR"> +<summary> +The string displayed when a C source file +is compiled to a shared object file. +If this is not set, then &cv-SHCCCOM; (the command line) is displayed. + +<example> +env = Environment(SHCCCOMSTR = "Compiling shared object $TARGET") +</example> +</summary> +</cvar> + +<cvar name="SHCCFLAGS"> +<summary> +Options that are passed to the C compiler +to generate shared-library objects. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/cvf.xml b/src/engine/SCons/Tool/cvf.xml new file mode 100644 index 0000000..bd848ae --- /dev/null +++ b/src/engine/SCons/Tool/cvf.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="cvf"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/default.xml b/src/engine/SCons/Tool/default.xml new file mode 100644 index 0000000..371e5bc --- /dev/null +++ b/src/engine/SCons/Tool/default.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="default"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/dmd.xml b/src/engine/SCons/Tool/dmd.xml new file mode 100644 index 0000000..99ca8d9 --- /dev/null +++ b/src/engine/SCons/Tool/dmd.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="dmd"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/dvipdf.xml b/src/engine/SCons/Tool/dvipdf.xml new file mode 100644 index 0000000..fbb4933 --- /dev/null +++ b/src/engine/SCons/Tool/dvipdf.xml @@ -0,0 +1,38 @@ +<!-- __COPYRIGHT__ --> +<tool name="dvipdf"> +<summary> +XXX +</summary> +</tool> + +<cvar name="DVIPDF"> +<summary> +The TeX DVI file to PDF file converter. +</summary> +</cvar> + +<cvar name="DVIPDFFLAGS"> +<summary> +General options passed to the TeX DVI file to PDF file converter. +</summary> +</cvar> + +<cvar name="DVIPDFCOM"> +<summary> +The command line used to convert TeX DVI files into a PDF file. +</summary> +</cvar> + +<cvar name="DVIPDFCOMSTR"> +<summary> +The string displayed when a TeX DVI file +is converted into a PDF file. +If this is not set, then &cv-DVIPDFCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="PDFCOM"> +<summary> +A deprecated synonym for &cv-DVIPDFCOM;. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/dvips.xml b/src/engine/SCons/Tool/dvips.xml new file mode 100644 index 0000000..c290469 --- /dev/null +++ b/src/engine/SCons/Tool/dvips.xml @@ -0,0 +1,66 @@ +<!-- __COPYRIGHT__ --> +<tool name="dvips"> +<summary> +XXX +</summary> +</tool> + +<builder name="PostScript"> +<summary> +Builds a <filename>.ps</filename> file +from a <filename>.dvi</filename> input file +(or, by extension, a <filename>.tex</filename>, +<filename>.ltx</filename>, +or +<filename>.latex</filename> input file). +The suffix specified by the &cv-PSSUFFIX; construction variable +(<filename>.ps</filename> by default) +is added automatically to the target +if it is not already present. Example: + +<example> +# builds from aaa.tex +env.PostScript(target = 'aaa.ps', source = 'aaa.tex') +# builds bbb.ps from bbb.dvi +env.PostScript(target = 'bbb', source = 'bbb.dvi') +</example> +</summary> +</builder> + +<cvar name="DVIPS"> +<summary> +The TeX DVI file to PostScript converter. +</summary> +</cvar> + +<cvar name="DVIPSFLAGS"> +<summary> +General options passed to the TeX DVI file to PostScript converter. +</summary> +</cvar> + +<cvar name="PSCOM"> +<summary> +The command line used to convert TeX DVI files into a PostScript file. +</summary> +</cvar> + +<cvar name="PSCOMSTR"> +<summary> +The string displayed when a TeX DVI file +is converted into a PostScript file. +If this is not set, then &cv-PSCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="PSPREFIX"> +<summary> +The prefix used for PostScript file names. +</summary> +</cvar> + +<cvar name="PSSUFFIX"> +<summary> +The prefix used for PostScript file names. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/f77.xml b/src/engine/SCons/Tool/f77.xml new file mode 100644 index 0000000..caf959f --- /dev/null +++ b/src/engine/SCons/Tool/f77.xml @@ -0,0 +1,196 @@ +<!-- __COPYRIGHT__ --> +<tool name="f77"> +<summary> +XXX +</summary> +</tool> + +<cvar name="F77"> +<summary> +The Fortran 77 compiler. +You should normally set the &cv-FORTRAN; variable, +which specifies the default Fortran compiler +for all Fortran versions. +You only need to set &cv-F77; if you need to use a specific compiler +or compiler version for Fortran 77 files. +</summary> +</cvar> + +<cvar name="F77COM"> +<summary> +The command line used to compile a Fortran 77 source file to an object file. +You only need to set &cv-F77COM; if you need to use a specific +command line for Fortran 77 files. +You should normally set the &cv-FORTRANCOM; variable, +which specifies the default command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="F77COMSTR"> +<summary> +The string displayed when a Fortran 77 source file +is compiled to an object file. +If this is not set, then &cv-F77COM; or &cv-FORTRANCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="F77FLAGS"> +<summary> +General user-specified options that are passed to the Fortran 77 compiler. +Note that this variable does +<emphasis>not</emphasis> +contain +<option>-I</option> +(or similar) include search path options +that scons generates automatically from &cv-F77PATH;. +See +&cv-_F77INCFLAGS; +below, +for the variable that expands to those options. +You only need to set &cv-F77FLAGS; if you need to define specific +user options for Fortran 77 files. +You should normally set the &cv-FORTRANFLAGS; variable, +which specifies the user-specified options +passed to the default Fortran compiler +for all Fortran versions. +</summary> +</cvar> + +<cvar name="_F77INCFLAGS"> +<summary> +An automatically-generated construction variable +containing the Fortran 77 compiler command-line options +for specifying directories to be searched for include files. +The value of &cv-_F77INCFLAGS; is created +by appending &cv-INCPREFIX; and &cv-INCSUFFIX; +to the beginning and end +of each directory in &cv-F77PATH;. +</summary> +</cvar> + +<cvar name="F77PATH"> +<summary> +The list of directories that the Fortran 77 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 &cv-F77FLAGS; because the result will be non-portable +and the directories will not be searched by the dependency scanner. Note: +directory names in &cv-F77PATH; will be looked-up relative to the SConscript +directory when they are used in a command. To force +&scons; +to look-up a directory relative to the root of the source tree use #: +You only need to set &cv-F77PATH; if you need to define a specific +include path for Fortran 77 files. +You should normally set the &cv-FORTRANPATH; variable, +which specifies the include path +for the default Fortran compiler +for all Fortran versions. + +<example> +env = Environment(F77PATH='#/include') +</example> + +The directory look-up can also be forced using the +&Dir;() +function: + +<example> +include = Dir('include') +env = Environment(F77PATH=include) +</example> + +The directory list will be added to command lines +through the automatically-generated +&cv-_F77INCFLAGS; +construction variable, +which is constructed by +appending the values of the +&cv-INCPREFIX; and &cv-INCSUFFIX; +construction variables +to the beginning and end +of each directory in &cv-F77PATH;. +Any command lines you define that need +the F77PATH directory list should +include &cv-_F77INCFLAGS;: + +<example> +env = Environment(F77COM="my_compiler $_F77INCFLAGS -c -o $TARGET $SOURCE") +</example> +</summary> +</cvar> + +<cvar name="F77PPCOM"> +<summary> +The command line used to compile a Fortran 77 source file to an object file +after first running the file through the C preprocessor. +Any options specified in the &cv-F77FLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +You only need to set &cv-F77PPCOM; if you need to use a specific +C-preprocessor command line for Fortran 77 files. +You should normally set the &cv-FORTRANPPCOM; variable, +which specifies the default C-preprocessor command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF77"> +<summary> +The Fortran 77 compiler used for generating shared-library objects. +You should normally set the &cv-SHFORTRAN; variable, +which specifies the default Fortran compiler +for all Fortran versions. +You only need to set &cv-SHF77; if you need to use a specific compiler +or compiler version for Fortran 77 files. +</summary> +</cvar> + +<cvar name="SHF77COM"> +<summary> +The command line used to compile a Fortran 77 source file +to a shared-library object file. +You only need to set &cv-SHF77COM; if you need to use a specific +command line for Fortran 77 files. +You should normally set the &cv-SHFORTRANCOM; variable, +which specifies the default command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF77COMSTR"> +<summary> +The string displayed when a Fortran 77 source file +is compiled to a shared-library object file. +If this is not set, then &cv-SHF77COM; or &cv-SHFORTRANCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="SHF77FLAGS"> +<summary> +Options that are passed to the Fortran 77 compiler +to generated shared-library objects. +You only need to set &cv-SHF77FLAGS; if you need to define specific +user options for Fortran 77 files. +You should normally set the &cv-SHFORTRANFLAGS; variable, +which specifies the user-specified options +passed to the default Fortran compiler +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF77PPCOM"> +<summary> +The command line used to compile a Fortran 77 source file to a +shared-library object file +after first running the file through the C preprocessor. +Any options specified in the &cv-SHF77FLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +You only need to set &cv-SHF77PPCOM; if you need to use a specific +C-preprocessor command line for Fortran 77 files. +You should normally set the &cv-SHFORTRANPPCOM; variable, +which specifies the default C-preprocessor command line +for all Fortran versions. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/f90.xml b/src/engine/SCons/Tool/f90.xml new file mode 100644 index 0000000..b2f0857 --- /dev/null +++ b/src/engine/SCons/Tool/f90.xml @@ -0,0 +1,196 @@ +<!-- __COPYRIGHT__ --> +<tool name="f90"> +<summary> +XXX +</summary> +</tool> + +<cvar name="F90"> +<summary> +The Fortran 90 compiler. +You should normally set the &cv-FORTRAN; variable, +which specifies the default Fortran compiler +for all Fortran versions. +You only need to set &cv-F90; if you need to use a specific compiler +or compiler version for Fortran 90 files. +</summary> +</cvar> + +<cvar name="F90COM"> +<summary> +The command line used to compile a Fortran 90 source file to an object file. +You only need to set &cv-F90COM; if you need to use a specific +command line for Fortran 90 files. +You should normally set the &cv-FORTRANCOM; variable, +which specifies the default command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="F90COMSTR"> +<summary> +The string displayed when a Fortran 90 source file +is compiled to an object file. +If this is not set, then &cv-F90COM; or &cv-FORTRANCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="F90FLAGS"> +<summary> +General user-specified options that are passed to the Fortran 90 compiler. +Note that this variable does +<emphasis>not</emphasis> +contain +<option>-I</option> +(or similar) include search path options +that scons generates automatically from &cv-F90PATH;. +See +&cv-_F90INCFLAGS; +below, +for the variable that expands to those options. +You only need to set &cv-F90FLAGS; if you need to define specific +user options for Fortran 90 files. +You should normally set the &cv-FORTRANFLAGS; variable, +which specifies the user-specified options +passed to the default Fortran compiler +for all Fortran versions. +</summary> +</cvar> + +<cvar name="_F90INCFLAGS"> +<summary> +An automatically-generated construction variable +containing the Fortran 90 compiler command-line options +for specifying directories to be searched for include files. +The value of &cv-_F90INCFLAGS; is created +by appending &cv-INCPREFIX; and &cv-INCSUFFIX; +to the beginning and end +of each directory in &cv-F90PATH;. +</summary> +</cvar> + +<cvar name="F90PATH"> +<summary> +The list of directories that the Fortran 90 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 &cv-F90FLAGS; because the result will be non-portable +and the directories will not be searched by the dependency scanner. Note: +directory names in &cv-F90PATH; will be looked-up relative to the SConscript +directory when they are used in a command. To force +&scons; +to look-up a directory relative to the root of the source tree use #: +You only need to set &cv-F90PATH; if you need to define a specific +include path for Fortran 90 files. +You should normally set the &cv-FORTRANPATH; variable, +which specifies the include path +for the default Fortran compiler +for all Fortran versions. + +<example> +env = Environment(F90PATH='#/include') +</example> + +The directory look-up can also be forced using the +&Dir;() +function: + +<example> +include = Dir('include') +env = Environment(F90PATH=include) +</example> + +The directory list will be added to command lines +through the automatically-generated +&cv-_F90INCFLAGS; +construction variable, +which is constructed by +appending the values of the +&cv-INCPREFIX; and &cv-INCSUFFIX; +construction variables +to the beginning and end +of each directory in &cv-F90PATH;. +Any command lines you define that need +the F90PATH directory list should +include &cv-_F90INCFLAGS;: + +<example> +env = Environment(F90COM="my_compiler $_F90INCFLAGS -c -o $TARGET $SOURCE") +</example> +</summary> +</cvar> + +<cvar name="F90PPCOM"> +<summary> +The command line used to compile a Fortran 90 source file to an object file +after first running the file through the C preprocessor. +Any options specified in the &cv-F90FLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +You only need to set &cv-F90PPCOM; if you need to use a specific +C-preprocessor command line for Fortran 90 files. +You should normally set the &cv-FORTRANPPCOM; variable, +which specifies the default C-preprocessor command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF90"> +<summary> +The Fortran 90 compiler used for generating shared-library objects. +You should normally set the &cv-SHFORTRAN; variable, +which specifies the default Fortran compiler +for all Fortran versions. +You only need to set &cv-SHF90; if you need to use a specific compiler +or compiler version for Fortran 90 files. +</summary> +</cvar> + +<cvar name="SHF90COM"> +<summary> +The command line used to compile a Fortran 90 source file +to a shared-library object file. +You only need to set &cv-SHF90COM; if you need to use a specific +command line for Fortran 90 files. +You should normally set the &cv-SHFORTRANCOM; variable, +which specifies the default command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF90COMSTR"> +<summary> +The string displayed when a Fortran 90 source file +is compiled to a shared-library object file. +If this is not set, then &cv-SHF90COM; or &cv-SHFORTRANCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="SHF90FLAGS"> +<summary> +Options that are passed to the Fortran 90 compiler +to generated shared-library objects. +You only need to set &cv-SHF90FLAGS; if you need to define specific +user options for Fortran 90 files. +You should normally set the &cv-SHFORTRANFLAGS; variable, +which specifies the user-specified options +passed to the default Fortran compiler +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF90PPCOM"> +<summary> +The command line used to compile a Fortran 90 source file to a +shared-library object file +after first running the file through the C preprocessor. +Any options specified in the &cv-SHF90FLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +You only need to set &cv-SHF90PPCOM; if you need to use a specific +C-preprocessor command line for Fortran 90 files. +You should normally set the &cv-SHFORTRANPPCOM; variable, +which specifies the default C-preprocessor command line +for all Fortran versions. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/f95.xml b/src/engine/SCons/Tool/f95.xml new file mode 100644 index 0000000..df74422 --- /dev/null +++ b/src/engine/SCons/Tool/f95.xml @@ -0,0 +1,196 @@ +<!-- __COPYRIGHT__ --> +<tool name="f95"> +<summary> +XXX +</summary> +</tool> + +<cvar name="F95"> +<summary> +The Fortran 95 compiler. +You should normally set the &cv-FORTRAN; variable, +which specifies the default Fortran compiler +for all Fortran versions. +You only need to set &cv-F95; if you need to use a specific compiler +or compiler version for Fortran 95 files. +</summary> +</cvar> + +<cvar name="F95COM"> +<summary> +The command line used to compile a Fortran 95 source file to an object file. +You only need to set &cv-F95COM; if you need to use a specific +command line for Fortran 95 files. +You should normally set the &cv-FORTRANCOM; variable, +which specifies the default command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="F95COMSTR"> +<summary> +The string displayed when a Fortran 95 source file +is compiled to an object file. +If this is not set, then &cv-F95COM; or &cv-FORTRANCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="F95FLAGS"> +<summary> +General user-specified options that are passed to the Fortran 95 compiler. +Note that this variable does +<emphasis>not</emphasis> +contain +<option>-I</option> +(or similar) include search path options +that scons generates automatically from &cv-F95PATH;. +See +&cv-_F95INCFLAGS; +below, +for the variable that expands to those options. +You only need to set &cv-F95FLAGS; if you need to define specific +user options for Fortran 95 files. +You should normally set the &cv-FORTRANFLAGS; variable, +which specifies the user-specified options +passed to the default Fortran compiler +for all Fortran versions. +</summary> +</cvar> + +<cvar name="_F95INCFLAGS"> +<summary> +An automatically-generated construction variable +containing the Fortran 95 compiler command-line options +for specifying directories to be searched for include files. +The value of &cv-_F95INCFLAGS; is created +by appending &cv-INCPREFIX; and &cv-INCSUFFIX; +to the beginning and end +of each directory in &cv-F95PATH;. +</summary> +</cvar> + +<cvar name="F95PATH"> +<summary> +The list of directories that the Fortran 95 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 &cv-F95FLAGS; because the result will be non-portable +and the directories will not be searched by the dependency scanner. Note: +directory names in &cv-F95PATH; will be looked-up relative to the SConscript +directory when they are used in a command. To force +&scons; +to look-up a directory relative to the root of the source tree use #: +You only need to set &cv-F95PATH; if you need to define a specific +include path for Fortran 95 files. +You should normally set the &cv-FORTRANPATH; variable, +which specifies the include path +for the default Fortran compiler +for all Fortran versions. + +<example> +env = Environment(F95PATH='#/include') +</example> + +The directory look-up can also be forced using the +&Dir;() +function: + +<example> +include = Dir('include') +env = Environment(F95PATH=include) +</example> + +The directory list will be added to command lines +through the automatically-generated +&cv-_F95INCFLAGS; +construction variable, +which is constructed by +appending the values of the +&cv-INCPREFIX; and &cv-INCSUFFIX; +construction variables +to the beginning and end +of each directory in &cv-F95PATH;. +Any command lines you define that need +the F95PATH directory list should +include &cv-_F95INCFLAGS;: + +<example> +env = Environment(F95COM="my_compiler $_F95INCFLAGS -c -o $TARGET $SOURCE") +</example> +</summary> +</cvar> + +<cvar name="F95PPCOM"> +<summary> +The command line used to compile a Fortran 95 source file to an object file +after first running the file through the C preprocessor. +Any options specified in the &cv-F95FLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +You only need to set &cv-F95PPCOM; if you need to use a specific +C-preprocessor command line for Fortran 95 files. +You should normally set the &cv-FORTRANPPCOM; variable, +which specifies the default C-preprocessor command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF95"> +<summary> +The Fortran 95 compiler used for generating shared-library objects. +You should normally set the &cv-SHFORTRAN; variable, +which specifies the default Fortran compiler +for all Fortran versions. +You only need to set &cv-SHF95; if you need to use a specific compiler +or compiler version for Fortran 95 files. +</summary> +</cvar> + +<cvar name="SHF95COM"> +<summary> +The command line used to compile a Fortran 95 source file +to a shared-library object file. +You only need to set &cv-SHF95COM; if you need to use a specific +command line for Fortran 95 files. +You should normally set the &cv-SHFORTRANCOM; variable, +which specifies the default command line +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF95COMSTR"> +<summary> +The string displayed when a Fortran 95 source file +is compiled to a shared-library object file. +If this is not set, then &cv-SHF95COM; or &cv-SHFORTRANCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="SHF95FLAGS"> +<summary> +Options that are passed to the Fortran 95 compiler +to generated shared-library objects. +You only need to set &cv-SHF95FLAGS; if you need to define specific +user options for Fortran 95 files. +You should normally set the &cv-SHFORTRANFLAGS; variable, +which specifies the user-specified options +passed to the default Fortran compiler +for all Fortran versions. +</summary> +</cvar> + +<cvar name="SHF95PPCOM"> +<summary> +The command line used to compile a Fortran 95 source file to a +shared-library object file +after first running the file through the C preprocessor. +Any options specified in the &cv-SHF95FLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +You only need to set &cv-SHF95PPCOM; if you need to use a specific +C-preprocessor command line for Fortran 95 files. +You should normally set the &cv-SHFORTRANPPCOM; variable, +which specifies the default C-preprocessor command line +for all Fortran versions. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/fortran.xml b/src/engine/SCons/Tool/fortran.xml new file mode 100644 index 0000000..4282f30 --- /dev/null +++ b/src/engine/SCons/Tool/fortran.xml @@ -0,0 +1,240 @@ +<!-- __COPYRIGHT__ --> +<tool name="fortran"> +<summary> +XXX +</summary> +</tool> + +<cvar name="FORTRAN"> +<summary> +The default Fortran compiler +for all versions of Fortran. +</summary> +</cvar> + +<cvar name="FORTRANCOM"> +<summary> +The command line used to compile a Fortran source file to an object file. +By default, any options specified +in the &cv-FORTRANFLAGS;, &cv-CPPFLAGS;, &cv-_CPPDEFFLAGS;, +&cv-_FORTRANMODFLAG;, and &cv-_FORTRANINCFLAGS; construction variables +are included on this command line. +</summary> +</cvar> + +<cvar name="FORTRANCOMSTR"> +<summary> +The string displayed when a Fortran source file +is compiled to an object file. +If this is not set, then &cv-FORTRANCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="FORTRANFLAGS"> +<summary> +General user-specified options that are passed to the Fortran compiler. +Note that this variable does +<emphasis>not</emphasis> +contain +<option>-I</option> +(or similar) include or module search path options +that scons generates automatically from &cv-FORTRANPATH;. +See +&cv-_FORTRANINCFLAGS; and &cv-_FORTRANMODFLAG;, +below, +for the variables that expand those options. +</summary> +</cvar> + +<cvar name="_FORTRANINCFLAGS"> +<summary> +An automatically-generated construction variable +containing the Fortran compiler command-line options +for specifying directories to be searched for include +files and module files. +The value of &cv-_FORTRANINCFLAGS; is created +by prepending/appending &cv-INCPREFIX; and &cv-INCSUFFIX; +to the beginning and end +of each directory in &cv-FORTRANPATH;. +</summary> +</cvar> + +<cvar name="FORTRANMODDIR"> +<summary> +Directory location where the Fortran compiler should place +any module files it generates. This variable is empty, by default. Some +Fortran compilers will internally append this directory in the search path +for module files, as well +</summary> +</cvar> + +<cvar name="FORTRANMODDIRPREFIX"> +<summary> +The prefix used to specify a module directory on the Fortran compiler command +line. +This will be appended to the beginning of the directory +in the &cv-FORTRANMODDIR; construction variables +when the &cv-_FORTRANMODFLAG; variables is automatically generated. +</summary> +</cvar> + +<cvar name="FORTRANMODDIRSUFFIX"> +<summary> +The suffix used to specify a module directory on the Fortran compiler command +line. +This will be appended to the beginning of the directory +in the &cv-FORTRANMODDIR; construction variables +when the &cv-_FORTRANMODFLAG; variables is automatically generated. +</summary> +</cvar> + +<cvar name="_FORTRANMODFLAG"> +<summary> +An automatically-generated construction variable +containing the Fortran compiler command-line option +for specifying the directory location where the Fortran +compiler should place any module files that happen to get +generated during compilation. +The value of &cv-_FORTRANMODFLAG; is created +by prepending/appending &cv-FORTRANMODDIRPREFIX; and &cv-FORTRANMODDIRSUFFIX; +to the beginning and end of the directory in &cv-FORTRANMODDIR;. +</summary> +</cvar> + +<cvar name="FORTRANMODPREFIX"> +<summary> +The module file prefix used by the Fortran compiler. SCons assumes that +the Fortran compiler follows the quasi-standard naming convention for +module files of +<filename>module_name.mod</filename>. +As a result, this variable is left empty, by default. For situations in +which the compiler does not necessarily follow the normal convention, +the user may use this variable. Its value will be appended to every +module file name as scons attempts to resolve dependencies. +</summary> +</cvar> + +<cvar name="FORTRANMODSUFFIX"> +<summary> +The module file suffix used by the Fortran compiler. SCons assumes that +the Fortran compiler follows the quasi-standard naming convention for +module files of +<filename>module_name.mod</filename>. +As a result, this variable is set to ".mod", by default. For situations +in which the compiler does not necessarily follow the normal convention, +the user may use this variable. Its value will be appended to every +module file name as scons attempts to resolve dependencies. +</summary> +</cvar> + +<cvar name="FORTRANPATH"> +<summary> +The list of directories that the Fortran compiler will search for +include files and (for some compilers) module files. The Fortran implicit +dependency scanner will search these directories for include files (but +not module files since they are autogenerated and, as such, may not +actually exist at the time the scan takes place). Don't explicitly put +include directory arguments in FORTRANFLAGS because the result will be +non-portable and the directories will not be searched by the dependency +scanner. Note: directory names in FORTRANPATH will be looked-up relative +to the SConscript directory when they are used in a command. To force +&scons; +to look-up a directory relative to the root of the source tree use #: + +<example> +env = Environment(FORTRANPATH='#/include') +</example> + +The directory look-up can also be forced using the +&Dir;() +function: + +<example> +include = Dir('include') +env = Environment(FORTRANPATH=include) +</example> + +The directory list will be added to command lines +through the automatically-generated +&cv-_FORTRANINCFLAGS; +construction variable, +which is constructed by +appending the values of the +&cv-INCPREFIX; and &cv-INCSUFFIX; +construction variables +to the beginning and end +of each directory in &cv-FORTRANPATH;. +Any command lines you define that need +the FORTRANPATH directory list should +include &cv-_FORTRANINCFLAGS;: + +<example> +env = Environment(FORTRANCOM="my_compiler $_FORTRANINCFLAGS -c -o $TARGET $SOURCE") +</example> +</summary> +</cvar> + +<cvar name="FORTRANPPCOM"> +<summary> +The command line used to compile a Fortran source file to an object file +after first running the file through the C preprocessor. +By default, any options specified in the &cv-FORTRANFLAGS;, &cv-CPPFLAGS;, +_CPPDEFFLAGS, &cv-_FORTRANMODFLAG;, and &cv-_FORTRANINCFLAGS; +construction variables are included on this command line. +</summary> +</cvar> + +<cvar name="FORTRANSUFFIXES"> +<summary> +The list of suffixes of files that will be scanned +for Fortran implicit dependencies +(INCLUDE lines and USE statements). +The default list is: + +<example> +[".f", ".F", ".for", ".FOR", ".ftn", ".FTN", ".fpp", ".FPP", +".f77", ".F77", ".f90", ".F90", ".f95", ".F95"] +</example> +</summary> +</cvar> + +<cvar name="SHFORTRAN"> +<summary> +The default Fortran compiler used for generating shared-library objects. +</summary> +</cvar> + +<cvar name="SHFORTRANCOM"> +<summary> +The command line used to compile a Fortran source file +to a shared-library object file. +</summary> +</cvar> + +<cvar name="SHFORTRANCOMSTR"> +<summary> +The string displayed when a Fortran source file +is compiled to a shared-library object file. +If this is not set, then &cv-SHFORTRANCOM; +(the command line) is displayed. +</summary> +</cvar> + +<cvar name="SHFORTRANFLAGS"> +<summary> +Options that are passed to the Fortran compiler +to generate shared-library objects. +</summary> +</cvar> + +<cvar name="SHFORTRANPPCOM"> +<summary> +The command line used to compile a Fortran source file to a +shared-library object file +after first running the file through the C preprocessor. +Any options specified +in the &cv-SHFORTRANFLAGS; and &cv-CPPFLAGS; construction variables +are included on this command line. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/g++.xml b/src/engine/SCons/Tool/g++.xml new file mode 100644 index 0000000..b6fb5b0 --- /dev/null +++ b/src/engine/SCons/Tool/g++.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="g++"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/g77.xml b/src/engine/SCons/Tool/g77.xml new file mode 100644 index 0000000..94f415a --- /dev/null +++ b/src/engine/SCons/Tool/g77.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="g77"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/gas.xml b/src/engine/SCons/Tool/gas.xml new file mode 100644 index 0000000..29179e2 --- /dev/null +++ b/src/engine/SCons/Tool/gas.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="gas"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/gcc.xml b/src/engine/SCons/Tool/gcc.xml new file mode 100644 index 0000000..51dac07 --- /dev/null +++ b/src/engine/SCons/Tool/gcc.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="gcc"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/gnulink.xml b/src/engine/SCons/Tool/gnulink.xml new file mode 100644 index 0000000..d7c1a42 --- /dev/null +++ b/src/engine/SCons/Tool/gnulink.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="gnulink"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/gs.xml b/src/engine/SCons/Tool/gs.xml new file mode 100644 index 0000000..377bfc3 --- /dev/null +++ b/src/engine/SCons/Tool/gs.xml @@ -0,0 +1,34 @@ +<!-- __COPYRIGHT__ --> +<tool name="gs"> +<summary> +XXX +</summary> +</tool> + +<cvar name="GS"> +<summary> +The Ghostscript program used to convert PostScript to PDF files. +</summary> +</cvar> + +<cvar name="GSCOM"> +<summary> +The Ghostscript command line used to convert PostScript to PDF files. +</summary> +</cvar> + +<cvar name="GSCOMSTR"> +<summary> +The string displayed when +Ghostscript is used to convert +a PostScript file to a PDF file. +If this is not set, then &cv-GSCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="GSFLAGS"> +<summary> +General options passed to the Ghostscript program +when converting PostScript to PDF files. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/hpc++.xml b/src/engine/SCons/Tool/hpc++.xml new file mode 100644 index 0000000..5c13718 --- /dev/null +++ b/src/engine/SCons/Tool/hpc++.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="hpc++"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/hpcc.xml b/src/engine/SCons/Tool/hpcc.xml new file mode 100644 index 0000000..db2fccd --- /dev/null +++ b/src/engine/SCons/Tool/hpcc.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="hpcc"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/hplink.xml b/src/engine/SCons/Tool/hplink.xml new file mode 100644 index 0000000..71f5e22 --- /dev/null +++ b/src/engine/SCons/Tool/hplink.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="hplink"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/icc.xml b/src/engine/SCons/Tool/icc.xml new file mode 100644 index 0000000..a6fdea2 --- /dev/null +++ b/src/engine/SCons/Tool/icc.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="icc"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/icl.xml b/src/engine/SCons/Tool/icl.xml new file mode 100644 index 0000000..be20912 --- /dev/null +++ b/src/engine/SCons/Tool/icl.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="icl"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/ifl.xml b/src/engine/SCons/Tool/ifl.xml new file mode 100644 index 0000000..34dfecb --- /dev/null +++ b/src/engine/SCons/Tool/ifl.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="ifl"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/ifort.xml b/src/engine/SCons/Tool/ifort.xml new file mode 100644 index 0000000..2cb889b --- /dev/null +++ b/src/engine/SCons/Tool/ifort.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="ifort"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/ilink.xml b/src/engine/SCons/Tool/ilink.xml new file mode 100644 index 0000000..4f86883 --- /dev/null +++ b/src/engine/SCons/Tool/ilink.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="ilink"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/ilink32.xml b/src/engine/SCons/Tool/ilink32.xml new file mode 100644 index 0000000..0d62be4 --- /dev/null +++ b/src/engine/SCons/Tool/ilink32.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="ilink32"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/intelc.xml b/src/engine/SCons/Tool/intelc.xml new file mode 100644 index 0000000..47cfbec --- /dev/null +++ b/src/engine/SCons/Tool/intelc.xml @@ -0,0 +1,14 @@ +<!-- __COPYRIGHT__ --> +<tool name="intelc"> +<summary> +XXX +</summary> +</tool> + +<cvar name="INTEL_C_COMPILER_VERSION"> +<summary> +Set by the "intelc" Tool +to the major version number of the Intel C compiler +selected for use. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/jar.xml b/src/engine/SCons/Tool/jar.xml new file mode 100644 index 0000000..b89468d --- /dev/null +++ b/src/engine/SCons/Tool/jar.xml @@ -0,0 +1,82 @@ +<!-- __COPYRIGHT__ --> +<tool name="jar"> +<summary> +XXX +</summary> +</tool> + +<builder name="Jar"> +<summary> +Builds a Java archive (<filename>.jar</filename>) file +from a source tree of <filename>.class</filename> files. +If the &cv-JARCHDIR; value is set, the +&jar; +command will change to the specified directory using the +<option>-C</option> +option. +If the contents any of the source files begin with the string +<literal>Manifest-Version</literal>, +the file is assumed to be a manifest +and is passed to the +&jar; +command with the +<option>m</option> +option set. + +<example> +env.Jar(target = 'foo.jar', source = 'classes') +</example> +</summary> +</builder> + +<cvar name="JAR"> +<summary> +The Java archive tool. +</summary> +</cvar> + +<cvar name="JARCHDIR"> +<summary> +The directory to which the Java archive tool should change +(using the +<option>-C</option> +option). +</summary> +</cvar> + +<cvar name="JARCOM"> +<summary> +The command line used to call the Java archive tool. +</summary> +</cvar> + +<cvar name="JARCOMSTR"> +<summary> +The string displayed when the Java archive tool +is called +If this is not set, then &cv-JARCOM; (the command line) is displayed. + +<example> +env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET") +</example> +</summary> +</cvar> + +<cvar name="JARFLAGS"> +<summary> +General options passed to the Java archive tool. +By default this is set to +<option>cf</option> +to create the necessary +<command>jar</command> +file. +</summary> +</cvar> + +<cvar name="JARSUFFIX"> +<summary> +The suffix for Java archives: +<filename>.jar</filename> +by default. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/javac.xml b/src/engine/SCons/Tool/javac.xml new file mode 100644 index 0000000..9cd40b5 --- /dev/null +++ b/src/engine/SCons/Tool/javac.xml @@ -0,0 +1,109 @@ +<!-- __COPYRIGHT__ --> +<tool name="javac"> +<summary> +XXX +</summary> +</tool> + +<builder name="Java"> +<summary> +Builds one or more Java class files +from one or more source trees of <filename>.java</filename> files. +The class files will be placed underneath +the specified target directory. +SCons will parse each source <filename>.java</filename> file +to find the classes +(including inner classes) +defined within that file, +and from that figure out the +target <filename>.class</filename> files that will be created. +SCons will also search each Java file +for the Java package name, +which it assumes can be found on a line +beginning with the string +<literal>package</literal> +in the first column; +the resulting <filename>.class</filename> files +will be placed in a directory reflecting +the specified package name. +For example, +the file +<filename>Foo.java</filename> +defining a single public +<classname>Foo</classname> +class and +containing a package name of +<classname>sub.dir</classname> +will generate a corresponding +<filename>sub/dir/Foo.class</filename> +class file. + +Example: + +<example> +env.Java(target = 'classes', source = 'src') +env.Java(target = 'classes', source = ['src1', 'src2']) +</example> +</summary> +</builder> + +<cvar name="JAVAC"> +<summary> +The Java compiler. +</summary> +</cvar> + +<cvar name="JAVACCOM"> +<summary> +The command line used to compile a directory tree containing +Java source files to +corresponding Java class files. +Any options specified in the &cv-JAVACFLAGS; construction variable +are included on this command line. +</summary> +</cvar> + +<cvar name="JAVACCOMSTR"> +<summary> +The string displayed when compiling +a directory tree of Java source files to +corresponding Java class files. +If this is not set, then &cv-JAVACCOM; (the command line) is displayed. + +<example> +env = Environment(JAVACCOMSTR = "Compiling class files $TARGETS from $SOURCES") +</example> +</summary> +</cvar> + +<cvar name="JAVACFLAGS"> +<summary> +General options that are passed to the Java compiler. +</summary> +</cvar> + +<cvar name="JAVACLASSDIR"> +<summary> +The directory in which Java class files may be found. +This is stripped from the beginning of any Java .class +file names supplied to the +<literal>JavaH</literal> +builder. +</summary> +</cvar> + +<cvar name="JAVACLASSSUFFIX"> +<summary> +The suffix for Java class files; +<filename>.class</filename> +by default. +</summary> +</cvar> + +<cvar name="JAVASUFFIX"> +<summary> +The suffix for Java files; +<filename>.java</filename> +by default. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/javah.xml b/src/engine/SCons/Tool/javah.xml new file mode 100644 index 0000000..7699784 --- /dev/null +++ b/src/engine/SCons/Tool/javah.xml @@ -0,0 +1,82 @@ +<!-- __COPYRIGHT__ --> +<tool name="javah"> +<summary> +XXX +</summary> +</tool> + +<builder name="JavaH"> +<summary> +Builds C header and source files for +implementing Java native methods. +The target can be either a directory +in which the header files will be written, +or a header file name which +will contain all of the definitions. +The source can be either the names of <filename>.class</filename> files, +or the objects returned from the +&b-Java; +builder method. + +If the construction variable +&cv-JAVACLASSDIR; +is set, either in the environment +or in the call to the +&b-JavaH; +builder method itself, +then the value of the variable +will be stripped from the +beginning of any <filename>.class</filename> file names. + +Examples: + +<example> +# builds java_native.h +classes = env.Java(target = 'classdir', source = 'src') +env.JavaH(target = 'java_native.h', source = classes) + +# builds include/package_foo.h and include/package_bar.h +env.JavaH(target = 'include', + source = ['package/foo.class', 'package/bar.class']) + +# builds export/foo.h and export/bar.h +env.JavaH(target = 'export', + source = ['classes/foo.class', 'classes/bar.class'], + JAVACLASSDIR = 'classes') +</example> +</summary> +</builder> + +<cvar name="JAVAH"> +<summary> +The Java generator for C header and stub files. +</summary> +</cvar> + +<cvar name="JAVAHCOM"> +<summary> +The command line used to generate C header and stub files +from Java classes. +Any options specified in the &cv-JAVAHFLAGS; construction variable +are included on this command line. +</summary> +</cvar> + +<cvar name="JAVAHCOMSTR"> +<summary> +The string displayed when C header and stub files +are generated from Java classes. +If this is not set, then &cv-JAVAHCOM; (the command line) is displayed. + +<example> +env = Environment(JAVAHCOMSTR = "Generating header/stub file(s) $TARGETS from $SOURCES") +</example> +</summary> +</cvar> + +<cvar name="JAVAHFLAGS"> +<summary> +General options passed to the C header and stub file generator +for Java classes. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/latex.xml b/src/engine/SCons/Tool/latex.xml new file mode 100644 index 0000000..6a415f7 --- /dev/null +++ b/src/engine/SCons/Tool/latex.xml @@ -0,0 +1,36 @@ +<!-- __COPYRIGHT__ --> +<tool name="latex"> +<summary> +XXX +</summary> +</tool> + +<cvar name="LATEX"> +<summary> +The LaTeX structured formatter and typesetter. +</summary> +</cvar> + +<cvar name="LATEXCOM"> +<summary> +The command line used to call the LaTeX structured formatter and typesetter. +</summary> +</cvar> + +<cvar name="LATEXCOMSTR"> +<summary> +The string displayed when calling +the LaTeX structured formatter and typesetter. +If this is not set, then &cv-LATEXCOM; (the command line) is displayed. + +<example> +env = Environment(LATEXCOMSTR = "Building $TARGET from LaTeX input $SOURCES") +</example> +</summary> +</cvar> + +<cvar name="LATEXFLAGS"> +<summary> +General options passed to the LaTeX structured formatter and typesetter. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/lex.py b/src/engine/SCons/Tool/lex.py index 4a17fae..3331f6c 100644 --- a/src/engine/SCons/Tool/lex.py +++ b/src/engine/SCons/Tool/lex.py @@ -33,17 +33,19 @@ selection method. __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" -import SCons.Defaults +import SCons.Action import SCons.Tool import SCons.Util +LexAction = SCons.Action.Action("$LEXCOM", "$LEXCOMSTR") + def generate(env): """Add Builders and construction variables for lex to an Environment.""" c_file, cxx_file = SCons.Tool.createCFileBuilders(env) - c_file.add_action('.l', SCons.Defaults.LexAction) - c_file.add_action('.lex', SCons.Defaults.LexAction) - cxx_file.add_action('.ll', SCons.Defaults.LexAction) + c_file.add_action('.l', LexAction) + c_file.add_action('.lex', LexAction) + cxx_file.add_action('.ll', LexAction) env['LEX'] = env.Detect('flex') or 'lex' env['LEXFLAGS'] = SCons.Util.CLVar('') diff --git a/src/engine/SCons/Tool/lex.xml b/src/engine/SCons/Tool/lex.xml new file mode 100644 index 0000000..3fb62e1 --- /dev/null +++ b/src/engine/SCons/Tool/lex.xml @@ -0,0 +1,37 @@ +<!-- __COPYRIGHT__ --> +<tool name="lex"> +<summary> +XXX +</summary> +</tool> + +<cvar name="LEX"> +<summary> +The lexical analyzer generator. +</summary> +</cvar> + +<cvar name="LEXCOM"> +<summary> +The command line used to call the lexical analyzer generator +to generate a source file. +</summary> +</cvar> + +<cvar name="LEXCOMSTR"> +<summary> +The string displayed when generating a source file +using the lexical analyzer generator. +If this is not set, then &cv-LEXCOM; (the command line) is displayed. + +<example> +env = Environment(LEXCOMSTR = "Lex'ing $TARGET from $SOURCES") +</example> +</summary> +</cvar> + +<cvar name="LEXFLAGS"> +<summary> +General options passed to the lexical analyzer generator. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/link.xml b/src/engine/SCons/Tool/link.xml new file mode 100644 index 0000000..420a5b7 --- /dev/null +++ b/src/engine/SCons/Tool/link.xml @@ -0,0 +1,146 @@ +<!-- __COPYRIGHT__ --> +<tool name="link"> +<summary> +XXX +</summary> +</tool> + +<cvar name="LDMODULE"> +<summary> +The linker for building loadable modules. +By default, this is the same as &cv-SHLINK;. +</summary> +</cvar> + +<cvar name="LDMODULECOM"> +<summary> +The command line for building loadable modules. +On Mac OS X, this uses the &cv-LDMODULE;, +&cv-LDMODULEFLAGS; and &cv-FRAMEWORKSFLAGS; variables. +On other systems, this is the same as &cv-SHLINK;. +</summary> +</cvar> + +<cvar name="LDMODULECOMSTR"> +<summary> +The string displayed when building loadable modules. +If this is not set, then &cv-LDMODULECOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="LDMODULEFLAGS"> +<summary> +General user options passed to the linker for building loadable modules. +</summary> +</cvar> + +<cvar name="LDMODULEPREFIX"> +<summary> +The prefix used for loadable module file names. +On Mac OS X, this is null; +on other systems, this is +the same as &cv-SHLIBPREFIX;. +</summary> +</cvar> + +<cvar name="LDMODULESUFFIX"> +<summary> +The suffix used for loadable module file names. +On Mac OS X, this is null; +on other systems, this is +the same as $SHLIBSUFFIX. +</summary> +</cvar> + +<cvar name="LINK"> +<summary> +The linker. +</summary> +</cvar> + +<cvar name="LINKCOM"> +<summary> +The command line used to link object files into an executable. +</summary> +</cvar> + +<cvar name="LINKCOMSTR"> +<summary> +The string displayed when object files +are linked into an executable. +If this is not set, then &cv-LINKCOM; (the command line) is displayed. + +<example> +env = Environment(LINKCOMSTR = "Linking $TARGET") +</example> +</summary> +</cvar> + +<cvar name="LINKFLAGS"> +<summary> +General user options passed to the linker. +Note that this variable should +<emphasis>not</emphasis> +contain +<option>-l</option> +(or similar) options for linking with the libraries listed in &cv-LIBS;, +nor +<option>-L</option> +(or similar) library search path options +that scons generates automatically from &cv-LIBPATH;. +See +&cv-_LIBFLAGS; +above, +for the variable that expands to library-link options, +and +&cv-_LIBDIRFLAGS; +above, +for the variable that expands to library search path options. +</summary> +</cvar> + +<cvar name="SHLINK"> +<summary> +The linker for programs that use shared libraries. +</summary> +</cvar> + +<cvar name="SHLINKCOM"> +<summary> +The command line used to link programs using shared libaries. +</summary> +</cvar> + +<cvar name="SHLINKCOMSTR"> +<summary> +The string displayed when programs using shared libraries are linked. +If this is not set, then &cv-SHLINKCOM; (the command line) is displayed. + +<example> +env = Environment(SHLINKCOMSTR = "Linking shared $TARGET") +</example> +</summary> +</cvar> + +<cvar name="SHLINKFLAGS"> +<summary> +General user options passed to the linker for programs using shared libraries. +Note that this variable should +<emphasis>not</emphasis> +contain +<option>-l</option> +(or similar) options for linking with the libraries listed in &cv-LIBS;, +nor +<option>-L</option> +(or similar) include search path options +that scons generates automatically from &cv-LIBPATH;. +See +&cv-_LIBFLAGS; +above, +for the variable that expands to library-link options, +and +&cv-_LIBDIRFLAGS; +above, +for the variable that expands to library search path options. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/linkloc.xml b/src/engine/SCons/Tool/linkloc.xml new file mode 100644 index 0000000..12a9d50 --- /dev/null +++ b/src/engine/SCons/Tool/linkloc.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="linkloc"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/m4.xml b/src/engine/SCons/Tool/m4.xml new file mode 100644 index 0000000..1f91770 --- /dev/null +++ b/src/engine/SCons/Tool/m4.xml @@ -0,0 +1,48 @@ +<!-- __COPYRIGHT__ --> +<tool name="m4"> +<summary> +XXX +</summary> +</tool> + +<builder name="M4"> +<summary> +Builds an output file from an M4 input file. +This uses a default &cv-M4FLAGS; value of +<option>-E</option>, +which considers all warnings to be fatal +and stops on the first warning +when using the GNU version of m4. +Example: + +<example> +env.M4(target = 'foo.c', source = 'foo.c.m4') +</example> +</summary> +</builder> + +<cvar name="M4"> +<summary> +The M4 macro preprocessor. +</summary> +</cvar> + +<cvar name="M4COM"> +<summary> +The command line used to pass files through the M4 macro preprocessor. +</summary> +</cvar> + +<cvar name="M4COMSTR"> +<summary> +The string displayed when +a file is passed through the M4 macro preprocessor. +If this is not set, then &cv-M4COM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="M4FLAGS"> +<summary> +General options passed to the M4 macro preprocessor. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/masm.xml b/src/engine/SCons/Tool/masm.xml new file mode 100644 index 0000000..82c14cf --- /dev/null +++ b/src/engine/SCons/Tool/masm.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="masm"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/midl.xml b/src/engine/SCons/Tool/midl.xml new file mode 100644 index 0000000..4d5c7e0 --- /dev/null +++ b/src/engine/SCons/Tool/midl.xml @@ -0,0 +1,29 @@ +<!-- __COPYRIGHT__ --> +<tool name="midl"> +<summary> +XXX +</summary> +</tool> + +<builder name="TypeLibrary"> +<summary> +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 +proxy source files, +naming them according to the base name of the <filename>.idl</filename> file. +For example, + +<example> +env.TypeLibrary(source="foo.idl") +</example> + +Will create <filename>foo.tlb</filename>, +<filename>foo.h</filename>, +<filename>foo_i.c</filename>, +<filename>foo_p.c</filename> +and +<filename>foo_data.c</filename> +files. +</summary> +</builder> diff --git a/src/engine/SCons/Tool/mingw.xml b/src/engine/SCons/Tool/mingw.xml new file mode 100644 index 0000000..273a861 --- /dev/null +++ b/src/engine/SCons/Tool/mingw.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="mingw"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/mslib.xml b/src/engine/SCons/Tool/mslib.xml new file mode 100644 index 0000000..7da4365 --- /dev/null +++ b/src/engine/SCons/Tool/mslib.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="mslib"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/mslink.xml b/src/engine/SCons/Tool/mslink.xml new file mode 100644 index 0000000..82249e7 --- /dev/null +++ b/src/engine/SCons/Tool/mslink.xml @@ -0,0 +1,105 @@ +<!-- __COPYRIGHT__ --> +<tool name="mslink"> +<summary> +XXX +</summary> +</tool> + +<cvar name="no_import_lib"> +<summary> +When set to non-zero, +suppresses creation of a corresponding Win32 static import lib by the +<literal>SharedLibrary</literal> +builder when used with +MinGW, Microsoft Visual Studio or Metrowerks. +This also suppresses creation +of an export (.exp) file +when using Microsoft Visual Studio. +</summary> +</cvar> + +<cvar name="PDB"> +<summary> +The Microsoft Visual C++ PDB file that will store debugging information for +object files, shared libraries, and programs. This variable is ignored by +tools other than Microsoft Visual C++. +When this variable is +defined SCons will add options to the compiler and linker command line to +cause them to generate external debugging information, and will also set up the +dependencies for the PDB file. Example: + +<example> +env['PDB'] = 'hello.pdb' +</example> +</summary> +</cvar> + +<cvar name="REGSVR"> +<summary> +The program used on WIN32 systems +to register a newly-built DLL library +whenever the &b-SharedLibrary; builder +is passed a keyword argument of <literal>register=1</literal>. +</summary> +</cvar> + +<cvar name="REGSVRCOM"> +<summary> +The command line used on WIN32 systems +to register a newly-built DLL library +whenever the &b-SharedLibrary; builder +is passed a keyword argument of <literal>register=1</literal>. +</summary> +</cvar> + +<cvar name="REGSVRCOMSTR"> +<summary> +The string displayed when registering a newly-built DLL file. +If this is not set, then &cv-REGSVRCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="REGSVRFLAGS"> +<summary> +Flags passed to the DLL registration program +on WIN32 systems when a newly-built DLL library is registered. +By default, +this includes the <option>/s</option> +that prevents dialog boxes from popping up +and requiring user attention. +</summary> +</cvar> + +<cvar name="WIN32_INSERT_DEF"> +<summary> +When this is set to true, +a library build of a WIN32 shared library (.dll file) +will also build a corresponding .def file at the same time, +if a .def file is not already listed as a build target. +The default is 0 (do not build a .def file). +</summary> +</cvar> + +<cvar name="WIN32DEFPREFIX"> +<summary> +The prefix used for WIN32 .def file names. +</summary> +</cvar> + +<cvar name="WIN32DEFSUFFIX"> +<summary> +The suffix used for WIN32 .def file names. +</summary> +</cvar> + +<cvar name="WIN32EXPPREFIX"> +<summary> +XXX The prefix used for WIN32 .def file names. +</summary> +</cvar> + +<cvar name="WIN32EXPSUFFIX"> +<summary> +XXX The suffix used for WIN32 .def file names. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/msvc.xml b/src/engine/SCons/Tool/msvc.xml new file mode 100644 index 0000000..426014b --- /dev/null +++ b/src/engine/SCons/Tool/msvc.xml @@ -0,0 +1,112 @@ +<!-- __COPYRIGHT__ --> +<tool name="msvc"> +<summary> +XXX +</summary> +</tool> + +<builder name="PCH"> +<summary> +Builds a Microsoft Visual C++ precompiled header. +Calling this builder method +returns a list of two targets: the PCH as the first element, and the object +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 +the precompiled header: + +<example> +env['PCH'] = env.PCH('StdAfx.cpp')[0] +</example> +</summary> +</builder> + +<builder name="RES"> +<summary> +Builds a Microsoft Visual C++ resource file. +This builder method is only provided +when Microsoft Visual C++ or MinGW is being used as the compiler. The +<filename>.res</filename> +(or +<filename>.o</filename> +for MinGW) suffix is added to the target name if no other suffix is given. +The source +file is scanned for implicit dependencies as though it were a C file. Example: + +<example> +env.RES('resource.rc') +</example> +</summary> +</builder> + +<cvar name="PCH"> +<summary> +The Microsoft Visual C++ precompiled header that will be used when compiling +object files. This variable is ignored by tools other than Microsoft Visual C++. +When this variable is +defined SCons will add options to the compiler command line to +cause it to use the precompiled header, and will also set up the +dependencies for the PCH file. Example: + +<example> +env['PCH'] = 'StdAfx.pch' +</example> +</summary> +</cvar> + +<cvar name="PCHCOM"> +<summary> +The command line used by the +&b-PCH; +builder to generated a precompiled header. +</summary> +</cvar> + +<cvar name="PCHCOMSTR"> +<summary> +The string displayed when generating a precompiled header. +If this is not set, then &cv-PCHCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="PCHSTOP"> +<summary> +This variable specifies how much of a source file is precompiled. This +variable is ignored by tools other than Microsoft Visual C++, or when +the PCH variable is not being used. When this variable is define it +must be a string that is the name of the header that +is included at the end of the precompiled portion of the source files, or +the empty string if the "#pragma hrdstop" construct is being used: + +<example> +env['PCHSTOP'] = 'StdAfx.h' +</example> +</summary> +</cvar> + +<cvar name="RC"> +<summary> +The resource compiler used by the RES builder. +</summary> +</cvar> + +<cvar name="RCCOM"> +<summary> +The command line used by the RES builder. +</summary> +</cvar> + +<cvar name="RCCOMSTR"> +<summary> +The string displayed when invoking the resource compiler. +If this is not set, then &cv-RCCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="RCFLAGS"> +<summary> +The flags passed to the resource compiler by the RES builder. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/msvs.xml b/src/engine/SCons/Tool/msvs.xml new file mode 100644 index 0000000..4103ce1 --- /dev/null +++ b/src/engine/SCons/Tool/msvs.xml @@ -0,0 +1,266 @@ +<!-- __COPYRIGHT__ --> +<tool name="msvs"> +<summary> +XXX +</summary> +</tool> + +<builder name ="MSVSProject"> +<summary> +Builds Microsoft Visual Studio project files. +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 set by +&cv-MSVS_VERSION; +in the Environment constructor). +For VS 6, it will generate +<filename>.dsp</filename> +and +<filename>.dsw</filename> +files, for VS 7, it will +generate +<filename>.vcproj</filename> +and +<filename>.sln</filename> +files. + +It takes several lists of filenames to be placed into the project +file, currently these are 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 the <literal>srcs</literal> list +is NOT added to the &cv-SOURCES; +construction variable. This is because it represents a list of files +to be added to the project file, not the source used to build the +project file (in this case, the "source" is the &SConscript; file used +to call MSVSProject). + +In addition to these values (which are all optional, although not +specifying any of them results in an empty project file), the +following values must be specified: + +target: 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 +&cv-MSVSPROJECTSUFFIX; +construction value +will be defined to the correct value (see example below). + +variant: The name of this particular variant. These are typically +things like "Debug" or "Release", but really can be anything you want. +Multiple calls to MSVSProject with different variants are allowed: all +variants will be added to the project file with their appropriate +build targets and sources. + +buildtarget: A list of SCons.Node.FS objects which is returned from +the command which builds the target. This is used to tell SCons what +to build when the 'build' button is pressed inside of the IDE. + +Example usage: + +<example> +barsrcs = ['bar.cpp'], +barincs = ['bar.h'], +barlocalincs = ['StdAfx.h'] +barresources = ['bar.rc','resource.h'] +barmisc = ['bar_readme.txt'] + +dll = local.SharedLibrary(target = 'bar.dll', + source = barsrcs) + +local.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], + srcs = barsrcs, + incs = barincs, + localincs = barlocalincs, + resources = barresources, + misc = barmisc, + buildtarget = dll, + variant = 'Release') +</example> +</summary> +</builder> + +<cvar name="MSVS"> +<summary> +When the Microsoft Visual Studio tools are initialized, they set up +this dictionary with the following keys: + +<envar>VERSION</envar> +the version of MSVS being used (can be set via +MSVS_VERSION) + +<envar>VERSIONS</envar> +the available versions of MSVS installed + +<envar>VCINSTALLDIR</envar> +installed directory of Visual C++ + +<envar>VSINSTALLDIR</envar> +installed directory of Visual Studio + +<envar>FRAMEWORKDIR</envar> +installed directory of the .NET framework + +<envar>FRAMEWORKVERSIONS</envar> +list of installed versions of the .NET framework, sorted latest to oldest. + +<envar>FRAMEWORKVERSION</envar> +latest installed version of the .NET framework + +<envar>FRAMEWORKSDKDIR</envar> +installed location of the .NET SDK. + +<envar>PLATFORMSDKDIR</envar> +installed location of the Platform SDK. + +<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. + +If a value isn't set, it wasn't available in the registry. +</summary> +</cvar> + +<cvar name="MSVS_IGNORE_IDE_PATHS"> +<summary> +Tells the MS Visual Studio tools to use minimal INCLUDE, LIB, and PATH settings, +instead of the settings from the IDE. + +For Visual Studio, SCons will (by default) automatically determine +where MSVS is installed, and use the LIB, INCLUDE, and PATH variables +set by the IDE. You can override this behavior by setting these +variables after Environment initialization, or by setting +<envar>MSVS_IGNORE_IDE_PATHS = 1</envar> +in the Environment initialization. +Specifying this will not leave these unset, but will set them to a +minimal set of paths needed to run the tools successfully. + +For VS6, the mininimal set is: +<example> + INCLUDE:'VSDir\VC98\ATL\include;VSDir\VC98\MFC\include;VSDir\VC98\include' + LIB:'VSDir\VC98\MFC\lib;VSDir\VC98\lib' + PATH:'VSDir\Common\MSDev98\bin;VSDir\VC98\bin' +</example> +For VS7, it is: +<example> + INCLUDE:'VSDir\Vc7\atlmfc\include;VSDir\Vc7\include' + LIB:'VSDir\Vc7\atlmfc\lib;VSDir\Vc7\lib' + PATH:'VSDir\Common7\Tools\bin;VSDir\Common7\Tools;VSDir\Vc7\bin' +</example> + +Where 'VSDir' is the installed location of Visual Studio. +</summary> +</cvar> + +<cvar name="MSVS_USE_MFC_DIRS"> +<summary> +Tells the MS Visual Studio tool(s) to use +the MFC directories in its default paths +for compiling and linking. +Under MSVS version 6, +setting +<envar>MSVS_USE_MFC_DIRS</envar> +to a non-zero value +adds the +<filename>ATL\include</filename> +and +<filename>MFC\include</filename> +directories to +the default +<envar>INCLUDE</envar> +external environment variable, +and adds the +<envar>MFC\lib</envar> +directory to +the default +<envar>LIB</envar> +external environment variable. +Under MSVS version 7, +setting +<envar>MSVS_USE_MFC_DIRS</envar> +to a non-zero value +adds the +<envar>atlmfc\include</envar> +directory to the default +<envar>INCLUDE</envar> +external environment variable, +and adds the +<envar>atlmfc\lib</envar> +directory to the default +<envar>LIB</envar> +external environment variable. +The current default value is +<literal>1</literal> +which means these directories +are added to the paths by default. +This default value is likely to change +in a future release, +so users who want the ATL and MFC +values included in their paths +are encouraged to enable the +<envar>MSVS_USE_MFC_DIRS</envar> +value explicitly +to avoid future incompatibility. +This variable has no effect if the +<envar>INCLUDE</envar> +or +<envar>LIB</envar> +environment variables are set explictly. +</summary> +</cvar> + +<cvar name="MSVS_VERSION"> +<summary> +Sets the preferred version of MSVS to use. + +SCons will (by default) select the latest version of MSVS +installed on your machine. 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 given version isn't installed, tool initialization will fail. +</summary> +</cvar> + +<cvar name="MSVSPROJECTCOM"> +<summary> +The action used to generate Microsoft Visual Studio +project and solution files. +</summary> +</cvar> + +<cvar name="MSVSPROJECTSUFFIX"> +<summary> +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), +and +<filename>.dsp</filename> +when using earlier versions of Visual Studio. +</summary> +</cvar> + +<cvar name="MSVSSOLUTIONSUFFIX"> +<summary> +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. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/mwcc.xml b/src/engine/SCons/Tool/mwcc.xml new file mode 100644 index 0000000..83eaab3 --- /dev/null +++ b/src/engine/SCons/Tool/mwcc.xml @@ -0,0 +1,20 @@ +<!-- __COPYRIGHT__ --> +<tool name="mwcc"> +<summary> +XXX +</summary> +</tool> + +<cvar name="MWCW_VERSION"> +<summary> +The version number of the MetroWerks CodeWarrior C compiler +to be used. +</summary> +</cvar> + +<cvar name="MWCW_VERSIONS"> +<summary> +A list of installed versions of the MetroWerks CodeWarrior C compiler +on this system. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/mwld.xml b/src/engine/SCons/Tool/mwld.xml new file mode 100644 index 0000000..ade9848 --- /dev/null +++ b/src/engine/SCons/Tool/mwld.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="mwld"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/nasm.xml b/src/engine/SCons/Tool/nasm.xml new file mode 100644 index 0000000..328386e --- /dev/null +++ b/src/engine/SCons/Tool/nasm.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="nasm"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/pdflatex.xml b/src/engine/SCons/Tool/pdflatex.xml new file mode 100644 index 0000000..7878079 --- /dev/null +++ b/src/engine/SCons/Tool/pdflatex.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="pdflatex"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/pdftex.xml b/src/engine/SCons/Tool/pdftex.xml new file mode 100644 index 0000000..701a280 --- /dev/null +++ b/src/engine/SCons/Tool/pdftex.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="pdftex"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/qt.xml b/src/engine/SCons/Tool/qt.xml new file mode 100644 index 0000000..b5335b6 --- /dev/null +++ b/src/engine/SCons/Tool/qt.xml @@ -0,0 +1,274 @@ +<!-- __COPYRIGHT__ --> +<tool name="qt"> +<summary> +XXX +</summary> +</tool> + +<builder name="Moc"> +<summary> +Builds an output file from a moc input file. Moc input files are either +header files or cxx files. This builder is only available after using the +tool 'qt'. See the &cv-QTDIR; variable for more information. +Example: + +<example> +env.Moc('foo.h') # generates moc_foo.cc +env.Moc('foo.cpp') # generates foo.moc +</example> +</summary> +</builder> + +<builder name="Uic"> +<summary> +Builds a header file, an implementation file and a moc file from an ui file. +and returns the corresponding nodes in the above order. +This builder is only available after using the tool 'qt'. Note: you can +specify <filename>.ui</filename> files directly as source +files to the &b-Program;, +&b-Library; and &b-SharedLibrary; builders +without using this builder. Using this builder lets you override the standard +naming conventions (be careful: prefixes are always prepended to names of +built files; if you don't want prefixes, you may set them to ``). +See the &cv-QTDIR; variable for more information. +Example: + +<example> +env.Uic('foo.ui') # -> ['foo.h', 'uic_foo.cc', 'moc_foo.cc'] +env.Uic(target = Split('include/foo.h gen/uicfoo.cc gen/mocfoo.cc'), + source = 'foo.ui') # -> ['include/foo.h', 'gen/uicfoo.cc', 'gen/mocfoo.cc'] +</example> +</summary> +</builder> + +<cvar name="QTDIR"> +<summary> +The qt tool tries to take this from os.environ. +It also initializes all QT_* +construction variables listed below. +(Note that all paths are constructed +with python's os.path.join() method, +but are listed here with the '/' separator +for easier reading.) +In addition, the construction environment +variables &cv-CPPPATH;, &cv-LIBPATH; and &cv-LIBS; may be modified +and the variables +PROGEMITTER, SHLIBEMITTER and LIBEMITTER +are modified. Because the build-performance is affected when using this tool, +you have to explicitly specify it at Environment creation: + +<example> +Environment(tools=['default','qt']) +</example> + +The qt tool supports the following operations: + +.B Automatic moc file generation from header files. +You do not have to specify moc files explicitly, the tool does it for you. +However, there are a few preconditions to do so: Your header file must have +the same filebase as your implementation file and must stay in the same +directory. It must have one of the suffixes .h, .hpp, .H, .hxx, .hh. You +can turn off automatic moc file generation by setting QT_AUTOSCAN to 0. +See also the corresponding builder method +.B Moc() + +.B Automatic moc file generation from cxx files. +As stated in the qt documentation, include the moc file at the end of +the cxx file. Note that you have to include the file, which is generated +by the transformation ${QT_MOCCXXPREFIX}basename${QT_MOCCXXSUFFIX}, by default +basename.moc. A warning is generated after building the moc file, if you +do not include the correct file. If you are using BuildDir, you may +need to specify duplicate=1. You can turn off automatic moc file generation +by setting QT_AUTOSCAN to 0. See also the corresponding builder method +.B Moc() + +.B Automatic handling of .ui files. +The implementation files generated from .ui files are handled much the same +as yacc or lex files. Each .ui file given as a source of Program, Library or +SharedLibrary will generate three files, the declaration file, the +implementation file and a moc file. Because there are also generated headers, +you may need to specify duplicate=1 in calls to BuildDir. See also the corresponding builder method +.B Uic() +</summary> +</cvar> + +<cvar name="QT_AUTOSCAN"> +<summary> +Turn off scanning for mocable files. Use the Moc Builder to explicitely +specify files to run moc on. +</summary> +</cvar> + +<cvar name="QT_BINPATH"> +<summary> +The path where the qt binaries are installed. +The default value is '&cv-QTDIR;/bin'. +</summary> +</cvar> + +<cvar name="QT_CPPPATH"> +<summary> +The path where the qt header files are installed. +The default value is '&cv-QTDIR;/include'. +Note: If you set this variable to None, the tool won't change the &cv-CPPPATH; +construction variable. +</summary> +</cvar> + +<cvar name="QT_DEBUG"> +<summary> +Prints lots of debugging information while scanning for moc files. +</summary> +</cvar> + +<cvar name="QT_LIB"> +<summary> +Default value is 'qt'. You may want to set this to 'qt-mt'. Note: If you set +this variable to None, the tool won't change the &cv-LIBS; variable. +</summary> +</cvar> + +<cvar name="QT_LIBPATH"> +<summary> +The path where the qt libraries are installed. +The default value is '&cv-QTDIR;/lib'. +Note: If you set this variable to None, the tool won't change the &cv-LIBPATH; +construction variable. +</summary> +</cvar> + +<cvar name="QT_MOC"> +<summary> +Default value is '&cv-QT_BINPATH;/bin/moc'. +</summary> +</cvar> + +<cvar name="QT_MOCCXXPREFIX"> +<summary> +Default value is ''. Prefix for moc output files, when source is a cxx file. +</summary> +</cvar> + +<cvar name="QT_MOCCXXSUFFIX"> +<summary> +Default value is '.moc'. Suffix for moc output files, when source is a cxx +file. +</summary> +</cvar> + +<cvar name="QT_MOCFROMCPPFLAGS"> +<summary> +Default value is '-i'. These flags are passed to moc, when moccing a +cpp file. +</summary> +</cvar> + +<cvar name="QT_MOCFROMCXXCOM"> +<summary> +Command to generate a moc file from a cpp file. +</summary> +</cvar> + +<cvar name="QT_MOCFROMCXXCOMSTR"> +<summary> +The string displayed when generating a moc file from a cpp file. +If this is not set, then &cv-QT_MOCFROMCXXCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="QT_MOCFROMHCOM"> +<summary> +Command to generate a moc file from a header. +</summary> +</cvar> + +<cvar name="QT_MOCFROMHCOMSTR"> +<summary> +The string displayed when generating a moc file from a cpp file. +If this is not set, then &cv-QT_MOCFROMHCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="QT_MOCFROMHFLAGS"> +<summary> +Default value is ''. These flags are passed to moc, when moccing a header +file. +</summary> +</cvar> + +<cvar name="QT_MOCHPREFIX"> +<summary> +Default value is 'moc_'. Prefix for moc output files, when source is a header. +</summary> +</cvar> + +<cvar name="QT_MOCHSUFFIX"> +<summary> +Default value is '&cv-CXXFILESUFFIX;'. Suffix for moc output files, when source is +a header. +</summary> +</cvar> + +<cvar name="QT_UIC"> +<summary> +Default value is '&cv-QT_BINPATH;/uic'. +</summary> +</cvar> + +<cvar name="QT_UICCOM"> +<summary> +Command to generate header files from .ui files. +</summary> +</cvar> + +<cvar name="QT_UICCOMSTR"> +<summary> +The string displayed when generating header files from .ui files. +If this is not set, then &cv-QT_UICCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="QT_UICDECLFLAGS"> +<summary> +Default value is ''. These flags are passed to uic, when creating a a h +file from a .ui file. +</summary> +</cvar> + +<cvar name="QT_UICDECLPREFIX"> +<summary> +Default value is ''. Prefix for uic generated header files. +</summary> +</cvar> + +<cvar name="QT_UICDECLSUFFIX"> +<summary> +Default value is '.h'. Suffix for uic generated header files. +</summary> +</cvar> + +<cvar name="QT_UICIMPLFLAGS"> +<summary> +Default value is ''. These flags are passed to uic, when creating a cxx +file from a .ui file. +</summary> +</cvar> + +<cvar name="QT_UICIMPLPREFIX"> +<summary> +Default value is 'uic_'. Prefix for uic generated implementation files. +</summary> +</cvar> + +<cvar name="QT_UICIMPLSUFFIX"> +<summary> +Default value is '&cv-CXXFILESUFFIX;'. Suffix for uic generated implementation +files. +</summary> +</cvar> + +<cvar name="QT_UISUFFIX"> +<summary> +Default value is '.ui'. Suffix of designer input files. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/rmic.xml b/src/engine/SCons/Tool/rmic.xml new file mode 100644 index 0000000..390aaaf --- /dev/null +++ b/src/engine/SCons/Tool/rmic.xml @@ -0,0 +1,79 @@ +<!-- __COPYRIGHT__ --> +<tool name="rmic"> +<summary> +XXX +</summary> +</tool> + +<builder name="RMIC"> +<summary> +Builds stub and skeleton class files +for remote objects +from Java <filename>.class</filename> files. +The target is a directory +relative to which the stub +and skeleton class files will be written. +The source can be the names of <filename>.class</filename> files, +or the objects return from the +&b-Java; +builder method. + +If the construction variable +&cv-JAVACLASSDIR; +is set, either in the environment +or in the call to the +&b-RMIC; +builder method itself, +then the value of the variable +will be stripped from the +beginning of any <filename>.class </filename> +file names. + +<example> +classes = env.Java(target = 'classdir', source = 'src') +env.RMIC(target = 'outdir1', source = classes) + +env.RMIC(target = 'outdir2', + source = ['package/foo.class', 'package/bar.class']) + +env.RMIC(target = 'outdir3', + source = ['classes/foo.class', 'classes/bar.class'], + JAVACLASSDIR = 'classes') +</example> +</summary> +</builder> + +<cvar name="RMIC"> +<summary> +The Java RMI stub compiler. +</summary> +</cvar> + +<cvar name="RMICCOM"> +<summary> +The command line used to compile stub +and skeleton class files +from Java classes that contain RMI implementations. +Any options specified in the &cv-RMICFLAGS; construction variable +are included on this command line. +</summary> +</cvar> + +<cvar name="RMICCOMSTR"> +<summary> +The string displayed when compiling +stub and skeleton class files +from Java classes that contain RMI implementations. +If this is not set, then &cv-RMICCOM; (the command line) is displayed. + +<example> +env = Environment(RMICCOMSTR = "Generating stub/skeleton class files $TARGETS from $SOURCES") +</example> +</summary> +</cvar> + +<cvar name="RMICFLAGS"> +<summary> +General options passed to the Java RMI stub compiler. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/rpcgen.xml b/src/engine/SCons/Tool/rpcgen.xml new file mode 100644 index 0000000..9fdf13e --- /dev/null +++ b/src/engine/SCons/Tool/rpcgen.xml @@ -0,0 +1,122 @@ +<!-- __COPYRIGHT__ --> +<tool name="rpcgen"> +<summary> +XXX +</summary> +</tool> + +<builder name="RPCGenClient"> +<summary> +Generates an RPC client stub (<filename>_clnt.c</filename>) file +from a specified RPC (<filename>.x</filename>) source file. +Because rpcgen only builds output files +in the local directory, +the command will be executed +in the source file's directory by default. + +<example> +# Builds src/rpcif_clnt.c +env.RPCGenClient('src/rpcif.x') +</example> +</summary> +</builder> + +<builder name="RPCGenHeader"> +<summary> +Generates an RPC header (<filename>.h</filename>) file +from a specified RPC (<filename>.x</filename>) source file. +Because rpcgen only builds output files +in the local directory, +the command will be executed +in the source file's directory by default. + +<example> +# Builds src/rpcif.h +env.RPCGenHeader('src/rpcif.x') +</example> +</summary> +</builder> + +<builder name="RPCGenService"> +<summary> +Generates an RPC server-skeleton (<filename>_svc.c</filename>) file +from a specified RPC (<filename>.x</filename>) source file. +Because rpcgen only builds output files +in the local directory, +the command will be executed +in the source file's directory by default. + +<example> +# Builds src/rpcif_svc.c +env.RPCGenClient('src/rpcif.x') +</example> +</summary> +</builder> + +<builder name="RPCGenXDR"> +<summary> +Generates an RPC XDR routine (<filename>_xdr.c</filename>) file +from a specified RPC (<filename>.x</filename>) source file. +Because rpcgen only builds output files +in the local directory, +the command will be executed +in the source file's directory by default. + +<example> +# Builds src/rpcif_xdr.c +env.RPCGenClient('src/rpcif.x') +</example> +</summary> +</builder> + +<cvar name="RPCGEN"> +<summary> +The RPC protocol compiler. +</summary> +</cvar> + +<cvar name="RPCGENCLIENTFLAGS"> +<summary> +Options passed to the RPC protocol compiler +when generating client side stubs. +These are in addition to any flags specified in the +&cv-RPCGENFLAGS; +construction variable. +</summary> +</cvar> + +<cvar name="RPCGENFLAGS"> +<summary> +General options passed to the RPC protocol compiler. +</summary> +</cvar> + +<cvar name="RPCGENHEADERFLAGS"> +<summary> +Options passed to the RPC protocol compiler +when generating a header file. +These are in addition to any flags specified in the +&cv-RPCGENFLAGS; +construction variable. +</summary> +</cvar> + +<cvar name="RPCGENSERVICEFLAGS"> +<summary> +Options passed to the RPC protocol compiler +when generating server side stubs. +These are in addition to any flags specified in the +&cv-RPCGENFLAGS; +construction variable. +</summary> +</cvar> + +<cvar name="RPCGENXDRFLAGS"> +<summary> +Options passed to the RPC protocol compiler +when generating XDR routines. +These are in addition to any flags specified in the +&cv-RPCGENFLAGS; +construction variable. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/sgiar.xml b/src/engine/SCons/Tool/sgiar.xml new file mode 100644 index 0000000..cd1d414 --- /dev/null +++ b/src/engine/SCons/Tool/sgiar.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="sgiar"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/sgic++.xml b/src/engine/SCons/Tool/sgic++.xml new file mode 100644 index 0000000..318ebbf --- /dev/null +++ b/src/engine/SCons/Tool/sgic++.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="sgic++"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/sgicc.xml b/src/engine/SCons/Tool/sgicc.xml new file mode 100644 index 0000000..bd752ec --- /dev/null +++ b/src/engine/SCons/Tool/sgicc.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="sgicc"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/sgilink.xml b/src/engine/SCons/Tool/sgilink.xml new file mode 100644 index 0000000..64eecb8 --- /dev/null +++ b/src/engine/SCons/Tool/sgilink.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="sgilink"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/sunar.xml b/src/engine/SCons/Tool/sunar.xml new file mode 100644 index 0000000..b94443c --- /dev/null +++ b/src/engine/SCons/Tool/sunar.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="sunar"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/sunc++.xml b/src/engine/SCons/Tool/sunc++.xml new file mode 100644 index 0000000..fcd6b0a --- /dev/null +++ b/src/engine/SCons/Tool/sunc++.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="sunc++"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/suncc.xml b/src/engine/SCons/Tool/suncc.xml new file mode 100644 index 0000000..ab86294 --- /dev/null +++ b/src/engine/SCons/Tool/suncc.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="suncc"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/sunlink.xml b/src/engine/SCons/Tool/sunlink.xml new file mode 100644 index 0000000..127651e --- /dev/null +++ b/src/engine/SCons/Tool/sunlink.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="sunlink"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/swig.xml b/src/engine/SCons/Tool/swig.xml new file mode 100644 index 0000000..5c08412 --- /dev/null +++ b/src/engine/SCons/Tool/swig.xml @@ -0,0 +1,80 @@ +<!-- __COPYRIGHT__ --> +<tool name="swig"> +<summary> +XXX +</summary> +</tool> + +<cvar name="SWIG"> +<summary> +The scripting language wrapper and interface generator. +</summary> +</cvar> + +<cvar name="SWIGCFILESUFFIX"> +<summary> +The suffix that will be used for intermediate C +source files generated by +the scripting language wrapper and interface generator. +The default value is +<filename>_wrap</filename>&cv-CFILESUFFIX;. +By default, this value is used whenever the +<option>-c++</option> +option is +<emphasis>not</emphasis> +specified as part of the +&cv-SWIGFLAGS; +construction variable. +</summary> +</cvar> + +<cvar name="SWIGCOM"> +<summary> +The command line used to call +the scripting language wrapper and interface generator. +</summary> +</cvar> + +<cvar name="SWIGCOMSTR"> +<summary> +The string displayed when calling +the scripting language wrapper and interface generator. +If this is not set, then &cv-SWIGCOM; (the command line) is displayed. +</summary> +</cvar> + +<cvar name="SWIGCXXFILESUFFIX"> +<summary> +The suffix that will be used for intermediate C++ +source files generated by +the scripting language wrapper and interface generator. +The default value is +<filename>_wrap</filename>&cv-CFILESUFFIX;. +By default, this value is used whenever the +<filename>-c++</filename> +option is specified as part of the +&cv-SWIGFLAGS; +construction variable. +</summary> +</cvar> + +<cvar name="SWIGFLAGS"> +<summary> +General options passed to +the scripting language wrapper and interface generator. +This is where you should set +<option>-python</option>, +<option>-perl5</option>, +<option>-tcl</option>, +or whatever other options you want to specify to SWIG. +If you set the +<option>-c++</option> +option in this variable, +&scons; +will, by default, +generate a C++ intermediate source file +with the extension that is specified as the +&cv-CXXFILESUFFIX; +variable. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/tar.xml b/src/engine/SCons/Tool/tar.xml new file mode 100644 index 0000000..c00910a --- /dev/null +++ b/src/engine/SCons/Tool/tar.xml @@ -0,0 +1,75 @@ +<!-- __COPYRIGHT__ --> +<tool name="tar"> +<summary> +XXX +</summary> +</tool> + +<builder name="Tar"> +<summary> +Builds a tar archive of the specified files +and/or directories. +Unlike most builder methods, +the +&b-Tar; +builder method may be called multiple times +for a given target; +each additional call +adds to the list of entries +that will be built into the archive. + +<example> +env.Tar('src.tar', 'src') + +# Create the stuff.tar file. +env.Tar('stuff', ['subdir1', 'subdir2']) +# Also add "another" to the stuff.tar file. +env.Tar('stuff', 'another') + +# Set TARFLAGS to create a gzip-filtered archive. +env = Environment(TARFLAGS = '-c -z') +env.Tar('foo.tar.gz', 'foo') + +# Also set the suffix to .tgz. +env = Environment(TARFLAGS = '-c -z', + TARSUFFIX = '.tgz') +env.Tar('foo') +</example> +</summary> +</builder> + +<cvar name="TAR"> +<summary> +The tar archiver. +</summary> +</cvar> + +<cvar name="TARCOM"> +<summary> +The command line used to call the tar archiver. +</summary> +</cvar> + +<cvar name="TARCOMSTR"> +<summary> +The string displayed when archiving files +using the tar archiver. +If this is not set, then &cv-TARCOM; (the command line) is displayed. + +<example> +env = Environment(TARCOMSTR = "Archiving $TARGET") +</example> +</summary> +</cvar> + +<cvar name="TARFLAGS"> +<summary> +General options passed to the tar archiver. +</summary> +</cvar> + +<cvar name="TARSUFFIX"> +<summary> +The suffix used for tar file names. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/tex.xml b/src/engine/SCons/Tool/tex.xml new file mode 100644 index 0000000..4f69041 --- /dev/null +++ b/src/engine/SCons/Tool/tex.xml @@ -0,0 +1,70 @@ +<!-- __COPYRIGHT__ --> +<tool name="tex"> +<summary> +XXX +</summary> +</tool> + +<cvar name="BIBTEX"> +<summary> +The bibliography generator for the TeX formatter and typesetter and the +LaTeX structured formatter and typesetter. +</summary> +</cvar> + +<cvar name="BIBTEXCOM"> +<summary> +The command line used to call the bibliography generator for the +TeX formatter and typesetter and the LaTeX structured formatter and +typesetter. +</summary> +</cvar> + +<cvar name="BIBTEXCOMSTR"> +<summary> +The string displayed when generating a bibliography +for TeX or LaTeX. +If this is not set, then &cv-BIBTEXCOM; (the command line) is displayed. + +<example> +env = Environment(BIBTEXCOMSTR = "Generating bibliography $TARGET") +</example> +</summary> +</cvar> + +<cvar name="BIBTEXFLAGS"> +<summary> +General options passed to the bibliography generator for the TeX formatter +and typesetter and the LaTeX structured formatter and typesetter. +</summary> +</cvar> + +<cvar name="TEX"> +<summary> +The TeX formatter and typesetter. +</summary> +</cvar> + +<cvar name="TEXCOM"> +<summary> +The command line used to call the TeX formatter and typesetter. +</summary> +</cvar> + +<cvar name="TEXCOMSTR"> +<summary> +The string displayed when calling +the TeX formatter and typesetter. +If this is not set, then &cv-TEXCOM; (the command line) is displayed. + +<example> +env = Environment(TEXCOMSTR = "Building $TARGET from TeX input $SOURCES") +</example> +</summary> +</cvar> + +<cvar name="TEXFLAGS"> +<summary> +General options passed to the TeX formatter and typesetter. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/tlib.xml b/src/engine/SCons/Tool/tlib.xml new file mode 100644 index 0000000..0351568 --- /dev/null +++ b/src/engine/SCons/Tool/tlib.xml @@ -0,0 +1,6 @@ +<!-- __COPYRIGHT__ --> +<tool name="tlib"> +<summary> +XXX +</summary> +</tool> diff --git a/src/engine/SCons/Tool/yacc.py b/src/engine/SCons/Tool/yacc.py index 2c93b7c..da88aa2 100644 --- a/src/engine/SCons/Tool/yacc.py +++ b/src/engine/SCons/Tool/yacc.py @@ -39,6 +39,8 @@ import SCons.Defaults import SCons.Tool import SCons.Util +YaccAction = SCons.Action.Action("$YACCCOM", "$YACCCOMSTR") + def _yaccEmitter(target, source, env, ysuf, hsuf): # If -d is specified on the command line, yacc will emit a .h # or .hpp file as well as a .c or .cpp file, depending on whether @@ -60,9 +62,9 @@ def generate(env): """Add Builders and construction variables for yacc to an Environment.""" c_file, cxx_file = SCons.Tool.createCFileBuilders(env) - c_file.add_action('.y', SCons.Defaults.YaccAction) - c_file.add_action('.yacc', SCons.Defaults.YaccAction) - cxx_file.add_action('.yy', SCons.Defaults.YaccAction) + c_file.add_action('.y', YaccAction) + c_file.add_action('.yacc', YaccAction) + cxx_file.add_action('.yy', YaccAction) c_file.add_emitter('.y', yEmitter) c_file.add_emitter('.yacc', yEmitter) cxx_file.add_emitter('.yy', yyEmitter) diff --git a/src/engine/SCons/Tool/yacc.xml b/src/engine/SCons/Tool/yacc.xml new file mode 100644 index 0000000..59735af --- /dev/null +++ b/src/engine/SCons/Tool/yacc.xml @@ -0,0 +1,42 @@ +<!-- __COPYRIGHT__ --> +<tool name="yacc"> +<summary> +XXX +</summary> +</tool> + +<cvar name="YACC"> +<summary> +The parser generator. +</summary> +</cvar> + +<cvar name="YACCCOM"> +<summary> +The command line used to call the parser generator +to generate a source file. +</summary> +</cvar> + +<cvar name="YACCCOMSTR"> +<summary> +The string displayed when generating a source file +using the parser generator. +If this is not set, then &cv-YACCCOM; (the command line) is displayed. + +<example> +env = Environment(YACCCOMSTR = "Yacc'ing $TARGET from $SOURCES") +</example> +</summary> +</cvar> + +<cvar name="YACCFLAGS"> +<summary> +General options passed to the parser generator. +If &cv-YACCFLAGS; contains a <option>-d</option> option, +SCons assumes that the call will also create a .h file +(if the yacc source file ends in a .y suffix) +or a .hpp file +(if the yacc source file ends in a .yy suffix) +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/zip.xml b/src/engine/SCons/Tool/zip.xml new file mode 100644 index 0000000..4e33c15 --- /dev/null +++ b/src/engine/SCons/Tool/zip.xml @@ -0,0 +1,83 @@ +<!-- __COPYRIGHT__ --> +<tool name="zip"> +<summary> +XXX +</summary> +</tool> + +<builder name="Zip"> +<summary> +Builds a zip archive of the specified files +and/or directories. +Unlike most builder methods, +the +&b-Zip; +builder method may be called multiple times +for a given target; +each additional call +adds to the list of entries +that will be built into the archive. + +<example> +env.Zip('src.zip', 'src') + +# Create the stuff.zip file. +env.Zip('stuff', ['subdir1', 'subdir2']) +# Also add "another" to the stuff.tar file. +env.Zip('stuff', 'another') +</example> +</summary> +</builder> + +<cvar name="ZIP"> +<summary> +The zip compression and file packaging utility. +</summary> +</cvar> + +<cvar name="ZIPCOM"> +<summary> +The command line used to call the zip utility, +or the internal Python function used to create a +zip archive. +</summary> +</cvar> + +<cvar name="ZIPCOMSTR"> +<summary> +The string displayed when archiving files +using the zip utility. +If this is not set, then &cv-ZIPCOM; +(the command line or internal Python function) is displayed. + +<example> +env = Environment(ZIPCOMSTR = "Zipping $TARGET") +</example> +</summary> +</cvar> + +<cvar name="ZIPCOMPRESSION"> +<summary> +The +<varname>compression</varname> +flag +from the Python +<filename>zipfile</filename> +module used by the internal Python function +to control whether the zip archive +is compressed or not. +The default value is +<varname>zipfile.ZIP_DEFLATED</varname>, +which creates a compressed zip archive. +This value has no effect when using Python 1.5.2 +or if the +<varname>zipfile</varname> +module is otherwise unavailable. +</summary> +</cvar> + +<cvar name="ZIPFLAGS"> +<summary> +General options passed to the zip utility. +</summary> +</cvar> |