summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrashant Dubey <prashantdubey@google.com>2023-07-19 17:18:03 +0000
committerCherrypicker Worker <android-build-cherrypicker-worker@google.com>2024-01-17 14:35:32 +0000
commit766654a8e078d170882ccdb510a29ab8caf45d51 (patch)
treef9cd87183446ac9d5985f75ed539eade4eaa3be0
parent8f3d03aa18f299a921c9798c505e4c10e6f52fab (diff)
downloadart-766654a8e078d170882ccdb510a29ab8caf45d51.tar.gz
Add helper script to package linux-x86 binaries
Bug: 242716693 Test: ./art/tools/build-linux-x86-host-tools.sh (cherry picked from https://android-review.googlesource.com/q/commit:0102195ca46933ec63b1618a70d7358fe09420cb) Merged-In: Ia4b58728d38720b2d3d4db4ee1196379b8629dca Change-Id: Ia4b58728d38720b2d3d4db4ee1196379b8629dca
-rwxr-xr-xtools/build-linux-x86-host-tools.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/build-linux-x86-host-tools.sh b/tools/build-linux-x86-host-tools.sh
new file mode 100755
index 0000000000..c4112edc45
--- /dev/null
+++ b/tools/build-linux-x86-host-tools.sh
@@ -0,0 +1,42 @@
+ #!/bin/bash
+#
+# Copyright (C) 2023 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e
+
+if [ ! -e 'build/make/core/Makefile' ]; then
+ echo "Script $0 needs to be run at the root of the android tree"
+ exit 1
+fi
+
+vars="$(build/soong/soong_ui.bash --dumpvars-mode --vars="OUT_DIR DIST_DIR")"
+# Assign to a variable and eval that, since bash ignores any error status from
+# the command substitution if it's directly on the eval line.
+eval $vars
+
+HOST_BINARIES=(
+ ${OUT_DIR}/host/linux-x86/bin/dex2oat64
+ ${OUT_DIR}/host/linux-x86/bin/dex2oatd64
+ ${OUT_DIR}/host/linux-x86/bin/dex2oat
+ ${OUT_DIR}/host/linux-x86/bin/dex2oatd
+ ${OUT_DIR}/host/linux-x86/bin/deapexer
+ ${OUT_DIR}/host/linux-x86/bin/debugfs_static
+)
+
+# Build and zip statically linked musl binaries for linux-x86 hosts without the
+# standard glibc implementation.
+build/soong/soong_ui.bash --make-mode USE_HOST_MUSL=true BUILD_HOST_static=true ${HOST_BINARIES[*]}
+prebuilts/build-tools/linux-x86/bin/soong_zip -o ${DIST_DIR}/art-host-tools-linux-x86.zip \
+ -j ${HOST_BINARIES[*]/#/-f }