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 176297382734716a572100f5a395b3df1b2b98908dTim Murray# Don't build for unbundled branches 186297382734716a572100f5a395b3df1b2b98908dTim Murrayifeq (,$(TARGET_BUILD_APPS)) 196297382734716a572100f5a395b3df1b2b98908dTim Murray 20150a70be696f5a93446bb0c5da558699103520e6Stephen Hineslocal_cflags_for_libbcinfo := -Wall -Wno-unused-parameter -Werror 21150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesifneq ($(TARGET_BUILD_VARIANT),eng) 22150a70be696f5a93446bb0c5da558699103520e6Stephen Hineslocal_cflags_for_libbcinfo += -D__DISABLE_ASSERTS 23150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesendif 24150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 25932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesifeq "REL" "$(PLATFORM_VERSION_CODENAME)" 26932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines BCINFO_API_VERSION := $(PLATFORM_SDK_VERSION) 27932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hineselse 28932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines # Increment by 1 whenever this is not a final release build, since we want to 29932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines # be able to see the RS version number change during development. 30932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines # See build/core/version_defaults.mk for more information about this. 31932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines BCINFO_API_VERSION := "(1 + $(PLATFORM_SDK_VERSION))" 32932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesendif 33932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hineslocal_cflags_for_libbcinfo += -DBCINFO_API_VERSION=$(BCINFO_API_VERSION) 34932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines 35150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_PATH := $(call my-dir) 36150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 37932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hineslibbcinfo_SRC_FILES := \ 38932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines BitcodeTranslator.cpp \ 39825b9aed7c01b050b2ee474327458b8958a28f39Stephen Hines BitcodeWrapper.cpp \ 40932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines MetadataExtractor.cpp 41932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines 428dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hineslibbcinfo_C_INCLUDES := \ 438dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines $(LOCAL_PATH)/../include \ 448dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines $(LOCAL_PATH)/../../slang 458dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines 4616c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hineslibbcinfo_STATIC_LIBRARIES := \ 477cd4c49d575478b2380f129dcd376a4e5e37939cStephen Hines libLLVMWrap \ 48932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines libLLVMBitReader_2_7 \ 498dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines libLLVMBitReader_3_0 \ 508dbca8e957dab1db77dffbe10c14c54d4b439be6Stephen Hines libLLVMBitWriter_3_2 5116c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 52150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLLVM_ROOT_PATH := external/llvm 53150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 54150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesinclude $(CLEAR_VARS) 55150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 56150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_MODULE := libbcinfo 57150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_MODULE_CLASS := SHARED_LIBRARIES 58150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_MODULE_TAGS := optional 59150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesintermediates := $(local-intermediates-dir) 60150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 6116c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_SRC_FILES := $(libbcinfo_SRC_FILES) 62150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 63150a70be696f5a93446bb0c5da558699103520e6Stephen HinesLOCAL_CFLAGS += $(local_cflags_for_libbcinfo) 64150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 6516c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_C_INCLUDES := $(libbcinfo_C_INCLUDES) 66150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 674b778721adc9789411c2f2911578dab4d1d7c7b6Stephen HinesLOCAL_STATIC_LIBRARIES := $(libbcinfo_STATIC_LIBRARIES) 682edf6d63b4a99faab9644e42f28e85f23a98913bYing WangLOCAL_SHARED_LIBRARIES := libLLVM libcutils liblog libstlport 69150a70be696f5a93446bb0c5da558699103520e6Stephen Hines 70150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesinclude $(LLVM_ROOT_PATH)/llvm-device-build.mk 71150a70be696f5a93446bb0c5da558699103520e6Stephen Hinesinclude $(BUILD_SHARED_LIBRARY) 7216c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 7316c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hinesinclude $(CLEAR_VARS) 7416c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 7516c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_MODULE := libbcinfo 7616c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_MODULE_CLASS := SHARED_LIBRARIES 7716c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_MODULE_TAGS := optional 7816c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_IS_HOST_MODULE := true 7916c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 8016c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_SRC_FILES := $(libbcinfo_SRC_FILES) 8116c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 8216c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_CFLAGS += $(local_cflags_for_libbcinfo) 8316c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 8416c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_C_INCLUDES := $(libbcinfo_C_INCLUDES) 8516c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 8616c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_STATIC_LIBRARIES += $(libbcinfo_STATIC_LIBRARIES) 872edf6d63b4a99faab9644e42f28e85f23a98913bYing WangLOCAL_STATIC_LIBRARIES += libcutils liblog 88ba8d7ceb2f0f920ae82afc2c91db625534482e15Stephen HinesLOCAL_SHARED_LIBRARIES += libLLVM 8916c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 9048cd745480738c026312931877ecb8ebecb1c64eStephen Hinesifndef USE_MINGW 9116c9b3674960eef4fda4955694bf186af4cfd5c0Stephen HinesLOCAL_LDLIBS := -ldl -lpthread 9248cd745480738c026312931877ecb8ebecb1c64eStephen Hinesendif 9316c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 9416c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hinesinclude $(LLVM_ROOT_PATH)/llvm-host-build.mk 9516c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hinesinclude $(BUILD_HOST_SHARED_LIBRARY) 9616c9b3674960eef4fda4955694bf186af4cfd5c0Stephen Hines 976297382734716a572100f5a395b3df1b2b98908dTim Murrayendif # don't build for unbundled branches 986297382734716a572100f5a395b3df1b2b98908dTim Murray 99932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#===================================================================== 100932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines# Include Subdirectories 101932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hines#===================================================================== 102932bc6e35bcef7adff05d890a9dcc7212426fb6aStephen Hinesinclude $(call all-makefiles-under,$(LOCAL_PATH)) 103