1dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 2dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Copyright (C) 2012 The Android Open Source Project 3dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 4dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Licensed under the Apache License, Version 2.0 (the "License"); 5dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# you may not use this file except in compliance with the License. 6dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# You may obtain a copy of the License at 7dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 8dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# http://www.apache.org/licenses/LICENSE-2.0 9dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 10dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Unless required by applicable law or agreed to in writing, software 11dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# distributed under the License is distributed on an "AS IS" BASIS, 12dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# See the License for the specific language governing permissions and 14dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# limitations under the License. 15dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 16dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 17dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 18dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_PATH := $(call my-dir) 19a115c66324ba21157560991d1527ca831d72f344Stephen HinesCOMPILER_RT_PATH := $(LOCAL_PATH) 20dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 21dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov#===================================================================== 22dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Device Static Library: libbccCompilerRT 23dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov#===================================================================== 24dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 25dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovinclude $(CLEAR_VARS) 26dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 27dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_MODULE := libcompiler-rt 28dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_MODULE_TAGS := optional 29dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_MODULE_CLASS := STATIC_LIBRARIES 30dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_CLANG := true 31dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_CFLAGS := -integrated-as 32dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 33a115c66324ba21157560991d1527ca831d72f344Stephen Hines# Pull in platform-independent functionality 34d1a2f446e04701b98b723f3eb315bbc9722dad74Stephen HinesLOCAL_WHOLE_STATIC_LIBRARIES += libcompiler-rt-builtins libcompiler-rt-extras 35a115c66324ba21157560991d1527ca831d72f344Stephen Hines 36dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovifeq ($(TARGET_ARCH),arm) 37dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov LOCAL_SRC_FILES += \ 38dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/adddf3vfp.S \ 39dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/addsf3vfp.S \ 40dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/divdf3vfp.S \ 41dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/divsf3vfp.S \ 42dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/eqdf2vfp.S \ 43dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/eqsf2vfp.S \ 44dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/extendsfdf2vfp.S \ 45dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/fixdfsivfp.S \ 46dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/fixsfsivfp.S \ 47dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/fixunsdfsivfp.S \ 48dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/fixunssfsivfp.S \ 49dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/floatsidfvfp.S \ 50dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/floatsisfvfp.S \ 51dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/floatunssidfvfp.S \ 52dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/floatunssisfvfp.S \ 53dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/gedf2vfp.S \ 54dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/gesf2vfp.S \ 55dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/gtdf2vfp.S \ 56dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/gtsf2vfp.S \ 57dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/ledf2vfp.S \ 58dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/lesf2vfp.S \ 59dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/ltdf2vfp.S \ 60dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/ltsf2vfp.S \ 61dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/muldf3vfp.S \ 62dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/mulsf3vfp.S \ 63dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/nedf2vfp.S \ 64dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/negdf2vfp.S \ 65dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/negsf2vfp.S \ 66dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/nesf2vfp.S \ 67dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/subdf3vfp.S \ 68dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/subsf3vfp.S \ 69dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/truncdfsf2vfp.S \ 70dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/unorddf2vfp.S \ 71dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/arm/unordsf2vfp.S 72dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovelse 73dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov ifeq ($(TARGET_ARCH),x86) # We don't support x86-64 right now 74dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov LOCAL_SRC_FILES += \ 75dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/ashldi3.S \ 76dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/ashrdi3.S \ 77dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/divdi3.S \ 78dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatdidf.S \ 79dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatdisf.S \ 80dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatdixf.S \ 81dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatundidf.S \ 82dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatundisf.S \ 83dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/floatundixf.S \ 84dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/lshrdi3.S \ 85dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/moddi3.S \ 86dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/muldi3.S \ 87dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/udivdi3.S \ 88dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov lib/i386/umoddi3.S 89dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov else 90ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park ifeq ($(TARGET_ARCH),mips) 91ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park # nothing to add 92ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park else 93ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park $(error Unsupported TARGET_ARCH $(TARGET_ARCH)) 94ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park endif 95dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov endif 96dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovendif 97dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 98dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovinclude $(BUILD_STATIC_LIBRARY) 99dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 100a115c66324ba21157560991d1527ca831d72f344Stephen Hinesinclude $(COMPILER_RT_PATH)/lib/Android.mk 101dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 102a115c66324ba21157560991d1527ca831d72f344Stephen Hinesinclude $(COMPILER_RT_PATH)/lib/asan/Android.mk 103