2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 01:12:13 +00:00

Updated from Markus Shoepflin. Compiler selected based on threading option and C/C++, support for rtti and exception-handling features.

[SVN r15266]
This commit is contained in:
Rene Rivera
2002-09-11 15:31:43 +00:00
parent b58ad30fe2
commit bc4294371e
2 changed files with 62 additions and 32 deletions

View File

@@ -1,4 +1,5 @@
# (C) Copyright Toon Knapen 2001. Permission to copy, use,
# (C) Copyright Toon Knapen 2001, Markus Schoepflin 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
@@ -12,17 +13,36 @@
# These settings are created and tested with VisualAge running on
# IBM/Aix 3.4. They should also work for VisualAge
# on Windows NT, OS/2 and AS/400.
#
# Current settings tested and working on VisualAge-5/AIX.
flags vacpp CC <threading>single : xlc ;
flags vacpp CC <threading>multi : xlc_r ;
flags vacpp CXX <threading>single : xlC ;
flags vacpp CXX <threading>multi : xlC_r ;
flags vacpp C++FLAGS : -qnotempinc ;
flags vacpp CFLAGS <optimization>off : -qNOOPTimize ;
flags vacpp CFLAGS <optimization>default : -O ;
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 <excpetion-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 <runtime-link>static : -bstatic ;
flags vacpp CFLAGS <debug-symbols>on : -g ;
flags vacpp LINKFLAGS <debug-symbols>on : -g ;
flags vacpp LINKFLAGS <debug-symbols>off : -s ;
flags vacpp CFLAGS <optimization>off : -qNOOPTimize ;
flags vacpp CFLAGS <optimization>speed : -O5 ;
flags vacpp CFLAGS <optimization>space : -qcompact -O2 ;
flags vacpp CFLAGS <inlining>off : -qnoinline ;
flags vacpp CFLAGS <inlining>full : -qinline ;
flags vacpp CFLAGS <profiling>on : -pg ;
flags vacpp LINKFLAGS <profiling>on : -pg ;
@@ -36,10 +56,6 @@ flags vacpp STDHDRS <sysinclude> ;
flags vacpp LINKFLAGS <linkflags> ;
flags vacpp ARFLAGS <arflags> ;
flags gcc LIBPATH <library-path> ;
flags gcc NEEDLIBS <library-file> ;
flags gcc FINDLIBS <find-library> ;
if ! $(ARFLAGS)
{
flags xlc ARFLAGS : "" ;
@@ -53,9 +69,9 @@ rule Link-action
}
# for xlc, we repeat all libraries so that dependencies are always resolved
actions xlc-Link-action bind NEEDLIBS NEEDIMPS
actions xlc-Link-action bind NEEDLIBS
{
xlC -qrtti $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" "$(IMPLIB_FLAGS)$(NEEDIMPS)" -l$(FINDLIBS)
$(CXX) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}
#### Cc #####
@@ -67,7 +83,7 @@ rule Cc-action
actions xlc-Cc-action
{
xlC -c -qrtti -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
$(CC) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
#### C++ ####
@@ -78,7 +94,7 @@ rule C++-action
actions xlc-C++-action
{
xlC -c -qrtti -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
$(CXX) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
#### Archive ####
@@ -92,4 +108,3 @@ actions updated together piecemeal xlc-Archive-action
{
ar ru$(ARFLAGS) "$(<)" "$(>)"
}

View File

@@ -1,4 +1,5 @@
# (C) Copyright Toon Knapen 2001. Permission to copy, use,
# (C) Copyright Toon Knapen 2001, Markus Schoepflin 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
@@ -12,17 +13,36 @@
# These settings are created and tested with VisualAge running on
# IBM/Aix 3.4. They should also work for VisualAge
# on Windows NT, OS/2 and AS/400.
#
# Current settings tested and working on VisualAge-5/AIX.
flags vacpp CC <threading>single : xlc ;
flags vacpp CC <threading>multi : xlc_r ;
flags vacpp CXX <threading>single : xlC ;
flags vacpp CXX <threading>multi : xlC_r ;
flags vacpp C++FLAGS : -qnotempinc ;
flags vacpp CFLAGS <optimization>off : -qNOOPTimize ;
flags vacpp CFLAGS <optimization>default : -O ;
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 <excpetion-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 <runtime-link>static : -bstatic ;
flags vacpp CFLAGS <debug-symbols>on : -g ;
flags vacpp LINKFLAGS <debug-symbols>on : -g ;
flags vacpp LINKFLAGS <debug-symbols>off : -s ;
flags vacpp CFLAGS <optimization>off : -qNOOPTimize ;
flags vacpp CFLAGS <optimization>speed : -O5 ;
flags vacpp CFLAGS <optimization>space : -qcompact -O2 ;
flags vacpp CFLAGS <inlining>off : -qnoinline ;
flags vacpp CFLAGS <inlining>full : -qinline ;
flags vacpp CFLAGS <profiling>on : -pg ;
flags vacpp LINKFLAGS <profiling>on : -pg ;
@@ -36,10 +56,6 @@ flags vacpp STDHDRS <sysinclude> ;
flags vacpp LINKFLAGS <linkflags> ;
flags vacpp ARFLAGS <arflags> ;
flags gcc LIBPATH <library-path> ;
flags gcc NEEDLIBS <library-file> ;
flags gcc FINDLIBS <find-library> ;
if ! $(ARFLAGS)
{
flags xlc ARFLAGS : "" ;
@@ -53,9 +69,9 @@ rule Link-action
}
# for xlc, we repeat all libraries so that dependencies are always resolved
actions xlc-Link-action bind NEEDLIBS NEEDIMPS
actions xlc-Link-action bind NEEDLIBS
{
xlC -qrtti $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" "$(IMPLIB_FLAGS)$(NEEDIMPS)" -l$(FINDLIBS)
$(CXX) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}
#### Cc #####
@@ -67,7 +83,7 @@ rule Cc-action
actions xlc-Cc-action
{
xlC -c -qrtti -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
$(CC) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
#### C++ ####
@@ -78,7 +94,7 @@ rule C++-action
actions xlc-C++-action
{
xlC -c -qrtti -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
$(CXX) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}
#### Archive ####
@@ -92,4 +108,3 @@ actions updated together piecemeal xlc-Archive-action
{
ar ru$(ARFLAGS) "$(<)" "$(>)"
}