File: intel-win32-tools.jam

package info (click to toggle)
boost 1.27.0-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 19,908 kB
  • ctags: 26,546
  • sloc: cpp: 122,225; ansic: 10,956; python: 4,412; sh: 855; yacc: 803; makefile: 257; perl: 165; lex: 90; csh: 6
file content (80 lines) | stat: -rw-r--r-- 2,479 bytes parent folder | download
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
# Intel Compiler (on Windows, using the Microsoft Standard Library)

# (C) Copyright David Abrahams 2001. Permission to copy, use,
# modify, sell and distribute this software is granted provided this
# copyright notice appears in all copies. This software is provided
# "as is" without express or implied warranty, and with no claim as
# to its suitability for any purpose.

# Adapted from msvc-tools.jam by Beman Dawes

# compute INTEL tool path
# You can either put the intel-win32 bin directory in your PATH, or you can set
# INTELROOT to point at the intel-win32 installation directory
INTEL_TOOL_PATH ?= "$(INTEL_PATH)"$(SLASH)bin$(SLASH) ;
 # try the variable that FTJam tells you to set
INTEL_TOOL_PATH ?= "$(INTELC)"$(SLASH)bin$(SLASH) ;
INTEL_TOOL_PATH ?= "" ; # Don't clobber adjoining text if INTELROOT isn't set

extends-toolset msvc ;

flags intel-win32 STDHDRS : $(VISUALC)$(SLASH)include ;

#### Link ####

rule Link-action
{
    with-command-file intel-win32-Link-action $(<) : $(>) $(NEEDLIBS) ;
    if $(<[2])
    {
        # incremental linking a DLL causes no end of problems: if the
        # actual exports don't change, the import .lib file is never
        # updated. Therefore, the .lib is always out-of-date and gets
        # rebuilt every time. I'm not sure that incremental linking is
        # such a great idea in general, but in this case I'm sure we
        # don't want it.
        NOINCREMENTAL on $(<) = /INCREMENTAL:NO ;
    }
}

actions intel-win32-Link-action bind NEEDLIBS 
{
    $(MSVC_SETUP)
    $(INTEL_TOOL_PATH)xilink /nologo $(NOINCREMENTAL) $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" /IMPLIB:$(<[2]) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
}

#### Cc #####

rule Cc-action
{
    intel-win32-Cc-action $(<) : $(>) ;
}

actions intel-win32-Cc-action
{
    $(INTEL_TOOL_PATH)icl /Zm400 -nologo -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -Fo"$(<)" "$(>)"
}

#### C++ ####
rule C++-action
{
    intel-win32-C++-action $(<) : $(>) ;
}

actions intel-win32-C++-action
{
    $(INTEL_TOOL_PATH)icl /Zm400 -nologo -GX -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -Fo"$(<)" -Tp"$(>)"
}

#### Archive ####
rule Archive-action
{
    intel-win32-Archive-action $(<) : $(>) ;
}

actions updated together piecemeal intel-win32-Archive-action
{
    if exist "$(<)" set _$(<:B)_="$(<)"
    $(INTEL_TOOL_PATH)xilink $(ARFLAGS) /lib /out:"$(<)" %_$(<:B)_% "$(>)"
}