@@ -8,9 +8,10 @@ repo=intel/graph-compiler
8
8
print_usage () {
9
9
echo " Usage:"
10
10
echo " $0 "
11
- echo " [ -d | --dev ] Dev build, build LLVM in current env and place all to 'external' dir"
12
- echo " [ -l | --dyn ] Dynamical linking, requires rebuild of LLVM, activates 'dev' option"
13
- echo " [ -h | --help ] Print this message"
11
+ echo " [ -d | --dev ] Dev build, build LLVM in current env and place all to 'external' dir"
12
+ echo " [ -l | --dyn ] Dynamical linking, requires rebuild of LLVM, activates 'dev' option"
13
+ echo " [ -c | --clean ] Delete the build artifacts from the previous build"
14
+ echo " [ -h | --help ] Print this message"
14
15
}
15
16
16
17
DEV_BUILD=false
@@ -24,6 +25,9 @@ for arg in "$@"; do
24
25
DEV_BUILD=true
25
26
DYN_LINK=true
26
27
;;
28
+ -c | --clean)
29
+ CLEANUP=true
30
+ ;;
27
31
-h | --help)
28
32
print_usage
29
33
exit 0
@@ -60,22 +64,27 @@ load_llvm() {
60
64
build_llvm () {
61
65
if ! [ -d " llvm-project" ]; then
62
66
git clone https://github.com/llvm/llvm-project.git
67
+ cd llvm-project
68
+ else
69
+ cd llvm-project
70
+ git fetch --all
63
71
fi
64
72
65
- cd llvm-project
66
73
git checkout ${LLVM_HASH}
67
74
68
75
dylib=OFF
69
76
if [ " $DYN_LINK " = ' true' ]; then
70
77
dylib=ON
71
78
fi
72
79
80
+ [ -z " $CLEANUP " ] || rm -rf build
73
81
cmake -G Ninja llvm -B build \
74
- -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=true \
75
- -DLLVM_ENABLE_PROJECTS=" mlir" -DLLVM_TARGETS_TO_BUILD=" X86" \
76
- -DLLVM_INSTALL_UTILS=true -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
77
- -DLLVM_INSTALL_GTEST=ON -DLLVM_BUILD_LLVM_DYLIB=$dylib -DLLVM_LINK_LLVM_DYLIB=$dylib
78
- cmake --build build
82
+ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS_DEBUG=" -g -O0" \
83
+ -DLLVM_ENABLE_ASSERTIONS=true -DLLVM_ENABLE_PROJECTS=" mlir" \
84
+ -DLLVM_TARGETS_TO_BUILD=" X86" -DLLVM_INSTALL_UTILS=true \
85
+ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DLLVM_INSTALL_GTEST=ON \
86
+ -DLLVM_BUILD_LLVM_DYLIB=$dylib -DLLVM_LINK_LLVM_DYLIB=$dylib
87
+ cmake --build build
79
88
80
89
MLIR_DIR=" $PWD /build/lib/cmake/mlir"
81
90
cd ..
@@ -113,15 +122,19 @@ if ! LIT_PATH=$(which lit) ; then
113
122
fi
114
123
fi
115
124
if [ " $DEV_BUILD " = ' true' ]; then
125
+ BUILD_TYPE=Debug
116
126
FETCH_DIR=$PROJECT_DIR /externals
117
127
LIT_PATH=$PROJECT_DIR /externals/llvm-project/build/bin/llvm-lit
128
+ else
129
+ BUILD_TYPE=RelWithDebInfo
118
130
fi
119
131
if [ " $DYN_LINK " = ' true' ]; then
120
132
DYLIB=ON
121
133
fi
122
134
135
+ [ -z " $CLEANUP " ] || rm -rf build
123
136
cmake -S . -G Ninja -B build \
124
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
137
+ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
125
138
-DMLIR_DIR=$MLIR_DIR \
126
139
-DLLVM_EXTERNAL_LIT=$LIT_PATH \
127
140
-DFETCHCONTENT_BASE_DIR=$FETCH_DIR \
0 commit comments