diff options
author | Jakub Sujak <jakub.sujak@arm.com> | 2023-07-05 17:30:02 +0100 |
---|---|---|
committer | Jakub Sujak <jakub.sujak@arm.com> | 2023-07-06 15:22:08 +0000 |
commit | e86f992d26a79cad76244c4444d113e45afa9b88 (patch) | |
tree | 4d02dae037303678123958d3b237fb5d66a513c6 /compute_kernel_writer | |
parent | 2ae536a6ff4e7547c3c8d5fc2be8b7e815ca5f3d (diff) | |
download | ComputeLibrary-e86f992d26a79cad76244c4444d113e45afa9b88.tar.gz |
Pack CKW objects into Compute Library archive
Previously, building the `arm_compute-static` archive would fail the linking stage due to the Compute Kernel Writer (CKW) symbols not being correctly included. We fix this issue by collecting the built CKW objects and packing them into the Compute Library archive during SCons build time.
Compiling the shared library remains unchanged, and still statically links against CKW.
Resolves: COMPMID-6342
Change-Id: I841ed7379652fbede6afe9e90a98202656683086
Signed-off-by: Jakub Sujak <jakub.sujak@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9873
Reviewed-by: SiCong Li <sicong.li@arm.com>
Reviewed-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'compute_kernel_writer')
-rw-r--r-- | compute_kernel_writer/CMakeLists.txt | 2 | ||||
-rw-r--r-- | compute_kernel_writer/README.md | 1 | ||||
-rw-r--r-- | compute_kernel_writer/prototype/CMakeLists.txt | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/compute_kernel_writer/CMakeLists.txt b/compute_kernel_writer/CMakeLists.txt index f739824402..3bc2aeda63 100644 --- a/compute_kernel_writer/CMakeLists.txt +++ b/compute_kernel_writer/CMakeLists.txt @@ -43,6 +43,7 @@ message(STATUS "${CMAKE_PROJECT_NAME} ${CMAKE_PROJECT_VERSION}") option(CKW_ENABLE_OPENCL "Enable OpenCL code generation" OFF) option(CKW_ENABLE_ASSERTS "Enable assertions. Always enabled in Debug builds" OFF) option(CKW_BUILD_TESTING "Build the Compute Kernel Writer validation test suite" OFF) +option(CKW_BUILD_PROTOTYPE "Build the prototype implementation of kernel writer." OFF) option(CKW_CCACHE "Use compiler cache for faster recompilation" OFF) #--------------------------------------------------------------------- @@ -105,6 +106,7 @@ target_compile_options(ckw # Set CMAKE_CXX_FLAGS last so user can overwrite options ${CMAKE_CXX_FLAGS} PRIVATE + # Always optimize for binary size $<$<CONFIG:Release>:-Os> ) diff --git a/compute_kernel_writer/README.md b/compute_kernel_writer/README.md index 8a24fe20ec..9a920b7882 100644 --- a/compute_kernel_writer/README.md +++ b/compute_kernel_writer/README.md @@ -82,5 +82,6 @@ This project can be configured with the following build options. Enable options | CKW_ENABLE_OPENCL | Enable OpenCL code generation. | | CKW_ENABLE_ASSERTS | Enable assertions. Always enabled for Debug builds. | | CKW_BUILD_TESTING | Build the validation test suite. | +| CKW_BUILD_PROTOTYPE | Build the prototype implementation. | | CKW_CCACHE | Use compiler cache for faster recompilation. | | CMAKE_TOOLCHAIN_FILE | When cross-compiling, set this variable to the path of the CMake toolchain file. | diff --git a/compute_kernel_writer/prototype/CMakeLists.txt b/compute_kernel_writer/prototype/CMakeLists.txt index 84436a95d6..0def9eacf7 100644 --- a/compute_kernel_writer/prototype/CMakeLists.txt +++ b/compute_kernel_writer/prototype/CMakeLists.txt @@ -43,6 +43,8 @@ target_compile_options(ckw_prototype "$<$<CONFIG:Debug>:${CKW_ASSERTS_OPTS}>" "$<$<BOOL:${CKW_ASSERTS}>:${CKW_ASSERTS_OPTS}>" ${CMAKE_CXX_FLAGS} + PRIVATE + $<$<CONFIG:Release>:-Os> ) target_compile_definitions(ckw_prototype PUBLIC |