From 72306608e0995f01e069f230ec55486c816e2600 Mon Sep 17 00:00:00 2001
From: yvt <i@yvt.jp>
Date: Wed, 23 Mar 2022 23:16:45 +0900
Subject: [PATCH 1/2] Add a simple argument parser to `build.sh`

---
 build.sh | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/build.sh b/build.sh
index 8a621e12b04..7e8a5ecd88e 100755
--- a/build.sh
+++ b/build.sh
@@ -3,6 +3,21 @@
 #set -x
 set -e
 
+codegen_channel=debug
+
+while [[ $# -gt 0 ]]; do
+    case $1 in
+        --release)
+            codegen_channel=release
+            shift
+            ;;
+        *)
+            echo "Unknown option $1"
+            exit 1
+            ;;
+    esac
+done
+
 if [ -f ./gcc_path ]; then
     export GCC_PATH=$(cat gcc_path)
 else
@@ -21,7 +36,7 @@ if [[ "$1" == "--features" ]]; then
     shift
 fi
 
-if [[ "$1" == "--release" ]]; then
+if [[ "$codegen_channel" == "release" ]]; then
     export CHANNEL='release'
     CARGO_INCREMENTAL=1 cargo rustc --release $features
 else
@@ -37,3 +52,4 @@ mkdir -p target/out/gccjit
 
 echo "[BUILD] sysroot"
 time ./build_sysroot/build_sysroot.sh $CHANNEL
+

From 842a5fba1ce9c82389f529ca88bb586749308f5c Mon Sep 17 00:00:00 2001
From: yvt <i@yvt.jp>
Date: Wed, 23 Mar 2022 23:18:33 +0900
Subject: [PATCH 2/2] Add `--release-sysroot` flag to `build.sh`

When this flag is present, `build.sh` will pass `--release` to
`build_sysroot.sh`.
---
 build.sh | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/build.sh b/build.sh
index 7e8a5ecd88e..230ab7b6d42 100755
--- a/build.sh
+++ b/build.sh
@@ -4,6 +4,7 @@
 set -e
 
 codegen_channel=debug
+sysroot_channel=debug
 
 while [[ $# -gt 0 ]]; do
     case $1 in
@@ -11,6 +12,10 @@ while [[ $# -gt 0 ]]; do
             codegen_channel=release
             shift
             ;;
+        --release-sysroot)
+            sysroot_channel=release
+            shift
+            ;;
         *)
             echo "Unknown option $1"
             exit 1
@@ -51,5 +56,9 @@ rm -r target/out || true
 mkdir -p target/out/gccjit
 
 echo "[BUILD] sysroot"
-time ./build_sysroot/build_sysroot.sh $CHANNEL
+if [[ "$sysroot_channel" == "release" ]]; then
+    time ./build_sysroot/build_sysroot.sh --release
+else
+    time ./build_sysroot/build_sysroot.sh
+fi