@@ -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,18 +64,22 @@ 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 \
82
+ -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_ASSERTIONS=true \
75
83
-DLLVM_ENABLE_PROJECTS=" mlir" -DLLVM_TARGETS_TO_BUILD=" X86" \
76
84
-DLLVM_INSTALL_UTILS=true -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
77
85
-DLLVM_INSTALL_GTEST=ON -DLLVM_BUILD_LLVM_DYLIB=$dylib -DLLVM_LINK_LLVM_DYLIB=$dylib
@@ -113,15 +121,19 @@ if ! LIT_PATH=$(which lit) ; then
113
121
fi
114
122
fi
115
123
if [ " $DEV_BUILD " = ' true' ]; then
124
+ BUILD_TYPE=Debug
116
125
FETCH_DIR=$PROJECT_DIR /externals
117
126
LIT_PATH=$PROJECT_DIR /externals/llvm-project/build/bin/llvm-lit
127
+ else
128
+ BUILD_TYPE=RelWithDebInfo
118
129
fi
119
130
if [ " $DYN_LINK " = ' true' ]; then
120
131
DYLIB=ON
121
132
fi
122
133
134
+ [ -z " $CLEANUP " ] || rm -rf build
123
135
cmake -S . -G Ninja -B build \
124
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
136
+ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
125
137
-DMLIR_DIR=$MLIR_DIR \
126
138
-DLLVM_EXTERNAL_LIT=$LIT_PATH \
127
139
-DFETCHCONTENT_BASE_DIR=$FETCH_DIR \
0 commit comments