@@ -29,42 +29,65 @@ git fetch origin "${POLYGEIST_VERSION}"
29
29
git checkout " ${POLYGEIST_VERSION} "
30
30
cd - & > /dev/null
31
31
32
- echo " >>> Linking Polymer to Polygeist ..."
33
- rm -r " ${POLYGEIST_DIR} /mlir/tools/polymer"
34
- ln -s " ${POLYMER_DIR} " " ${POLYGEIST_DIR} /mlir/tools/polymer"
35
-
36
- echo " >>> Building Polygeist ..."
37
32
cd " ${POLYGEIST_DIR} "
38
- mkdir -p build
39
- cd build
40
33
41
- if [ ! -f CMakeCache.txt ]; then
34
+
35
+ echo " >>> Building LLVM ..."
36
+ if [ ! -d " ${POLYGEIST_DIR} /llvm-project/build" ]; then
37
+ git submodule init
38
+ git submodule update
39
+
40
+ mkdir -p llvm-project/build
41
+ cd llvm-project/build
42
+
42
43
# Comment out -G Ninja if you don't want to use that.
43
44
cmake ../llvm \
44
45
-G Ninja \
45
- -DCMAKE_BUILD_TYPE=RELEASE \
46
+ -DLLVM_BUILD_EXAMPLES=OFF \
46
47
-DLLVM_TARGETS_TO_BUILD=" host" \
47
48
-DLLVM_ENABLE_PROJECTS=" llvm;mlir;clang" \
48
49
-DLLVM_OPTIMIZED_TABLEGEN=ON \
49
50
-DLLVM_ENABLE_OCAMLDOC=OFF \
50
51
-DLLVM_ENABLE_BINDINGS=OFF \
51
52
-DLLVM_INSTALL_UTILS=ON \
52
- -DLLVM_ENABLE_ASSERTIONS=ON \
53
- -DLLVM_BUILD_EXAMPLES=OFF \
54
- -DBUILD_POLYMER=ON \
55
- -DPLUTO_LIBCLANG_PREFIX= " $( llvm-config --prefix ) "
53
+ -DCMAKE_BUILD_TYPE=Release \
54
+ -DLLVM_ENABLE_ASSERTIONS=ON
55
+ cmake --build .
56
+ cmake --build . --target check-mlir
56
57
else
57
- echo " -- CMakeCache.txt file has been found. CMake generation is therefore skipped."
58
+ echo " -- LLVM build is skipped."
58
59
fi
59
60
60
- # Build
61
+
62
+
63
+ # Build Polygeist
64
+ mkdir -p " ${POLYGEIST_DIR} /build"
65
+ cd " ${POLYGEIST_DIR} /build"
66
+
67
+ # Comment out -G Ninja if you don't want to use that.
68
+ cmake .. \
69
+ -G Ninja \
70
+ -DMLIR_DIR=" ${POLYGEIST_DIR} /llvm-project/build/lib/cmake/mlir" \
71
+ -DCLANG_DIR=" ${POLYGEIST_DIR} /llvm-project/build/lib/cmake/clang" \
72
+ -DLLVM_TARGETS_TO_BUILD=" host" \
73
+ -DLLVM_ENABLE_ASSERTIONS=ON \
74
+ -DCMAKE_BUILD_TYPE=DEBUG
61
75
cmake --build . --target check-mlir-clang
62
- LD_LIBRARY_PATH=" ${POLYGEIST_DIR} /build/tools/mlir/tools/polymer/pluto/lib:${LD_LIBRARY_PATH} " cmake --build . --target check-polymer
63
76
64
- echo " >>> Done!"
77
+ # Build polymer
78
+ cd " ${POLYMER_DIR} "
79
+ mkdir -p " ${POLYMER_DIR} /build"
80
+ cd " ${POLYMER_DIR} /build"
81
+ cmake -G Ninja \
82
+ .. \
83
+ -DMLIR_DIR=" ${POLYGEIST_DIR} /llvm-project/build/lib/cmake/mlir" \
84
+ -DLLVM_DIR=" ${POLYGEIST_DIR} /llvm-project/build/lib/cmake/llvm" \
85
+ -DLLVM_EXTERNAL_LIT=" ${POLYGEIST_DIR} /llvm-project/build/bin/llvm-lit" \
86
+ -DLLVM_ENABLE_ASSERTIONS=ON \
87
+ -DCMAKE_BUILD_TYPE=DEBUG
88
+ LD_LIBRARY_PATH=" ${POLYMER_DIR} /build/pluto/lib:${LD_LIBRARY_PATH} " cmake --build . --target check-polymer
65
89
66
- rm " ${POLYMER_DIR} /build"
67
- ln -s " ${POLYGEIST_DIR} /build" " ${POLYMER_DIR} /build"
90
+ echo " >>> Done!"
68
91
69
92
echo " "
70
93
echo " Polymer utilities are built under ${POLYGEIST_DIR} /build,"
0 commit comments