Android.mk revision 72cab375c96b8de5be0cb7d39cdd3e16411782b2
165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#
265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# Copyright (C) 2012 The Android Open Source Project
365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#
465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# Licensed under the Apache License, Version 2.0 (the "License");
565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# you may not use this file except in compliance with the License.
665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# You may obtain a copy of the License at
765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#
865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#      http://www.apache.org/licenses/LICENSE-2.0
965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#
1065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# Unless required by applicable law or agreed to in writing, software
1165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# distributed under the License is distributed on an "AS IS" BASIS,
1265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# See the License for the specific language governing permissions and
1465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# limitations under the License.
1565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#
1665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#
1765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
1865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennLOCAL_PATH := $(call my-dir)
1965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennCOMPILER_RT_PATH := $(LOCAL_PATH)
2065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#=====================================================================
2265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# Device Static Library: libbccCompilerRT
2365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#=====================================================================
2465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renninclude $(CLEAR_VARS)
2665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennLOCAL_MODULE := libcompiler-rt
2865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennLOCAL_MODULE_TAGS := optional
2965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennLOCAL_MODULE_CLASS := STATIC_LIBRARIES
3065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennLOCAL_CLANG := true
3165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennLOCAL_CFLAGS := -integrated-as
3265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
3365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# TODO: split out the asflags.
3465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennLOCAL_ASFLAGS := $(LOCAL_CFLAGS)
3565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
3665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn# Pull in platform-independent functionality
3765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennLOCAL_WHOLE_STATIC_LIBRARIES += libcompiler-rt-builtins libcompiler-rt-extras
3865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
3965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Rennifeq ($(TARGET_ARCH),arm)
4065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn  LOCAL_SRC_FILES += \
4165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn    lib/arm/adddf3vfp.S \
4265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn    lib/arm/addsf3vfp.S \
43    lib/arm/divdf3vfp.S \
44    lib/arm/divsf3vfp.S \
45    lib/arm/eqdf2vfp.S \
46    lib/arm/eqsf2vfp.S \
47    lib/arm/extendsfdf2vfp.S \
48    lib/arm/fixdfsivfp.S \
49    lib/arm/fixsfsivfp.S \
50    lib/arm/fixunsdfsivfp.S \
51    lib/arm/fixunssfsivfp.S \
52    lib/arm/floatsidfvfp.S \
53    lib/arm/floatsisfvfp.S \
54    lib/arm/floatunssidfvfp.S \
55    lib/arm/floatunssisfvfp.S \
56    lib/arm/gedf2vfp.S \
57    lib/arm/gesf2vfp.S \
58    lib/arm/gtdf2vfp.S \
59    lib/arm/gtsf2vfp.S \
60    lib/arm/ledf2vfp.S \
61    lib/arm/lesf2vfp.S \
62    lib/arm/ltdf2vfp.S \
63    lib/arm/ltsf2vfp.S \
64    lib/arm/muldf3vfp.S \
65    lib/arm/mulsf3vfp.S \
66    lib/arm/nedf2vfp.S \
67    lib/arm/negdf2vfp.S \
68    lib/arm/negsf2vfp.S \
69    lib/arm/nesf2vfp.S \
70    lib/arm/subdf3vfp.S \
71    lib/arm/subsf3vfp.S \
72    lib/arm/truncdfsf2vfp.S \
73    lib/arm/unorddf2vfp.S \
74    lib/arm/unordsf2vfp.S \
75    lib/arm/aeabi_ldivmod.S \
76    lib/arm/aeabi_uldivmod.S
77else
78  ifeq ($(TARGET_ARCH),x86) # We don't support x86-64 right now
79    LOCAL_SRC_FILES += \
80      lib/i386/ashldi3.S \
81      lib/i386/ashrdi3.S \
82      lib/i386/divdi3.S \
83      lib/i386/floatdidf.S \
84      lib/i386/floatdisf.S \
85      lib/i386/floatdixf.S \
86      lib/i386/floatundidf.S \
87      lib/i386/floatundisf.S \
88      lib/i386/floatundixf.S \
89      lib/i386/lshrdi3.S \
90      lib/i386/moddi3.S \
91      lib/i386/muldi3.S \
92      lib/i386/udivdi3.S \
93      lib/i386/umoddi3.S
94  else
95    ifeq ($(TARGET_ARCH),mips)
96      # nothing to add
97    else
98      $(error Unsupported TARGET_ARCH $(TARGET_ARCH))
99    endif
100  endif
101endif
102
103include $(BUILD_STATIC_LIBRARY)
104
105include $(COMPILER_RT_PATH)/lib/Android.mk
106
107include $(COMPILER_RT_PATH)/lib/asan/Android.mk
108