Android.mk revision 873f8586ee0ba081b0537f84dc827a400d0bc73d
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 \ 41e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/libunwind.cpp \ 42e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/Unwind-sjlj.c \ 43e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/UnwindLevel1-gcc-ext.c \ 44e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/UnwindLevel1.c \ 45e085735cbedc82b1064f05ff796e32e906a95036Dan Albert src/Unwind/UnwindRegistersSave.S \ 46e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 47e085735cbedc82b1064f05ff796e32e906a95036Dan Albertifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64)) 48e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLIBCXXABI_SRC_FILES += src/Unwind/UnwindRegistersRestore.S 49e085735cbedc82b1064f05ff796e32e906a95036Dan Albertendif 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) 64e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CFLAGS := $(LIBCXXABI_CFLAGS) 65e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CPPFLAGS := $(LIBCXXABI_CPPFLAGS) 66e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_RTTI_FLAG := $(LIBCXXABI_RTTI_FLAG) 67e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 68b21e7e40b9f751f956cdc437b6546c3052d6b604Dan Albertifneq ($(TARGET_ARCH),arm) 69e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_SHARED_LIBRARIES := libdl 70e085735cbedc82b1064f05ff796e32e906a95036Dan Albertendif 71e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 72e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_SYSTEM_SHARED_LIBRARIES := libc 73873f8586ee0ba081b0537f84dc827a400d0bc73dDan Albertinclude $(BUILD_STATIC_LIBRARY) 74e085735cbedc82b1064f05ff796e32e906a95036Dan Albert 75e085735cbedc82b1064f05ff796e32e906a95036Dan Albertinclude $(CLEAR_VARS) 76ab22a8fc0e1fd348c19b99efa183ffd8c00af815Dan AlbertLOCAL_MODULE := libc++abi 77e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CLANG := true 7809437217701ee0d16962250b375698ceece839e8Tim Murray 79e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_SRC_FILES := $(LIBCXXABI_SRC_FILES) 8009437217701ee0d16962250b375698ceece839e8Tim Murray 8109437217701ee0d16962250b375698ceece839e8Tim Murrayifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64)) 8209437217701ee0d16962250b375698ceece839e8Tim MurrayLOCAL_SRC_FILES += src/Unwind/UnwindRegistersRestore.S 8309437217701ee0d16962250b375698ceece839e8Tim Murrayendif 8409437217701ee0d16962250b375698ceece839e8Tim Murray 85e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CFLAGS := $(LIBCXXABI_CFLAGS) 86e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_CPPFLAGS := $(LIBCXXABI_CPPFLAGS) 8709437217701ee0d16962250b375698ceece839e8Tim Murray 8809437217701ee0d16962250b375698ceece839e8Tim Murrayifeq ($(HOST_OS),darwin) 8909437217701ee0d16962250b375698ceece839e8Tim MurrayLOCAL_SRC_FILES += src/Unwind/Unwind_AppleExtras.cpp 9009437217701ee0d16962250b375698ceece839e8Tim Murray# libcxxabi really doesn't like the non-LLVM assembler on Darwin 9109437217701ee0d16962250b375698ceece839e8Tim MurrayLOCAL_ASFLAGS += -integrated-as 9209437217701ee0d16962250b375698ceece839e8Tim MurrayLOCAL_CFLAGS += -integrated-as 9309437217701ee0d16962250b375698ceece839e8Tim MurrayLOCAL_CPPFLAGS += -integrated-as 9409437217701ee0d16962250b375698ceece839e8Tim Murrayendif 9509437217701ee0d16962250b375698ceece839e8Tim Murray 966b8852417f55cd373059531acae36fc3b052e88bDan AlbertLOCAL_LDFLAGS := -nostdlib 976b8852417f55cd373059531acae36fc3b052e88bDan AlbertLOCAL_LDLIBS := -lpthread -lc -ldl 98e085735cbedc82b1064f05ff796e32e906a95036Dan AlbertLOCAL_RTTI_FLAG := $(LIBCXXABI_RTTI_FLAG) 99873f8586ee0ba081b0537f84dc827a400d0bc73dDan Albertinclude $(BUILD_HOST_STATIC_LIBRARY) 100285d67f35f6044cf733091e36248405ca967c62cStephen Hines 101285d67f35f6044cf733091e36248405ca967c62cStephen Hinesendif # TARGET_BUILD_APPS 102