diff --git a/fish/functions/cbl_bld_llvm_fast.fish b/fish/functions/cbl_bld_llvm_fast.fish index ecd79a0f..a1d99311 100644 --- a/fish/functions/cbl_bld_llvm_fast.fish +++ b/fish/functions/cbl_bld_llvm_fast.fish @@ -3,20 +3,36 @@ # Copyright (C) 2024 Nathan Chancellor function cbl_bld_llvm_fast -d "Quickly build a version of LLVM from current tree" - in_tree llvm - or return 128 + set bld_llvm_args $argv + if contains -- -l $bld_llvm_args + set llvm_flag -l + end + if contains -- --llvm-folder $bld_llvm_args + set llvm_flag --llvm-folder + end + if set -q llvm_flag + set llvm_folder $bld_llvm_args[(math (contains -i -- $llvm_flag $bld_llvm_args) + 1)] + set bld_folder (tbf $llvm_folder) + end + if not set -q llvm_folder + in_tree llvm + or return 128 + + set llvm_folder . + set bld_folder (tbf) + end cbl_clone_repo tc-build or return $CBL_GIT/tc-build/build-llvm.py \ --assertions \ - --build-folder (tbf) \ + --build-folder $bld_folder \ --build-stage1-only \ --build-targets distribution \ - --llvm-folder . \ + --llvm-folder $llvm_folder \ --projects clang lld \ --quiet-cmake \ --show-build-commands \ - $argv + $bld_llvm_args end