diff options
author | Luca Falavigna <dktrkranz@debian.org> | 2010-01-02 20:56:35 +0100 |
---|---|---|
committer | Luca Falavigna <dktrkranz@debian.org> | 2010-01-02 20:56:35 +0100 |
commit | 64c458487151933ee0ba093cf4ac69e177d9be37 (patch) | |
tree | f6e3755704f53406eea85532e4ffe5d5ef50b7f0 /src/engine/SCons/Tool/__init__.xml | |
parent | 2aec9cc58398cac1376509a7d75edb83b41f984e (diff) | |
parent | 72c578fd4b0b4a5a43e18594339ac4ff26c376dc (diff) |
Merge commit 'upstream/1.2.0.d20091224'
Diffstat (limited to 'src/engine/SCons/Tool/__init__.xml')
-rw-r--r-- | src/engine/SCons/Tool/__init__.xml | 367 |
1 files changed, 367 insertions, 0 deletions
diff --git a/src/engine/SCons/Tool/__init__.xml b/src/engine/SCons/Tool/__init__.xml new file mode 100644 index 0000000..fa3e37a --- /dev/null +++ b/src/engine/SCons/Tool/__init__.xml @@ -0,0 +1,367 @@ +<!-- +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 The SCons Foundation + +This file is processed by the bin/SConsDoc.py module. +See its __doc__ string for a discussion of the format. +--> +<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-link-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-link-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="LoadableModule"> +<summary> +On most systems, +this is the same as +&b-SharedLibrary;. +On Mac OS X (Darwin) platforms, +this creates a loadable module bundle. +</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-link-PROGPREFIX; construction variable; nothing by default) +and suffix +(specified by the &cv-link-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 Windows) +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-link-SHLIBPREFIX; construction variable; +by default, <filename>lib</filename> on POSIX systems, +nothing on Windows systems) +and suffix +(specified by the &cv-link-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 Windows 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 some platforms, there is a distinction between a shared library +(loaded automatically by the system to resolve external references) +and a loadable module (explicitly loaded by user action). +For maximum portability, use the &b-LoadableModule; builder for the latter. + +On Windows 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-link-REGSVR; construction +variable, and the flags passed are determined by &cv-link-REGSVRFLAGS;. By +default, &cv-link-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-link-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-link-SHOBJPREFIX; construction variable; +by default, the same as &cv-link-OBJPREFIX;) +and suffix +(specified by the &cv-link-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> + +Note that the source files will be scanned +according to the suffix mappings in the +<literal>SourceFileScanner</literal> +object. +See the section "Scanner Objects," +below, for a more information. +</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-link-LIBPREFIX; construction variable; +by default, <filename>lib</filename> on POSIX systems, +nothing on Windows systems) +and suffix +(specified by the &cv-link-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 Windows: 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 Windows: 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 + .m Object C file + .mm Object C++ file + .s assembly language file + .S Windows: assembly language file + ARM: CodeSourcery Sourcery Lite + .sx assembly language file + C pre-processor + 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-link-OBJPREFIX; construction variable; nothing by default) +and suffix +(specified by the &cv-link-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> + +Note that the source files will be scanned +according to the suffix mappings in +<literal>SourceFileScanner</literal> +object. +See the section "Scanner Objects," +below, for a more information. +</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 Windows), +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, +and files with +<filename>.mm</filename> +suffixes as Objective 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> |