@@ -1750,28 +1750,34 @@ impl Build {
1750
1750
}
1751
1751
}
1752
1752
ToolFamily :: Gnu | ToolFamily :: Clang => {
1753
- // arm-linux-androideabi-gcc 4.8 shipped with Android NDK does
1754
- // not support '-Oz'
1755
- if opt_level == "z" && cmd. family != ToolFamily :: Clang {
1756
- cmd. push_opt_unless_duplicate ( "-Os" . into ( ) ) ;
1757
- } else {
1758
- cmd. push_opt_unless_duplicate ( format ! ( "-O{}" , opt_level) . into ( ) ) ;
1759
- }
1760
-
1761
- if cmd. family == ToolFamily :: Clang && target. contains ( "windows" ) {
1762
- // Disambiguate mingw and msvc on Windows. Problem is that
1763
- // depending on the origin clang can default to a mismatchig
1764
- // run-time.
1765
- cmd. push_cc_arg ( format ! ( "--target={}" , target) . into ( ) ) ;
1766
- }
1753
+ match cmd. family {
1754
+ ToolFamily :: Gnu => {
1755
+ // arm-linux-androideabi-gcc 4.8 shipped with Android NDK does
1756
+ // not support '-Oz'
1757
+ if opt_level == "z" {
1758
+ cmd. push_opt_unless_duplicate ( "-Os" . into ( ) ) ;
1759
+ } else {
1760
+ cmd. push_opt_unless_duplicate ( format ! ( "-O{}" , opt_level) . into ( ) ) ;
1761
+ }
1762
+ }
1763
+ ToolFamily :: Clang => {
1764
+ if target. contains ( "windows" ) {
1765
+ // Disambiguate mingw and msvc on Windows. Problem is that
1766
+ // depending on the origin clang can default to a mismatchig
1767
+ // run-time.
1768
+ cmd. push_cc_arg ( format ! ( "--target={}" , target) . into ( ) ) ;
1769
+ }
1767
1770
1768
- if cmd. family == ToolFamily :: Clang && target. contains ( "android" ) {
1769
- // For compatibility with code that doesn't use pre-defined `__ANDROID__` macro.
1770
- // If compiler used via ndk-build or cmake (officially supported build methods)
1771
- // this macros is defined.
1772
- // See https://android.googlesource.com/platform/ndk/+/refs/heads/ndk-release-r21/build/cmake/android.toolchain.cmake#456
1773
- // https://android.googlesource.com/platform/ndk/+/refs/heads/ndk-release-r21/build/core/build-binary.mk#141
1774
- cmd. push_opt_unless_duplicate ( "-DANDROID" . into ( ) ) ;
1771
+ if target. contains ( "android" ) {
1772
+ // For compatibility with code that doesn't use pre-defined `__ANDROID__` macro.
1773
+ // If compiler used via ndk-build or cmake (officially supported build methods)
1774
+ // this macros is defined.
1775
+ // See https://android.googlesource.com/platform/ndk/+/refs/heads/ndk-release-r21/build/cmake/android.toolchain.cmake#456
1776
+ // https://android.googlesource.com/platform/ndk/+/refs/heads/ndk-release-r21/build/core/build-binary.mk#141
1777
+ cmd. push_opt_unless_duplicate ( "-DANDROID" . into ( ) ) ;
1778
+ }
1779
+ }
1780
+ _ => unreachable ! ( "MSVC never reaches here." ) ,
1775
1781
}
1776
1782
1777
1783
if !target. contains ( "apple-ios" )
0 commit comments