Skip to content

Commit 4b4c16e

Browse files
committed
Find llvm on demand
1 parent bd8456b commit 4b4c16e

File tree

11 files changed

+65
-34
lines changed

11 files changed

+65
-34
lines changed

tests/unit/aot-stack-frame/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ project (test-aot-stack-frame)
88
add_definitions (-DRUN_ON_LINUX)
99

1010
set (WAMR_BUILD_AOT 1)
11-
set (WAMR_BUILD_INTERP 0)
12-
# to involve LLVM
13-
set (WAMR_BUILD_JIT 1)
11+
set (WAMR_BUILD_INTERP 1)
12+
set (WAMR_BUILD_JIT 0)
1413
set (WAMR_BUILD_SIMD 1)
1514
set (WAMR_BUILD_REF_TYPES 1)
1615
set (WAMR_BUILD_LIBC_WASI 0)
@@ -22,6 +21,10 @@ set (WAMR_BUILD_GC 1)
2221

2322
include (../unit_common.cmake)
2423

24+
find_package(LLVM REQUIRED CONFIG)
25+
include_directories(${LLVM_INCLUDE_DIRS})
26+
add_definitions(${LLVM_DEFINITIONS})
27+
2528
include_directories (${CMAKE_CURRENT_SOURCE_DIR})
2629

2730
add_definitions (-DWASM_ENABLE_AOT_STACK_FRAME=1)

tests/unit/aot/CMakeLists.txt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@ add_definitions (-DWASM_ENABLE_AOT_STACK_FRAME=1)
1515

1616
set (WAMR_BUILD_AOT 1)
1717
set (WAMR_BUILD_FAST_INTERP 0)
18-
set (WAMR_BUILD_INTERP 0)
19-
set (WAMR_BUILD_JIT 1)
18+
set (WAMR_BUILD_INTERP 1)
19+
set (WAMR_BUILD_JIT 0)
2020
set (WAMR_BUILD_LIBC_WASI 0)
2121
set (WAMR_BUILD_APP_FRAMEWORK 0)
2222

2323
include (../unit_common.cmake)
2424

25+
find_package(LLVM REQUIRED CONFIG)
26+
include_directories(${LLVM_INCLUDE_DIRS})
27+
add_definitions(${LLVM_DEFINITIONS})
28+
2529
include (${IWASM_DIR}/compilation/iwasm_compl.cmake)
2630

2731
include_directories (${CMAKE_CURRENT_SOURCE_DIR})
@@ -32,16 +36,9 @@ set (UNIT_SOURCE ${source_all})
3236

3337
set (unit_test_sources
3438
${UNIT_SOURCE}
35-
${PLATFORM_SHARED_SOURCE}
36-
${UTILS_SHARED_SOURCE}
37-
${MEM_ALLOC_SHARED_SOURCE}
38-
${NATIVE_INTERFACE_SOURCE}
39-
${LIBC_BUILTIN_SOURCE}
40-
${IWASM_COMMON_SOURCE}
41-
${IWASM_INTERP_SOURCE}
42-
${IWASM_AOT_SOURCE}
39+
${WAMR_RUNTIME_LIB_SOURCE}
4340
${IWASM_COMPL_SOURCE}
44-
)
41+
)
4542

4643
# Now simply link against gtest or gtest_main as needed. Eg
4744
add_executable (aot_test ${unit_test_sources})

tests/unit/compilation/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@ set (WAMR_BUILD_APP_FRAMEWORK 0)
2020
set (WAMR_BUILD_THREAD_MGR 1)
2121
set (WAMR_BUILD_AOT 1)
2222
set (WAMR_BUILD_FAST_INTERP 0)
23-
set (WAMR_BUILD_INTERP 0)
24-
# to involve LLVM
25-
set (WAMR_BUILD_JIT 1)
23+
set (WAMR_BUILD_INTERP 1)
24+
set (WAMR_BUILD_JIT 0)
2625

2726
include (../unit_common.cmake)
2827

28+
find_package(LLVM REQUIRED CONFIG)
29+
include_directories(${LLVM_INCLUDE_DIRS})
30+
add_definitions(${LLVM_DEFINITIONS})
31+
2932
include (${IWASM_DIR}/compilation/iwasm_compl.cmake)
3033

3134
include_directories (${CMAKE_CURRENT_SOURCE_DIR})

tests/unit/custom-section/CMakeLists.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ add_definitions (-DRUN_ON_LINUX)
2323

2424
set (WAMR_BUILD_LIBC_WASI 0)
2525
set (WAMR_BUILD_LIBC_BUILTIN 0)
26-
# to involve LLVM
27-
set (WAMR_BUILD_JIT 1)
28-
set (WAMR_BUILD_LAZY_JIT 0)
2926
set (WAMR_BUILD_AOT 1)
27+
set (WAMR_BUILD_FAST_INTERP 0)
28+
set (WAMR_BUILD_INTERP 1)
29+
set (WAMR_BUILD_JIT 0)
3030

3131
add_definitions(-DWASM_ENABLE_WAMR_COMPILER=1)
3232
add_definitions (-DWASM_ENABLE_DUMP_CALL_STACK=1)
@@ -37,6 +37,10 @@ set (WAMR_BUILD_LOAD_CUSTOM_SECTION 1)
3737

3838
include (../unit_common.cmake)
3939

40+
find_package(LLVM REQUIRED CONFIG)
41+
include_directories(${LLVM_INCLUDE_DIRS})
42+
add_definitions(${LLVM_DEFINITIONS})
43+
4044
include (${IWASM_DIR}/compilation/iwasm_compl.cmake)
4145

4246
include_directories (${CMAKE_CURRENT_SOURCE_DIR})

