1150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# 27cd4c49d575478b2380f129dcd376a4e5e37939cStephen Hines# Copyright (C) 2011-2012 The Android Open Source Project 3150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# 4150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# Licensed under the Apache License, Version 2.0 (the "License"); 5150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# you may not use this file except in compliance with the License. 6150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# You may obtain a copy of the License at 7150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# 8150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# http://www.apache.org/licenses/LICENSE-2.0 9150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# 10150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# Unless required by applicable law or agreed to in writing, software 11150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# distributed under the License is distributed on an "AS IS" BASIS, 12150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# See the License for the specific language governing permissions and 14150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# limitations under the License. 15150a70be696f5a93446bb0c5da558699103520e6Stephen Hines# 16150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 17150a70be696f5a93446bb0c5da558699103520e6Stephen Hineslocal_cflags_for_libbcinfo := -Wall -Wno-unused-parameter -Werror 18150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesifneq ($(TARGET_BUILD_VARIANT),eng) 19150a70be696f5a93446bb0c5da558699103520e6Stephen Hineslocal_cflags_for_libbcinfo += -D__DISABLE_ASSERTS 20150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesendif 21150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 22150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_PATH := $(call my-dir) 23150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 24e109434cfd2bc24d324506238483c1ecd587e228Stephen Hinesinclude frameworks/compile/slang/rs_version.mk 25e109434cfd2bc24d324506238483c1ecd587e228Stephen Hineslocal_cflags_for_libbcinfo += $(RS_VERSION_DEFINE) 26e109434cfd2bc24d324506238483c1ecd587e228Stephen Hines 27932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hineslibbcinfo_SRC_FILES := \ 28932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines BitcodeTranslator.cpp \ 29825b9aed7c01b050b2ee474327458b8958a28f39Stephen Hines BitcodeWrapper.cpp \ 30932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines MetadataExtractor.cpp 31932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines 328dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hineslibbcinfo_C_INCLUDES := \ 338dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines $(LOCAL_PATH)/../include \ 348dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines $(LOCAL_PATH)/../../slang 358dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines 3616c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hineslibbcinfo_STATIC_LIBRARIES := \ 377cd4c49d575478b2380f129dcd376a4e5e37939cStephen Hines libLLVMWrap \ 38932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines libLLVMBitReader_2_7 \ 398dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines libLLVMBitReader_3_0 \ 408dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines libLLVMBitWriter_3_2 4116c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 42150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLLVM_ROOT_PATH := external/llvm 43150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 4471df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossifeq ($(TARGET_ARCH),arm64) 4571df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross$(info TODOArm64: $(LOCAL_PATH)/Android.mk Enable build of libbcinfo device shared library) 4671df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossendif 4771df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross 4871df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossifeq ($(TARGET_ARCH),mips64) 4971df05005d8cbc15b4c288ff643be243af0c7b88Colin Cross$(info TODOMips64: $(LOCAL_PATH)/Android.mk Enable build of libbcinfo device shared library) 5071df05005d8cbc15b4c288ff643be243af0c7b88Colin Crossendif 51ad7d4c3a3d412b406b1841ded077fdca91d49b84Ashok Bhat 52c6e6ee4392390c0888f808220adf33334e1f64a4Tim Murrayifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 53150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesinclude $(CLEAR_VARS) 54150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 55150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_MODULE := libbcinfo 56150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_MODULE_CLASS := SHARED_LIBRARIES 57150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_MODULE_TAGS := optional 58150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 5916c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_SRC_FILES := $(libbcinfo_SRC_FILES) 60150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 61150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_CFLAGS += $(local_cflags_for_libbcinfo) 62150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 6316c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_C_INCLUDES := $(libbcinfo_C_INCLUDES) 64150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 654b778721adc9789411c2f2911578dab4d1d7c7b6Stephen HinesLOCAL_STATIC_LIBRARIES := $(libbcinfo_STATIC_LIBRARIES) 6652031f202ce4598dd499938fe82db94032c10a53Stephen HinesLOCAL_SHARED_LIBRARIES := libLLVM libcutils liblog 67150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 68150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesinclude $(LLVM_ROOT_PATH)/llvm-device-build.mk 69150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesinclude $(BUILD_SHARED_LIBRARY) 70c6e6ee4392390c0888f808220adf33334e1f64a4Tim Murrayendif 7116c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 728d01bd8b61482f83539a7dbcec38df9a2e5a6c56Ying Wang# Don't build for unbundled branches 738d01bd8b61482f83539a7dbcec38df9a2e5a6c56Ying Wangifeq (,$(TARGET_BUILD_APPS)) 748d01bd8b61482f83539a7dbcec38df9a2e5a6c56Ying Wang 7516c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hinesinclude $(CLEAR_VARS) 7616c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 7716c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_MODULE := libbcinfo 7816c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_MODULE_CLASS := SHARED_LIBRARIES 7916c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_MODULE_TAGS := optional 8016c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_IS_HOST_MODULE := true 8116c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 8216c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_SRC_FILES := $(libbcinfo_SRC_FILES) 8316c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 8416c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_CFLAGS += $(local_cflags_for_libbcinfo) 8516c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 8616c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_C_INCLUDES := $(libbcinfo_C_INCLUDES) 8716c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 8816c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_STATIC_LIBRARIES += $(libbcinfo_STATIC_LIBRARIES) 892edf6d63b4a99faab9644e42f28e85f23a98913bYing WangLOCAL_STATIC_LIBRARIES += libcutils liblog 90ba8d7ceb2f0f920ae82afc2c91db625534482e15Stephen HinesLOCAL_SHARED_LIBRARIES += libLLVM 9116c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 9248cd745480738c026312931877ecb8ebecb1c64eStephen Hinesifndef USE_MINGW 9316c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_LDLIBS := -ldl -lpthread 9448cd745480738c026312931877ecb8ebecb1c64eStephen Hinesendif 9516c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 9616c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hinesinclude $(LLVM_ROOT_PATH)/llvm-host-build.mk 9716c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hinesinclude $(BUILD_HOST_SHARED_LIBRARY) 9816c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 996297382734716a572100f5a395b3df1b2b98908dTim Murrayendif # don't build for unbundled branches 1006297382734716a572100f5a395b3df1b2b98908dTim Murray 101932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#===================================================================== 102932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines# Include Subdirectories 103932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#===================================================================== 104932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesinclude $(call all-makefiles-under,$(LOCAL_PATH)) 105