OSDN Git Service

Merge "Don't force LLVM to be only built as 64-bit on the host."
[android-x86/external-llvm.git] / llvm-host-build.mk
index afe6b4c..2f71710 100644 (file)
@@ -1,15 +1,35 @@
-LOCAL_CFLAGS :=        \
+ifeq ($(FORCE_BUILD_LLVM_DEBUG),true)
+local_optflags = -O0 -g
+else
+local_optflags = -O2
+endif
+
+LOCAL_CFLAGS +=        \
        -D_GNU_SOURCE   \
        -D__STDC_LIMIT_MACROS   \
-       -O2     \
+       $(local_optflags)       \
        -fomit-frame-pointer    \
        -Wall   \
        -W      \
        -Wno-unused-parameter   \
+       -Wno-maybe-uninitialized \
+       -Wno-missing-field-initializers \
        -Wwrite-strings \
+       -Werror \
+       -Dsprintf=sprintf \
        $(LOCAL_CFLAGS)
 
-ifeq ($(LLVM_ENABLE_ASSERTION),true)
+LOCAL_CFLAGS_darwin += -Wno-error=deprecated-declarations
+
+# Disable certain warnings as errors 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-error=array-bounds \
+                       -Wno-error=comment \
+                       -Wno-error=return-type \
+                       -UWIN32_LEAN_AND_MEAN
+
+ifeq ($(FORCE_BUILD_LLVM_DISABLE_NDEBUG),true)
 LOCAL_CFLAGS :=        \
        $(LOCAL_CFLAGS) \
        -D_DEBUG        \
@@ -32,7 +52,8 @@ endif
 LOCAL_CPPFLAGS :=      \
        $(LOCAL_CPPFLAGS)       \
        -Woverloaded-virtual    \
-       -Wno-sign-promo
+       -Wno-sign-promo         \
+       -std=c++11
 
 # Make sure bionic is first so we can include system headers.
 LOCAL_C_INCLUDES :=    \
@@ -41,15 +62,29 @@ LOCAL_C_INCLUDES := \
        $(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_IS_HOST_MODULE := true
 
+ifeq ($(HOST_PREFER_32_BIT),true)
+LOCAL_MULTILIB := 32
+else
+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
+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) $(TBLGEN) \
+$(hide) $(LLVM_TBLGEN) \
        -I $(dir $<)    \
        -I $(LLVM_ROOT_PATH)/include    \
        -I $(LLVM_ROOT_PATH)/host/include       \