tests/unit/interpreter/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ set (unit_test_sources
3434
# Now simply link against gtest or gtest_main as needed. Eg
3535
add_executable (interpreter_test ${unit_test_sources})
3636

37-
target_link_libraries (interpreter_test ${LLVM_AVAILABLE_LIBS} gtest_main )
37+
target_link_libraries (interpreter_test gtest_main )
3838

3939
gtest_discover_tests(interpreter_test)

tests/unit/linux-perf/CMakeLists.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ add_definitions (-DRUN_ON_LINUX)
99

1010
set (WAMR_BUILD_LIBC_WASI 0)
1111
set (WAMR_BUILD_LIBC_BUILTIN 0)
12-
# to involve LLVM
13-
set (WAMR_BUILD_JIT 1)
14-
set (WAMR_BUILD_LAZY_JIT 0)
12+
set (WAMR_BUILD_JIT 0)
1513
set (WAMR_BUILD_AOT 1)
14+
set (WAMR_BUILD_FAST_INTERP 0)
15+
set (WAMR_BUILD_INTERP 1)
1616
set (WAMR_BUILD_MULTI_MODULE 0)
1717
set (WAMR_BUILD_LINUX_PERF 1)
1818

@@ -23,6 +23,10 @@ set (WAMR_BUILD_DUMP_CALL_STACK 1)
2323

2424
include (../unit_common.cmake)
2525

26+
find_package(LLVM REQUIRED CONFIG)
27+
include_directories(${LLVM_INCLUDE_DIRS})
28+
add_definitions(${LLVM_DEFINITIONS})
29+
2630
include (${IWASM_DIR}/compilation/iwasm_compl.cmake)
2731

2832
add_executable (linux_perf_test test_sort_func_ptrs.cc)

tests/unit/memory64/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ set(WAMR_BUILD_APP_FRAMEWORK 0)
1313
set(WAMR_BUILD_AOT 0)
1414
set(WAMR_BUILD_INTERP 1)
1515
set(WAMR_BUILD_FAST_INTERP 0)
16-
# to involve LLVM
17-
set(WAMR_BUILD_JIT 1)
16+
set(WAMR_BUILD_JIT 0)
1817
set(WAMR_BUILD_FAST_JIT 0)
1918
set(WAMR_BUILD_MEMORY64 1)
2019
set(WAMR_BUILD_SHARED_MEMORY 1)
@@ -23,7 +22,9 @@ set(WAMR_BUILD_SHARED_MEMORY 1)
2322
# include(GoogleTest)
2423
include(../unit_common.cmake)
2524

26-
include(${IWASM_DIR}/compilation/iwasm_compl.cmake)
25+
find_package(LLVM REQUIRED CONFIG)
26+
include_directories(${LLVM_INCLUDE_DIRS})
27+
add_definitions(${LLVM_DEFINITIONS})
2728

2829
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
2930

tests/unit/running-modes/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ set(WAMR_BUILD_REF_TYPES 1)
3333
# if only load this CMake other than load it as subdirectory
3434
include(../unit_common.cmake)
3535

36-
include(${IWASM_DIR}/compilation/iwasm_compl.cmake)
36+
find_package(LLVM REQUIRED CONFIG)
37+
include_directories(${LLVM_INCLUDE_DIRS})
38+
add_definitions(${LLVM_DEFINITIONS})
3739

3840
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
3941

tests/unit/runtime-common/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,19 @@ add_definitions(-DRUN_ON_LINUX)
99

1010
set (WAMR_BUILD_AOT 1)
1111
set (WAMR_BUILD_FAST_INTERP 0)
12-
set (WAMR_BUILD_INTERP 0)
13-
# to involve LLVM
14-
set (WAMR_BUILD_JIT 1)
12+
set (WAMR_BUILD_INTERP 1)
13+
set (WAMR_BUILD_JIT 0)
1514
set (WAMR_BUILD_LIBC_WASI 0)
1615
set (WAMR_BUILD_LIBC_BUILTIN 1)
1716
set (WAMR_BUILD_APP_FRAMEWORK 0)
1817
set (WAMR_BUILD_MULTI_MODULE 1)
1918

2019
include(../unit_common.cmake)
2120

21+
find_package(LLVM REQUIRED CONFIG)
22+
include_directories(${LLVM_INCLUDE_DIRS})
23+
add_definitions(${LLVM_DEFINITIONS})
24+
2225
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
2326

2427
file(GLOB_RECURSE source_all ${CMAKE_CURRENT_SOURCE_DIR}/*.cc)

tests/unit/unit_common.cmake

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,17 @@ include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake)
3535
# Add helper classes
3636
include_directories(${CMAKE_CURRENT_LIST_DIR}/common)
3737

38+
# config_common.cmake only sets up the llvm environment when
39+
# JIT is enabled. but in unit tests, we need llvm environment
40+
# for aot compilation.
41+
if (NOT DEFINED LLVM_DIR)
42+
set (LLVM_SRC_ROOT "${WAMR_ROOT_DIR}/core/deps/llvm")
43+
set (LLVM_BUILD_ROOT "${LLVM_SRC_ROOT}/build")
44+
if (NOT EXISTS "${LLVM_BUILD_ROOT}")
45+
message (FATAL_ERROR "Cannot find LLVM dir: ${LLVM_BUILD_ROOT}")
46+
endif ()
47+
set (CMAKE_PREFIX_PATH "${LLVM_BUILD_ROOT};${CMAKE_PREFIX_PATH}")
48+
set (LLVM_DIR ${LLVM_BUILD_ROOT}/lib/cmake/llvm)
49+
endif ()
50+
3851
message(STATUS "unit_common.cmake included")

0 commit comments

Comments
 (0)