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