summaryrefslogtreecommitdiff
path: root/src/engine/SCons/Tool/default.xml
blob: 0d8f460e8b69b859289b5d63821e9ba9d08a3efd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0"?>
<!--
Copyright (c) 2001 - 2019 The SCons Foundation

This file is processed by the bin/SConsDoc.py module.
See its __doc__ string for a discussion of the format.
-->

<!DOCTYPE sconsdoc [
<!ENTITY % scons SYSTEM '../../../../doc/scons.mod'>
%scons;
<!ENTITY % builders-mod SYSTEM '../../../../doc/generated/builders.mod'>
%builders-mod;
<!ENTITY % functions-mod SYSTEM '../../../../doc/generated/functions.mod'>
%functions-mod;
<!ENTITY % tools-mod SYSTEM '../../../../doc/generated/tools.mod'>
%tools-mod;
<!ENTITY % variables-mod SYSTEM '../../../../doc/generated/variables.mod'>
%variables-mod;
]>

<sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">

<tool name="default">
<summary>
<para>
Sets &consvars; for a default list of Tool modules.
Use <emphasis role="bold">default</emphasis>
in the tools list to retain the original defaults,
since the <parameter>tools</parameter> parameter
is treated as a literal statement of the tools
to be made available in that &consenv;, not an addition.
</para>

<para>
The list of tools selected by default is not static,
but is dependent both on
the platform and on the software installed on the platform.
Some tools will not initialize if an underlying command is
not found, and some tools are selected from a list of choices
on a first-found basis. The finished tool list can be
examined by inspecting the <envar>TOOLS</envar> &consvar;
in the &consenv;.
</para>

<para>
On all platforms, all tools from the following list
are selected whose respective conditions are met:
filesystem, wix, lex, yacc, rpcgen, swig,
jar, javac, javah, rmic, dvipdf, dvips, gs,
tex, latex, pdflatex, pdftex, tar, zip, textfile.
</para>

<para>
On Linux systems, the default tools list selects
(first-found): a C compiler from
gcc, intelc, icc, cc;
a C++ compiler from
g++, intelc, icc, cxx;
an assembler from
gas, nasm, masm;
a linker from
gnulink, ilink;
a Fortran compiler from
gfortran, g77, ifort, ifl, f95, f90, f77;
and a static archiver 'ar'.
It also selects all found from the list
m4, rpm.
</para>

<para>
On Windows systems, the default tools list selects
(first-found): a C compiler from
msvc, mingw, gcc, intelc, icl, icc, cc, bcc32;
a C++ compiler from
msvc, intelc, icc, g++, cxx, bcc32;
an assembler from
masm, nasm, gas, 386asm;
a linker from
mslink, gnulink, ilink, linkloc, ilink32;
a Fortran compiler from
gfortran, g77, ifl, cvf, f95, f90, fortran;
and a static archiver from
mslib, ar, tlib;
It also selects all found from the list
msvs, midl.
</para>

<para>
On MacOS systems, the default tools list selects
(first-found): a C compiler from
gcc, cc;
a C++ compiler from
g++, cxx;
an assembler 'as';
a linker from
applelink, gnulink;
a Fortran compiler from
gfortran, f95, f90, g77;
and a static archiver ar.
It also selects all found from the list
m4, rpm.
</para>

<para>
Default lists for other platforms can be found by
examining the &scons;
source code (see
<filename>SCons/Tool/__init__.py</filename>).
</para>

</summary>
</tool>
</sconsdoc>