mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 13:02:11 +00:00
IBM/VisualAge toolset
[SVN r24751]
This commit is contained in:
101
src/tools/vacpp.jam
Normal file
101
src/tools/vacpp.jam
Normal file
@@ -0,0 +1,101 @@
|
||||
# Copyright Vladimir Prus 2004.
|
||||
# Copyright Toon Knapen 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)
|
||||
|
||||
#
|
||||
# Boost.Build V2 toolset for the IBM VisualAge compiler
|
||||
#
|
||||
|
||||
import toolset : flags ;
|
||||
import feature ;
|
||||
|
||||
feature.extend toolset : vacpp ;
|
||||
toolset.inherit vacpp : unix ;
|
||||
feature.subfeature toolset vacpp : version ;
|
||||
|
||||
# Configures the vacpp toolset.
|
||||
rule init ( version ? : path * )
|
||||
{
|
||||
# feature.extend-subfeature toolset vacpp : version : $(version) ;
|
||||
# flags vacpp VACPP_PATH <toolset>vacpp-$(version) : $(path) ;
|
||||
}
|
||||
|
||||
|
||||
# Declare generators
|
||||
generators.register-c-compiler vacpp.compile.c : C : OBJ : <toolset>vacpp ;
|
||||
generators.register-c-compiler vacpp.compile.c++ : CPP : OBJ : <toolset>vacpp ;
|
||||
|
||||
# Declare flags.
|
||||
flags vacpp CFLAGS <optimization>off : -qNOOPTimize ;
|
||||
flags vacpp CFLAGS <optimization>speed : -O3 -qstrict ;
|
||||
flags vacpp CFLAGS <optimization>space : -O2 -qcompact ;
|
||||
|
||||
flags vacpp CFLAGS <inlining>off : -qnoinline ;
|
||||
flags vacpp CFLAGS <inlining>on : -qinline ;
|
||||
flags vacpp CFLAGS <inlining>full : -qinline ;
|
||||
|
||||
flags vacpp C++FLAGS <exception-handling>off : -qnoeh ;
|
||||
flags vacpp C++FLAGS <exception-handling>on : -qeh ;
|
||||
|
||||
flags vacpp C++FLAGS <rtti>off : -qnortti ;
|
||||
flags vacpp C++FLAGS <rtti>on : -qrtti ;
|
||||
|
||||
# flags vacpp LINKFLAGS <link-runtime>static : -llibstd_v2.a ;
|
||||
# flags vacpp LINKFLAGS <link-runtime>shared : -llibstd_v2.sl ;
|
||||
|
||||
# We want the full path to the sources in the debug symbols because otherwise
|
||||
# the debugger won't find the sources when we use boost.build.
|
||||
flags vacpp CFLAGS <debug-symbols>on : -g ;
|
||||
flags vacpp LINKFLAGS <debug-symbols>on : -g ;
|
||||
flags vacpp LINKFLAGS <debug-symbols>off : -s ;
|
||||
|
||||
# V2 does not have <shared-linkable>, not sure what this meant in V1.
|
||||
#flags vacpp CFLAGS <shared-linkable>true : +Z ;
|
||||
|
||||
flags vacpp CFLAGS <profiling>on : -pg ;
|
||||
flags vacpp LINKFLAGS <profiling>on : -pg ;
|
||||
|
||||
flags vacpp CFLAGS <cflags> ;
|
||||
flags vacpp C++FLAGS <cxxflags> ;
|
||||
flags vacpp DEFINES <define> ;
|
||||
flags vacpp UNDEFS <undef> ;
|
||||
flags vacpp HDRS <include> ;
|
||||
flags vacpp STDHDRS <sysinclude> ;
|
||||
flags vacpp LINKFLAGS <linkflags> ;
|
||||
flags vacpp ARFLAGS <arflags> ;
|
||||
|
||||
flags vacpp LIBPATH <library-path> ;
|
||||
flags vacpp NEEDLIBS <library-file> ;
|
||||
flags vacpp FINDLIBS <find-shared-library> ;
|
||||
flags vacpp FINDLIBS <find-static-library> ;
|
||||
|
||||
# Select the compiler name according to the threading model.
|
||||
# flags vacpp VA_C_COMPILER <threading>single : xlc ;
|
||||
# flags vacpp VA_C_COMPILER <threading>multi : xlc_r ;
|
||||
# flags vacpp VA_CXX_COMPILER <threading>single : xlC ;
|
||||
# flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;
|
||||
|
||||
actions vacpp.link bind NEEDLIBS
|
||||
{
|
||||
# $(VA_CXX_COMPILER) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
|
||||
xlC_r $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
|
||||
}
|
||||
|
||||
actions vacpp.compile.c
|
||||
{
|
||||
# $(VA_C_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
|
||||
xlc_r -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
actions vacpp.compile.c++
|
||||
{
|
||||
# $(VA_CXX_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
|
||||
xlC_r -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
actions updated together piecemeal vacpp.archive
|
||||
{
|
||||
ar ru$(ARFLAGS:E="") "$(<)" "$(>)"
|
||||
}
|
||||
Reference in New Issue
Block a user