1
1
# Project directories
2
- PROJ_ROOT =${CURDIR}
3
- LLVM_PROJ_DIR =$(PROJ_ROOT ) /third-party/llvm-project
2
+ LLVM_PROJ_DIR =${FAASM_LLVM_DIR}
4
3
5
- TOOLCHAIN_DIR =$( PROJ_ROOT )
4
+ TOOLCHAIN_DIR =${FAASM_CPP_PROJ_ROOT}
6
5
TOOLCHAIN_FILE =$(TOOLCHAIN_DIR ) /WasiToolchain.cmake
7
6
8
7
# Install dirs
9
- FAASM_LOCAL_DIR =/usr/local/faasm
8
+ FAASM_LOCAL_DIR =${FAASM_LOCAL_DIR_ENV}
10
9
PREFIX =$(FAASM_LOCAL_DIR ) /toolchain
11
- FAASM_SYSROOT =/usr/local/faasm /llvm-sysroot
10
+ FAASM_SYSROOT =$( FAASM_LOCAL_DIR ) /llvm-sysroot
12
11
13
- CLANG_VERSION =10.0.1
12
+ CLANG_VERSION =${FAASM_LLVM_VERSION}
13
+ CLANG_VERSION_MAJOR := $(shell echo $(CLANG_VERSION ) | cut -f1 -d.)
14
14
15
- BUILD_DIR =$( LLVM_PROJ_DIR ) /build
15
+ BUILD_DIR =${FAASM_LLVM_BUILD_DIR}
16
16
LLVM_CONFIG =$(BUILD_DIR ) /llvm/bin/llvm-config
17
17
AR =$(BUILD_DIR ) /llvm/bin/llvm-ar
18
18
19
- WASI_LIBC_DIR =$( PROJ_ROOT ) /third-party/wasi-libc
19
+ WASI_LIBC_DIR =${FAASM_WASI_LIBC_DIR}
20
20
21
21
# -------------------------------------------
22
22
# This is adapted from the wasi-sdk Makefile found here:
@@ -42,8 +42,8 @@ clean-all:
42
42
$(BUILD_DIR ) /llvm.BUILT :
43
43
mkdir -p $(BUILD_DIR ) /llvm
44
44
cd $(BUILD_DIR ) /llvm; cmake -G Ninja \
45
- -DCMAKE_C_COMPILER=/usr/bin/clang-10 \
46
- -DCMAKE_CXX_COMPILER=/usr/bin/clang++-10 \
45
+ -DCMAKE_C_COMPILER=/usr/bin/clang-$( CLANG_VERSION_MAJOR ) \
46
+ -DCMAKE_CXX_COMPILER=/usr/bin/clang++-$( CLANG_VERSION_MAJOR ) \
47
47
-DCMAKE_BUILD_TYPE=MinSizeRel \
48
48
-DCMAKE_INSTALL_PREFIX=$(PREFIX ) \
49
49
-DLLVM_TARGETS_TO_BUILD=WebAssembly \
@@ -69,6 +69,7 @@ $(BUILD_DIR)/llvm.BUILT:
69
69
70
70
# WASI libc
71
71
$(BUILD_DIR ) /libc.BUILT : $(BUILD_DIR ) /llvm.BUILT
72
+ mkdir -p $(WASI_LIBC_DIR ) /build
72
73
cd $(WASI_LIBC_DIR ) ; $(MAKE ) \
73
74
THREAD_MODEL=faasm \
74
75
WASM_CC=$(PREFIX ) /bin/clang \
@@ -86,6 +87,7 @@ $(BUILD_DIR)/compiler-rt.BUILT: $(BUILD_DIR)/libc.BUILT
86
87
-DCOMPILER_RT_BUILD_XRAY=OFF \
87
88
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
88
89
-DCOMPILER_RT_HAS_FPIC_FLAG=OFF \
90
+ -DCOMPILER_RT_ENABLE_IOS=OFF \
89
91
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
90
92
-DLLVM_CONFIG_PATH=$(LLVM_CONFIG ) \
91
93
-DCMAKE_INSTALL_PREFIX=$(PREFIX ) /lib/clang/$(CLANG_VERSION ) / \
@@ -102,7 +104,7 @@ $(BUILD_DIR)/libcxx.BUILT: $(BUILD_DIR)/compiler-rt.BUILT
102
104
-DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE ) \
103
105
-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
104
106
-DCMAKE_CXX_COMPILER_WORKS=ON \
105
- -DCMAKE_C_COMPILER_WORKS =ON \
107
+ -DCMAKE_C_COMPILER_WORKS=ON \
106
108
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
107
109
-DCMAKE_INSTALL_PREFIX=$(FAASM_SYSROOT) \
108
110
-DLLVM_COMPILER_CHECKED=ON \
0 commit comments