OSDN Git Service

Merge "Define a basic llvm-link + clang environment"
authorStephen Hines <srhines@google.com>
Thu, 22 Mar 2012 14:28:41 +0000 (07:28 -0700)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Thu, 22 Mar 2012 14:28:41 +0000 (07:28 -0700)
1  2 
core/config.mk

diff --combined core/config.mk
@@@ -33,7 -33,7 +33,7 @@@ SRC_HEADERS := 
        $(TOPDIR)frameworks/native/opengl/include \
        $(TOPDIR)frameworks/base/include \
        $(TOPDIR)frameworks/base/opengl/include \
 -    $(TOPDIR)frameworks/base/native/include \
 +      $(TOPDIR)frameworks/base/native/include \
        $(TOPDIR)external/skia/include
  SRC_HOST_HEADERS:=$(TOPDIR)tools/include
  SRC_LIBRARIES:= $(TOPDIR)libs
@@@ -151,33 -151,6 +151,33 @@@ include $(board_config_mk
  TARGET_DEVICE_DIR := $(patsubst %/,%,$(dir $(board_config_mk)))
  board_config_mk :=
  
 +# pull in device specific kernel headers. Files should be in
 +# $(TARGET_DEVICE_DIR)/kernel-headers, e.g.
 +# $(TARGET_DEVICE_DIR)/kernel-headers/linux/
 +# $(TARGET_DEVICE_DIR)/kernel-headers/media/
 +# $(TARGET_DEVICE_DIR)/kernel-headers/video/
 +# etc.
 +TARGET_DEVICE_KERNEL_HEADERS := $(strip $(wildcard $(TARGET_DEVICE_DIR)/kernel-headers))
 +
 +define validate-kernel-headers
 +$(if $(firstword $(foreach hdr_dir,$(1),\
 +         $(filter-out kernel-headers,$(notdir $(hdr_dir))))),\
 +     $(error Kernel header dirs must be end in kernel-headers: $(1)))
 +endef
 +# also allow the board config to provide additional directories since
 +# there could be device/oem/base_hw and device/oem/derived_hw
 +# that both are valid devices but derived_hw needs to use kernel headers
 +# from base_hw.
 +TARGET_BOARD_KERNEL_HEADERS := $(strip $(wildcard $(TARGET_BOARD_KERNEL_HEADERS)))
 +TARGET_BOARD_KERNEL_HEADERS := $(patsubst %/,%,$(TARGET_BOARD_KERNEL_HEADERS))
 +$(call validate-kernel-headers,$(TARGET_BOARD_KERNEL_HEADERS))
 +
 +# then add product-inherited includes, to allow for
 +# hardware/sivendor/chip/chip.mk to include their own headers
 +TARGET_PRODUCT_KERNEL_HEADERS := $(strip $(wildcard $(PRODUCT_VENDOR_KERNEL_HEADERS)))
 +TARGET_PRODUCT_KERNEL_HEADERS := $(patsubst %/,%,$(TARGET_PRODUCT_KERNEL_HEADERS))
 +$(call validate-kernel-headers,$(TARGET_PRODUCT_KERNEL_HEADERS))
 +
  # Clean up/verify variables defined by the board config file.
  TARGET_BOOTLOADER_BOARD_NAME := $(strip $(TARGET_BOOTLOADER_BOARD_NAME))
  TARGET_CPU_ABI := $(strip $(TARGET_CPU_ABI))
@@@ -357,8 -330,7 +357,8 @@@ HOST_GLOBAL_LD_DIRS += -L$(HOST_OUT_INT
  TARGET_GLOBAL_LD_DIRS += -L$(TARGET_OUT_INTERMEDIATE_LIBRARIES)
  
  HOST_PROJECT_INCLUDES:= $(SRC_HEADERS) $(SRC_HOST_HEADERS) $(HOST_OUT_HEADERS)
 -TARGET_PROJECT_INCLUDES:= $(SRC_HEADERS) $(TARGET_OUT_HEADERS)
 +TARGET_PROJECT_INCLUDES:= $(SRC_HEADERS) $(TARGET_OUT_HEADERS) \
 +              $(TARGET_OUT_KERNEL_HEADERS)
  
  # Many host compilers don't support these flags, so we have to make
  # sure to only specify them for the target compilers checked in to
@@@ -372,6 -344,9 +372,9 @@@ HOST_GLOBAL_CPPFLAGS += $(HOST_RELEASE_
  TARGET_GLOBAL_CFLAGS += $(TARGET_RELEASE_CFLAGS)
  TARGET_GLOBAL_CPPFLAGS += $(TARGET_RELEASE_CPPFLAGS)
  
+ # define llvm tools and global flags
+ include $(BUILD_SYSTEM)/llvm_config.mk
  PREBUILT_IS_PRESENT := $(if $(wildcard prebuilt/Android.mk),true)
  
  # ###############################################################