From 4d216cf584a642cd43b3df04b9d0439f021ebb7f Mon Sep 17 00:00:00 2001 From: Toon Knapen Date: Thu, 26 Aug 2004 12:30:04 +0000 Subject: [PATCH] IBM/VisualAge toolset [SVN r24751] --- src/tools/vacpp.jam | 101 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 src/tools/vacpp.jam diff --git a/src/tools/vacpp.jam b/src/tools/vacpp.jam new file mode 100644 index 000000000..5a1e35ba0 --- /dev/null +++ b/src/tools/vacpp.jam @@ -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 vacpp-$(version) : $(path) ; +} + + +# Declare generators +generators.register-c-compiler vacpp.compile.c : C : OBJ : vacpp ; +generators.register-c-compiler vacpp.compile.c++ : CPP : OBJ : vacpp ; + +# Declare flags. +flags vacpp CFLAGS off : -qNOOPTimize ; +flags vacpp CFLAGS speed : -O3 -qstrict ; +flags vacpp CFLAGS space : -O2 -qcompact ; + +flags vacpp CFLAGS off : -qnoinline ; +flags vacpp CFLAGS on : -qinline ; +flags vacpp CFLAGS full : -qinline ; + +flags vacpp C++FLAGS off : -qnoeh ; +flags vacpp C++FLAGS on : -qeh ; + +flags vacpp C++FLAGS off : -qnortti ; +flags vacpp C++FLAGS on : -qrtti ; + +# flags vacpp LINKFLAGS static : -llibstd_v2.a ; +# flags vacpp LINKFLAGS 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 on : -g ; +flags vacpp LINKFLAGS on : -g ; +flags vacpp LINKFLAGS off : -s ; + +# V2 does not have , not sure what this meant in V1. +#flags vacpp CFLAGS true : +Z ; + +flags vacpp CFLAGS on : -pg ; +flags vacpp LINKFLAGS on : -pg ; + +flags vacpp CFLAGS ; +flags vacpp C++FLAGS ; +flags vacpp DEFINES ; +flags vacpp UNDEFS ; +flags vacpp HDRS ; +flags vacpp STDHDRS ; +flags vacpp LINKFLAGS ; +flags vacpp ARFLAGS ; + +flags vacpp LIBPATH ; +flags vacpp NEEDLIBS ; +flags vacpp FINDLIBS ; +flags vacpp FINDLIBS ; + +# Select the compiler name according to the threading model. +# flags vacpp VA_C_COMPILER single : xlc ; +# flags vacpp VA_C_COMPILER multi : xlc_r ; +# flags vacpp VA_CXX_COMPILER single : xlC ; +# flags vacpp VA_CXX_COMPILER 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="") "$(<)" "$(>)" +}