#
# Copyright (C) 2007 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.
#

##############################################################################
# Platform Tools Component
##############################################################################

lib64/libc++.dylib                                      strip platform-tools/lib64/libc++.dylib

##############################################################################
# Build Tools Component
##############################################################################
# Note that the build-tools sub-folder uses the platform-name as a placeholder
# at build-time. Packaging will later change that to the actual build-tools
# revision as specified in the source.properties.


lib64/libLLVM_android.dylib                             strip build-tools/${PLATFORM_NAME}/lib64/libLLVM_android.dylib
lib64/libbcc.dylib                                      strip build-tools/${PLATFORM_NAME}/lib64/libbcc.dylib
lib64/libbcinfo.dylib                                   strip build-tools/${PLATFORM_NAME}/lib64/libbcinfo.dylib
lib64/libclang_android.dylib                            strip build-tools/${PLATFORM_NAME}/lib64/libclang_android.dylib
lib64/libc++.dylib                                      strip build-tools/${PLATFORM_NAME}/lib64/libc++.dylib
lib64/libaapt2_jni.dylib                                strip build-tools/${PLATFORM_NAME}/lib64/libaapt2_jni.dylib

prebuilts/sdk/tools/lld-dummy  build-tools/${PLATFORM_NAME}/arm-linux-androideabi-ld
prebuilts/sdk/tools/lld-dummy  build-tools/${PLATFORM_NAME}/aarch64-linux-android-ld
prebuilts/sdk/tools/lld-dummy  build-tools/${PLATFORM_NAME}/i686-linux-android-ld
prebuilts/sdk/tools/lld-dummy  build-tools/${PLATFORM_NAME}/x86_64-linux-android-ld
prebuilts/sdk/tools/lld-dummy  build-tools/${PLATFORM_NAME}/mipsel-linux-android-ld

prebuilts/sdk/tools/lld                                    build-tools/${PLATFORM_NAME}/lld
prebuilts/sdk/tools/darwin/lld-bin/lld               strip build-tools/${PLATFORM_NAME}/lld-bin/lld
prebuilts/sdk/tools/darwin/lib64/libc++.1.dylib      strip build-tools/${PLATFORM_NAME}/lib64/libc++.1.dylib
prebuilts/sdk/tools/darwin/lib64/libc++abi.1.dylib   strip build-tools/${PLATFORM_NAME}/lib64/libc++abi.1.dylib

dalvik/dx/etc/mainDexClasses                                build-tools/${PLATFORM_NAME}/mainDexClasses

##############################################################################
# Docs Component
##############################################################################

external/sonivox/docs/JET_Authoring_Guidelines.html docs/JetCreator/JET_Authoring_Guidelines.html
external/sonivox/docs/JET_Authoring_Guidelines_files docs/JetCreator/JET_Authoring_Guidelines_files
external/sonivox/docs/JET_Creator_User_Manual.html docs/JetCreator/JET_Creator_User_Manual.html
external/sonivox/docs/JET_Creator_User_Manual_files docs/JetCreator/JET_Creator_User_Manual_files
