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