11# Project directories
2- PROJ_ROOT =${CURDIR}
3- LLVM_PROJ_DIR =$(PROJ_ROOT ) /third-party/llvm-project
2+ LLVM_PROJ_DIR =${FAASM_LLVM_DIR}
43
5- TOOLCHAIN_DIR =$( PROJ_ROOT )
4+ TOOLCHAIN_DIR =${FAASM_CPP_PROJ_ROOT}
65TOOLCHAIN_FILE =$(TOOLCHAIN_DIR ) /WasiToolchain.cmake
76
87# Install dirs
9- FAASM_LOCAL_DIR =/usr/local/faasm
8+ FAASM_LOCAL_DIR =${FAASM_LOCAL_DIR_ENV}
109PREFIX =$(FAASM_LOCAL_DIR ) /toolchain
11- FAASM_SYSROOT =/usr/local/faasm /llvm-sysroot
10+ FAASM_SYSROOT =$( FAASM_LOCAL_DIR ) /llvm-sysroot
1211
13- CLANG_VERSION =10.0.1
12+ CLANG_VERSION =${FAASM_LLVM_VERSION}
13+ CLANG_VERSION_MAJOR := $(shell echo $(CLANG_VERSION ) | cut -f1 -d.)
1414
15- BUILD_DIR =$( LLVM_PROJ_DIR ) /build
15+ BUILD_DIR =${FAASM_LLVM_BUILD_DIR}
1616LLVM_CONFIG =$(BUILD_DIR ) /llvm/bin/llvm-config
1717AR =$(BUILD_DIR ) /llvm/bin/llvm-ar
1818
19- WASI_LIBC_DIR =$( PROJ_ROOT ) /third-party/wasi-libc
19+ WASI_LIBC_DIR =${FAASM_WASI_LIBC_DIR}
2020
2121# -------------------------------------------
2222# This is adapted from the wasi-sdk Makefile found here:
@@ -42,8 +42,8 @@ clean-all:
4242$(BUILD_DIR ) /llvm.BUILT :
4343 mkdir -p $(BUILD_DIR ) /llvm
4444 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 ) \
4747 -DCMAKE_BUILD_TYPE=MinSizeRel \
4848 -DCMAKE_INSTALL_PREFIX=$(PREFIX ) \
4949 -DLLVM_TARGETS_TO_BUILD=WebAssembly \
@@ -69,6 +69,7 @@ $(BUILD_DIR)/llvm.BUILT:
6969
7070# WASI libc
7171$(BUILD_DIR ) /libc.BUILT : $(BUILD_DIR ) /llvm.BUILT
72+ mkdir -p $(WASI_LIBC_DIR ) /build
7273 cd $(WASI_LIBC_DIR ) ; $(MAKE ) \
7374 THREAD_MODEL=faasm \
7475 WASM_CC=$(PREFIX ) /bin/clang \
@@ -86,6 +87,7 @@ $(BUILD_DIR)/compiler-rt.BUILT: $(BUILD_DIR)/libc.BUILT
8687 -DCOMPILER_RT_BUILD_XRAY=OFF \
8788 -DCOMPILER_RT_INCLUDE_TESTS=OFF \
8889 -DCOMPILER_RT_HAS_FPIC_FLAG=OFF \
90+ -DCOMPILER_RT_ENABLE_IOS=OFF \
8991 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
9092 -DLLVM_CONFIG_PATH=$(LLVM_CONFIG ) \
9193 -DCMAKE_INSTALL_PREFIX=$(PREFIX ) /lib/clang/$(CLANG_VERSION ) / \
@@ -102,7 +104,7 @@ $(BUILD_DIR)/libcxx.BUILT: $(BUILD_DIR)/compiler-rt.BUILT
102104 -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE ) \
103105 -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
104106 -DCMAKE_CXX_COMPILER_WORKS=ON \
105- -DCMAKE_C_COMPILER_WORKS =ON \
107+ -DCMAKE_C_COMPILER_WORKS=ON \
106108 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
107109 -DCMAKE_INSTALL_PREFIX=$(FAASM_SYSROOT) \
108110 -DLLVM_COMPILER_CHECKED=ON \
0 commit comments