Dan Albert | 65780b2 | 2016-10-19 14:17:19 -0700 | [diff] [blame] | 1 | #!/bin/bash -ex |
| 2 | |
Colin Cross | d00350c | 2017-11-17 10:55:38 -0800 | [diff] [blame] | 3 | # Copyright 2017 Google Inc. All rights reserved. |
| 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 | |
Dan Albert | 65780b2 | 2016-10-19 14:17:19 -0700 | [diff] [blame] | 17 | if [ -z "${OUT_DIR}" ]; then |
| 18 | echo Must set OUT_DIR |
| 19 | exit 1 |
| 20 | fi |
| 21 | |
| 22 | TOP=$(pwd) |
| 23 | |
Colin Cross | 9fe6ea8 | 2016-11-09 13:00:16 -0800 | [diff] [blame] | 24 | source build/envsetup.sh |
| 25 | PLATFORM_SDK_VERSION=$(get_build_var PLATFORM_SDK_VERSION) |
Dan Albert | 5903451 | 2017-07-31 14:23:39 -0700 | [diff] [blame] | 26 | PLATFORM_VERSION_ALL_CODENAMES=$(get_build_var PLATFORM_VERSION_ALL_CODENAMES) |
| 27 | |
Roland Levillain | 8ac0557 | 2019-11-13 10:45:55 +0000 | [diff] [blame] | 28 | # PLATFORM_VERSION_ALL_CODENAMES is a comma separated list like O,P. We need to |
Dan Albert | 5903451 | 2017-07-31 14:23:39 -0700 | [diff] [blame] | 29 | # turn this into ["O","P"]. |
Dan Albert | 6807ba2 | 2017-08-30 13:55:35 -0700 | [diff] [blame] | 30 | PLATFORM_VERSION_ALL_CODENAMES=${PLATFORM_VERSION_ALL_CODENAMES/,/'","'} |
Dan Albert | 5903451 | 2017-07-31 14:23:39 -0700 | [diff] [blame] | 31 | PLATFORM_VERSION_ALL_CODENAMES="[\"${PLATFORM_VERSION_ALL_CODENAMES}\"]" |
Colin Cross | 9fe6ea8 | 2016-11-09 13:00:16 -0800 | [diff] [blame] | 32 | |
Ulya Trafimovich | 37eb6c9 | 2020-12-10 14:02:21 +0000 | [diff] [blame] | 33 | # Get the list of missing <uses-library> modules and convert it to a JSON array |
| 34 | # (quote module names, add comma separator and wrap in brackets). |
| 35 | MISSING_USES_LIBRARIES="$(get_build_var INTERNAL_PLATFORM_MISSING_USES_LIBRARIES)" |
| 36 | MISSING_USES_LIBRARIES="[$(echo $MISSING_USES_LIBRARIES | sed -e 's/\([^ ]\+\)/\"\1\"/g' -e 's/[ ]\+/, /g')]" |
| 37 | |
Dan Albert | 65780b2 | 2016-10-19 14:17:19 -0700 | [diff] [blame] | 38 | SOONG_OUT=${OUT_DIR}/soong |
| 39 | SOONG_NDK_OUT=${OUT_DIR}/soong/ndk |
| 40 | rm -rf ${SOONG_OUT} |
| 41 | mkdir -p ${SOONG_OUT} |
Dan Albert | 5903451 | 2017-07-31 14:23:39 -0700 | [diff] [blame] | 42 | |
| 43 | # We only really need to set some of these variables, but soong won't merge this |
| 44 | # with the defaults, so we need to write out all the defaults with our values |
| 45 | # added. |
| 46 | cat > ${SOONG_OUT}/soong.variables << EOF |
| 47 | { |
| 48 | "Platform_sdk_version": ${PLATFORM_SDK_VERSION}, |
| 49 | "Platform_version_active_codenames": ${PLATFORM_VERSION_ALL_CODENAMES}, |
| 50 | |
Elliott Hughes | 314fddb | 2018-05-10 13:55:30 -0700 | [diff] [blame] | 51 | "DeviceName": "generic_arm64", |
Dan Albert | 5903451 | 2017-07-31 14:23:39 -0700 | [diff] [blame] | 52 | "HostArch": "x86_64", |
Dan Albert | 5903451 | 2017-07-31 14:23:39 -0700 | [diff] [blame] | 53 | "Malloc_not_svelte": false, |
Colin Cross | 395f2cf | 2018-10-24 16:10:32 -0700 | [diff] [blame] | 54 | "Safestack": false, |
| 55 | |
Dan Albert | 23d37e0 | 2018-11-28 08:30:10 -0800 | [diff] [blame] | 56 | "Ndk_abis": true, |
Ulya Trafimovich | 37eb6c9 | 2020-12-10 14:02:21 +0000 | [diff] [blame] | 57 | |
Martin Stjernholm | 2a9013e | 2020-12-21 11:51:29 +0000 | [diff] [blame] | 58 | "VendorVars": { |
| 59 | "art_module": { |
| 60 | "source_build": "true" |
| 61 | } |
| 62 | }, |
| 63 | |
Ulya Trafimovich | 37eb6c9 | 2020-12-10 14:02:21 +0000 | [diff] [blame] | 64 | "MissingUsesLibraries": ${MISSING_USES_LIBRARIES} |
Dan Albert | 65780b2 | 2016-10-19 14:17:19 -0700 | [diff] [blame] | 65 | } |
| 66 | EOF |
Colin Cross | 34d60c9 | 2021-10-28 16:19:40 -0700 | [diff] [blame^] | 67 | m --soong-only --skip-config ${SOONG_OUT}/ndk.timestamp |
Dan Albert | 65780b2 | 2016-10-19 14:17:19 -0700 | [diff] [blame] | 68 | |
| 69 | if [ -n "${DIST_DIR}" ]; then |
| 70 | mkdir -p ${DIST_DIR} || true |
| 71 | tar cjf ${DIST_DIR}/ndk_platform.tar.bz2 -C ${SOONG_OUT} ndk |
| 72 | fi |