Android.mk revision d513b7a16f5bb182fbe3cab05bfe68dddff948ff
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 171a42fce230f3fdf47424db6f53da933355a9416eDan Albert# libcxx isn't working on mips yet 181a42fce230f3fdf47424db6f53da933355a9416eDan Albertifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH), mips mips64)) 192ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_PATH := $(call my-dir) 202ef012e47441428f752c6a29d2927513669dda30Dan Albert 212ef012e47441428f752c6a29d2927513669dda30Dan AlbertLIBCXX_SRC_FILES := \ 222ef012e47441428f752c6a29d2927513669dda30Dan Albert src/algorithm.cpp \ 232ef012e47441428f752c6a29d2927513669dda30Dan Albert src/bind.cpp \ 242ef012e47441428f752c6a29d2927513669dda30Dan Albert src/chrono.cpp \ 252ef012e47441428f752c6a29d2927513669dda30Dan Albert src/condition_variable.cpp \ 262ef012e47441428f752c6a29d2927513669dda30Dan Albert src/debug.cpp \ 272ef012e47441428f752c6a29d2927513669dda30Dan Albert src/exception.cpp \ 282ef012e47441428f752c6a29d2927513669dda30Dan Albert src/future.cpp \ 292ef012e47441428f752c6a29d2927513669dda30Dan Albert src/hash.cpp \ 302ef012e47441428f752c6a29d2927513669dda30Dan Albert src/ios.cpp \ 312ef012e47441428f752c6a29d2927513669dda30Dan Albert src/iostream.cpp \ 322ef012e47441428f752c6a29d2927513669dda30Dan Albert src/locale.cpp \ 332ef012e47441428f752c6a29d2927513669dda30Dan Albert src/memory.cpp \ 342ef012e47441428f752c6a29d2927513669dda30Dan Albert src/mutex.cpp \ 352ef012e47441428f752c6a29d2927513669dda30Dan Albert src/new.cpp \ 362ef012e47441428f752c6a29d2927513669dda30Dan Albert src/optional.cpp \ 372ef012e47441428f752c6a29d2927513669dda30Dan Albert src/random.cpp \ 382ef012e47441428f752c6a29d2927513669dda30Dan Albert src/regex.cpp \ 392ef012e47441428f752c6a29d2927513669dda30Dan Albert src/shared_mutex.cpp \ 402ef012e47441428f752c6a29d2927513669dda30Dan Albert src/stdexcept.cpp \ 412ef012e47441428f752c6a29d2927513669dda30Dan Albert src/string.cpp \ 422ef012e47441428f752c6a29d2927513669dda30Dan Albert src/strstream.cpp \ 432ef012e47441428f752c6a29d2927513669dda30Dan Albert src/system_error.cpp \ 442ef012e47441428f752c6a29d2927513669dda30Dan Albert src/thread.cpp \ 452ef012e47441428f752c6a29d2927513669dda30Dan Albert src/typeinfo.cpp \ 462ef012e47441428f752c6a29d2927513669dda30Dan Albert src/utility.cpp \ 472ef012e47441428f752c6a29d2927513669dda30Dan Albert src/valarray.cpp \ 482ef012e47441428f752c6a29d2927513669dda30Dan Albert src/stubs.cpp \ 492ef012e47441428f752c6a29d2927513669dda30Dan Albert 502ef012e47441428f752c6a29d2927513669dda30Dan AlbertLIBCXX_CPPFLAGS := \ 512ef012e47441428f752c6a29d2927513669dda30Dan Albert -I$(LOCAL_PATH)/include/ \ 522ef012e47441428f752c6a29d2927513669dda30Dan Albert -Iexternal/libcxxabi/include \ 532ef012e47441428f752c6a29d2927513669dda30Dan Albert -std=c++11 \ 542ef012e47441428f752c6a29d2927513669dda30Dan Albert -nostdlib \ 552ef012e47441428f752c6a29d2927513669dda30Dan Albert -fexceptions \ 562ef012e47441428f752c6a29d2927513669dda30Dan Albert 572ef012e47441428f752c6a29d2927513669dda30Dan Albertinclude $(CLEAR_VARS) 582ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_MODULE := libc++ 592ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_CLANG := true 602ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_SRC_FILES := $(LIBCXX_SRC_FILES) 612ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_CPPFLAGS := $(LIBCXX_CPPFLAGS) 622ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_SYSTEM_SHARED_LIBRARIES := libc 632ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_SHARED_LIBRARIES := libcxxabi 64226cd95300d2a7efbfa3f62c837d638e92c1f433Dan Albert 65c10e7197c30a26cb5974353f39816aced1853e06Dan Albertifneq ($(TARGET_ARCH),arm) 66226cd95300d2a7efbfa3f62c837d638e92c1f433Dan Albert LOCAL_SHARED_LIBRARIES += libdl 67226cd95300d2a7efbfa3f62c837d638e92c1f433Dan Albertendif 68226cd95300d2a7efbfa3f62c837d638e92c1f433Dan Albert 692ef012e47441428f752c6a29d2927513669dda30Dan Albertinclude $(BUILD_SHARED_LIBRARY) 702ef012e47441428f752c6a29d2927513669dda30Dan Albert 712ef012e47441428f752c6a29d2927513669dda30Dan Albertinclude $(CLEAR_VARS) 722ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_MODULE := libc++ 732ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_CLANG := true 742ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_SRC_FILES := $(LIBCXX_SRC_FILES) 752ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_CPPFLAGS := $(LIBCXX_CPPFLAGS) 76d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray 77d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murrayifeq ($(HOST_OS), darwin) 78d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim MurrayLOCAL_LDFLAGS := \ 79d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray -Wl,-unexported_symbols_list,external/libcxx/lib/libc++unexp.exp \ 80d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray -Wl,-reexported_symbols_list,external/libcxx/lib/libc++abi2.exp \ 81d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray -Wl,-force_symbols_not_weak_list,external/libcxx/lib/notweak.exp \ 82d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray -Wl,-force_symbols_weak_list,external/libcxx/lib/weak.exp 83d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murrayelse 84d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim MurrayLOCAL_LDFLAGS := -lrt -lpthread 85d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murrayendif 86d513b7a16f5bb182fbe3cab05bfe68dddff948ffTim Murray 872ef012e47441428f752c6a29d2927513669dda30Dan AlbertLOCAL_SHARED_LIBRARIES := libcxxabi 882ef012e47441428f752c6a29d2927513669dda30Dan Albertinclude $(BUILD_HOST_SHARED_LIBRARY) 891a42fce230f3fdf47424db6f53da933355a9416eDan Albertendif 90