# (C) Copyright David Abrahams 2001. # (C) Copyright MetaCommunications, Inc. 2004. # Distributed under the Boost Software License, Version 1.0. (See # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) # The following #// line will be used by the regression test table generation # program as the column heading for HTML tables. Must not include a version # number. #//Comeau
C++
import common ; import como ; import feature ; import generators ; import toolset : flags ; feature.extend-subfeature toolset como : platform : win ; # Initializes the Comeau toolset for windows. The command is the command which # invokes the compiler. You should either set environment variable # COMO_XXX_INCLUDE where XXX is the used backend (as described in the # documentation), or pass that as part of command, e.g: # # using como-win : 4.3 : "set COMO_BCC_INCLUDE=C:/include &&" como.exe ; # rule init ( version ? : command * : options * ) { local condition = [ common.check-init-parameters como-win : version $(version) ] ; command = [ common.get-invocation-command como-win : como.exe : $(command) ] ; common.handle-options como-win : $(condition) : $(command) : $(options) ; } generators.register-c-compiler como-win.compile.c++ : CPP : OBJ : como win ; generators.register-c-compiler como-win.compile.c : C : OBJ : como win ; generators.register-linker como-win.link : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : EXE : como win ; # Note that status of shared libraries support is not clear, so we do not define # the link.dll generator. generators.register-archiver como-win.archive : OBJ : STATIC_LIB : como win ; flags como-win C++FLAGS off : --no_exceptions ; flags como-win C++FLAGS on : --exceptions ; flags como-win CFLAGS off : --no_inlining ; flags como-win CFLAGS on full : --inlining ; # The following seems to be VC-specific options. At least, when I uncomment # then, Comeau with bcc as backend reports that bcc32 invocation failed. # #flags como-win CFLAGS on : /Zi ; #flags como-win CFLAGS off : /Od ; flags como-win CFLAGS ; flags como-win CFLAGS : -D_WIN32 ; # Make sure that we get the Boost Win32 platform config header. flags como-win CFLAGS multi : -D_MT ; # Make sure that our config knows that threading is on. flags como-win C++FLAGS ; flags como-win DEFINES ; flags como-win UNDEFS ; flags como-win HDRS ; flags como-win SYSHDRS ; flags como-win LINKFLAGS ; flags como-win ARFLAGS ; flags como-win NO_WARN ; #flags como-win STDHDRS : $(COMO_INCLUDE_PATH) ; #flags como-win STDLIB_PATH : $(COMO_STDLIB_PATH)$(SLASH) ; flags como-win LIBPATH ; flags como-win LIBRARIES ; flags como-win FINDLIBS ; flags como-win FINDLIBS ; nl = " " ; # For como, we repeat all libraries so that dependencies are always resolved. # actions link bind LIBRARIES { $(CONFIG_COMMAND) --no_version --no_prelink_verbose $(LINKFLAGS) -o "$(<[1]:S=)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)")" "$(LIBRARIES)" "$(FINDLIBS:S=.lib)" } actions compile.c { $(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=)" "$(>)" } actions compile.c++ { $(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 "$(<)" "$(>)" } actions archive { $(CONFIG_COMMAND) --no_version --no_prelink_verbose --prelink_object @"@($(<[1]:W).rsp:E=$(nl)"$(>)")" lib $(ARFLAGS) /nologo /out:"$(<:S=.lib)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)")" }