build/acc-tools.jam
2002-12-20 15:54:26 +00:00

119 lines
3.0 KiB
Plaintext

# (C) Copyright Toon Knapen 2002, David Abrahams 2002
# Permission to copy, use,
# 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.
#
# Jam tools information for :
# HP-UX aCC compiler
#
set-as-singleton acc.root-directory ;
acc.bin-directory = $(acc.root-directory)$(SLASH)bin$(SLASH) ;
acc.bin-directory ?= " " ;
flags acc CC : cc ;
flags acc CXX : aCC ;
flags acc CFLAGS <optimization>off : ;
flags acc CFLAGS <optimization>default : -O ;
flags acc CFLAGS <optimization>speed : -O3 ;
flags acc CFLAGS <optimization>space : -O2 ;
flags acc CFLAGS <inlining>off : ;
flags acc CFLAGS <inlining>on : ;
flags acc CFLAGS <inlining>full : ;
flags acc CFLAGS <threading>multi : -mt ;
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 : ;
flags acc LINKFLAGS <runtime-link>static : -llibstd_v2.a ;
flags acc LINKFLAGS <runtime-link>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 acc CFLAGS <debug-symbols>on : -g ;
flags acc LINKFLAGS <debug-symbols>on : -g ;
flags acc LINKFLAGS <debug-symbols>off : -s ;
flags acc LINKFLAGS <threading>multi : -mt ;
flags acc CFLAGS <shared-linkable>true : +Z ;
flags acc CFLAGS <profiling>on : -pg ;
flags acc LINKFLAGS <profiling>on : -pg ;
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-library> ;
# BOOST_COMPATIBILITY ?= $(BOOST_ROOT)$(SLASH)boost$(SLASH)compatibility$(SLASH)cpp_c_headers ;
# flags tru64cxx STDHDRS : $(BOOST_COMPATIBILITY) ;
if ! $(ARFLAGS)
{
flags acc ARFLAGS : "" ;
}
#### Link ####
rule Link-action
{
aCC-Link-action $(<) : $(>) ;
}
actions aCC-Link-action bind NEEDLIBS
{
$(acc.bin-directory)$(CXX) $(LINKFLAGS) -AA -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}
#### Cc #####
rule Cc-action
{
acc-Cc-action $(<) : $(>) ;
}
actions acc-Cc-action
{
$(acc.bin-directory)$(CC) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
#### C++ ####
rule C++-action
{
aCC-C++-action $(<) : $(>) ;
}
actions aCC-C++-action
{
$(acc.bin-directory)$(CXX) -AA -c +W823 -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
#### Archive ####
rule Archive-action
{
acc-Archive-action $(<) : $(>) ;
}
actions updated together piecemeal acc-Archive-action
{
ar ru$(ARFLAGS) "$(<)" "$(>)"
}