@@ -17,6 +17,9 @@ NINJA_TARGET=install
1717NINJA_TARGET_RUNTIMES=install-runtimes
1818TAG=
1919declare -a PATCHES_TO_APPLY
20+ EXTERNAL_PROJECT_DIR=${ROOT} /external
21+ declare -a EXTERNAL_PROJECT_URLS
22+ declare -a LLVM_EXTERNAL_PROJECTS_LIST
2023
2124case $VERSION in
2225ce-trunk)
@@ -334,6 +337,12 @@ mlir-*)
334337 if [[ $MAJOR -ge 18 ]]; then
335338 CMAKE_EXTRA_ARGS+=(" -DLIBCXX_INSTALL_MODULES=ON" )
336339 fi
340+
341+ if [[ $MAJOR -eq 18 ]]; then
342+ EXTERNAL_PROJECT_URLS+=(" https://github.com/vgvassilev/clad.git" )
343+ LLVM_EXTERNAL_PROJECTS_LIST+=(" clad" )
344+ CMAKE_EXTRA_ARGS+=(" -DLLVM_EXTERNAL_CLAD_SOURCE_DIR=${EXTERNAL_PROJECT_DIR} /clad" )
345+ fi
337346 ;;
338347 esac
339348 ;;
@@ -383,6 +392,16 @@ for PATCH_TO_APPLY in "${PATCHES_TO_APPLY[@]}"; do
383392 git -C " ${ROOT} /llvm-project" apply " ${PATCH_TO_APPLY} " -v
384393done
385394
395+ # Setup external projects
396+ mkdir -p " ${EXTERNAL_PROJECT_DIR} "
397+ for LLVM_EXTERNAL_PROJECT in " ${! EXTERNAL_PROJECT_URLS[@]} " ; do
398+ git clone --depth 1 " ${EXTERNAL_PROJECT_URLS[LLVM_EXTERNAL_PROJECT]} " " ${EXTERNAL_PROJECT_DIR} /${LLVM_EXTERNAL_PROJECTS_LIST[LLVM_EXTERNAL_PROJECT]} "
399+ done
400+ LLVM_EXTERNAL_PROJECTS=
401+ for LLVM_EXTERNAL_PROJECT in " ${LLVM_EXTERNAL_PROJECTS_LIST} " ; do
402+ LLVM_EXTERNAL_PROJECTS+=" ${LLVM_EXTERNAL_PROJECT} ;" ;
403+ done
404+
386405# For older LLVM versions, merge runtime and projects
387406# August 2021 is when bootstrapping become necessary, bootstrapping might have been supported previously a few years prior
388407COMMIT_DATE=$( cd " ${ROOT} /llvm-project/llvm" && git show -s --format=%ct HEAD)
@@ -413,6 +432,7 @@ cmake \
413432 -G " Ninja" " ${ROOT} /llvm-project/llvm" \
414433 -DLLVM_ENABLE_PROJECTS=" ${LLVM_ENABLE_PROJECTS} " \
415434 -DLLVM_ENABLE_RUNTIMES=" ${LLVM_ENABLE_RUNTIMES} " \
435+ -DLLVM_EXTERNAL_PROJECTS=" ${LLVM_EXTERNAL_PROJECTS} " \
416436 -DCMAKE_BUILD_TYPE:STRING=Release \
417437 -DCMAKE_INSTALL_PREFIX:PATH=" ${STAGING_DIR} " \
418438 -DCMAKE_C_COMPILER:PATH=" /opt/compiler-explorer/gcc-${GCC_VERSION} /bin/gcc" \
0 commit comments