Move iOS asm tricks up in external CMake build.
This block needs to come before enable_language in order to have the
correct effect.
Change-Id: I2c0e3332c055828381694305e14f2f54b50bb06b
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/39644
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/util/generate_build_files.py b/util/generate_build_files.py
index 92bc08e..d805d4f 100644
--- a/util/generate_build_files.py
+++ b/util/generate_build_files.py
@@ -466,6 +466,20 @@
add_definitions(-DBORINGSSL_IMPLEMENTATION)
+# CMake's iOS support uses Apple's multiple-architecture toolchain. It takes an
+# architecture list from CMAKE_OSX_ARCHITECTURES, leaves CMAKE_SYSTEM_PROCESSOR
+# alone, and expects all architecture-specific logic to be conditioned within
+# the source files rather than the build. This does not work for our assembly
+# files, so we fix CMAKE_SYSTEM_PROCESSOR and only support single-architecture
+# builds.
+if(NOT OPENSSL_NO_ASM AND CMAKE_OSX_ARCHITECTURES)
+ list(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHES)
+ if(NOT ${NUM_ARCHES} EQUAL 1)
+ message(FATAL_ERROR "Universal binaries not supported.")
+ endif()
+ list(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_SYSTEM_PROCESSOR)
+endif()
+
if(OPENSSL_NO_ASM)
add_definitions(-DOPENSSL_NO_ASM)
set(ARCH "generic")
@@ -528,20 +542,6 @@
endif()
endif()
-# CMake's iOS support uses Apple's multiple-architecture toolchain. It takes an
-# architecture list from CMAKE_OSX_ARCHITECTURES, leaves CMAKE_SYSTEM_PROCESSOR
-# alone, and expects all architecture-specific logic to be conditioned within
-# the source files rather than the build. This does not work for our assembly
-# files, so we fix CMAKE_SYSTEM_PROCESSOR and only support single-architecture
-# builds.
-if(NOT OPENSSL_NO_ASM AND CMAKE_OSX_ARCHITECTURES)
- list(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHES)
- if(NOT ${NUM_ARCHES} EQUAL 1)
- message(FATAL_ERROR "Universal binaries not supported.")
- endif()
- list(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_SYSTEM_PROCESSOR)
-endif()
-
include_directories(src/include)
'''