@@ -47,17 +47,19 @@ strip_exe() {
4747# url sha
4848git_clone_sha () {
4949 local dir=${1##*/ }
50- mkdir " $dir "
51- cd " $dir "
50+ echo " Cloning into 'src/$dir '..."
51+ mkdir -p " src/$dir "
52+ cd " src/$dir "
5253 git init -q
5354 git remote add origin $1
5455 git fetch --depth 1 origin $2
5556 git reset --hard FETCH_HEAD
56- cd ../
57+ cd ../../
5758}
5859
5960git_clone_branch () {
60- git clone --single-branch --depth 1 --branch $2 $1
61+ local dir=${1##*/ }
62+ git clone --single-branch --depth 1 --branch $2 $1 src/$dir
6163}
6264
6365skip_submodule () {
@@ -66,24 +68,24 @@ skip_submodule() {
6668}
6769
6870clone_llvm () {
69- rm -rf llvm-project llvm_android toolchain-utils
71+ rm -rf src/ llvm-project src/ llvm_android src/ toolchain-utils
7072
7173 git_clone_sha https://android.googlesource.com/toolchain/llvm-project $LLVM_VERSION
7274 git_clone_sha https://android.googlesource.com/toolchain/llvm_android $LLVM_ANDROID_VERSION
7375 git_clone_sha https://android.googlesource.com/platform/external/toolchain-utils $TOOLCHAIN_UTILS_VERSION
7476
7577 # Patch the LLVM source code
76- $PYTHON_CMD toolchain-utils/llvm_tools/patch_manager.py \
78+ $PYTHON_CMD src/ toolchain-utils/llvm_tools/patch_manager.py \
7779 --svn_version $LLVM_SVN \
78- --patch_metadata_file llvm_android/patches/PATCHES.json \
79- --src_path llvm-project
80+ --patch_metadata_file src/ llvm_android/patches/PATCHES.json \
81+ --src_path src/ llvm-project
8082}
8183
8284clone_rust () {
83- rm -rf rust
85+ rm -rf src/ rust
8486
8587 git_clone_branch https://github.com/rust-lang/rust $RUST_VERSION
86- cd rust
88+ cd src/ rust
8789
8890 # Skip unused submodules
8991 skip_submodule llvm-project
@@ -95,15 +97,15 @@ clone_rust() {
9597 git submodule update --init --depth=1
9698
9799 # Apply patches
98- for p in ../patches/* .patch; do
100+ for p in ../../ patches/* .patch; do
99101 patch -p1 < $p
100102 done
101103
102104 # Link NDK LLVM into Rust's source
103105 rm -rf src/llvm-project
104106 ln -s ../../llvm-project src/llvm-project
105107
106- cd ../
108+ cd ../../
107109}
108110
109111update_dir () {
@@ -135,14 +137,16 @@ dl_ndk() {
135137 [ -f $NDK_ZIP ] || curl -O -L " https://dl.google.com/android/repository/$NDK_ZIP "
136138 rm -rf $NDK_EXTRACT
137139 unzip -q $NDK_ZIP
138- mv $NDK_EXTRACT ndk
139- echo $OUTPUT_VERSION > ndk/ONDK_VERSION
140+ mv $NDK_EXTRACT out/ ndk
141+ echo $OUTPUT_VERSION > out/ ndk/ONDK_VERSION
140142}
141143
142144dist () {
145+ cd out
143146 mv ndk " ondk-${OUTPUT_VERSION} "
144- mkdir dist
145- tar c " ondk-${OUTPUT_VERSION} " | xz --x86 --lzma2 > " dist/ondk-${OUTPUT_VERSION} -${OS} .tar.xz"
147+ mkdir ../dist
148+ tar c " ondk-${OUTPUT_VERSION} " | xz --x86 --lzma2 > " ../dist/ondk-${OUTPUT_VERSION} -${OS} .tar.xz"
149+ cd ../
146150}
147151
148152run_cmd () {
@@ -158,27 +162,25 @@ run_cmd() {
158162 clone_rust
159163 ;;
160164 build)
161- rm -rf rust- out
165+ rm -rf out/rust
162166 # Set common LLVM configs
163167 set_llvm_cfg LLVM_VERSION_SUFFIX
164168 build
165169 ;;
166170 collect)
167- rm -rf out
171+ rm -rf out/collect
168172 collect
169173 ;;
170174 ndk)
171- rm -rf ndk
175+ rm -rf out/ ndk
172176 ndk
173177 ;;
174178 dist)
175- rm -rf dist ondk-*
179+ rm -rf dist out/ ondk-*
176180 dist
177181 ;;
178182 clean)
179- rm -rf rust llvm-project llvm_android toolchain-utils \
180- out out.arm out.x86 ndk tmp mingw64 \
181- android-ndk-* .zip ondk-* dist mingw.7z
183+ rm -rf src out dist tmp android-ndk-* .zip
182184 ;;
183185 * )
184186 echo " Unknown action \" $1 \" "
0 commit comments