blob: 956dad47dbec87f4bc11280c41b85f17920e431c [file] [log] [blame]
Stephen Hines36b56882014-04-23 16:57:46 -07001LOCAL_CFLAGS += \
Shih-wei Liaoe4454322010-04-07 12:21:42 -07002 -D_GNU_SOURCE \
Shih-wei Liao4a05ed72012-07-17 15:46:02 -07003 -D__STDC_LIMIT_MACROS \
Shih-wei Liaoe4454322010-04-07 12:21:42 -07004 -fomit-frame-pointer \
Shih-wei Liaoe4454322010-04-07 12:21:42 -07005 -Wall \
6 -W \
Pirama Arumuga Nainarde2d8692016-09-19 22:57:26 -07007 -Wno-sign-compare \
Shih-wei Liaoe4454322010-04-07 12:21:42 -07008 -Wno-unused-parameter \
Stephen Hinese6792b12015-09-10 11:23:42 -07009 -Wno-maybe-uninitialized \
10 -Wno-missing-field-initializers \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070011 -Wwrite-strings \
Stephen Hinese6792b12015-09-10 11:23:42 -070012 -Werror \
Tim Murray63bbc502014-04-01 17:20:44 -070013 -Dsprintf=sprintf \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070014 $(LOCAL_CFLAGS)
15
Pirama Arumuga Nainarf3ef5332016-03-03 15:48:50 -080016# Disable certain warnings for use with mingw.
Stephen Hinese6792b12015-09-10 11:23:42 -070017# We also must undefine WIN32_LEAN_AND_MEAN, since it is being passed globally
18# on the command line, and LLVM defines this internally itself.
Pirama Arumuga Nainarf3ef5332016-03-03 15:48:50 -080019LOCAL_CFLAGS_windows += -Wno-array-bounds \
20 -Wno-comment \
Stephen Hinese6792b12015-09-10 11:23:42 -070021 -UWIN32_LEAN_AND_MEAN
Stephen Hinesa8003482015-09-10 11:15:44 -070022
Pirama Arumuga Nainarde2d8692016-09-19 22:57:26 -070023# Enable debug build only on Linux and Darwin
24ifeq ($(FORCE_BUILD_LLVM_DEBUG),true)
25LOCAL_CFLAGS_linux += -O0 -g
26LOCAL_CFLAGS_darwin += -O0 -g
27endif
28
David Gross6047b702015-06-12 14:26:26 -070029ifeq ($(FORCE_BUILD_LLVM_DISABLE_NDEBUG),true)
Shih-wei Liao44ce4442010-05-04 03:19:48 -070030LOCAL_CFLAGS := \
Stephen Hinesfd6aea22012-05-03 14:47:20 -070031 $(LOCAL_CFLAGS) \
Shih-wei Liao44ce4442010-05-04 03:19:48 -070032 -D_DEBUG \
Stephen Hinesfd6aea22012-05-03 14:47:20 -070033 -UNDEBUG
Shih-wei Liao44ce4442010-05-04 03:19:48 -070034endif
35
Shih-wei Liao7abe37e2010-04-28 01:47:00 -070036LOCAL_CFLAGS += -fno-exceptions
Patrick Scottc3648862010-05-07 08:38:22 -040037LOCAL_CPPFLAGS += -fno-rtti
Shih-wei Liaoe4454322010-04-07 12:21:42 -070038
Shih-wei Liao7abe37e2010-04-28 01:47:00 -070039LOCAL_CPPFLAGS := \
40 $(LOCAL_CPPFLAGS) \
Stephen Hines36b56882014-04-23 16:57:46 -070041 -Wno-sign-promo \
42 -std=c++11
Shih-wei Liaoc156bc62010-06-07 22:05:52 -070043
Pirama Arumuga Nainarf3ef5332016-03-03 15:48:50 -080044LOCAL_CPPFLAGS_linux := \
45 -Woverloaded-virtual
46
47LOCAL_CPPFLAGS_darwin += \
48 -Wno-deprecated-declarations \
49 -Woverloaded-virtual
50
Shih-wei Liaoe4454322010-04-07 12:21:42 -070051# Make sure bionic is first so we can include system headers.
52LOCAL_C_INCLUDES := \
53 $(LLVM_ROOT_PATH) \
54 $(LLVM_ROOT_PATH)/include \
55 $(LLVM_ROOT_PATH)/host/include \
56 $(LOCAL_C_INCLUDES)
57
Dan Willemsen2b5f56b2015-08-18 17:14:59 -070058LOCAL_LDLIBS_linux += -lgcc_s
Stephen Hinesb079d882016-07-18 21:14:40 -070059LOCAL_LDLIBS_windows += -luuid
Stephen Hinesb6426fc2014-10-31 01:44:58 -070060
Shih-wei Liaoe4454322010-04-07 12:21:42 -070061LOCAL_IS_HOST_MODULE := true
62
Stephen Hines7478cb12015-09-18 19:03:33 -070063ifeq (libLLVM, $(filter libLLVM,$(LOCAL_SHARED_LIBRARIES)$(LOCAL_SHARED_LIBRARIES_$(HOST_OS))))
64# Skip building a 32-bit shared object if they are using libLLVM.
Colin Cross62e6deb2015-04-07 15:05:50 -070065LOCAL_MULTILIB := first
Colin Cross92ccc852015-04-08 14:50:08 -070066endif