blob: b40bcbea5ace77418c0313958aedc3180a3fb3a1 [file] [log] [blame]
Tim Murray63bbc502014-04-01 17:20:44 -07001# Windows can't use Clang to build yet
2ifneq ($(HOST_OS),windows)
Stephen Hines36b56882014-04-23 16:57:46 -07003LOCAL_CLANG := true
Stephen Hines36b56882014-04-23 16:57:46 -07004include external/libcxx/libcxx.mk
Stephen Hines8a957342014-09-29 22:54:01 -07005endif
Stephen Hines36b56882014-04-23 16:57:46 -07006
7LOCAL_CFLAGS += \
Shih-wei Liaoe4454322010-04-07 12:21:42 -07008 -D_GNU_SOURCE \
Shih-wei Liao4a05ed72012-07-17 15:46:02 -07009 -D__STDC_LIMIT_MACROS \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070010 -O2 \
11 -fomit-frame-pointer \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070012 -Wall \
13 -W \
14 -Wno-unused-parameter \
15 -Wwrite-strings \
Tim Murray63bbc502014-04-01 17:20:44 -070016 -Dsprintf=sprintf \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070017 $(LOCAL_CFLAGS)
18
Shih-wei Liao44ce4442010-05-04 03:19:48 -070019ifeq ($(LLVM_ENABLE_ASSERTION),true)
20LOCAL_CFLAGS := \
Stephen Hinesfd6aea22012-05-03 14:47:20 -070021 $(LOCAL_CFLAGS) \
Shih-wei Liao44ce4442010-05-04 03:19:48 -070022 -D_DEBUG \
Stephen Hinesfd6aea22012-05-03 14:47:20 -070023 -UNDEBUG
Shih-wei Liao44ce4442010-05-04 03:19:48 -070024endif
25
Shih-wei Liaoe4454322010-04-07 12:21:42 -070026ifneq ($(REQUIRES_EH),1)
Shih-wei Liao7abe37e2010-04-28 01:47:00 -070027LOCAL_CFLAGS += -fno-exceptions
Shih-wei Liaoe4454322010-04-07 12:21:42 -070028else
29REQUIRES_EH := 0
30LOCAL_CFLAGS += -fexceptions
31endif
32
33ifneq ($(REQUIRES_RTTI),1)
Patrick Scottc3648862010-05-07 08:38:22 -040034LOCAL_CPPFLAGS += -fno-rtti
Shih-wei Liaoe4454322010-04-07 12:21:42 -070035else
36REQUIRES_RTTI := 0
37endif
38
Shih-wei Liao7abe37e2010-04-28 01:47:00 -070039LOCAL_CPPFLAGS := \
40 $(LOCAL_CPPFLAGS) \
jush4671b172011-02-28 17:18:20 +080041 -Woverloaded-virtual \
Stephen Hines36b56882014-04-23 16:57:46 -070042 -Wno-sign-promo \
43 -std=c++11
Shih-wei Liaoc156bc62010-06-07 22:05:52 -070044
Shih-wei Liaoe4454322010-04-07 12:21:42 -070045# Make sure bionic is first so we can include system headers.
46LOCAL_C_INCLUDES := \
47 $(LLVM_ROOT_PATH) \
48 $(LLVM_ROOT_PATH)/include \
49 $(LLVM_ROOT_PATH)/host/include \
50 $(LOCAL_C_INCLUDES)
51
52LOCAL_IS_HOST_MODULE := true
53
Ian Rogers6ef49642014-06-05 15:25:22 -070054LOCAL_32_BIT_ONLY := true
55
Shih-wei Liaoe4454322010-04-07 12:21:42 -070056###########################################################
57## Commands for running tblgen to compile a td file
58###########################################################
59define transform-host-td-to-out
60@mkdir -p $(dir $@)
Logan Chien56837862011-12-16 17:38:39 +080061@echo "Host TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<"
Stephen Hines7b17ef62014-06-03 18:31:47 -070062$(hide) $(LLVM_TBLGEN) \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070063 -I $(dir $<) \
64 -I $(LLVM_ROOT_PATH)/include \
65 -I $(LLVM_ROOT_PATH)/host/include \
66 -I $(LLVM_ROOT_PATH)/lib/Target \
Zonr Chang037754c2010-10-08 20:12:54 +080067 $(if $(strip $(CLANG_ROOT_PATH)),-I $(CLANG_ROOT_PATH)/include,) \
68 -gen-$(strip $(1)) \
Ying Wangca65f4e2011-05-24 11:20:36 -070069 -o $@ $<
Shih-wei Liaoe4454322010-04-07 12:21:42 -070070endef