Android.mk revision 9569f04315c59c4347295946dc01eb046bfb1c47
12ef012e47441428f752c6a29d2927513669dda30Dan Albert# 22ef012e47441428f752c6a29d2927513669dda30Dan Albert# Copyright (C) 2014 The Android Open Source Project 32ef012e47441428f752c6a29d2927513669dda30Dan Albert# 42ef012e47441428f752c6a29d2927513669dda30Dan Albert# Licensed under the Apache License, Version 2.0 (the "License"); 52ef012e47441428f752c6a29d2927513669dda30Dan Albert# you may not use this file except in compliance with the License. 62ef012e47441428f752c6a29d2927513669dda30Dan Albert# You may obtain a copy of the License at 72ef012e47441428f752c6a29d2927513669dda30Dan Albert# 82ef012e47441428f752c6a29d2927513669dda30Dan Albert# http://www.apache.org/licenses/LICENSE-2.0 92ef012e47441428f752c6a29d2927513669dda30Dan Albert# 102ef012e47441428f752c6a29d2927513669dda30Dan Albert# Unless required by applicable law or agreed to in writing, software 112ef012e47441428f752c6a29d2927513669dda30Dan Albert# distributed under the License is distributed on an "AS IS" BASIS, 122ef012e47441428f752c6a29d2927513669dda30Dan Albert# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132ef012e47441428f752c6a29d2927513669dda30Dan Albert# See the License for the specific language governing permissions and 142ef012e47441428f752c6a29d2927513669dda30Dan Albert# limitations under the License. 152ef012e47441428f752c6a29d2927513669dda30Dan Albert# 162ef012e47441428f752c6a29d2927513669dda30Dan Albert 1727ae7cb782821a4f2d3813522ee411cd978bcd85Stephen Hines# Don't build for unbundled branches 1827ae7cb782821a4f2d3813522ee411cd978bcd85Stephen Hinesifeq (,$(TARGET_BUILD_APPS)) 1927ae7cb782821a4f2d3813522ee411cd978bcd85Stephen Hines 202ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_PATH := $(call my-dir) 212ef012e47441428f752c6a29d2927513669dda30Dan Albert 222ef012e47441428f752c6a29d2927513669dda30Dan AlbertLIBCXX_SRC_FILES := \ 232ef012e47441428f752c6a29d2927513669dda30Dan Albert src/algorithm.cpp \ 242ef012e47441428f752c6a29d2927513669dda30Dan Albert src/bind.cpp \ 252ef012e47441428f752c6a29d2927513669dda30Dan Albert src/chrono.cpp \ 262ef012e47441428f752c6a29d2927513669dda30Dan Albert src/condition_variable.cpp \ 272ef012e47441428f752c6a29d2927513669dda30Dan Albert src/debug.cpp \ 282ef012e47441428f752c6a29d2927513669dda30Dan Albert src/exception.cpp \ 292ef012e47441428f752c6a29d2927513669dda30Dan Albert src/future.cpp \ 302ef012e47441428f752c6a29d2927513669dda30Dan Albert src/hash.cpp \ 312ef012e47441428f752c6a29d2927513669dda30Dan Albert src/ios.cpp \ 322ef012e47441428f752c6a29d2927513669dda30Dan Albert src/iostream.cpp \ 332ef012e47441428f752c6a29d2927513669dda30Dan Albert src/locale.cpp \ 342ef012e47441428f752c6a29d2927513669dda30Dan Albert src/memory.cpp \ 352ef012e47441428f752c6a29d2927513669dda30Dan Albert src/mutex.cpp \ 362ef012e47441428f752c6a29d2927513669dda30Dan Albert src/new.cpp \ 372ef012e47441428f752c6a29d2927513669dda30Dan Albert src/optional.cpp \ 382ef012e47441428f752c6a29d2927513669dda30Dan Albert src/random.cpp \ 392ef012e47441428f752c6a29d2927513669dda30Dan Albert src/regex.cpp \ 402ef012e47441428f752c6a29d2927513669dda30Dan Albert src/shared_mutex.cpp \ 412ef012e47441428f752c6a29d2927513669dda30Dan Albert src/stdexcept.cpp \ 422ef012e47441428f752c6a29d2927513669dda30Dan Albert src/string.cpp \ 432ef012e47441428f752c6a29d2927513669dda30Dan Albert src/strstream.cpp \ 442ef012e47441428f752c6a29d2927513669dda30Dan Albert src/system_error.cpp \ 452ef012e47441428f752c6a29d2927513669dda30Dan Albert src/thread.cpp \ 462ef012e47441428f752c6a29d2927513669dda30Dan Albert src/typeinfo.cpp \ 472ef012e47441428f752c6a29d2927513669dda30Dan Albert src/utility.cpp \ 482ef012e47441428f752c6a29d2927513669dda30Dan Albert src/valarray.cpp \ 492ef012e47441428f752c6a29d2927513669dda30Dan Albert src/stubs.cpp \ 502ef012e47441428f752c6a29d2927513669dda30Dan Albert 512ef012e47441428f752c6a29d2927513669dda30Dan AlbertLIBCXX_CPPFLAGS := \ 522ef012e47441428f752c6a29d2927513669dda30Dan Albert -I$(LOCAL_PATH)/include/ \ 532ef012e47441428f752c6a29d2927513669dda30Dan Albert -std=c++11 \ 548a6f7b1d423195c8b0f1e734c7f27d24786cc87fDan Albert -nostdinc++ \ 552ef012e47441428f752c6a29d2927513669dda30Dan Albert -fexceptions \ 562ef012e47441428f752c6a29d2927513669dda30Dan Albert 572ef012e47441428f752c6a29d2927513669dda30Dan Albertinclude $(CLEAR_VARS) 582ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_MODULE := libc++ 592ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_CLANG := true 602ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_SRC_FILES := $(LIBCXX_SRC_FILES) 619569f04315c59c4347295946dc01eb046bfb1c47Dan AlbertLOCAL_CPPFLAGS := $(LIBCXX_CPPFLAGS) -Iexternal/libcxxrt/src -DLIBCXXRT 62f155054361cf84c0f3e5752d93c2f68675d47dcbDan AlbertLOCAL_RTTI_FLAG := -frtti 639569f04315c59c4347295946dc01eb046bfb1c47Dan AlbertLOCAL_STATIC_LIBRARIES := libcxxrt 649569f04315c59c4347295946dc01eb046bfb1c47Dan AlbertLOCAL_SHARED_LIBRARIES := libdl 652ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_SYSTEM_SHARED_LIBRARIES := libc 66226cd95300d2a7efbfa3f62c837d638e92c1f433Dan Albert 673486f698a3c0b7edb521f27e851d7362f63a114cStephen Hines# Bug: 14296739 683486f698a3c0b7edb521f27e851d7362f63a114cStephen Hines# The MIPS target in LLVM is spuriously generating a text relocation for 693486f698a3c0b7edb521f27e851d7362f63a114cStephen Hines# __gxx_personality_v0 in the .eh_frame section. This triggers a linker 703486f698a3c0b7edb521f27e851d7362f63a114cStephen Hines# warning, since it is not considered PIC. Disable warnings as errors 713486f698a3c0b7edb521f27e851d7362f63a114cStephen Hines# for this link step until we can get the bug fixed. 723486f698a3c0b7edb521f27e851d7362f63a114cStephen Hinesifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH), mips mips64)) 733486f698a3c0b7edb521f27e851d7362f63a114cStephen HinesLOCAL_LDFLAGS := -Wl,--no-fatal-warnings 743486f698a3c0b7edb521f27e851d7362f63a114cStephen Hinesendif 753486f698a3c0b7edb521f27e851d7362f63a114cStephen Hines 76c10e7197c30a26cb5974353f39816aced1853e06Dan Albertifneq ($(TARGET_ARCH),arm) 77226cd95300d2a7efbfa3f62c837d638e92c1f433Dan Albert LOCAL_SHARED_LIBRARIES += libdl 78226cd95300d2a7efbfa3f62c837d638e92c1f433Dan Albertendif 79226cd95300d2a7efbfa3f62c837d638e92c1f433Dan Albert 802ef012e47441428f752c6a29d2927513669dda30Dan Albertinclude $(BUILD_SHARED_LIBRARY) 812ef012e47441428f752c6a29d2927513669dda30Dan Albert 822ef012e47441428f752c6a29d2927513669dda30Dan Albertinclude $(CLEAR_VARS) 832ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_MODULE := libc++ 842ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_CLANG := true 852ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_SRC_FILES := $(LIBCXX_SRC_FILES) 862ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_CPPFLAGS := $(LIBCXX_CPPFLAGS) 87f155054361cf84c0f3e5752d93c2f68675d47dcbDan AlbertLOCAL_RTTI_FLAG := -frtti 888a6f7b1d423195c8b0f1e734c7f27d24786cc87fDan AlbertLOCAL_LDFLAGS := -nodefaultlibs 898a6f7b1d423195c8b0f1e734c7f27d24786cc87fDan AlbertLOCAL_LDLIBS := -lc 90d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray 91d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murrayifeq ($(HOST_OS), darwin) 929569f04315c59c4347295946dc01eb046bfb1c47Dan AlbertLOCAL_CPPFLAGS += -Iexternal/libcxxabi/include 938a6f7b1d423195c8b0f1e734c7f27d24786cc87fDan AlbertLOCAL_LDFLAGS += \ 94d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray -Wl,-unexported_symbols_list,external/libcxx/lib/libc++unexp.exp \ 95d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray -Wl,-force_symbols_not_weak_list,external/libcxx/lib/notweak.exp \ 96d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray -Wl,-force_symbols_weak_list,external/libcxx/lib/weak.exp 979569f04315c59c4347295946dc01eb046bfb1c47Dan AlbertLOCAL_STATIC_LIBRARIES := libc++abi 98d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murrayelse 999569f04315c59c4347295946dc01eb046bfb1c47Dan AlbertLOCAL_CPPFLAGS += -Iexternal/libcxxrt/src -DLIBCXXRT 1009569f04315c59c4347295946dc01eb046bfb1c47Dan AlbertLOCAL_STATIC_LIBRARIES := libcxxrt libcompiler_rt libunwind 1019569f04315c59c4347295946dc01eb046bfb1c47Dan AlbertLOCAL_LDLIBS += -lrt -lpthread -ldl 102d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murrayendif 103d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray 1042ef012e47441428f752c6a29d2927513669dda30Dan Albertinclude $(BUILD_HOST_SHARED_LIBRARY) 10527ae7cb782821a4f2d3813522ee411cd978bcd85Stephen Hines 10627ae7cb782821a4f2d3813522ee411cd978bcd85Stephen Hinesendif # TARGET_BUILD_APPS 107