# Copyright 2004, 2005, 2006 Vladimir Prus
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or 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 toolset ;
import feature ;
import toolset : flags ;
import common ;
import generators ;
import unix ;
import como ;
feature.extend-subfeature toolset como : platform : linux ;
toolset.inherit-generators como-linux
como linux : unix ;
generators.override como-linux.prebuilt : builtin.lib-generator ;
generators.override como-linux.searched-lib-generator : searched-lib-generator ;
toolset.inherit-flags como-linux : unix ;
toolset.inherit-rules como-linux : gcc ;
generators.register-c-compiler como-linux.compile.c++ : CPP : OBJ
: como linux ;
generators.register-c-compiler como-linux.compile.c : C : OBJ
: como linux ;
rule init ( version ? : command * : options * )
{
local condition = [ common.check-init-parameters como-linux
: version $(version) ] ;
command = [ common.get-invocation-command como-linux : como
: $(command) ] ;
common.handle-options como-linux : $(condition) : $(command) : $(options) ;
}
flags como-linux C++FLAGS off : --no_exceptions ;
flags como-linux C++FLAGS on : --exceptions ;
flags como-linux CFLAGS off : --no_inlining ;
flags como-linux CFLAGS on full : --inlining ;
flags como-linux CFLAGS off : -O0 ;
flags como-linux CFLAGS speed : -O3 ;
flags como-linux CFLAGS space : -Os ;
flags como-linux CFLAGS on : -g ;
flags como-linux LINKFLAGS on : -g ;
flags como-linux FINDLIBS : m ;
flags como-linux FINDLIBS : rt ;
flags como-linux CFLAGS ;
flags como-linux C++FLAGS ;
flags como-linux DEFINES ;
flags como-linux UNDEFS ;
flags como-linux HDRS ;
flags como-linux STDHDRS ;
flags como-linux LINKFLAGS ;
flags como-linux ARFLAGS ;
flags como-linux.link LIBRARIES ;
flags como-linux.link LINKPATH ;
flags como-linux.link FINDLIBS-ST ;
flags como-linux.link FINDLIBS-SA ;
flags como-linux.link RPATH ;
flags como-linux.link RPATH_LINK ;
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 $(<) $(>)
}