mirror of
https://github.com/boostorg/build.git
synced 2026-02-02 08:42:13 +00:00
Add support for Comeau.
[SVN r25723]
This commit is contained in:
98
src/tools/como-linux.jam
Normal file
98
src/tools/como-linux.jam
Normal file
@@ -0,0 +1,98 @@
|
||||
# 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.
|
||||
|
||||
# The following #// line will be used by the regression test table generation
|
||||
# program as the column heading for HTML tables. Must not include version number.
|
||||
#//<a href="http://www.comeaucomputing.com/">Comeau<br>C++</a>
|
||||
|
||||
import toolset ;
|
||||
import feature ;
|
||||
import toolset : flags ;
|
||||
import common ;
|
||||
|
||||
import unix ;
|
||||
import como ;
|
||||
feature.extend-subfeature toolset como : platform : linux ;
|
||||
|
||||
toolset.inherit-generators como-linux
|
||||
<toolset>como <toolset-como:platform>linux : unix ;
|
||||
toolset.inherit-flags como-linux : unix ;
|
||||
toolset.inherit-rules como-linux : gcc ;
|
||||
|
||||
generators.register-c-compiler como-linux.compile.c++ : CPP : OBJ
|
||||
: <toolset>como <toolset-como:platform>linux ;
|
||||
generators.register-c-compiler como-linux.compile.c : C : OBJ
|
||||
: <toolset>como <toolset-como:platform>linux ;
|
||||
|
||||
rule init ( version ? : command * )
|
||||
{
|
||||
local condition = [ common.check-init-parameters como-linux
|
||||
: version $(version) ] ;
|
||||
|
||||
command = [ common.get-invocation-command como-linux : como
|
||||
: $(command) ] ;
|
||||
|
||||
flags como-linux CONFIG_COMMAND $(condition) : $(command) ;
|
||||
}
|
||||
|
||||
flags como-linux C++FLAGS <exception-handling>off : --no_exceptions ;
|
||||
flags como-linux C++FLAGS <exception-handling>on : --exceptions ;
|
||||
|
||||
flags como-linux CFLAGS <inlining>off : --no_inlining ;
|
||||
flags como-linux CFLAGS <inlining>on <inlining>full : --inlining ;
|
||||
|
||||
flags como-linux CFLAGS <optimization>off : -O0 ;
|
||||
flags como-linux CFLAGS <optimization>speed : -O3 ;
|
||||
flags como-linux CFLAGS <optimization>space : -Os ;
|
||||
|
||||
flags como-linux CFLAGS <debug-symbols>on : -g ;
|
||||
flags como-linux LINKFLAGS <debug-symbols>on : -g ;
|
||||
|
||||
flags como-linux FINDLIBS : m ;
|
||||
flags como-linux FINDLIBS : rt ;
|
||||
|
||||
flags como-linux CFLAGS <cflags> ;
|
||||
flags como-linux C++FLAGS <cxxflags> ;
|
||||
flags como-linux DEFINES <define> ;
|
||||
flags como-linux UNDEFS <undef> ;
|
||||
flags como-linux HDRS <include> ;
|
||||
flags como-linux STDHDRS <sysinclude> ;
|
||||
flags como-linux LINKFLAGS <linkflags> ;
|
||||
flags como-linux ARFLAGS <arflags> ;
|
||||
|
||||
flags como-linux.link LIBRARIES <library-file> ;
|
||||
flags como-linux.link LINKPATH <library-path> ;
|
||||
flags como-linux.link FINDLIBS-ST <find-static-library> ;
|
||||
flags como-linux.link FINDLIBS-SA <find-shared-library> ;
|
||||
|
||||
flags como-linux.link RPATH <dll-path> ;
|
||||
flags como-linux.link RPATH_LINK <xdll-path> ;
|
||||
|
||||
|
||||
actions link bind LIBRARIES
|
||||
{
|
||||
$(CONFIG_COMMAND) $(LINKFLAGS) -o "$(<[1])" "$(>)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" "$(LIBRARIES)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) 2>&1
|
||||
}
|
||||
|
||||
actions link.dll bind LIBRARIES
|
||||
{
|
||||
$(CONFIG_COMMAND) $(LINKFLAGS) -shared -o "$(<[1])" "$(>)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" "$(LIBRARIES)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) 2>&1
|
||||
}
|
||||
|
||||
actions compile.c
|
||||
{
|
||||
$(CONFIG_COMMAND) -c --c99 --long_long -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" 2>&1
|
||||
}
|
||||
|
||||
actions compile.c++
|
||||
{
|
||||
$(CONFIG_COMMAND) -tused -c --long_long -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" 2>&1
|
||||
}
|
||||
|
||||
actions archive
|
||||
{
|
||||
ar rcu $(<) $(>)
|
||||
}
|
||||
|
||||
132
src/tools/como-win.jam
Normal file
132
src/tools/como-win.jam
Normal file
@@ -0,0 +1,132 @@
|
||||
# (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 version number.
|
||||
#//<a href="http://www.comeaucomputing.com/">Comeau<br>C++</a>
|
||||
|
||||
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 backed (as described in 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) ] ;
|
||||
|
||||
flags como-win CONFIG_COMMAND $(condition) : $(command) ;
|
||||
local compiler-options = [ feature.get-values <cflags> : $(options) ] ;
|
||||
if $(compiler-options)
|
||||
{
|
||||
flags como-win.compile OPTIONS $(condition) : $(compiler-options) ;
|
||||
}
|
||||
local linker-options = [ feature.get-values <cflags> : $(options) ] ;
|
||||
if $(linker-options)
|
||||
{
|
||||
flags como-win.link OPTIONS $(condition) : $(linker-options) ;
|
||||
}
|
||||
}
|
||||
|
||||
generators.register-c-compiler como-win.compile.c++ : CPP : OBJ
|
||||
: <toolset>como <toolset-como:platform>win ;
|
||||
generators.register-c-compiler como-win.compile.c : C : OBJ
|
||||
: <toolset>como <toolset-como:platform>win ;
|
||||
|
||||
generators.register-linker como-win.link
|
||||
: OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
|
||||
: EXE RSP
|
||||
: <toolset>como <toolset-como:platform>win ;
|
||||
# Note that status of shared libraries support is not clear, so we don't
|
||||
# define the link.dll generator.
|
||||
generators.register-composing como-winc.archive
|
||||
: OBJ : STATIC_LIB RSP
|
||||
: <toolset>como <toolset-como:platform>win ;
|
||||
|
||||
flags como-win C++FLAGS <exception-handling>off : --no_exceptions ;
|
||||
flags como-win C++FLAGS <exception-handling>on : --exceptions ;
|
||||
|
||||
flags como-win CFLAGS <inlining>off : --no_inlining ;
|
||||
flags como-win CFLAGS <inlining>on <inlining>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.
|
||||
#
|
||||
#flags como-win CFLAGS <debug-symbols>on : /Zi ;
|
||||
#flags como-win CFLAGS <optimization>off : /Od ;
|
||||
|
||||
flags como-win CFLAGS <cflags> ;
|
||||
flags como-win CFLAGS : -D_WIN32 ; # make sure that we get the Boost Win32 platform config header.
|
||||
flags como-win CFLAGS <threading>multi : -D_MT ; # make sure that our config knows that threading is on.
|
||||
flags como-win C++FLAGS <cxxflags> ;
|
||||
flags como-win DEFINES <define> ;
|
||||
flags como-win UNDEFS <undef> ;
|
||||
flags como-win HDRS <include> ;
|
||||
flags como-win SYSHDRS <sysinclude> ;
|
||||
flags como-win LINKFLAGS <linkflags> ;
|
||||
flags como-win ARFLAGS <arflags> ;
|
||||
flags como-win NO_WARN <no-warn> ;
|
||||
|
||||
#flags como-win STDHDRS : $(COMO_INCLUDE_PATH) ;
|
||||
#flags como-win STDLIB_PATH : $(COMO_STDLIB_PATH)$(SLASH) ;
|
||||
|
||||
flags como-win LIBPATH <library-path> ;
|
||||
flags como-win LIBRARIES <library-file> ;
|
||||
flags como-win FINDLIBS <find-shared-library> ;
|
||||
flags como-win FINDLIBS <find-static-library> ;
|
||||
|
||||
#### Link ####
|
||||
|
||||
rule link ( targets + : sources * : properties * )
|
||||
{
|
||||
common.response-file $(targets) : $(sources) : $(targets[2])
|
||||
: $(properties) ;
|
||||
}
|
||||
|
||||
# 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=)" @"$(<[2])" "$(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 -D__STL_LONG_LONG -U$(UNDEFS) -D$(DEFINES) $(WARN) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
#### Archive ####
|
||||
|
||||
rule archive ( targets + : sources * : properties * )
|
||||
{
|
||||
common.response-file $(targets) : $(sources) : $(targets[2]) : $(properties) ;
|
||||
}
|
||||
|
||||
actions updated together piecemeal archive
|
||||
{
|
||||
$(CONFIG_COMMAND) --no_version --no_prelink_verbose --prelink_object @"$(>)"
|
||||
lib $(ARFLAGS) /nologo /out:"$(<:S=.lib)" @"$(>)"
|
||||
}
|
||||
|
||||
30
src/tools/como.jam
Normal file
30
src/tools/como.jam
Normal file
@@ -0,0 +1,30 @@
|
||||
# Copyright Vladimir Prus 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)
|
||||
|
||||
# This is a generic 'intel' toolset. Depending on the current
|
||||
# system, it forwards either to 'intel-linux' or 'intel-win'
|
||||
# modules.
|
||||
|
||||
import feature ;
|
||||
import os ;
|
||||
import toolset ;
|
||||
|
||||
feature.extend toolset : como ;
|
||||
feature.subfeature toolset como : platform : : propagated link-incompatible ;
|
||||
|
||||
rule init ( * : * )
|
||||
{
|
||||
if [ os.name ] = LINUX
|
||||
{
|
||||
toolset.using como-linux :
|
||||
$(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
toolset.using como-win :
|
||||
$(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user