diff options
-rw-r--r-- | Jamrules.jam | 47 | ||||
-rw-r--r-- | tests/autotest-local.pl | 2 | ||||
-rw-r--r-- | tests/autotest-report.pl | 3 |
3 files changed, 45 insertions, 7 deletions
diff --git a/Jamrules.jam b/Jamrules.jam index 19075b9..709c100 100644 --- a/Jamrules.jam +++ b/Jamrules.jam @@ -180,18 +180,41 @@ else if ( $(toolset:I=^msvc) ) if ( $(toolset:I=x64$) ) { postfix = "\\amd64" ; + lib_postfix = "\\amd64" ; sdk_postfix = "\\x64" ; + kits_postfix = "\\x64" ; LDFLAGS += /MACHINE:X64 ; } + else if ( $(toolset:I=arm$) ) + { + postfix = "\\x86_arm" ; + lib_postfix = "\\arm" ; + sdk_postfix = "\\arm" ; + kits_postfix = "\\arm" ; + LDFLAGS += /MACHINE:ARM ; + } else { postfix = "" ; + lib_postfix = "" ; sdk_postfix = "" ; + kits_postfix = "\\x86" ; } - LDFLAGS += "/LIBPATH:\"%$(toolset)_PATH%\\lib$(postfix)\"" ; - LDFLAGS += "/LIBPATH:\"%$(toolset)_PATH%\\PlatformSDK\\lib$(postfix)\"" ; - LDFLAGS += "/LIBPATH:\"%WINSDK_PATH%\\lib$(sdk_postfix)\"" ; + LDFLAGS += "/LIBPATH:\"%$(toolset)_PATH%\\lib$(lib_postfix)\"" ; + + if ( $(toolset:I=msvc(6|7)) ) + { + LDFLAGS += "/LIBPATH:\"%$(toolset)_PATH%\\PlatformSDK\\lib$(lib_postfix)\"" ; + } + else if ( $(toolset:I=msvc(8|9|10)) ) + { + LDFLAGS += "/LIBPATH:\"%WINSDK_PATH%\\lib$(sdk_postfix)\"" ; + } + else + { + LDFLAGS += "/LIBPATH:\"%WINKITS_PATH%\\lib\\win8\\um$(kits_postfix)\"" ; + } } rule GetCFlags CONFIG : DEFINES @@ -261,8 +284,20 @@ else if ( $(toolset:I=^msvc) ) else { RESULT += "/I\"%$(toolset)_PATH%\\include\"" ; - RESULT += "/I\"%$(toolset)_PATH%\\PlatformSDK\\include\"" ; - RESULT += "/I\"%WINSDK_PATH%\\Include\"" ; + + if ( $(toolset:I=msvc(6|7)) ) + { + RESULT += "/I\"%$(toolset)_PATH%\\PlatformSDK\\include\"" ; + } + else if ( $(toolset:I=msvc(8|9|10)) ) + { + RESULT += "/I\"%WINSDK_PATH%\\Include\"" ; + } + else + { + RESULT += "/I\"%WINKITS_PATH%\\include\\shared\"" ; + RESULT += "/I\"%WINKITS_PATH%\\include\\um\"" ; + } } return $(RESULT) ; @@ -759,7 +794,7 @@ if ( $(UNIX) ) } else { - if ( $(toolset:I=(^xbox360|^ps3|wince|^android|^bada|^blackberry$)) ) + if ( $(toolset:I=(^xbox360|^ps3|wince$|arm$|^android|^bada|^blackberry)) ) { RUNRESULT = "skiprun" ; diff --git a/tests/autotest-local.pl b/tests/autotest-local.pl index 03ab955..6d7e50e 100644 --- a/tests/autotest-local.pl +++ b/tests/autotest-local.pl @@ -34,7 +34,7 @@ sub getcpucount undef; } -@alltoolsets = ($^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, msvc10_clr, msvc10_clr_x64, xbox360, ps3_gcc, ps3_snc, msvc8_wince, bada, blackberry, android, android_stlport) : ($^O =~ /solaris/) ? (suncc, suncc_x64) : &gcctoolset(); +@alltoolsets = ($^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, msvc10_clr, msvc10_clr_x64, msvc11, msvc11_x64, msvc11_clr, msvc11_clr_x64, msvc11_arm, xbox360, ps3_gcc, ps3_snc, msvc8_wince, bada, blackberry, android, android_stlport) : ($^O =~ /solaris/) ? (suncc, suncc_x64) : &gcctoolset(); $fast = scalar grep(/^fast$/, @ARGV); @toolsets = map { /^fast$/ ? () : ($_) } @ARGV; diff --git a/tests/autotest-report.pl b/tests/autotest-report.pl index 42f39b8..b5ebd8c 100644 --- a/tests/autotest-report.pl +++ b/tests/autotest-report.pl @@ -11,6 +11,7 @@ sub prettysuffix return " CLR x64" if ($suffix eq '_clr_x64'); return " PPC" if ($suffix eq '_ppc'); return " WinCE" if ($suffix eq '_wince'); + return " ARM" if ($suffix eq '_arm'); return ""; } @@ -58,6 +59,8 @@ sub prettyplatform return "x360" if ($toolset =~ /^xbox360/); return "ps3" if ($toolset =~ /^ps3/); + return "arm" if ($toolset =~ /_arm$/); + return "arm" if ($toolset =~ /_wince$/); return "arm" if ($toolset =~ /^android/); return "arm" if ($toolset =~ /^bada/); return "arm" if ($toolset =~ /^blackberry/); |