Android.mk revision 87a9be28aceed80250cd1d1a47eb8afa0ee67b51
1e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# 2e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# Copyright (C) 2014 The Android Open Source Project 3e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# 4e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# Licensed under the Apache License, Version 2.0 (the "License"); 5e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# you may not use this file except in compliance with the License. 6e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# You may obtain a copy of the License at 7e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# 8e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# http://www.apache.org/licenses/LICENSE-2.0 9e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# 10e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# Unless required by applicable law or agreed to in writing, software 11e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# distributed under the License is distributed on an "AS IS" BASIS, 12e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# See the License for the specific language governing permissions and 14e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# limitations under the License. 15e085735cbedc82b1064f05ff796e32e906a95036Dan Albert# 16e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 17285d67f35f6044cf733091e36248405ca967c62cStephen Hines# Don't build for unbundled branches 18285d67f35f6044cf733091e36248405ca967c62cStephen Hinesifeq (,$(TARGET_BUILD_APPS)) 19285d67f35f6044cf733091e36248405ca967c62cStephen Hines 20e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_PATH := $(call my-dir) 21e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 22e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLIBCXXABI_SRC_FILES := \ 23e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/abort_message.cpp \ 24e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_aux_runtime.cpp \ 25e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_default_handlers.cpp \ 26e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_demangle.cpp \ 27e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_exception.cpp \ 28e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_exception_storage.cpp \ 29e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_guard.cpp \ 30e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_handlers.cpp \ 31e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_new_delete.cpp \ 32e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_personality.cpp \ 33e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_unexpected.cpp \ 34e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_vector.cpp \ 35e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/cxa_virtual.cpp \ 36e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/exception.cpp \ 37e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/fallback_malloc.ipp \ 38e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/private_typeinfo.cpp \ 39e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/stdexcept.cpp \ 40e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/typeinfo.cpp \ 4187a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan Albert 4287a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLLVM_UNWIND_SRC_FILES := \ 43e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/libunwind.cpp \ 4487a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan Albert src/Unwind/Unwind-EHABI.cpp \ 45e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/Unwind-sjlj.c \ 46e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/UnwindLevel1-gcc-ext.c \ 47e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/UnwindLevel1.c \ 48e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/UnwindRegistersSave.S \ 4987a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan Albert src/Unwind/UnwindRegistersRestore.S \ 50e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 51e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLIBCXXABI_CFLAGS := \ 52e085735cbedc82b1064f05ff796e32e906a95036Dan Albert -I$(LOCAL_PATH)/include/ \ 53e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 54e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLIBCXXABI_RTTI_FLAG := -frtti 55e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLIBCXXABI_CPPFLAGS := \ 56e085735cbedc82b1064f05ff796e32e906a95036Dan Albert -Iexternal/libcxx/include/ \ 57e085735cbedc82b1064f05ff796e32e906a95036Dan Albert -std=c++11 \ 58e085735cbedc82b1064f05ff796e32e906a95036Dan Albert -fexceptions \ 59e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 60e085735cbedc82b1064f05ff796e32e906a95036Dan Albertinclude $(CLEAR_VARS) 61ab22a8fc0e1fd348c19b99efa183ffd8c00af815Dan AlbertLOCAL_MODULE := libc++abi 62e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CLANG := true 63e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_SRC_FILES := $(LIBCXXABI_SRC_FILES) 6487a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLOCAL_SRC_FILES_arm := $(LLVM_UNWIND_SRC_FILES) 65e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CFLAGS := $(LIBCXXABI_CFLAGS) 66e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CPPFLAGS := $(LIBCXXABI_CPPFLAGS) 67e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_RTTI_FLAG := $(LIBCXXABI_RTTI_FLAG) 6887a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLOCAL_WHOLE_STATIC_LIBRARIES_arm64 := libunwind 6987a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLOCAL_WHOLE_STATIC_LIBRARIES_mips := libunwind 7087a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLOCAL_WHOLE_STATIC_LIBRARIES_mips64 := libunwind 7187a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLOCAL_WHOLE_STATIC_LIBRARIES_x86 := libunwind 7287a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLOCAL_WHOLE_STATIC_LIBRARIES_x86_64 := libunwind 73d5cc515c98421408b082fb82bbb3e947f2583e6fBrian CarlstromLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 74873f8586ee0ba081b0537f84dc827a400d0bc73dDan Albertinclude $(BUILD_STATIC_LIBRARY) 75e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 76e085735cbedc82b1064f05ff796e32e906a95036Dan Albertinclude $(CLEAR_VARS) 77ab22a8fc0e1fd348c19b99efa183ffd8c00af815Dan AlbertLOCAL_MODULE := libc++abi 78e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CLANG := true 79e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_SRC_FILES := $(LIBCXXABI_SRC_FILES) 80e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CFLAGS := $(LIBCXXABI_CFLAGS) 81e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CPPFLAGS := $(LIBCXXABI_CPPFLAGS) 8209437217701ee0d16962250b375698ceece839e8Tim Murray 8309437217701ee0d16962250b375698ceece839e8Tim Murrayifeq ($(HOST_OS),darwin) 8487a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLOCAL_SRC_FILES += $(LLVM_UNWIND_SRC_FILES) src/Unwind/Unwind_AppleExtras.cpp 8509437217701ee0d16962250b375698ceece839e8Tim Murray# libcxxabi really doesn't like the non-LLVM assembler on Darwin 8609437217701ee0d16962250b375698ceece839e8Tim MurrayLOCAL_ASFLAGS += -integrated-as 8709437217701ee0d16962250b375698ceece839e8Tim MurrayLOCAL_CFLAGS += -integrated-as 8809437217701ee0d16962250b375698ceece839e8Tim MurrayLOCAL_CPPFLAGS += -integrated-as 8987a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan Albertelse 9087a9be28aceed80250cd1d1a47eb8afa0ee67b51Dan AlbertLOCAL_WHOLE_STATIC_LIBRARIES := libunwindbacktrace 9109437217701ee0d16962250b375698ceece839e8Tim Murrayendif 9209437217701ee0d16962250b375698ceece839e8Tim Murray 93e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_RTTI_FLAG := $(LIBCXXABI_RTTI_FLAG) 94d5cc515c98421408b082fb82bbb3e947f2583e6fBrian CarlstromLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 9520116856117ff5f5257fc51c5c1bb2499d436d58Ian RogersLOCAL_MULTILIB := both 96873f8586ee0ba081b0537f84dc827a400d0bc73dDan Albertinclude $(BUILD_HOST_STATIC_LIBRARY) 97285d67f35f6044cf733091e36248405ca967c62cStephen Hines 98285d67f35f6044cf733091e36248405ca967c62cStephen Hinesendif # TARGET_BUILD_APPS 99