blob: 88b457044a47aad94270e3b41d949ba253940e97 [file] [log] [blame]
Zonr Chang932648d2010-10-13 22:23:56 +08001#
2# Copyright (C) 2010 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
Carl Shapiro105a9d22010-04-13 17:53:26 -070017ifneq ($(TARGET_SIMULATOR),true)
18
Shih-wei Liao77ed6142010-04-07 12:21:42 -070019LOCAL_PATH := $(call my-dir)
Shih-wei Liao210a1ef2010-09-07 17:06:38 -070020LLVM_ROOT_PATH := external/llvm
Shih-wei Liao77ed6142010-04-07 12:21:42 -070021
Loganeac346d2010-11-24 22:32:34 +080022USE_CACHE := true
Shih-wei Liaobc5ed672010-11-24 01:53:02 -080023USE_RELOCATE := false
24
Shih-wei Liaocd61af32010-04-29 00:02:57 -070025USE_DISASSEMBLER := true
Ying Wang2c06c3e2010-09-07 21:24:55 -070026LLVM_ENABLE_ASSERTION := false
Shih-wei Liaocd61af32010-04-29 00:02:57 -070027
Logancf3e5212010-12-29 01:44:55 +080028libbcc_SRC_FILES := \
29 lib/bcc/bcc.cpp \
30 lib/bcc/CodeEmitter.cpp \
31 lib/bcc/CodeMemoryManager.cpp \
32 lib/bcc/Compiler.cpp \
33 lib/bcc/ContextManager.cpp \
Loganef9e4f72011-01-06 03:18:12 +080034 lib/bcc/FileHandle.cpp \
Logancf3e5212010-12-29 01:44:55 +080035 lib/bcc/Runtime.c \
36 lib/bcc/Script.cpp \
37 helper/sha1.c
38
Shih-wei Liao77ed6142010-04-07 12:21:42 -070039# Shared library for target
40# ========================================================
41include $(CLEAR_VARS)
42LOCAL_PRELINK_MODULE := false
43LOCAL_MODULE := libbcc
Zonr Chang932648d2010-10-13 22:23:56 +080044LOCAL_MODULE_TAGS := optional
Logan61cb2302010-11-27 14:18:26 +080045LOCAL_SRC_FILES := \
Logancf3e5212010-12-29 01:44:55 +080046 $(libbcc_SRC_FILES) \
Logan61cb2302010-11-27 14:18:26 +080047 runtime/lib/arm/adddf3vfp.S \
48 runtime/lib/arm/addsf3vfp.S \
49 runtime/lib/arm/divdf3vfp.S \
50 runtime/lib/arm/divsf3vfp.S \
51 runtime/lib/arm/eqdf2vfp.S \
52 runtime/lib/arm/eqsf2vfp.S \
53 runtime/lib/arm/extendsfdf2vfp.S \
54 runtime/lib/arm/fixdfsivfp.S \
55 runtime/lib/arm/fixsfsivfp.S \
56 runtime/lib/arm/fixunsdfsivfp.S \
57 runtime/lib/arm/fixunssfsivfp.S \
58 runtime/lib/arm/floatsidfvfp.S \
59 runtime/lib/arm/floatsisfvfp.S \
60 runtime/lib/arm/floatunssidfvfp.S \
61 runtime/lib/arm/floatunssisfvfp.S \
62 runtime/lib/arm/gedf2vfp.S \
63 runtime/lib/arm/gesf2vfp.S \
64 runtime/lib/arm/gtdf2vfp.S \
65 runtime/lib/arm/gtsf2vfp.S \
66 runtime/lib/arm/ledf2vfp.S \
67 runtime/lib/arm/lesf2vfp.S \
68 runtime/lib/arm/ltdf2vfp.S \
69 runtime/lib/arm/ltsf2vfp.S \
70 runtime/lib/arm/muldf3vfp.S \
71 runtime/lib/arm/mulsf3vfp.S \
72 runtime/lib/arm/nedf2vfp.S \
73 runtime/lib/arm/negdf2vfp.S \
74 runtime/lib/arm/negsf2vfp.S \
75 runtime/lib/arm/nesf2vfp.S \
76 runtime/lib/arm/subdf3vfp.S \
77 runtime/lib/arm/subsf3vfp.S \
78 runtime/lib/arm/truncdfsf2vfp.S \
79 runtime/lib/arm/unorddf2vfp.S \
80 runtime/lib/arm/unordsf2vfp.S
Shih-wei Liao77ed6142010-04-07 12:21:42 -070081
Logan61cb2302010-11-27 14:18:26 +080082LOCAL_STATIC_LIBRARIES := \
83 libLLVMARMCodeGen \
84 libLLVMARMInfo \
85 libLLVMBitReader \
86 libLLVMSelectionDAG \
87 libLLVMAsmPrinter \
88 libLLVMCodeGen \
89 libLLVMLinker \
90 libLLVMJIT \
91 libLLVMTarget \
92 libLLVMMC \
93 libLLVMScalarOpts \
94 libLLVMInstCombine \
95 libLLVMipo \
96 libLLVMipa \
97 libLLVMTransformUtils \
98 libLLVMCore \
99 libLLVMSupport \
100 libLLVMSystem \
101 libLLVMAnalysis
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700102
Shih-wei Liao7c5a5f72010-11-08 01:59:13 -0800103LOCAL_SHARED_LIBRARIES := libdl libcutils libutils libstlport
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700104
Logan61cb2302010-11-27 14:18:26 +0800105LOCAL_C_INCLUDES := \
Logan8b77a772010-12-21 09:11:01 +0800106 $(LOCAL_PATH)/helper \
Loganc4395232010-11-27 18:54:17 +0800107 $(LOCAL_PATH)/include \
108 $(LOCAL_PATH)
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700109
Shih-wei Liaocd61af32010-04-29 00:02:57 -0700110ifeq ($(USE_DISASSEMBLER),true)
111LOCAL_CFLAGS += -DUSE_DISASSEMBLER
Logan61cb2302010-11-27 14:18:26 +0800112LOCAL_STATIC_LIBRARIES := \
113 libLLVMARMDisassembler \
114 libLLVMARMAsmPrinter \
115 libLLVMMCParser \
116 $(LOCAL_STATIC_LIBRARIES)
Shih-wei Liaocd61af32010-04-29 00:02:57 -0700117endif
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700118
Doug Kwan75dacc12010-07-20 16:54:58 -0700119# This hides most of the symbols in the shared library and reduces the size
120# of libbcc.so by about 800k.
121LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL
122
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700123include $(LLVM_ROOT_PATH)/llvm-device-build.mk
124include $(BUILD_SHARED_LIBRARY)
125
126# Shared library for host
127# ========================================================
128include $(CLEAR_VARS)
129
130LOCAL_MODULE := libbcc
Zonr Chang932648d2010-10-13 22:23:56 +0800131LOCAL_MODULE_TAGS := optional
Logan61cb2302010-11-27 14:18:26 +0800132LOCAL_SRC_FILES := \
Logancf3e5212010-12-29 01:44:55 +0800133 $(libbcc_SRC_FILES) \
134 helper/logd_write.c
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700135
Logan61cb2302010-11-27 14:18:26 +0800136LOCAL_STATIC_LIBRARIES := \
137 libcutils \
138 libLLVMX86CodeGen \
139 libLLVMX86Info \
140 libLLVMARMCodeGen \
141 libLLVMARMInfo \
142 libLLVMBitReader \
143 libLLVMSelectionDAG \
144 libLLVMAsmPrinter \
145 libLLVMMCParser \
146 libLLVMCodeGen \
147 libLLVMLinker \
148 libLLVMJIT \
149 libLLVMTarget \
150 libLLVMMC \
151 libLLVMScalarOpts \
152 libLLVMInstCombine \
153 libLLVMipo \
154 libLLVMipa \
155 libLLVMTransformUtils \
156 libLLVMCore \
157 libLLVMSupport \
158 libLLVMSystem \
159 libLLVMAnalysis
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700160
161LOCAL_LDLIBS := -ldl -lpthread
162
Logan61cb2302010-11-27 14:18:26 +0800163LOCAL_C_INCLUDES := \
Logan8b77a772010-12-21 09:11:01 +0800164 $(LOCAL_PATH)/helper \
Loganc4395232010-11-27 18:54:17 +0800165 $(LOCAL_PATH)/include \
166 $(LOCAL_PATH)
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700167
Shih-wei Liaoe64c2872010-10-25 13:44:53 -0700168# definitions for LLVM
Shih-wei Liao7c5a5f72010-11-08 01:59:13 -0800169LOCAL_CFLAGS += -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DUSE_DISASSEMBLER=1 -DFORCE_ARM_CODEGEN=1 -DDEBUG_CODEGEN=1
Shih-wei Liaoe64c2872010-10-25 13:44:53 -0700170
Shih-wei Liaocd61af32010-04-29 00:02:57 -0700171ifeq ($(USE_DISASSEMBLER),true)
172LOCAL_CFLAGS += -DUSE_DISASSEMBLER
Logan61cb2302010-11-27 14:18:26 +0800173LOCAL_STATIC_LIBRARIES := \
174 libLLVMARMDisassembler \
175 libLLVMARMAsmPrinter \
176 libLLVMMCParser \
177 $(LOCAL_STATIC_LIBRARIES)
Shih-wei Liaocd61af32010-04-29 00:02:57 -0700178endif
179
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700180include $(LLVM_ROOT_PATH)/llvm-host-build.mk
181include $(BUILD_HOST_SHARED_LIBRARY)
182
183# Build children
184# ========================================================
185
186include $(call all-makefiles-under,$(LOCAL_PATH))
Carl Shapiro105a9d22010-04-13 17:53:26 -0700187
Shih-wei Liao800e9c22010-04-18 16:08:16 -0700188endif # TARGET_SIMULATOR != true