]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/tools/build/src/tools/como-win.jam
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / tools / build / src / tools / como-win.jam
1 # (C) Copyright David Abrahams 2001.
2 # (C) Copyright MetaCommunications, Inc. 2004.
3
4 # Distributed under the Boost Software License, Version 1.0. (See
5 # accompanying file LICENSE_1_0.txt or copy at
6 # http://www.boost.org/LICENSE_1_0.txt)
7
8 # The following #// line will be used by the regression test table generation
9 # program as the column heading for HTML tables. Must not include a version
10 # number.
11 #//<a href="http://www.comeaucomputing.com/">Comeau<br>C++</a>
12
13 import common ;
14 import como ;
15 import feature ;
16 import generators ;
17 import toolset : flags ;
18
19 feature.extend-subfeature toolset como : platform : win ;
20
21
22 # Initializes the Comeau toolset for windows. The command is the command which
23 # invokes the compiler. You should either set environment variable
24 # COMO_XXX_INCLUDE where XXX is the used backend (as described in the
25 # documentation), or pass that as part of command, e.g:
26 #
27 # using como-win : 4.3 : "set COMO_BCC_INCLUDE=C:/include &&" como.exe ;
28 #
29 rule init ( version ? : command * : options * )
30 {
31 local condition = [ common.check-init-parameters como-win
32 : version $(version) ] ;
33
34 command = [ common.get-invocation-command como-win : como.exe :
35 $(command) ] ;
36
37 common.handle-options como-win : $(condition) : $(command) : $(options) ;
38 }
39
40 generators.register-c-compiler como-win.compile.c++ : CPP : OBJ
41 : <toolset>como <toolset-como:platform>win ;
42 generators.register-c-compiler como-win.compile.c : C : OBJ
43 : <toolset>como <toolset-como:platform>win ;
44
45
46 generators.register-linker como-win.link
47 : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
48 : EXE
49 : <toolset>como <toolset-como:platform>win ;
50
51 # Note that status of shared libraries support is not clear, so we do not define
52 # the link.dll generator.
53 generators.register-archiver como-win.archive
54 : OBJ : STATIC_LIB
55 : <toolset>como <toolset-como:platform>win ;
56
57
58 flags como-win C++FLAGS <exception-handling>off : --no_exceptions ;
59 flags como-win C++FLAGS <exception-handling>on : --exceptions ;
60
61 flags como-win CFLAGS <inlining>off : --no_inlining ;
62 flags como-win CFLAGS <inlining>on <inlining>full : --inlining ;
63
64
65 # The following seems to be VC-specific options. At least, when I uncomment
66 # then, Comeau with bcc as backend reports that bcc32 invocation failed.
67 #
68 #flags como-win CFLAGS <debug-symbols>on : /Zi ;
69 #flags como-win CFLAGS <optimization>off : /Od ;
70
71
72 flags como-win CFLAGS <cflags> ;
73 flags como-win CFLAGS : -D_WIN32 ; # Make sure that we get the Boost Win32 platform config header.
74 flags como-win CFLAGS <threading>multi : -D_MT ; # Make sure that our config knows that threading is on.
75 flags como-win C++FLAGS <cxxflags> ;
76 flags como-win DEFINES <define> ;
77 flags como-win UNDEFS <undef> ;
78 flags como-win HDRS <include> ;
79 flags como-win SYSHDRS <sysinclude> ;
80 flags como-win LINKFLAGS <linkflags> ;
81 flags como-win ARFLAGS <arflags> ;
82 flags como-win NO_WARN <no-warn> ;
83
84 #flags como-win STDHDRS : $(COMO_INCLUDE_PATH) ;
85 #flags como-win STDLIB_PATH : $(COMO_STDLIB_PATH)$(SLASH) ;
86
87 flags como-win LIBPATH <library-path> ;
88 flags como-win LIBRARIES <library-file> ;
89 flags como-win FINDLIBS <find-shared-library> ;
90 flags como-win FINDLIBS <find-static-library> ;
91
92 nl = "
93 " ;
94
95
96 # For como, we repeat all libraries so that dependencies are always resolved.
97 #
98 actions link bind LIBRARIES
99 {
100 $(CONFIG_COMMAND) --no_version --no_prelink_verbose $(LINKFLAGS) -o "$(<[1]:S=)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)")" "$(LIBRARIES)" "$(FINDLIBS:S=.lib)"
101 }
102
103 actions compile.c
104 {
105 $(CONFIG_COMMAND) -c --c99 -e5 --no_version --display_error_number --diag_suppress=9,21,161,748,940,962 -U$(UNDEFS) -D$(DEFINES) $(WARN) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<:D=)" "$(>)"
106 }
107
108 actions compile.c++
109 {
110 $(CONFIG_COMMAND) -c -e5 --no_version --no_prelink_verbose --display_error_number --long_long --diag_suppress=9,21,161,748,940,962 --diag_error=461 -D__STL_LONG_LONG -U$(UNDEFS) -D$(DEFINES) $(WARN) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)"
111 }
112
113 actions archive
114 {
115 $(CONFIG_COMMAND) --no_version --no_prelink_verbose --prelink_object @"@($(<[1]:W).rsp:E=$(nl)"$(>)")"
116 lib $(ARFLAGS) /nologo /out:"$(<:S=.lib)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)")"
117 }