[LLVM][Release] Prevent empty runtime name in release script
authorDavid Spickett <david.spickett@linaro.org>
Mon, 5 Dec 2022 11:53:06 +0000 (11:53 +0000)
committerDavid Spickett <david.spickett@linaro.org>
Tue, 6 Dec 2022 09:36:50 +0000 (09:36 +0000)
Unlike projects, runtimes doesn't have a default set of names.
This means you get a leading space at the start, which gets converted
to a ';' giving ";<runtime name>;<runtime name>".

CMake then errors because the "" before the first ';' is treated
as a runtime name and of course it's not a valid name.

Fix this by removing the leading spaces from runtimes before we
insert the ';'.

Reviewed By: ldionne

Differential Revision: https://reviews.llvm.org/D139306

llvm/utils/release/test-release.sh

index cb01ed5..0c21426 100755 (executable)
@@ -405,6 +405,10 @@ function configure_llvmCore() {
     esac
 
     project_list=${projects// /;}
+    # Leading spaces will result in ";<runtime name>". This causes a CMake
+    # error because the empty string before the first ';' is treated as an
+    # unknown runtime name.
+    runtimes=$(echo $runtimes | sed -e 's/^\s*//')
     runtime_list=${runtimes// /;}
     echo "# Using C compiler: $c_compiler"
     echo "# Using C++ compiler: $cxx_compiler"