diff options
-rw-r--r-- | Jamrules.jam | 16 | ||||
-rw-r--r-- | tests/autotest-local.pl | 6 | ||||
-rw-r--r-- | tests/autotest-report.pl | 23 |
3 files changed, 35 insertions, 10 deletions
diff --git a/Jamrules.jam b/Jamrules.jam index 5357e7e..a6dbc75 100644 --- a/Jamrules.jam +++ b/Jamrules.jam @@ -14,6 +14,20 @@ if ( $(toolset:I=^mingw) || $(toolset:I=^gcc) ) if ( $(OS) != MACOSX ) { LDFLAGS += -static-libgcc -static ; + ARCH = "" ; + } + else + { + if ( $(toolset:I=_x64) ) + { + ARCH = -arch x86_64 ; + } + else if ( $(toolset:I=_ppc) ) + { + ARCH = -arch ppc ; + } + + LDFLAGS += $(ARCH) ; } rule GetCFlags CONFIG : DEFINES @@ -46,6 +60,8 @@ if ( $(toolset:I=^mingw) || $(toolset:I=^gcc) ) RESULT += -fno-exceptions ; } + RESULT += $(ARCH) ; + return $(RESULT) ; } diff --git a/tests/autotest-local.pl b/tests/autotest-local.pl index 9816a96..37cfcb6 100644 --- a/tests/autotest-local.pl +++ b/tests/autotest-local.pl @@ -20,11 +20,13 @@ sub gcctoolset my $gccversion = `gcc -dumpversion`;
chomp($gccversion);
- return "gcc$gccversion";
+ my $gcc = "gcc$gccversion";
+
+ return ($^O =~ /darwin/) ? ($gcc, "${gcc}_x64", "${gcc}_ppc") : (`uname -m` =~ /64/) ? ("${gcc}_x64") : ($gcc);
}
$fast = (shift eq 'fast');
-@toolsets = ($^O =~ /MSWin/) ? (bcc, cw, dmc, ic8, ic9, ic9_x64, ic10, ic10_x64, ic11, ic11_x64, mingw34, mingw44, mingw45, mingw45_0x, mingw46_x64, msvc6, msvc7, msvc71, msvc8, msvc8_x64, msvc9, msvc9_x64, msvc10, msvc10_x64) : ($^O =~ /solaris/) ? (suncc) : (&gcctoolset());
+@toolsets = ($^O =~ /MSWin/) ? (bcc, cw, dmc, ic8, ic9, ic9_x64, ic10, ic10_x64, ic11, ic11_x64, mingw34, mingw44, mingw45, mingw45_0x, mingw46_x64, 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);
$stddefine = 'PUGIXML_STANDARD';
diff --git a/tests/autotest-report.pl b/tests/autotest-report.pl index 151355b..b685314 100644 --- a/tests/autotest-report.pl +++ b/tests/autotest-report.pl @@ -1,6 +1,17 @@ #!/usr/bin/perl
# pretty-printing
+sub prettysuffix
+{
+ my $suffix = shift;
+
+ return " C++0x" if ($suffix eq '_0x');
+ return " x64" if ($suffix eq '_x64');
+ return " PowerPC" if ($suffix eq '_ppc');
+
+ return "";
+}
+
sub prettytoolset
{
my $toolset = shift;
@@ -10,15 +21,11 @@ sub prettytoolset return "Digital Mars C++ 8.51" if ($toolset eq 'dmc');
return "Sun C++ 5.10" if ($toolset eq 'suncc');
- return "Intel C++ Compiler $1.0" if ($toolset =~ /^ic(\d+)$/);
- return "Intel C++ Compiler $1.0 x64" if ($toolset =~ /^ic(\d+)_x64$/);
- return "MinGW (GCC $1.$2)" if ($toolset =~ /^mingw(\d)(\d)$/);
- return "MinGW (GCC $1.$2) C++0x" if ($toolset =~ /^mingw(\d)(\d)_0x$/);
- return "MinGW (GCC $1.$2) x64" if ($toolset =~ /^mingw(\d)(\d)_x64$/);
+ return "Intel C++ Compiler $1.0" . prettysuffix($2) if ($toolset =~ /^ic(\d+)(.*)$/);
+ return "MinGW (GCC $1.$2)" . prettysuffix($3) if ($toolset =~ /^mingw(\d)(\d)(.*)$/);
return "Microsoft Visual C++ 7.1" if ($toolset eq 'msvc71');
- return "Microsoft Visual C++ $1.0" if ($toolset =~ /^msvc(\d+)$/);
- return "Microsoft Visual C++ $1.0 x64" if ($toolset =~ /^msvc(\d+)_x64$/);
- return "GNU C++ Compiler $1" if ($toolset =~ /^gcc(.*)$/);
+ return "Microsoft Visual C++ $1.0" . prettysuffix($2) if ($toolset =~ /^msvc(\d+)(.*)$/);
+ return "GNU C++ Compiler $1" . prettysuffix($2) if ($toolset =~ /^gcc([\d.]*)(.*)$/);
$toolset;
}
|