1 #!/bin/sh 2 # 3 # Copyright (C) 2011 The Android Open Source Project 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 # 17 # Build the host version of the awk executable and place it 18 # at the right location 19 20 PROGDIR=$(dirname $0) 21 . $PROGDIR/prebuilt-common.sh 22 23 PROGRAM_PARAMETERS="" 24 PROGRAM_DESCRIPTION=\ 25 "Rebuild the host awk tool used by the NDK." 26 27 register_try64_option 28 register_mingw_option 29 register_jobs_option 30 31 NDK_DIR=$ANDROID_NDK_ROOT 32 register_var_option "--ndk-dir=<path>" NDK_DIR "Specify NDK install directory" 33 34 PACKAGE_DIR= 35 register_var_option "--package-dir=<path>" PACKAGE_DIR "Archive to package directory" 36 37 GNUMAKE=make 38 register_var_option "--make=<path>" GNUMAKE "Specify GNU Make program" 39 40 extract_parameters "$@" 41 42 SUBDIR=$(get_prebuilt_host_exec awk) 43 OUT=$NDK_DIR/$SUBDIR 44 45 AWK_VERSION=20071023 46 AWK_SRCDIR=$ANDROID_NDK_ROOT/sources/host-tools/nawk-$AWK_VERSION 47 if [ ! -d "$AWK_SRCDIR" ]; then 48 echo "ERROR: Can't find sed-$AWK_VERSION source tree: $AWK_SRCDIR" 49 exit 1 50 fi 51 52 log "Using sources from: $AWK_SRCDIR" 53 54 prepare_host_build 55 56 BUILD_DIR=$NDK_TMPDIR 57 BUILD_MINGW= 58 if [ "$MINGW" = "yes" ]; then 59 BUILD_MINGW=yes 60 fi 61 62 log "Configuring the build" 63 mkdir -p $BUILD_DIR && rm -rf $BUILD_DIR/* 64 log "Building $HOST_TAG awk" 65 export HOST_CC="$CC" && 66 run $GNUMAKE \ 67 -C "$AWK_SRCDIR" \ 68 -j $NUM_JOBS \ 69 BUILD_DIR="$BUILD_DIR" \ 70 MINGW="$BUILD_MINGW" 71 fail_panic "Failed to build the sed-$AWK_VERSION executable!" 72 73 log "Copying executable to prebuilt location" 74 run mkdir -p $(dirname "$OUT") && cp "$BUILD_DIR/$(get_host_exec_name ndk-awk)" "$OUT" 75 fail_panic "Could not copy executable to: $OUT" 76 77 if [ "$PACKAGE_DIR" ]; then 78 ARCHIVE=ndk-awk-$HOST_TAG.tar.bz2 79 dump "Packaging: $ARCHIVE" 80 mkdir -p "$PACKAGE_DIR" && 81 pack_archive "$PACKAGE_DIR/$ARCHIVE" "$NDK_DIR" "$SUBDIR" 82 fail_panic "Could not package archive: $PACKAGE_DIR/$ARCHIVE" 83 fi 84 85 log "Cleaning up" 86 rm -rf $BUILD_DIR 87 88 log "Done." 89 90