1# 2# Copyright (C) 2012 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16# 17 18LOCAL_PATH := $(call my-dir) 19 20#===================================================================== 21# Device Static Library: libcompiler-rt-builtins 22#===================================================================== 23 24 25include $(CLEAR_VARS) 26 27LOCAL_MODULE := libcompiler-rt-builtins 28LOCAL_MODULE_TAGS := optional 29LOCAL_MODULE_CLASS := STATIC_LIBRARIES 30LOCAL_CLANG := true 31#LOCAL_CFLAGS := -integrated-as 32 33# Skip atomic.c since it needs to be built separately according to the docs. 34# Skip clear_cache.c since it redefines a system function on Android. 35LOCAL_SRC_FILES += \ 36 absvdi2.c \ 37 absvsi2.c \ 38 absvti2.c \ 39 adddf3.c \ 40 addsf3.c \ 41 addvdi3.c \ 42 addvsi3.c \ 43 addvti3.c \ 44 apple_versioning.c \ 45 ashldi3.c \ 46 ashlti3.c \ 47 ashrdi3.c \ 48 ashrti3.c \ 49 clzdi2.c \ 50 clzsi2.c \ 51 clzti2.c \ 52 cmpdi2.c \ 53 cmpti2.c \ 54 comparedf2.c \ 55 comparesf2.c \ 56 ctzdi2.c \ 57 ctzsi2.c \ 58 ctzti2.c \ 59 divdc3.c \ 60 divdf3.c \ 61 divdi3.c \ 62 divmoddi4.c \ 63 divmodsi4.c \ 64 divsc3.c \ 65 divsf3.c \ 66 divsi3.c \ 67 divti3.c \ 68 divxc3.c \ 69 enable_execute_stack.c \ 70 eprintf.c \ 71 extendsfdf2.c \ 72 ffsdi2.c \ 73 ffsti2.c \ 74 fixdfdi.c \ 75 fixdfsi.c \ 76 fixdfti.c \ 77 fixsfdi.c \ 78 fixsfsi.c \ 79 fixsfti.c \ 80 fixunsdfdi.c \ 81 fixunsdfsi.c \ 82 fixunsdfti.c \ 83 fixunssfdi.c \ 84 fixunssfsi.c \ 85 fixunssfti.c \ 86 fixunsxfdi.c \ 87 fixunsxfsi.c \ 88 fixunsxfti.c \ 89 fixxfdi.c \ 90 fixxfti.c \ 91 floatdidf.c \ 92 floatdisf.c \ 93 floatdixf.c \ 94 floatsidf.c \ 95 floatsisf.c \ 96 floattidf.c \ 97 floattisf.c \ 98 floattixf.c \ 99 floatundidf.c \ 100 floatundisf.c \ 101 floatundixf.c \ 102 floatunsidf.c \ 103 floatunsisf.c \ 104 floatuntidf.c \ 105 floatuntisf.c \ 106 floatuntixf.c \ 107 gcc_personality_v0.c \ 108 int_util.c \ 109 lshrdi3.c \ 110 lshrti3.c \ 111 moddi3.c \ 112 modsi3.c \ 113 modti3.c \ 114 muldc3.c \ 115 muldf3.c \ 116 muldi3.c \ 117 mulosi4.c \ 118 muloti4.c \ 119 mulsc3.c \ 120 mulsf3.c \ 121 multi3.c \ 122 mulvdi3.c \ 123 mulvsi3.c \ 124 mulvti3.c \ 125 mulxc3.c \ 126 negdf2.c \ 127 negdi2.c \ 128 negsf2.c \ 129 negti2.c \ 130 negvdi2.c \ 131 negvsi2.c \ 132 negvti2.c \ 133 paritydi2.c \ 134 paritysi2.c \ 135 parityti2.c \ 136 popcountdi2.c \ 137 popcountsi2.c \ 138 popcountti2.c \ 139 powidf2.c \ 140 powisf2.c \ 141 powitf2.c \ 142 powixf2.c \ 143 subdf3.c \ 144 subsf3.c \ 145 subvdi3.c \ 146 subvsi3.c \ 147 subvti3.c \ 148 trampoline_setup.c \ 149 truncdfsf2.c \ 150 ucmpdi2.c \ 151 ucmpti2.c \ 152 udivdi3.c \ 153 udivmoddi4.c \ 154 udivmodsi4.c \ 155 udivmodti4.c \ 156 udivsi3.c \ 157 udivti3.c \ 158 umoddi3.c \ 159 umodsi3.c \ 160 umodti3.c 161 162include $(BUILD_STATIC_LIBRARY) 163 164 165#===================================================================== 166# Device Static Library: libcompiler-rt-extras 167#===================================================================== 168 169# These are functions that are not available in libgcc.a, so we potentially 170# need them when using a Clang-built component (i.e. -ftrapv with 64-bit 171# integer multiplies). 172include $(CLEAR_VARS) 173 174LOCAL_MODULE := libcompiler-rt-extras 175LOCAL_MODULE_TAGS := optional 176LOCAL_MODULE_CLASS := STATIC_LIBRARIES 177LOCAL_CLANG := true 178 179LOCAL_SRC_FILES += \ 180 mulodi4.c 181 182include $(BUILD_STATIC_LIBRARY) 183 184 185