github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/soong/scripts/build-ndk-prebuilts.sh (about)

     1  #!/bin/bash -ex
     2  
     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  
    17  if [ -z "${OUT_DIR}" ]; then
    18      echo Must set OUT_DIR
    19      exit 1
    20  fi
    21  
    22  TOP=$(pwd)
    23  
    24  source build/envsetup.sh
    25  PLATFORM_SDK_VERSION=$(get_build_var PLATFORM_SDK_VERSION)
    26  PLATFORM_VERSION_ALL_CODENAMES=$(get_build_var PLATFORM_VERSION_ALL_CODENAMES)
    27  
    28  # PLATFORM_VERSION_ALL_CODESNAMES is a comma separated list like O,P. We need to
    29  # turn this into ["O","P"].
    30  PLATFORM_VERSION_ALL_CODENAMES=${PLATFORM_VERSION_ALL_CODENAMES/,/'","'}
    31  PLATFORM_VERSION_ALL_CODENAMES="[\"${PLATFORM_VERSION_ALL_CODENAMES}\"]"
    32  
    33  SOONG_OUT=${OUT_DIR}/soong
    34  SOONG_NDK_OUT=${OUT_DIR}/soong/ndk
    35  rm -rf ${SOONG_OUT}
    36  mkdir -p ${SOONG_OUT}
    37  cat > ${SOONG_OUT}/soong.config << EOF
    38  {
    39      "Ndk_abis": true
    40  }
    41  EOF
    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  
    51      "DeviceName": "flounder",
    52      "DeviceArch": "arm64",
    53      "DeviceArchVariant": "armv8-a",
    54      "DeviceCpuVariant": "denver64",
    55      "DeviceAbi": [
    56          "arm64-v8a"
    57      ],
    58      "DeviceSecondaryArch": "arm",
    59      "DeviceSecondaryArchVariant": "armv7-a-neon",
    60      "DeviceSecondaryCpuVariant": "denver",
    61      "DeviceSecondaryAbi": [
    62          "armeabi-v7a"
    63      ],
    64      "HostArch": "x86_64",
    65      "HostSecondaryArch": "x86",
    66      "Malloc_not_svelte": false,
    67      "Safestack": false
    68  }
    69  EOF
    70  m --skip-make ${SOONG_OUT}/ndk.timestamp
    71  
    72  if [ -n "${DIST_DIR}" ]; then
    73      mkdir -p ${DIST_DIR} || true
    74      tar cjf ${DIST_DIR}/ndk_platform.tar.bz2 -C ${SOONG_OUT} ndk
    75  fi