diff options
author | Haibo Huang <hhb@google.com> | 2019-08-27 13:06:02 -0700 |
---|---|---|
committer | Haibo Huang <hhb@google.com> | 2019-08-27 23:10:12 +0000 |
commit | 4d64623fc5a88a041fbb0ad5f4ad9d65cb0d4b47 (patch) | |
tree | a882a0468efe7183c1458aacfe23a1215da60573 | |
parent | e5aef6dab4650d0478a7018cc05074df419a7a86 (diff) | |
download | gdb-4d64623fc5a88a041fbb0ad5f4ad9d65cb0d4b47.tar.gz |
[NDK] Remove old gdb build scriptndk-r21-rc1ndk-r21-beta2ndk-r21-beta1ndk-r21sparse-6113669-L69200000513850779
Test: build
Change-Id: If722b485870c9fce253237707e8f4d7a106dc215
-rwxr-xr-x | build-gdb.sh | 373 | ||||
-rwxr-xr-x | build.py | 54 |
2 files changed, 0 insertions, 427 deletions
diff --git a/build-gdb.sh b/build-gdb.sh deleted file mode 100755 index 9ced04671..000000000 --- a/build-gdb.sh +++ /dev/null @@ -1,373 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2012 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. -# -# Rebuild the host GDB binaries from sources. -# - -# include common function and variable definitions -. "$NDK_BUILDTOOLS_PATH/prebuilt-common.sh" -. "$NDK_BUILDTOOLS_PATH/common-build-host-funcs.sh" - -PROGRAM_PARAMETERS="" -PROGRAM_DESCRIPTION="\ -This program is used to rebuild one or more NDK gdb client programs from -sources. - -By default, the script rebuilds GDB for your host system [$HOST_TAG], -but you can use --systems=<tag1>,<tag2>,.. to ask binaries that can run on -several distinct systems. Each <tag> value in the list can be one of the -following: - - linux-x86 - linux-x86_64 - windows - windows-x86 (equivalent to 'windows') - windows-x86_64 - darwin-x86 - darwin-x86_64 - -For example, here's how to rebuild the ARM toolchains on Linux -for four different systems: - - $PROGNAME --toolchain-src-dir=/path/to/toolchain/src \ - --systems=linux-x86,linux-x86_64,windows,windows-x86_64 \ - --arch=arm" - -TOOLCHAIN_SRC_DIR= -register_var_option "--toolchain-src-dir=<path>" TOOLCHAIN_SRC_DIR "Select toolchain source directory" - -GDB_VERSION=$DEFAULT_GDB_VERSION -register_var_option "--gdb-version=<version>" GDB_VERSION "Select GDB version(s)." - -BUILD_DIR= -register_var_option "--build-dir=<path>" BUILD_DIR "Build GDB into directory" - -PYTHON_VERSION=$DEFAULT_PYTHON_VERSION -register_var_option "--python-version=<version>" PYTHON_VERSION "Python version." - -PYTHON_BUILD_DIR= -register_var_option "--python-build-dir=<path>" PYTHON_BUILD_DIR "Python build directory." - -NDK_DIR=$ANDROID_NDK_ROOT -register_var_option "--ndk-dir=<path>" NDK_DIR "Select NDK install directory." - -PACKAGE_DIR= -register_var_option "--package-dir=<path>" PACKAGE_DIR "Package prebuilt tarballs into directory." - -ARCHS=$DEFAULT_ARCHS -register_var_option "--arch=<list>" ARCHS "Build GDB client for these CPU architectures." - -bh_register_options - -register_jobs_option - -extract_parameters "$@" - -if [ -n "$PARAMETERS" ]; then - panic "This script doesn't take parameters, only options. See --help" -fi - -if [ -z "$TOOLCHAIN_SRC_DIR" ]; then - panic "Please use --toolchain-src-dir=<path> to select toolchain source directory." -fi - -BH_HOST_SYSTEMS=$(commas_to_spaces $BH_HOST_SYSTEMS) - -# Sanity check for all GDB versions -for VERSION in $(commas_to_spaces $GDB_VERSION); do - GDB_SRCDIR=$TOOLCHAIN_SRC_DIR/gdb/gdb-$VERSION - if [ ! -d "$GDB_SRCDIR" ]; then - panic "Missing source directory: $GDB_SRCDIR" - fi -done - -if [ -z "$BUILD_DIR" ] ; then - panic "--build-dir is required" -fi - -if [ -z "$PYTHON_BUILD_DIR" ] ; then - panic "--python-build-dir is required" -fi - -INSTALL_DIR=$BUILD_DIR/install -BUILD_DIR=$BUILD_DIR/build - -bh_setup_build_dir $BUILD_DIR - -# Sanity check that we have the right compilers for all hosts -for SYSTEM in $BH_HOST_SYSTEMS; do - bh_setup_build_for_host $SYSTEM -done - -# Return the build install directory of a given GDB version -# $1: host system tag -# $2: gdb version -gdb_build_install_dir () -{ - echo "$BH_BUILD_DIR/install/$1/gdb-multiarch-$2" -} - -# $1: host system tag -# $2: gdb version -gdb_ndk_package_name () -{ - echo "gdb-multiarch-$2-$1" -} - - -# Same as gdb_build_install_dir, but for the final NDK installation -# directory. Relative to $NDK_DIR. -# $1: gdb version -gdb_ndk_install_dir () -{ - echo "host-tools/" -} - -python_build_install_dir () -{ - echo "$PYTHON_BUILD_DIR/$1/install/host-tools/" -} - -# $1: host system tag -build_expat () -{ - local ARGS - local SRCDIR=$TOOLCHAIN_SRC_DIR/expat/expat-2.0.1 - local BUILDDIR=$BH_BUILD_DIR/build-expat-2.0.1-$1 - local INSTALLDIR=$BH_BUILD_DIR/install-host-$1 - - ARGS=" --prefix=$INSTALLDIR" - ARGS=$ARGS" --disable-shared --enable-static" - ARGS=$ARGS" --build=$BH_BUILD_CONFIG" - ARGS=$ARGS" --host=$BH_HOST_CONFIG" - - TEXT="$(bh_host_text) expat:" - - mkdir -p "$BUILDDIR" && rm -rf "$BUILDDIR"/* && - cd "$BUILDDIR" && - dump "$TEXT Building" - run "$SRCDIR"/configure $ARGS && - run make -j$NUM_JOBS && - run make -j$NUM_JOBS install -} - -# $1: host system tag -build_lzma () -{ - local ARGS - local SRCDIR=$TOOLCHAIN_SRC_DIR/xz - local BUILDDIR=$BH_BUILD_DIR/build-xz-$1 - local INSTALLDIR=$BH_BUILD_DIR/install-host-$1 - - ARGS=" --prefix=$INSTALLDIR" - ARGS=$ARGS" --disable-shared --enable-static" - ARGS=$ARGS" --disable-xz --disable-xzdec --disable-lzmadec --disable-scripts --disable-doc" - ARGS=$ARGS" --build=$BH_BUILD_CONFIG" - ARGS=$ARGS" --host=$BH_HOST_CONFIG" - - TEXT="$(bh_host_text) lzma:" - - mkdir -p "$BUILDDIR" && rm -rf "$BUILDDIR"/* && - cd "$BUILDDIR" && - dump "$TEXT Building" - - # HACK: git doesn't keep track of file modification date, so autoconf will sometimes (usually?) - # want to regenerate itself. Trick it into not doing so by touching all of the source files. - case "$BH_BUILD_CONFIG" in - *darwin*) - # Darwin's touch sucks. - run find $SRCDIR -exec touch -t 197001010000 {} + - ;; - - *) - run find $SRCDIR -exec touch -d "`date`" {} + - ;; - esac - - run "$SRCDIR"/configure $ARGS && - run make -j$NUM_JOBS && - run make -j$NUM_JOBS install -} - -# $1: host system tag -# $2: gdb version -# ${@:3}: target tags -build_host_gdb () -{ - local SRCDIR=$TOOLCHAIN_SRC_DIR/gdb/gdb-$2 - local BUILDDIR=$BH_BUILD_DIR/build-gdb-$1-multiarch-$2 - local INSTALLDIR=$(gdb_build_install_dir $1 $2) - local ARGS TEXT - - if [ ! -f "$SRCDIR/configure" ]; then - panic "Missing configure script in $SRCDIR" - fi - - bh_setup_host_env - - local TARGETS="$(bh_tag_to_config_triplet $1)" - for ARCH in ${@:3}; do - TARGETS="$TARGETS,$(bh_tag_to_config_triplet android-$ARCH)" - done - - build_expat $1 - local EXPATPREFIX=$BH_BUILD_DIR/install-host-$1 - - ARGS=" --prefix=$INSTALLDIR" - ARGS=$ARGS" --disable-shared" - - case "$BH_BUILD_CONFIG" in - # For some reason, multiarch + darwin doesn't build a gdb binary when - # --build or --host are specified. - *darwin*) - ;; - *) - ARGS=$ARGS" --build=$BH_BUILD_CONFIG" - ARGS=$ARGS" --host=$BH_HOST_CONFIG" - ;; - esac - - case "$1" in - *windows) - # The liblzma build fails when targeting windows32, for some reason. - ;; - - *) - build_lzma $1 - local LZMAPREFIX=$BH_BUILD_DIR/install-host-$1 - ARGS=$ARGS" --with-lzma" - ARGS=$ARGS" --with-liblzma-prefix=$LZMAPREFIX" - ;; - esac - - ARGS=$ARGS" --enable-targets=$TARGETS" - ARGS=$ARGS" --disable-werror" - ARGS=$ARGS" --disable-nls" - ARGS=$ARGS" --disable-docs" - ARGS=$ARGS" --with-expat" - ARGS=$ARGS" --with-libexpat-prefix=$EXPATPREFIX" - ARGS=$ARGS" --without-mpc" - ARGS=$ARGS" --without-mpfr" - ARGS=$ARGS" --without-gmp" - ARGS=$ARGS" --without-cloog" - ARGS=$ARGS" --without-isl" - ARGS=$ARGS" --disable-sim" - ARGS=$ARGS" --enable-gdbserver=no" - if [ -n "$PYTHON_VERSION" ]; then - ARGS=$ARGS" --with-python=$(python_build_install_dir $1)/bin/python-config.sh" - if [ $1 = windows-x86 -o $1 = windows-x86_64 ]; then - # This is necessary for the Python integration to build. - CFLAGS=$CFLAGS" -D__USE_MINGW_ANSI_STDIO=1" - CXXFLAGS=$CXXFLAGS" -D__USE_MINGW_ANSI_STDIO=1" - fi - fi - TEXT="$(bh_host_text) gdb-multiarch-$2:" - - mkdir -p "$BUILDDIR" && rm -rf "$BUILDDIR"/* && - cd "$BUILDDIR" && - dump "$TEXT Building" - run "$SRCDIR"/configure $ARGS && - run make -j$NUM_JOBS && - run make -j$NUM_JOBS install - fail_panic "Failed to configure/make/install gdb" -} - -# Install host GDB binaries and support files to the NDK install dir. -# $1: host tag -# $2: gdb version -# ${@:3}: target tags -install_host_gdb () -{ - local SRCDIR="$(gdb_build_install_dir $1 $2)" - local DSTDIR="$INSTALL_DIR/$(gdb_ndk_install_dir $1)" - local PYDIR="$INSTALL_DIR/$(python_ndk_install_dir $1)" - - build_host_gdb $@ - - dump "$(bh_host_text) gdb-multiarch-$2: Installing" - run copy_directory "$SRCDIR/bin" "$DSTDIR/bin" - if [ -d "$SRCDIR/share/gdb" ]; then - run copy_directory "$SRCDIR/share/gdb" "$DSTDIR/share/gdb" - fi - - # build the gdb stub and replace gdb with it. This is done post-install - # so files are in the correct place when determining the relative path. - - dump "$(bh_host_text) Generating gdb-stub..." - case "$1" in - windows*) - GCC_FOR_STUB=${BH_HOST_CONFIG}-gcc - GCC_FOR_STUB_TARGET=`$GCC_FOR_STUB -dumpmachine` - if [ "$GCC_FOR_STUB_TARGET" = "i586-mingw32msvc" ]; then - GCC_FOR_STUB=i686-w64-mingw32-gcc - dump "Override compiler for gdb-stub: $GCC_FOR_STUB" - fi - - run $NDK_BUILDTOOLS_PATH/build-gdb-stub.sh \ - --gdb-executable-path=${DSTDIR}/bin/gdb.exe \ - --python-prefix-dir=${PYDIR} \ - --mingw-w64-gcc=${GCC_FOR_STUB} - fail_panic "Failed to build gdb-stub" - ;; - *) - # Generate a script which sets PYTHONHOME - GDB_PATH=${DSTDIR}/bin/gdb - mv "$GDB_PATH" "$GDB_PATH"-orig - cat > "$GDB_PATH" << EOF -#!/bin/bash -GDBDIR=\$(cd \$(dirname \$0) && pwd) -PYTHONHOME="\$GDBDIR/.." "\$GDBDIR/gdb-orig" "\$@" -EOF - chmod 755 $GDB_PATH - ;; - esac - dump "$(bh_host_text) Done generating gdb-stub." -} - -# Package host GDB binaries into a tarball -# $1: host tag -# $2: gdb version -# ${@:3}: target tags -package_host_gdb () -{ - local SRCDIR="$(gdb_ndk_install_dir $1)" - local PACKAGENAME=$(gdb_ndk_package_name $1 $2).tar.bz2 - local PACKAGE="$PACKAGE_DIR/$PACKAGENAME" - - dump "$(bh_host_text) $PACKAGENAME: Packaging" - run pack_archive "$PACKAGE" "$INSTALL_DIR" "$SRCDIR" - fail_panic "Failed to package GDB!" -} - -GDB_VERSION=$(commas_to_spaces $GDB_VERSION) -ARCHS=$(commas_to_spaces $ARCHS) - -# Let's build this -for SYSTEM in $BH_HOST_SYSTEMS; do - bh_setup_build_for_host $SYSTEM - for VERSION in $GDB_VERSION; do - install_host_gdb $SYSTEM $VERSION $ARCHS - done -done - -if [ "$PACKAGE_DIR" ]; then - for SYSTEM in $BH_HOST_SYSTEMS; do - bh_setup_build_for_host $SYSTEM - for VERSION in $GDB_VERSION; do - bh_do package_host_gdb $SYSTEM $VERSION $ARCHS - done - done -fi diff --git a/build.py b/build.py deleted file mode 100755 index 67462537c..000000000 --- a/build.py +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (C) 2015 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. -# -"""Builds GDB for Android.""" -from __future__ import print_function - -import os -import site - -site.addsitedir(os.path.join(os.path.dirname(__file__), '../../ndk/build/lib')) - - -import build_support # pylint: disable=import-error,wrong-import-position - - -def main(args): - # Always build all architectures for gdb, since we're building multiarch - arches = build_support.ALL_ARCHITECTURES - - toolchain_src_arg = '--toolchain-src-dir={}'.format( - build_support.toolchain_path()) - ndk_dir_arg = '--ndk-dir={}'.format(build_support.ndk_path()) - arch_arg = '--arch={}'.format(','.join(arches)) - systems_arg = f'--systems={build_support.host_to_tag(args.host)}' - - build_cmd = [ - 'bash', 'build-gdb.sh', toolchain_src_arg, ndk_dir_arg, arch_arg, - systems_arg, build_support.jobs_arg(), - ] - - build_cmd.append('--build-dir=' + os.path.join(args.out_dir, 'gdb')) - build_cmd.append( - '--python-build-dir=' + os.path.join(args.out_dir, 'python')) - - print('Building {} gdb: {}'.format(args.host.value, ' '.join(arches))) - print(' '.join(build_cmd)) - build_support.build(build_cmd, args, intermediate_package=True) - - -if __name__ == '__main__': - build_support.run(main) |