diff options
author | David 'Digit' Turner <digit@google.com> | 2011-10-07 15:43:10 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2011-10-07 17:31:21 +0200 |
commit | 3806a2d17c66c8bbba7649e71c8c7d97f9267e17 (patch) | |
tree | 600bf1557fbbcaf72f848a59e2b01e337db7716c | |
parent | 4d704b595dcc761aa92045093161044e1f078935 (diff) | |
download | ndk-3806a2d17c66c8bbba7649e71c8c7d97f9267e17.tar.gz |
gen-platforms.sh: Auto-generate <android/api-level.h>
Auto-generate the <android/api-level.h> header which contains
a single macro definition for the native API level that the code
is built against.
Previously, the corresponding files were stored under
../development/ndk and required manual updating, which is tedious
and error-prone
+ remove obsolete dev-generate-api-levels.sh script
Change-Id: Ibe482281dff7d86e0a46f6dd9d7096e3cc790e8e
-rwxr-xr-x | build/tools/dev-generate-api-levels.sh | 86 | ||||
-rwxr-xr-x | build/tools/gen-platforms.sh | 48 |
2 files changed, 48 insertions, 86 deletions
diff --git a/build/tools/dev-generate-api-levels.sh b/build/tools/dev-generate-api-levels.sh deleted file mode 100755 index 1b5c868ab..000000000 --- a/build/tools/dev-generate-api-levels.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2010 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. -# -# This script is used to automatically generate the <android/api-level.h> -# header files under development/ndk - -. `dirname $0`/prebuilt-common.sh - -PLATFORMS_DIR=`cd $ANDROID_NDK_ROOT/../development/ndk/platforms && pwd` -if [ ! -d "$PLATFORMS_DIR" ] ; then - PLATFORMS_DIR=`cd $ANDROID_NDK_ROOT/platforms && pwd` -fi -register_var_option "--platform-dir=<path>" PLATFORMS_DIR "Specify target platforms directory." - -APIS="$API_LEVELS" -register_var_option "--apis=<list>" APIS "Specify list of API levels." - -if [ -z "$PLATFORMS_DIR" ] ; then - dump "ERROR: Please specify a platforms directory with --platform-dir=<path>" - exit 1 -fi - -if [ ! -d "$PLATFORMS_DIR" ] ; then - dump "ERROR: Your platforms directory does not exist: $PLATFORMS_DIR" - exit 1 -fi - -dump "Target directory: $PLATFORMS_DIR" - -for API in $APIS; do - if [ ! -d "$PLATFORMS_DIR/android-$API" ] ; then - dump "ERROR: Missing platform directory: $PLATFORMS_DIR/android-$DIR" - exit 1 - fi - HEADER="android-$API/include/android/api-level.h" - dump "Generating: $HEADER" - cat > "$PLATFORMS_DIR/$HEADER" <<EOF -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#ifndef ANDROID_API_LEVEL_H -#define ANDROID_API_LEVEL_H - -#define __ANDROID_API__ $API - -#endif /* ANDROID_API_LEVEL_H */ -EOF -done - diff --git a/build/tools/gen-platforms.sh b/build/tools/gen-platforms.sh index ed2c167e3..030c9ad41 100755 --- a/build/tools/gen-platforms.sh +++ b/build/tools/gen-platforms.sh @@ -367,6 +367,52 @@ gen_shell_libraries () done } +# $1: platform number +# $2: architecture +# $3: target NDK directory +generate_api_level () +{ + local API=$1 + local ARCH=$2 + local HEADER="platforms/android-$API/arch-$ARCH/usr/include/android/api-level.h" + log dump "Generating: $HEADER" + cat > "$3/$HEADER" <<EOF +/* + * Copyright (C) 2008 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#ifndef ANDROID_API_LEVEL_H +#define ANDROID_API_LEVEL_H + +#define __ANDROID_API__ $API + +#endif /* ANDROID_API_LEVEL_H */ +EOF +} + # Copy platform sysroot and samples into your destination # @@ -409,6 +455,8 @@ for PLATFORM in $PLATFORMS; do copy_src_directory $PLATFORM_SRC/arch-$ARCH/lib $PLATFORM_DST/$SYSROOT/lib "sysroot libs" copy_src_directory $PLATFORM_SRC/$SYSROOT $PLATFORM_DST/$SYSROOT "sysroot" + generate_api_level "$PLATFORM" "$ARCH" "$DSTDIR" + if [ -z "$OPTION_MINIMAL" ]; then # Generate shell libraries from symbol files gen_shell_libraries $ARCH $PLATFORM_SRC/arch-$ARCH/symbols $PLATFORM_DST/$SYSROOT/lib |