Merge "Only build lib/ and sed/"
diff --git a/build/tools/make-release.sh b/build/tools/make-release.sh
index 954837d..cc2ae67 100755
--- a/build/tools/make-release.sh
+++ b/build/tools/make-release.sh
@@ -226,7 +226,7 @@
PREBUILT_DIR="$RELEASE_DIR/prebuilt"
if timestamp_check build-host-prebuilts; then
dump "Building host toolchain binaries..."
- run $ANDROID_NDK_ROOT/build/tools/rebuild-all-prebuilt.sh --package-dir="$PREBUILT_DIR" --build-dir="$RELEASE_DIR/build" "$TOOLCHAIN_SRCDIR" "$HOST_FLAGS"
+ run $ANDROID_NDK_ROOT/build/tools/rebuild-all-prebuilt.sh --package-dir="$PREBUILT_DIR" --build-dir="$RELEASE_DIR/build" "$TOOLCHAIN_SRCDIR" $HOST_FLAGS
fail_panic "Can't build $HOST_SYSTEM binaries."
timestamp_set build-host-prebuilts
fi
diff --git a/build/tools/package-release.sh b/build/tools/package-release.sh
index eea9f2e..b6f518b 100755
--- a/build/tools/package-release.sh
+++ b/build/tools/package-release.sh
@@ -82,6 +82,10 @@
LLVM_VERSION_LIST=$DEFAULT_LLVM_VERSION_LIST
register_var_option "--llvm=<versions>" LLVM_VERSION_LIST "List of LLVM release versions"
+SEPARATE_64=no
+register_option "--separate-64" do_SEPARATE_64 "Separate 64-bit host toolchain to its own package"
+do_SEPARATE_64 () { SEPARATE_64=yes; }
+
PROGRAM_PARAMETERS=
PROGRAM_DESCRIPTION=\
"Package a new set of release packages for the Android NDK.
@@ -248,16 +252,17 @@
# ensure that the generated files are ug+rx
umask 0022
-# Unpack a prebuilt into the default destination directory $DSTDIR
-# Also unpack 64-bit version if exists
+# Unpack a prebuilt into specified destination directory
# $1: prebuilt name, relative to $PREBUILT_DIR
-# $2: optional, destination directory
+# $2: destination directory
+# $3: optional destination directory for 64-bit toolchain
unpack_prebuilt ()
{
local PREBUILT=${1}.tar.bz2
local PREBUILT64=${1}_64.tar.bz2
local PREBUILT64_ALT=${1}-x86_64.tar.bz2
- local DDIR="${2:-$DSTDIR}"
+ local DDIR="$2"
+ local DDIR64="${3:-$DDIR}"
echo "Unpacking $PREBUILT"
if [ -f "$PREBUILT_DIR/$PREBUILT" ] ; then
unpack_archive "$PREBUILT_DIR/$PREBUILT" "$DDIR"
@@ -267,7 +272,7 @@
fi
if [ -f "$PREBUILT_DIR/$PREBUILT64" ] ; then
echo "Unpacking $PREBUILT64"
- unpack_archive "$PREBUILT_DIR/$PREBUILT64" "$DDIR"
+ unpack_archive "$PREBUILT_DIR/$PREBUILT64" "$DDIR64"
fail_panic "Could not unpack prebuilt $PREBUILT64. Aborting."
fi
else
@@ -382,11 +387,17 @@
# now, for each system, create a package
#
+DSTDIR=$TMPDIR/$RELEASE_PREFIX
+DSTDIR64=${DSTDIR}
+if [ "$SEPARATE_64" = "yes" ] ; then
+ DSTDIR64=$TMPDIR/64/${RELEASE_PREFIX}
+fi
+
for SYSTEM in $SYSTEMS; do
echo "Preparing package for system $SYSTEM."
BIN_RELEASE=$RELEASE_PREFIX-$SYSTEM
- DSTDIR=$TMPDIR/$RELEASE_PREFIX
- rm -rf $DSTDIR &&
+ rm -rf "$DSTDIR" "$DSTDIR64" &&
+ mkdir -p "$DSTDIR" "$DSTDIR64" &&
copy_directory "$REFERENCE" "$DSTDIR"
fail_panic "Could not copy reference. Aborting."
@@ -421,49 +432,55 @@
else
# Unpack toolchains
for TC in $TOOLCHAINS; do
- unpack_prebuilt $TC-$SYSTEM
+ unpack_prebuilt $TC-$SYSTEM "$DSTDIR" "$DSTDIR64"
echo "Removing sysroot for $TC"
rm -rf $DSTDIR/toolchains/$TC/prebuilt/$SYSTEM/sysroot
- rm -rf $DSTDIR/toolchains/$TC/prebuilt/${SYSTEM}_64/sysroot
+ rm -rf $DSTDIR64/toolchains/$TC/prebuilt/${SYSTEM}_64/sysroot
+ rm -rf $DSTDIR64/toolchains/$TC/prebuilt/${SYSTEM}-x86_64/sysroot
done
# Unpack llvm and clang
for LLVM_VERSION in $LLVM_VERSION_LIST; do
- unpack_prebuilt llvm-$LLVM_VERSION-$SYSTEM
+ unpack_prebuilt llvm-$LLVM_VERSION-$SYSTEM "$DSTDIR" "$DSTDIR64"
done
# Unpack prebuilt ndk-stack and other host tools
- unpack_prebuilt ndk-stack-$SYSTEM
- unpack_prebuilt ndk-make-$SYSTEM
- unpack_prebuilt ndk-sed-$SYSTEM
- unpack_prebuilt ndk-awk-$SYSTEM
+ unpack_prebuilt ndk-stack-$SYSTEM "$DSTDIR" "$DSTDIR64"
+ unpack_prebuilt ndk-make-$SYSTEM "$DSTDIR" "$DSTDIR64"
+ unpack_prebuilt ndk-sed-$SYSTEM "$DSTDIR" "$DSTDIR64"
+ unpack_prebuilt ndk-awk-$SYSTEM "$DSTDIR" "$DSTDIR64"
if [ "$SYSTEM" = "windows" ]; then
- unpack_prebuilt toolbox-$SYSTEM
+ unpack_prebuilt toolbox-$SYSTEM "$DSTDIR" "$DSTDIR64"
fi
fi
# Unpack other host tools
- unpack_prebuilt scan-build
+ unpack_prebuilt scan-build "$DSTDIR" "$DSTDIR64"
# Create an archive for the final package. Extension depends on the
# host system.
case "$SYSTEM" in
windows)
ARCHIVE="$BIN_RELEASE.zip"
+ ARCHIVE64="$BIN_RELEASE-64bit-tools.zip"
;;
*)
ARCHIVE="$BIN_RELEASE.tar.bz2"
+ ARCHIVE64="$BIN_RELEASE-64bit-tools.tar.bz2"
;;
esac
echo "Creating $ARCHIVE"
# make all file universally readable, and all executable (including directory)
# universally executable, punt intended
- find $DSTDIR -exec chmod a+r {} \;
- find $DSTDIR -executable -exec chmod a+x {} \;
+ find $DSTDIR $DSTDIR64 -exec chmod a+r {} \;
+ find $DSTDIR $DSTDIR64 -executable -exec chmod a+x {} \;
pack_archive "$OUT_DIR/$ARCHIVE" "$TMPDIR" "$RELEASE_PREFIX"
fail_panic "Could not create archive: $OUT_DIR/$ARCHIVE"
-# chmod a+r $TMPDIR/$ARCHIVE
+ if [ "$SEPARATE_64" = "yes" ] ; then
+ pack_archive "$OUT_DIR/$ARCHIVE64" "$TMPDIR/64" "${RELEASE_PREFIX}"
+ fail_panic "Could not create archive: $OUT_DIR/$ARCHIVE64"
+ fi
done
echo "Cleaning up."