summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jamrules.jam16
-rw-r--r--tests/autotest-local.pl6
-rw-r--r--tests/autotest-report.pl23
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;
}