Stephen Hines | 36b5688 | 2014-04-23 16:57:46 -0700 | [diff] [blame] | 1 | LOCAL_CFLAGS += \ |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 2 | -D_GNU_SOURCE \ |
Shih-wei Liao | 4a05ed7 | 2012-07-17 15:46:02 -0700 | [diff] [blame] | 3 | -D__STDC_LIMIT_MACROS \ |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 4 | -fomit-frame-pointer \ |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 5 | -Wall \ |
| 6 | -W \ |
Pirama Arumuga Nainar | de2d869 | 2016-09-19 22:57:26 -0700 | [diff] [blame] | 7 | -Wno-sign-compare \ |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 8 | -Wno-unused-parameter \ |
Stephen Hines | e6792b1 | 2015-09-10 11:23:42 -0700 | [diff] [blame] | 9 | -Wno-maybe-uninitialized \ |
| 10 | -Wno-missing-field-initializers \ |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 11 | -Wwrite-strings \ |
Stephen Hines | e6792b1 | 2015-09-10 11:23:42 -0700 | [diff] [blame] | 12 | -Werror \ |
Tim Murray | 63bbc50 | 2014-04-01 17:20:44 -0700 | [diff] [blame] | 13 | -Dsprintf=sprintf \ |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 14 | $(LOCAL_CFLAGS) |
| 15 | |
Pirama Arumuga Nainar | f3ef533 | 2016-03-03 15:48:50 -0800 | [diff] [blame] | 16 | # Disable certain warnings for use with mingw. |
Stephen Hines | e6792b1 | 2015-09-10 11:23:42 -0700 | [diff] [blame] | 17 | # 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 Nainar | f3ef533 | 2016-03-03 15:48:50 -0800 | [diff] [blame] | 19 | LOCAL_CFLAGS_windows += -Wno-array-bounds \ |
| 20 | -Wno-comment \ |
Stephen Hines | e6792b1 | 2015-09-10 11:23:42 -0700 | [diff] [blame] | 21 | -UWIN32_LEAN_AND_MEAN |
Stephen Hines | a800348 | 2015-09-10 11:15:44 -0700 | [diff] [blame] | 22 | |
Pirama Arumuga Nainar | de2d869 | 2016-09-19 22:57:26 -0700 | [diff] [blame] | 23 | # Enable debug build only on Linux and Darwin |
| 24 | ifeq ($(FORCE_BUILD_LLVM_DEBUG),true) |
| 25 | LOCAL_CFLAGS_linux += -O0 -g |
| 26 | LOCAL_CFLAGS_darwin += -O0 -g |
| 27 | endif |
| 28 | |
David Gross | 6047b70 | 2015-06-12 14:26:26 -0700 | [diff] [blame] | 29 | ifeq ($(FORCE_BUILD_LLVM_DISABLE_NDEBUG),true) |
Shih-wei Liao | 44ce444 | 2010-05-04 03:19:48 -0700 | [diff] [blame] | 30 | LOCAL_CFLAGS := \ |
Stephen Hines | fd6aea2 | 2012-05-03 14:47:20 -0700 | [diff] [blame] | 31 | $(LOCAL_CFLAGS) \ |
Shih-wei Liao | 44ce444 | 2010-05-04 03:19:48 -0700 | [diff] [blame] | 32 | -D_DEBUG \ |
Stephen Hines | fd6aea2 | 2012-05-03 14:47:20 -0700 | [diff] [blame] | 33 | -UNDEBUG |
Shih-wei Liao | 44ce444 | 2010-05-04 03:19:48 -0700 | [diff] [blame] | 34 | endif |
| 35 | |
Shih-wei Liao | 7abe37e | 2010-04-28 01:47:00 -0700 | [diff] [blame] | 36 | LOCAL_CFLAGS += -fno-exceptions |
Patrick Scott | c364886 | 2010-05-07 08:38:22 -0400 | [diff] [blame] | 37 | LOCAL_CPPFLAGS += -fno-rtti |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 38 | |
Shih-wei Liao | 7abe37e | 2010-04-28 01:47:00 -0700 | [diff] [blame] | 39 | LOCAL_CPPFLAGS := \ |
| 40 | $(LOCAL_CPPFLAGS) \ |
Stephen Hines | 36b5688 | 2014-04-23 16:57:46 -0700 | [diff] [blame] | 41 | -Wno-sign-promo \ |
| 42 | -std=c++11 |
Shih-wei Liao | c156bc6 | 2010-06-07 22:05:52 -0700 | [diff] [blame] | 43 | |
Pirama Arumuga Nainar | f3ef533 | 2016-03-03 15:48:50 -0800 | [diff] [blame] | 44 | LOCAL_CPPFLAGS_linux := \ |
| 45 | -Woverloaded-virtual |
| 46 | |
| 47 | LOCAL_CPPFLAGS_darwin += \ |
| 48 | -Wno-deprecated-declarations \ |
| 49 | -Woverloaded-virtual |
| 50 | |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 51 | # Make sure bionic is first so we can include system headers. |
| 52 | LOCAL_C_INCLUDES := \ |
| 53 | $(LLVM_ROOT_PATH) \ |
| 54 | $(LLVM_ROOT_PATH)/include \ |
| 55 | $(LLVM_ROOT_PATH)/host/include \ |
| 56 | $(LOCAL_C_INCLUDES) |
| 57 | |
Dan Willemsen | 2b5f56b | 2015-08-18 17:14:59 -0700 | [diff] [blame] | 58 | LOCAL_LDLIBS_linux += -lgcc_s |
Stephen Hines | b079d88 | 2016-07-18 21:14:40 -0700 | [diff] [blame] | 59 | LOCAL_LDLIBS_windows += -luuid |
Stephen Hines | b6426fc | 2014-10-31 01:44:58 -0700 | [diff] [blame] | 60 | |
Shih-wei Liao | e445432 | 2010-04-07 12:21:42 -0700 | [diff] [blame] | 61 | LOCAL_IS_HOST_MODULE := true |
| 62 | |
Stephen Hines | 7478cb1 | 2015-09-18 19:03:33 -0700 | [diff] [blame] | 63 | ifeq (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 Cross | 62e6deb | 2015-04-07 15:05:50 -0700 | [diff] [blame] | 65 | LOCAL_MULTILIB := first |
Colin Cross | 92ccc85 | 2015-04-08 14:50:08 -0700 | [diff] [blame] | 66 | endif |