Android.mk revision df2acbb7a6b6f81efdc4a065f12ac047e80fc24a
1#
2# Copyright (C) 2010-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# Don't build for unbundled branches
18ifeq (,$(TARGET_BUILD_APPS))
19
20LOCAL_PATH := $(call my-dir)
21LIBBCC_ROOT_PATH := $(LOCAL_PATH)
22include $(LIBBCC_ROOT_PATH)/libbcc.mk
23
24include frameworks/compile/slang/rs_version.mk
25
26#=====================================================================
27# Whole Static Library to Be Linked In
28#=====================================================================
29
30libbcc_WHOLE_STATIC_LIBRARIES += \
31  libbccRenderscript \
32  libbccExecutionEngine \
33  libbccCore \
34  libbccSupport
35
36#=====================================================================
37# Calculate SHA1 checksum for libbcc.so, libRS.so and libclcore.bc
38#=====================================================================
39
40my_2nd_arch_prefix :=
41include $(LOCAL_PATH)/libbcc.sha1.mk
42ifneq ($(TARGET_2ND_ARCH),)
43my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
44include $(LOCAL_PATH)/libbcc.sha1.mk
45endif
46my_2nd_arch_prefix :=
47
48#=====================================================================
49# Device Shared Library libbcc
50#=====================================================================
51ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
52ifeq ($(TARGET_ARCH),arm64)
53$(info TODOArm64: $(LOCAL_PATH)/Android.mk Enable libbcc build)
54endif
55
56ifeq ($(TARGET_ARCH),mips64)
57$(info TODOMips64: $(LOCAL_PATH)/Android.mk Enable libbcc build)
58endif
59
60include $(CLEAR_VARS)
61
62LOCAL_MODULE := libbcc
63LOCAL_MODULE_TAGS := optional
64LOCAL_MODULE_CLASS := SHARED_LIBRARIES
65
66LOCAL_WHOLE_STATIC_LIBRARIES := $(libbcc_WHOLE_STATIC_LIBRARIES)
67
68LOCAL_WHOLE_STATIC_LIBRARIES += librsloader
69
70LOCAL_SHARED_LIBRARIES := libbcinfo libLLVM libdl libutils libcutils liblog libc++
71
72# Modules that need get installed if and only if the target libbcc.so is
73# installed.
74LOCAL_REQUIRED_MODULES := libclcore.bc libclcore_debug.bc libbcc.sha1 libcompiler_rt
75
76LOCAL_REQUIRED_MODULES_x86 += libclcore_x86.bc
77LOCAL_REQUIRED_MODULES_x86_64 += libclcore_x86.bc
78
79ifeq ($(ARCH_ARM_HAVE_NEON),true)
80  LOCAL_REQUIRED_MODULES_arm += libclcore_neon.bc
81endif
82
83LOCAL_REQUIRED_MODULES_arm64 += libclcore_neon.bc
84
85# Generate build information (Build time + Build git revision + Build Semi SHA1)
86my_2nd_arch_prefix :=
87include $(LIBBCC_ROOT_PATH)/libbcc-gen-build-info.mk
88ifdef TARGET_2ND_ARCH
89my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
90include $(LIBBCC_ROOT_PATH)/libbcc-gen-build-info.mk
91endif
92my_2nd_arch_prefix :=
93
94include $(LIBBCC_DEVICE_BUILD_MK)
95include $(BUILD_SHARED_LIBRARY)
96endif
97
98#=====================================================================
99# Host Shared Library libbcc
100#=====================================================================
101
102include $(CLEAR_VARS)
103
104LOCAL_MODULE := libbcc
105LOCAL_MODULE_TAGS := optional
106LOCAL_MODULE_CLASS := SHARED_LIBRARIES
107LOCAL_IS_HOST_MODULE := true
108
109LOCAL_CLANG := true
110
111LOCAL_WHOLE_STATIC_LIBRARIES += $(libbcc_WHOLE_STATIC_LIBRARIES)
112
113LOCAL_WHOLE_STATIC_LIBRARIES += librsloader
114
115LOCAL_STATIC_LIBRARIES += \
116  libutils \
117  libcutils \
118  liblog
119
120LOCAL_SHARED_LIBRARIES := libbcinfo libLLVM
121
122ifndef USE_MINGW
123LOCAL_LDLIBS := -ldl -lpthread
124endif
125
126# Generate build information (Build time + Build git revision + Build Semi SHA1)
127# For the host generate BuildInfo for a 32-bit build.
128ifdef HOST_2ND_ARCH
129my_2nd_arch_prefix := $(HOST_2ND_ARCH_VAR_PREFIX)
130else
131my_2nd_arch_prefix :=
132endif
133include $(LIBBCC_ROOT_PATH)/libbcc-gen-build-info.mk
134my_2nd_arch_prefix :=
135
136include $(LIBBCC_HOST_BUILD_MK)
137include $(BUILD_HOST_SHARED_LIBRARY)
138
139endif # Don't build in unbundled branches
140
141#=====================================================================
142# Include Subdirectories
143#=====================================================================
144include $(call all-makefiles-under,$(LOCAL_PATH))
145