mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-06 16:56:55 +08:00
[RISC-V] Support CMake build with custom compiler flags
This CL aims to support custom compiler flags. Because upstream clang has supported to build for x280 with -mcpu=sifive-x280. Change-Id: Ic8fbf026fe6805ac5c3422a9ccc3f53293c89570 Signed-off-by: Bruce Lai <bruce.lai@sifive.com> Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4713191 Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
This commit is contained in:
parent
423e2b97ea
commit
b76fcd4654
@ -238,6 +238,18 @@ After running script, clang & qemu are built in `build-toolchain-qemu/riscv-clan
|
||||
-DUSE_RVV=ON .
|
||||
cmake --build out/Release/
|
||||
|
||||
#### Customized Compiler Flags
|
||||
|
||||
Customized compiler flags are supported by `-DRISCV_COMPILER_FLAGS="xxx"`.
|
||||
If `-DRISCV_COMPILER_FLAGS="xxx"` is manually assigned, other compile flags(e.g disable -march=xxx) will not be appended.
|
||||
|
||||
Example:
|
||||
|
||||
cmake -B out/Release/ -DUNIT_TEST=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_TOOLCHAIN_FILE="./riscv_script/riscv-clang.cmake" \
|
||||
-DRISCV_COMPILER_FLAGS="-mcpu=sifive-x280" \
|
||||
.
|
||||
|
||||
### Run on QEMU
|
||||
|
||||
|
||||
@ -28,9 +28,11 @@ set(CMAKE_OBJDUMP "${TOOLCHAIN_PATH}/bin/llvm-objdump")
|
||||
set(CMAKE_OBJCOPY "${TOOLCHAIN_PATH}/bin/llvm-objcopy")
|
||||
|
||||
# compile options
|
||||
set(RISCV_COMPILER_FLAGS "" CACHE STRING "Compile flags")
|
||||
# if user provides RISCV_COMPILER_FLAGS, appeding compile flags is avoided.
|
||||
if(RISCV_COMPILER_FLAGS STREQUAL "")
|
||||
message(STATUS "USE_RVV: ${USE_RVV}")
|
||||
message(STATUS "USE_AUTO_VECTORIZER: ${USE_AUTO_VECTORIZER}")
|
||||
set(RISCV_COMPILER_FLAGS)
|
||||
if(USE_RVV)
|
||||
list(APPEND RISCV_COMPILER_FLAGS "-march=rv64gcv")
|
||||
if(NOT USE_AUTO_VECTORIZER)
|
||||
@ -40,6 +42,7 @@ if(USE_RVV)
|
||||
else()
|
||||
list(APPEND RISCV_COMPILER_FLAGS "-march=rv64gc")
|
||||
endif()
|
||||
endif()
|
||||
message(STATUS "RISCV_COMPILER_FLAGS: ${RISCV_COMPILER_FLAGS}")
|
||||
|
||||
set(CMAKE_C_FLAGS "${RISCV_COMPILER_FLAGS} ${CMAKE_C_FLAGS}")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user