diff options
author | Daniel Drake <drake@endlessos.org> | 2023-07-01 20:31:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-01 21:31:44 +0300 |
commit | b2132270678c473f7cd9ba871b03d694126bc33a (patch) | |
tree | 2261f5cc594fc57b1b341e21cb7c38ae7ea8d76d | |
parent | 2f8cd979ecd1fa582852e7136e92ff8990b98fd8 (diff) |
cmake : don't force -mcpu=native on aarch64 (#2063)
It's currently not possible to cross-compile llama.cpp for aarch64
because CMakeLists.txt forces -mcpu=native for that target.
-mcpu=native doesn't make sense if your build host is not the
target architecture, and clang rejects it for that reason, aborting the
build. This can be easily reproduced using the current Android NDK to build
for aarch64 on an x86_64 host.
If there is not a specific CPU-tuning target for aarch64 then -mcpu
should be omitted completely. I think that makes sense, there is not
enough variance in the aarch64 instruction set to warrant a fixed -mcpu
optimization at this point. And if someone is building natively and wishes
to enable any possible optimizations for the host device, then there is
already the LLAMA_NATIVE option available.
Fixes #495.
-rw-r--r-- | CMakeLists.txt | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ffda74a..34a8973 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -386,11 +386,6 @@ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES if (MSVC) # TODO: arm msvc? else() - if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") - # Apple M1, M2, etc. - # Raspberry Pi 3, 4, Zero 2 (64-bit) - add_compile_options(-mcpu=native) - endif() if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv6") # Raspberry Pi 1, Zero add_compile_options(-mfpu=neon-fp-armv8 -mfp16-format=ieee -mno-unaligned-access) |