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);
  | 
