11#! /bin/bash
22
3- SUPPORTED_LLVM_VERSION=(" 13" " 12" )
3+ SUPPORTED_LLVM_VERSION=(" 15 " " 13" " 12" )
44
55find_llvm_config () {
66 LLVM_FOUND=0
7- for v in ${SUPPORTED_LLVM_VERSION[@]} ; do
8- which llvm-config-$v >& /dev/null
7+ for LLVM_VERSION in ${SUPPORTED_LLVM_VERSION[@]} ; do
8+ which llvm-config-$LLVM_VERSION >& /dev/null
99 if [[ $? == 0 ]]; then
10- LLVM_CONFIG=llvm-config-$v
10+ LLVM_CONFIG=llvm-config-$LLVM_VERSION
1111 echo " $LLVM_CONFIG found"
1212 return 0
1313 fi
@@ -33,7 +33,7 @@ TYPE_NODES_FILE=$LLVM_HOME/include/clang/AST/TypeNodes.inc
3333
3434HEADER=" (* This file is automatically generated by bootstrap.sh *)"
3535
36- LLVM_LIBS=" -lclangFrontend -lclangDriver -lclangSerialization -lclangParse -lclangSema -lclangAnalysis -lclangARCMigrate -lclangRewrite -lclangEdit -lclangAST -lclangLex -lclangBasic"
36+ LLVM_LIBS=" -lclangFrontend -lclangDriver -lclangSerialization -lclangParse -lclangSema -lclangSupport - lclangAnalysis -lclangARCMigrate -lclangRewrite -lclangEdit -lclangAST -lclangLex -lclangBasic"
3737
3838gen_config () {
3939 mkdir -p config
@@ -148,13 +148,14 @@ gen_implicit_cast_kind() {
148148
149149gen_test () {
150150 TARGET=test/dune
151+ # https://ocaml.org/manual/4.14/instrumented-runtime.html#s:instr-runtime-enabling
151152 echo " (executable
152153 (name test)
153154 (modules test)
154155 (flags -runtime-variant d -g)
155156 (libraries claml))
156157" > $TARGET
157- for cfile in $( find test -maxdepth 1 -name " *.c" ) ; do
158+ for cfile in $( find test -maxdepth 1 -name " *.c" | sort ) ; do
158159 cfile=$( basename $cfile )
159160 echo " (rule
160161 (deps $cfile )
@@ -165,15 +166,15 @@ gen_test() {
165166 (pipe-stdout
166167 (ignore-stderr
167168 (run ./test.exe %{deps}))
168- (run clang-format)))))
169+ (run clang-format- $LLVM_VERSION )))))
169170
170171(rule
171172 (alias runtest)
172173 (action
173174 (diff ${cfile%% .* } .expected ${cfile%% .* } .output)))
174175" >> $TARGET
175176 done
176-
177+
177178 sed -i ' $d' $TARGET
178179}
179180
0 commit comments