Android.mk revision 97ac43c7cf39e8ad2719b4f395093e7415280577
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
3253b9203fa772b4325e83be533499328752f2b788Stephen Hinesifeq ($(TARGET_ARCH),arm)
3353b9203fa772b4325e83be533499328752f2b788Stephen HinesLOCAL_CFLAGS += -D__ARM_EABI__
3453b9203fa772b4325e83be533499328752f2b788Stephen Hinesendif
35c9803832e94cb7ad5abecd3474da948de4277b58Ying Wang# TODO: split out the asflags.
36c9803832e94cb7ad5abecd3474da948de4277b58Ying WangLOCAL_ASFLAGS := $(LOCAL_CFLAGS)
3797ac43c7cf39e8ad2719b4f395093e7415280577Stephen HinesLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
38dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov
39a115c66324ba21157560991d1527ca831d72f344Stephen Hines# Pull in platform-independent functionality
40d1a2f446e04701b98b723f3eb315bbc9722dad74Stephen HinesLOCAL_WHOLE_STATIC_LIBRARIES += libcompiler-rt-builtins libcompiler-rt-extras
41a115c66324ba21157560991d1527ca831d72f344Stephen Hines
42dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovifeq ($(TARGET_ARCH),arm)
43dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov  LOCAL_SRC_FILES += \
44dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/adddf3vfp.S \
45dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/addsf3vfp.S \
46dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/divdf3vfp.S \
47dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/divsf3vfp.S \
48dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/eqdf2vfp.S \
49dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/eqsf2vfp.S \
50dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/extendsfdf2vfp.S \
51dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/fixdfsivfp.S \
52dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/fixsfsivfp.S \
53dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/fixunsdfsivfp.S \
54dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/fixunssfsivfp.S \
55dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/floatsidfvfp.S \
56dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/floatsisfvfp.S \
57dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/floatunssidfvfp.S \
58dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/floatunssisfvfp.S \
59dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/gedf2vfp.S \
60dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/gesf2vfp.S \
61dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/gtdf2vfp.S \
62dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/gtsf2vfp.S \
63dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/ledf2vfp.S \
64dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/lesf2vfp.S \
65dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/ltdf2vfp.S \
66dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/ltsf2vfp.S \
67dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/muldf3vfp.S \
68dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/mulsf3vfp.S \
69dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/nedf2vfp.S \
70dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/negdf2vfp.S \
71dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/negsf2vfp.S \
72dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/nesf2vfp.S \
73dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/subdf3vfp.S \
74dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/subsf3vfp.S \
75dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/truncdfsf2vfp.S \
76dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    lib/arm/unorddf2vfp.S \
7772cab375c96b8de5be0cb7d39cdd3e16411782b2Tim Murray    lib/arm/unordsf2vfp.S \
7872cab375c96b8de5be0cb7d39cdd3e16411782b2Tim Murray    lib/arm/aeabi_ldivmod.S \
7972cab375c96b8de5be0cb7d39cdd3e16411782b2Tim Murray    lib/arm/aeabi_uldivmod.S
80dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovelse
81dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov  ifeq ($(TARGET_ARCH),x86) # We don't support x86-64 right now
82dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov    LOCAL_SRC_FILES += \
83dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/ashldi3.S \
84dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/ashrdi3.S \
85dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/divdi3.S \
86dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/floatdidf.S \
87dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/floatdisf.S \
88dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/floatdixf.S \
89dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/floatundidf.S \
90dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/floatundisf.S \
91dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/floatundixf.S \
92dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/lshrdi3.S \
93dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/moddi3.S \
94dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/muldi3.S \
95dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/udivdi3.S \
96dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov      lib/i386/umoddi3.S
97dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov  else
98ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park    ifeq ($(TARGET_ARCH),mips)
99ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park      # nothing to add
100ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park    else
101ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park      $(error Unsupported TARGET_ARCH $(TARGET_ARCH))
102ad3e3f97fdfe365f9972bc71e3bd535c94a29abeKeun young Park    endif
103dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov  endif
104dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovendif
105dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov
106dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovinclude $(BUILD_STATIC_LIBRARY)
107dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov
108a115c66324ba21157560991d1527ca831d72f344Stephen Hinesinclude $(COMPILER_RT_PATH)/lib/Android.mk
109dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov
110a115c66324ba21157560991d1527ca831d72f344Stephen Hinesinclude $(COMPILER_RT_PATH)/lib/asan/Android.mk
111