diff options
author | Patrick Simianer <simianer@cl.uni-heidelberg.de> | 2012-05-13 03:35:30 +0200 |
---|---|---|
committer | Patrick Simianer <simianer@cl.uni-heidelberg.de> | 2012-05-13 03:35:30 +0200 |
commit | 670a8f984fc6d8342180c59ae9e96b0b76f34d3d (patch) | |
tree | 9f2ce7eec1a77e56b3bb1ad0ad40f212d7a996b0 /jam-files/boost-build/tools/acc.jam | |
parent | eb3ee28dc0eb1d3e5ed01ba0df843be329ae450d (diff) | |
parent | 2f64af3e06a518b93f7ca2c30a9d0aeb2c947031 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'jam-files/boost-build/tools/acc.jam')
-rw-r--r-- | jam-files/boost-build/tools/acc.jam | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/jam-files/boost-build/tools/acc.jam b/jam-files/boost-build/tools/acc.jam new file mode 100644 index 00000000..f04c9dc8 --- /dev/null +++ b/jam-files/boost-build/tools/acc.jam @@ -0,0 +1,118 @@ +# Copyright Vladimir Prus 2004. +# Copyright Toon Knapen 2004. +# Copyright Boris Gubenko 2007. +# 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 HP aC++ compiler. +# + +import toolset : flags ; +import feature ; +import generators ; +import common ; + +feature.extend toolset : acc ; +toolset.inherit acc : unix ; +generators.override builtin.lib-generator : acc.prebuilt ; +generators.override acc.searched-lib-generator : searched-lib-generator ; + +# Configures the acc toolset. +rule init ( version ? : user-provided-command * : options * ) +{ + local condition = [ common.check-init-parameters acc + : version $(version) ] ; + + local command = [ common.get-invocation-command acc : aCC + : $(user-provided-command) ] ; + + common.handle-options acc : $(condition) : $(command) : $(options) ; +} + + +# Declare generators +generators.register-c-compiler acc.compile.c : C : OBJ : <toolset>acc ; +generators.register-c-compiler acc.compile.c++ : CPP : OBJ : <toolset>acc ; + +# Declare flags. +flags acc CFLAGS <optimization>off : ; +flags acc CFLAGS <optimization>speed : -O3 ; +flags acc CFLAGS <optimization>space : -O2 ; + +flags acc CFLAGS <inlining>off : +d ; +flags acc CFLAGS <inlining>on : ; +flags acc CFLAGS <inlining>full : ; + +flags acc C++FLAGS <exception-handling>off : ; +flags acc C++FLAGS <exception-handling>on : ; + +flags acc C++FLAGS <rtti>off : ; +flags acc C++FLAGS <rtti>on : ; + +# 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 acc CFLAGS <debug-symbols>on : -g ; +flags acc LINKFLAGS <debug-symbols>on : -g ; +flags acc LINKFLAGS <debug-symbols>off : -s ; + +# V2 does not have <shared-linkable>, not sure what this meant in V1. +# flags acc CFLAGS <shared-linkable>true : +Z ; + +flags acc CFLAGS <profiling>on : -pg ; +flags acc LINKFLAGS <profiling>on : -pg ; + +flags acc CFLAGS <address-model>64 : +DD64 ; +flags acc LINKFLAGS <address-model>64 : +DD64 ; + +# It is unknown if there's separate option for rpath used only +# at link time, similar to -rpath-link in GNU. We'll use -L. +flags acc RPATH_LINK : <xdll-path> ; + +flags acc CFLAGS <cflags> ; +flags acc C++FLAGS <cxxflags> ; +flags acc DEFINES <define> ; +flags acc UNDEFS <undef> ; +flags acc HDRS <include> ; +flags acc STDHDRS <sysinclude> ; +flags acc LINKFLAGS <linkflags> ; +flags acc ARFLAGS <arflags> ; + +flags acc LIBPATH <library-path> ; +flags acc NEEDLIBS <library-file> ; +flags acc FINDLIBS <find-shared-library> ; +flags acc FINDLIBS <find-static-library> ; + +# Select the compiler name according to the threading model. +flags acc CFLAGS <threading>multi : -mt ; +flags acc LINKFLAGS <threading>multi : -mt ; + +flags acc.compile.c++ TEMPLATE_DEPTH <c++-template-depth> ; + + +actions acc.link bind NEEDLIBS +{ + $(CONFIG_COMMAND) -AA $(LINKFLAGS) -o "$(<[1])" -L"$(RPATH_LINK)" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) +} + +SPACE = " " ; +actions acc.link.dll bind NEEDLIBS +{ + $(CONFIG_COMMAND) -AA -b $(LINKFLAGS) -o "$(<[1])" -L"$(RPATH_LINK)" -Wl,+h$(<[-1]:D=) -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) +} + +actions acc.compile.c +{ + cc -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" $(OPTIONS) +} + +actions acc.compile.c++ +{ + $(CONFIG_COMMAND) -AA -c -Wc,--pending_instantiations=$(TEMPLATE_DEPTH) -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" $(OPTIONS) +} + +actions updated together piecemeal acc.archive +{ + ar ru$(ARFLAGS:E="") "$(<)" "$(>)" +} |