| LOCAL_CFLAGS += \ |
| -D_GNU_SOURCE \ |
| -D__STDC_LIMIT_MACROS \ |
| -fomit-frame-pointer \ |
| -Wall \ |
| -W \ |
| -Wno-sign-compare \ |
| -Wno-unused-parameter \ |
| -Wno-maybe-uninitialized \ |
| -Wno-missing-field-initializers \ |
| -Wwrite-strings \ |
| -Werror \ |
| -Dsprintf=sprintf \ |
| $(LOCAL_CFLAGS) |
| |
| # Disable certain warnings for use with mingw. |
| # We also must undefine WIN32_LEAN_AND_MEAN, since it is being passed globally |
| # on the command line, and LLVM defines this internally itself. |
| LOCAL_CFLAGS_windows += -Wno-array-bounds \ |
| -Wno-comment \ |
| -UWIN32_LEAN_AND_MEAN |
| |
| # Enable debug build only on Linux and Darwin |
| ifeq ($(FORCE_BUILD_LLVM_DEBUG),true) |
| LOCAL_CFLAGS_linux += -O0 -g |
| LOCAL_CFLAGS_darwin += -O0 -g |
| endif |
| |
| ifeq ($(FORCE_BUILD_LLVM_DISABLE_NDEBUG),true) |
| LOCAL_CFLAGS := \ |
| $(LOCAL_CFLAGS) \ |
| -D_DEBUG \ |
| -UNDEBUG |
| endif |
| |
| LOCAL_CFLAGS += -fno-exceptions |
| LOCAL_CPPFLAGS += -fno-rtti |
| |
| LOCAL_CPPFLAGS := \ |
| $(LOCAL_CPPFLAGS) \ |
| -Wno-sign-promo \ |
| -std=c++11 |
| |
| LOCAL_CPPFLAGS_linux := \ |
| -Woverloaded-virtual |
| |
| LOCAL_CPPFLAGS_darwin += \ |
| -Wno-deprecated-declarations \ |
| -Woverloaded-virtual |
| |
| # Make sure bionic is first so we can include system headers. |
| LOCAL_C_INCLUDES := \ |
| $(LLVM_ROOT_PATH) \ |
| $(LLVM_ROOT_PATH)/include \ |
| $(LLVM_ROOT_PATH)/host/include \ |
| $(LOCAL_C_INCLUDES) |
| |
| # Add on ncurses to have support for terminfo |
| LOCAL_LDLIBS_darwin += -lncurses |
| LOCAL_LDLIBS_linux += -lncurses |
| LOCAL_LDLIBS_linux += -lgcc_s |
| LOCAL_LDLIBS_windows += -luuid |
| |
| LOCAL_IS_HOST_MODULE := true |
| |
| ifeq (libLLVM, $(filter libLLVM,$(LOCAL_SHARED_LIBRARIES)$(LOCAL_SHARED_LIBRARIES_$(HOST_OS)))) |
| # Skip building a 32-bit shared object if they are using libLLVM. |
| LOCAL_MULTILIB := first |
| endif |
| |
| ########################################################### |
| ## Commands for running tblgen to compile a td file |
| ########################################################### |
| define transform-host-td-to-out |
| @mkdir -p $(dir $@) |
| @echo "Host TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<" |
| $(hide) $(LLVM_TBLGEN) \ |
| -I $(dir $<) \ |
| -I $(LLVM_ROOT_PATH)/include \ |
| -I $(LLVM_ROOT_PATH)/host/include \ |
| -I $(LLVM_ROOT_PATH)/lib/Target \ |
| $(if $(strip $(CLANG_ROOT_PATH)),-I $(CLANG_ROOT_PATH)/include,) \ |
| -gen-$(strip $(1)) \ |
| -d $@.d -o $@ $< |
| endef |