1932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang#
2db169187dea4602e4ad32058762d23d474753fd0Stephen Hines# Copyright (C) 2010-2012 The Android Open Source Project
3932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang#
4932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang# Licensed under the Apache License, Version 2.0 (the "License");
5932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang# you may not use this file except in compliance with the License.
6932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang# You may obtain a copy of the License at
7932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang#
8932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang#      http://www.apache.org/licenses/LICENSE-2.0
9932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang#
10932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang# Unless required by applicable law or agreed to in writing, software
11932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang# distributed under the License is distributed on an "AS IS" BASIS,
12932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang# See the License for the specific language governing permissions and
14932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang# limitations under the License.
15932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang#
16932648d528f333d43defdf16b3f8e84afa865cc8Zonr Chang
1777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei LiaoLOCAL_PATH := $(call my-dir)
18ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr ChangLIBBCC_ROOT_PATH := $(LOCAL_PATH)
19ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Changinclude $(LIBBCC_ROOT_PATH)/libbcc.mk
20cd61af3513b64e6eb0cbfbb4e0182f898bae91edShih-wei Liao
21e109434cfd2bc24d324506238483c1ecd587e228Stephen Hinesinclude frameworks/compile/slang/rs_version.mk
22e109434cfd2bc24d324506238483c1ecd587e228Stephen Hines
23743968520a8a6c1e23212d4ed155d053891f630aLogan Chien#=====================================================================
24743968520a8a6c1e23212d4ed155d053891f630aLogan Chien# Whole Static Library to Be Linked In
25743968520a8a6c1e23212d4ed155d053891f630aLogan Chien#=====================================================================
26358490082d8435aa36feaff8107aa55c3cf363adLogan
27743968520a8a6c1e23212d4ed155d053891f630aLogan Chienlibbcc_WHOLE_STATIC_LIBRARIES += \
28e198abec6c5e3eab380ccf6897b0a0b9c2dd92ddStephen Hines  libbccRenderscript \
29743968520a8a6c1e23212d4ed155d053891f630aLogan Chien  libbccExecutionEngine \
30c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang  libbccCore \
31c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang  libbccSupport
32743968520a8a6c1e23212d4ed155d053891f630aLogan Chien
33743968520a8a6c1e23212d4ed155d053891f630aLogan Chien#=====================================================================
34743968520a8a6c1e23212d4ed155d053891f630aLogan Chien# Device Shared Library libbcc
35743968520a8a6c1e23212d4ed155d053891f630aLogan Chien#=====================================================================
36c6e6ee4392390c0888f808220adf33334e1f64a4Tim Murrayifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
3771df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossifeq ($(TARGET_ARCH),mips64)
3871df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross$(info TODOMips64: $(LOCAL_PATH)/Android.mk Enable libbcc build)
3971df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossendif
402ca6e576421e86e0128991b825c238f1d4221910Joseph Wen
4177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoinclude $(CLEAR_VARS)
4297bd44dd749c26b03333cb769d6f7c41d1a1bbfeIliyan Malchev
4377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei LiaoLOCAL_MODULE := libbcc
44932648d528f333d43defdf16b3f8e84afa865cc8Zonr ChangLOCAL_MODULE_TAGS := optional
455de1adfe315bbb088f7614936b1023c6d6d3fc35Joseph WenLOCAL_MODULE_CLASS := SHARED_LIBRARIES
4661cb230180231bbcff0166ebc90ca8e16aba05dcLogan
4721392f0642029bb5c41e3255ae7a302a337ecd6bLogan ChienLOCAL_WHOLE_STATIC_LIBRARIES := $(libbcc_WHOLE_STATIC_LIBRARIES)
4821392f0642029bb5c41e3255ae7a302a337ecd6bLogan Chien
49590a249d2a5fad67f4c386f4a4ca16ef633fe9eaShih-wei LiaoLOCAL_WHOLE_STATIC_LIBRARIES += librsloader
5041cb761b5b36126fa4cc7f1f97e46dce6617fc81Logan Chien
51c2074caf075818abb6d3689ad924ca09f4a5ba1fTim MurrayLOCAL_SHARED_LIBRARIES := libbcinfo libLLVM libdl libutils libcutils liblog libc++
5277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
5321392f0642029bb5c41e3255ae7a302a337ecd6bLogan Chien# Modules that need get installed if and only if the target libbcc.so is
5421392f0642029bb5c41e3255ae7a302a337ecd6bLogan Chien# installed.
55c5e607adff80a66bc5420baffd299862abdf368dJean-Luc BrouilletLOCAL_REQUIRED_MODULES := libclcore.bc libclcore_debug.bc libcompiler_rt
563ae8c2a783ead3f233d6b290019cad37bfe6bbf5Ying Wang
5771df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_REQUIRED_MODULES_x86 += libclcore_x86.bc
5871df05005d8cbc15b4c288ff643be243af0c7b88Colin CrossLOCAL_REQUIRED_MODULES_x86_64 += libclcore_x86.bc
59cdcce323a2acddb4234e6906c691e20bb3d714f9Michael Liao
6043b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesifeq ($(ARCH_ARM_HAVE_NEON),true)
6171df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross  LOCAL_REQUIRED_MODULES_arm += libclcore_neon.bc
6243b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesendif
6343b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines
64ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Changinclude $(LIBBCC_DEVICE_BUILD_MK)
65f21590eae009b4f596d7e448d0b8e142c46fc382Stephen Hinesinclude $(LLVM_DEVICE_BUILD_MK)
6677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoinclude $(BUILD_SHARED_LIBRARY)
67c6e6ee4392390c0888f808220adf33334e1f64a4Tim Murrayendif
6877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
69743968520a8a6c1e23212d4ed155d053891f630aLogan Chien#=====================================================================
70743968520a8a6c1e23212d4ed155d053891f630aLogan Chien# Host Shared Library libbcc
71743968520a8a6c1e23212d4ed155d053891f630aLogan Chien#=====================================================================
7221392f0642029bb5c41e3255ae7a302a337ecd6bLogan Chien
738d01bd8b61482f83539a7dbcec38df9a2e5a6c56Ying Wang# Don't build for unbundled branches
748d01bd8b61482f83539a7dbcec38df9a2e5a6c56Ying Wangifeq (,$(TARGET_BUILD_APPS))
758d01bd8b61482f83539a7dbcec38df9a2e5a6c56Ying Wang
7677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoinclude $(CLEAR_VARS)
7777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
7877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei LiaoLOCAL_MODULE := libbcc
79932648d528f333d43defdf16b3f8e84afa865cc8Zonr ChangLOCAL_MODULE_TAGS := optional
805de1adfe315bbb088f7614936b1023c6d6d3fc35Joseph WenLOCAL_MODULE_CLASS := SHARED_LIBRARIES
815de1adfe315bbb088f7614936b1023c6d6d3fc35Joseph WenLOCAL_IS_HOST_MODULE := true
82743968520a8a6c1e23212d4ed155d053891f630aLogan Chien
83be115357011f1ddbaaa8069d5099878fed8f6d30Logan Chienifneq ($(HOST_OS),windows)
84c2074caf075818abb6d3689ad924ca09f4a5ba1fTim MurrayLOCAL_CLANG := true
85be115357011f1ddbaaa8069d5099878fed8f6d30Logan Chienendif
86c2074caf075818abb6d3689ad924ca09f4a5ba1fTim Murray
87743968520a8a6c1e23212d4ed155d053891f630aLogan ChienLOCAL_WHOLE_STATIC_LIBRARIES += $(libbcc_WHOLE_STATIC_LIBRARIES)
8861cb230180231bbcff0166ebc90ca8e16aba05dcLogan
89590a249d2a5fad67f4c386f4a4ca16ef633fe9eaShih-wei LiaoLOCAL_WHOLE_STATIC_LIBRARIES += librsloader
9077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
9121392f0642029bb5c41e3255ae7a302a337ecd6bLogan ChienLOCAL_STATIC_LIBRARIES += \
92c989dcec0385c20a9174a8ed536e0d304c29a2e2Zonr Chang  libutils \
932edf6d63b4a99faab9644e42f28e85f23a98913bYing Wang  libcutils \
942edf6d63b4a99faab9644e42f28e85f23a98913bYing Wang  liblog
9521392f0642029bb5c41e3255ae7a302a337ecd6bLogan Chien
96ba8d7ceb2f0f920ae82afc2c91db625534482e15Stephen HinesLOCAL_SHARED_LIBRARIES := libbcinfo libLLVM
97569986da116ed602c752395f9563260db38f6945Stephen Hines
9848cd745480738c026312931877ecb8ebecb1c64eStephen Hinesifndef USE_MINGW
9977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei LiaoLOCAL_LDLIBS := -ldl -lpthread
10048cd745480738c026312931877ecb8ebecb1c64eStephen Hinesendif
10177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
102ddf5661793de8fb4e16906b7f7822972fcb13c6dZonr Changinclude $(LIBBCC_HOST_BUILD_MK)
103f21590eae009b4f596d7e448d0b8e142c46fc382Stephen Hinesinclude $(LLVM_HOST_BUILD_MK)
10477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoinclude $(BUILD_HOST_SHARED_LIBRARY)
10577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1066297382734716a572100f5a395b3df1b2b98908dTim Murrayendif # Don't build in unbundled branches
107743968520a8a6c1e23212d4ed155d053891f630aLogan Chien
108743968520a8a6c1e23212d4ed155d053891f630aLogan Chien#=====================================================================
109743968520a8a6c1e23212d4ed155d053891f630aLogan Chien# Include Subdirectories
110743968520a8a6c1e23212d4ed155d053891f630aLogan Chien#=====================================================================
11177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoinclude $(call all-makefiles-under,$(LOCAL_PATH))
112