diff options
author | arseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640> | 2010-05-25 21:50:46 +0000 |
---|---|---|
committer | arseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640> | 2010-05-25 21:50:46 +0000 |
commit | 77c9a23bfbf748c70b3ab33b06c5b188eaa3bd25 (patch) | |
tree | ef313561bef22abede0140b32be364b45fb4528a | |
parent | cd9bc5fa836fdf196dc65f7f75631f80849eed1e (diff) |
Added build support for Sun C++
git-svn-id: http://pugixml.googlecode.com/svn/trunk@453 99668b35-9821-0410-8761-19e4c4f06640
-rw-r--r-- | Jamfile.jam | 6 | ||||
-rw-r--r-- | Jamrules.jam | 37 | ||||
-rw-r--r-- | tests/autotest-local.pl | 2 |
3 files changed, 43 insertions, 2 deletions
diff --git a/Jamfile.jam b/Jamfile.jam index 1ebdba3..bc47f10 100644 --- a/Jamfile.jam +++ b/Jamfile.jam @@ -13,7 +13,11 @@ # default toolset/configuration
if ( ! $(toolset) )
{
- if ( $(UNIX) )
+ if ( $(OS) = SOLARIS )
+ {
+ toolset = suncc ;
+ }
+ else if ( $(UNIX) )
{
local GCCVERSION = [ Subst [ Shell "gcc -dumpversion" ] : $(NEWLINE) ] ;
toolset = "gcc"$(GCCVERSION) ;
diff --git a/Jamrules.jam b/Jamrules.jam index 5837dda..bed6458 100644 --- a/Jamrules.jam +++ b/Jamrules.jam @@ -285,6 +285,43 @@ else if ( $(toolset:I=^bcc) ) { } } +else if ( $(toolset:I=^suncc) ) +{ + CCFLAGS += -D$(defines) ; + + if ( $(configuration) = "debug" ) + { + CCFLAGS += -D_DEBUG ; + } + else + { + CCFLAGS += -DNDEBUG -O ; + } + + if ( PUGIXML_NO_EXCEPTIONS in $(defines) ) + { + CCFLAGS += -noex ; + } + + actions ObjectAction + { + sunCC $(CCFLAGS) +w -xwe -c -o $(<) $(>) + } + + actions LibraryAction + { + ar rcs $(<) $(>) + } + + actions LinkAction + { + sunCC $(>) -o $(<) $(LDFLAGS) + } + + actions CoverageAction + { + } +} else { exit "Unknown toolset $(toolset)!" ; diff --git a/tests/autotest-local.pl b/tests/autotest-local.pl index 6527c1c..db7b26c 100644 --- a/tests/autotest-local.pl +++ b/tests/autotest-local.pl @@ -24,7 +24,7 @@ sub gcctoolset }
$fast = (shift eq 'fast');
-@toolsets = ($^O =~ /MSWin/) ? (bcc, cw, dmc, ic8, mingw34, mingw44, mingw45, msvc6, msvc7, msvc71, msvc8, msvc8_x64, msvc9, msvc9_x64, msvc10, msvc10_x64) : (&gcctoolset());
+@toolsets = ($^O =~ /MSWin/) ? (bcc, cw, dmc, ic8, mingw34, mingw44, mingw45, msvc6, msvc7, msvc71, msvc8, msvc8_x64, msvc9, msvc9_x64, msvc10, msvc10_x64) : ($^O =~ /solaris/) ? (suncc) : (&gcctoolset());
@configurations = (debug, release);
@defines = (PUGIXML_NO_XPATH, PUGIXML_NO_EXCEPTIONS, PUGIXML_NO_STL, PUGIXML_WCHAR_MODE);
|