Add some documentation to the SCons-version-switching hack
[senf.git] / tools / scons-1.2.0 / engine / SCons / Tool / ilink32.py
1 """SCons.Tool.ilink32
2
3 XXX
4
5 """
6
7 #
8 # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The SCons Foundation
9 #
10 # Permission is hereby granted, free of charge, to any person obtaining
11 # a copy of this software and associated documentation files (the
12 # "Software"), to deal in the Software without restriction, including
13 # without limitation the rights to use, copy, modify, merge, publish,
14 # distribute, sublicense, and/or sell copies of the Software, and to
15 # permit persons to whom the Software is furnished to do so, subject to
16 # the following conditions:
17 #
18 # The above copyright notice and this permission notice shall be included
19 # in all copies or substantial portions of the Software.
20 #
21 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
22 # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
23 # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 #
29
30 __revision__ = "src/engine/SCons/Tool/ilink32.py 3842 2008/12/20 22:59:52 scons"
31
32 import SCons.Tool
33 import SCons.Tool.bcc32
34 import SCons.Util
35
36 def generate(env):
37     """Add Builders and construction variables for ilink to an
38     Environment."""
39     SCons.Tool.createSharedLibBuilder(env)
40     SCons.Tool.createProgBuilder(env)
41
42     env['LINK']        = '$CC'
43     env['LINKFLAGS']   = SCons.Util.CLVar('')
44     env['LINKCOM']     = '$LINK -q $LINKFLAGS $SOURCES $LIBS'
45     env['LIBDIRPREFIX']=''
46     env['LIBDIRSUFFIX']=''
47     env['LIBLINKPREFIX']=''
48     env['LIBLINKSUFFIX']='$LIBSUFFIX'
49
50
51 def exists(env):
52     # Uses bcc32 to do linking as it generally knows where the standard
53     # LIBS are and set up the linking correctly
54     return SCons.Tool.bcc32.findIt('bcc32', env)