• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 sed 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 sed 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 sed)
43 OUT=$NDK_DIR/$(get_prebuilt_host_exec sed)
44 
45 SED_VERSION=4.2.1
46 SED_SRCDIR=$ANDROID_NDK_ROOT/sources/host-tools/sed-$SED_VERSION
47 if [ ! -d "$SED_SRCDIR" ]; then
48     echo "ERROR: Can't find sed-$SED_VERSION source tree: $SED_SRCDIR"
49     exit 1
50 fi
51 
52 log "Using sources from: $SED_SRCDIR"
53 
54 prepare_host_build
55 
56 BUILD_DIR=$NDK_TMPDIR
57 
58 log "Configuring the build"
59 mkdir -p $BUILD_DIR && rm -rf $BUILD_DIR/*
60 cd $BUILD_DIR &&
61 CFLAGS=$HOST_CFLAGS" -O2 -s" &&
62 export CC CFLAGS &&
63 run $SED_SRCDIR/configure --disable-nls --disable-rpath --disable-i18n --disable-acl
64 fail_panic "Failed to configure the sed-$SED_VERSION build!"
65 
66 log "Building sed"
67 run $GNUMAKE -j $NUM_JOBS
68 fail_panic "Failed to build the sed-$SED_VERSION executable!"
69 
70 log "Copying executable to prebuilt location"
71 run mkdir -p $(dirname "$OUT") && cp sed/$(get_host_exec_name sed) $OUT
72 fail_panic "Could not copy executable to: $OUT"
73 
74 if [ "$PACKAGE_DIR" ]; then
75     ARCHIVE=ndk-sed-$HOST_TAG.tar.bz2
76     dump "Packaging: $ARCHIVE"
77     mkdir -p "$PACKAGE_DIR" &&
78     pack_archive "$PACKAGE_DIR/$ARCHIVE" "$NDK_DIR" "$SUBDIR"
79     fail_panic "Could not package archive: $PACKAGE_DIR/$ARCHIVE"
80 fi
81 
82 log "Cleaning up"
83 rm -rf $BUILD_DIR
84 
85 log "Done."
86 
87