File tree Expand file tree Collapse file tree 7 files changed +22
-34
lines changed
Expand file tree Collapse file tree 7 files changed +22
-34
lines changed Original file line number Diff line number Diff line change @@ -11,17 +11,12 @@ set -o xtrace
1111
1212build_qnn_backend () {
1313 echo " Start building qnn backend."
14- export ANDROID_NDK_ROOT=/opt/ndk
15- export QNN_SDK_ROOT=/tmp/qnn/2.28.0.241029
14+ export ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT :- / opt/ ndk}
15+ export QNN_SDK_ROOT=${QNN_SDK_ROOT :- / tmp/ qnn/ 2.28.0.241029}
1616 export EXECUTORCH_ROOT=" $( cd -- " $( dirname -- " ${BASH_SOURCE[0]} " ) /../.." && pwd) "
1717
18- # Workaround to avoid issues around missing flatccrt library (depending on the
19- # number of jobs used), see issue #7300:
20- # Build twice (second time with `--no_clean`) to make sure libflatccrt.a is
21- # available.
22- # TODO: Remove this workaround once the underlying issue is fixed.
23- bash backends/qualcomm/scripts/build.sh --skip_aarch64 --job_number 2 --release || \
24- bash backends/qualcomm/scripts/build.sh --skip_aarch64 --job_number 2 --release --no_clean
18+ parallelism=$(( $(nproc) - 1 ))
19+ bash backends/qualcomm/scripts/build.sh --skip_aarch64 --job_number ${parallelism} --release
2520}
2621
2722set_up_aot () {
Original file line number Diff line number Diff line change @@ -582,6 +582,7 @@ if(EXECUTORCH_BUILD_PYBIND)
582582 ${TORCH_PYTHON_LIBRARY}
583583 bundled_program
584584 etdump
585+ flatccrt
585586 executorch
586587 extension_data_loader
587588 util
Original file line number Diff line number Diff line change @@ -97,12 +97,6 @@ if(NOT CMAKE_TOOLCHAIN_FILE MATCHES ".*(iOS|ios\.toolchain)\.cmake$")
9797 list (TRANSFORM _mps_executor_runner__srcs PREPEND "${EXECUTORCH_ROOT} /" )
9898 add_executable (mps_executor_runner ${_mps_executor_runner__srcs} )
9999
100- if (CMAKE_BUILD_TYPE MATCHES "Debug" )
101- set (FLATCC_LIB flatccrt_d)
102- else ()
103- set (FLATCC_LIB flatccrt)
104- endif ()
105-
106100 if (CMAKE_BUILD_TYPE MATCHES "Debug" )
107101 target_link_options (mps_executor_runner PUBLIC -fsanitize=undefined)
108102 endif ()
@@ -113,7 +107,7 @@ if(NOT CMAKE_TOOLCHAIN_FILE MATCHES ".*(iOS|ios\.toolchain)\.cmake$")
113107 executorch
114108 gflags
115109 etdump
116- ${FLATCC_LIB}
110+ flatccrt
117111 mpsdelegate
118112 mps_portable_ops_lib
119113 ${mps_executor_runner_libs}
Original file line number Diff line number Diff line change @@ -583,22 +583,16 @@ if(EXECUTORCH_ENABLE_EVENT_TRACER)
583583 "${ET_BUILD_DIR_PATH} /lib/libetdump.a"
584584 )
585585
586- if (CMAKE_BUILD_TYPE MATCHES "Debug" )
587- set (FLATCCRT_LIB flatccrt_d)
588- else ()
589- set (FLATCCRT_LIB flatccrt)
590- endif ()
591-
592- add_library (${FLATCCRT_LIB} STATIC IMPORTED )
586+ add_library (flatccrt STATIC IMPORTED )
593587 set_property (
594- TARGET ${FLATCCRT_LIB}
588+ TARGET flatccrt
595589 PROPERTY IMPORTED_LOCATION
596- "${ET_BUILD_DIR_PATH} /lib/lib ${FLATCCRT_LIB} .a"
590+ "${ET_BUILD_DIR_PATH} /lib/libflatccrt .a"
597591 )
598592
599593 list (APPEND arm_executor_runner_link
600594 etdump
601- ${FLATCCRT_LIB}
595+ flatccrt
602596 )
603597endif ()
604598
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ target_include_directories(
2020)
2121target_link_libraries (
2222 qnn_executor_runner qnn_executorch_backend full_portable_ops_lib etdump
23- ${FLATCCRT_LIB} gflags
23+ flatccrt gflags
2424)
2525set_target_properties (
2626 qnn_executor_runner PROPERTIES LINK_FLAGS "-Wl,-rpath='$ORIGIN'"
Original file line number Diff line number Diff line change @@ -68,6 +68,7 @@ ExternalProject_Add(
6868 -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING =${CMAKE_OSX_DEPLOYMENT_TARGET}
6969 BUILD_BYPRODUCTS <INSTALL_DIR>/bin/flatcc
7070)
71+ file (REMOVE_RECURSE ${PROJECT_SOURCE_DIR} /third-party/flatcc/lib)
7172ExternalProject_Get_Property(flatcc_external_project INSTALL_DIR)
7273add_executable (flatcc_cli IMPORTED GLOBAL )
7374add_dependencies (flatcc_cli flatcc_external_project)
@@ -83,6 +84,11 @@ set(FLATCC_REFLECTION OFF CACHE BOOL "")
8384set (FLATCC_DEBUG_CLANG_SANITIZE OFF CACHE BOOL "" )
8485set (FLATCC_INSTALL OFF CACHE BOOL "" )
8586add_subdirectory (flatcc)
87+ # Unfortunately flatcc writes libs directly in to the source tree [1]. So to
88+ # ensure the target lib is created last, force flatcc_cli to build first.
89+ #
90+ # [1] https://github.com/dvidelabs/flatcc/blob/896db54787e8b730a6be482c69324751f3f5f117/CMakeLists.txt#L168
91+ add_dependencies (flatccrt flatcc_cli)
8692# Fix for "relocation R_X86_64_32 against `.rodata' can not be used when making
8793# a shared object; recompile with -fPIC" when building on some x86 linux
8894# systems.
Original file line number Diff line number Diff line change @@ -56,18 +56,12 @@ set(EXECUTORCH_FOUND ON)
5656
5757target_link_libraries (executorch INTERFACE executorch_core)
5858
59- if (CMAKE_BUILD_TYPE MATCHES "Debug" )
60- set (FLATCCRT_LIB flatccrt_d)
61- else ()
62- set (FLATCCRT_LIB flatccrt)
63- endif ()
64-
6559set (lib_list
60+ flatccrt
6661 etdump
6762 bundled_program
6863 extension_data_loader
6964 extension_flat_tensor
70- ${FLATCCRT_LIB}
7165 coreml_util
7266 coreml_inmemoryfs
7367 coremldelegate
@@ -154,6 +148,10 @@ if(TARGET coremldelegate)
154148 )
155149endif ()
156150
151+ if (TARGET etdump)
152+ set_target_properties (etdump PROPERTIES INTERFACE_LINK_LIBRARIES "flatccrt;executorch" )
153+ endif ()
154+
157155if (TARGET optimized_native_cpu_ops_lib)
158156 if (TARGET optimized_portable_kernels)
159157 set (_maybe_optimized_portable_kernels_lib optimized_portable_kernels)
You can’t perform that action at this time.
0 commit comments