From 7d250f2b65fb7778f25277e58063ea2fdf76cf3e Mon Sep 17 00:00:00 2001 From: Sean Callanan Date: Mon, 12 Apr 2010 21:55:49 +0000 Subject: [PATCH] Build system fixes. llvm-mc depends on libEnhancedDisassembly, so we now build the static library in all cases (although the shared library is only built when requested/possible). Also, fixed a bug where edis wasn't properly initializing the targets it uses. llvm-svn: 101072 --- tools/Makefile | 14 ++++---------- tools/edis/Makefile | 11 +++++++---- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index c2b12e72117..876d1653b81 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -15,7 +15,10 @@ OPTIONAL_PARALLEL_DIRS := clang # NOTE: The tools are organized into five groups of four consisting of one # large and three small executables. This is done to minimize memory load # in parallel builds. Please retain this ordering. -DIRS := llvm-config + +# libEnhancedDisassembly must be built ahead of llvm-mc +# because llvm-mc links against libEnhancedDisassembly +DIRS := llvm-config edis PARALLEL_DIRS := opt llvm-as llvm-dis \ llc llvm-ranlib llvm-ar llvm-nm \ llvm-ld llvm-prof llvm-link \ @@ -36,10 +39,6 @@ include $(LEVEL)/Makefile.config ifeq ($(ENABLE_PIC),1) # No support for dynamic libraries on windows targets. ifneq ($(TARGET_OS), $(filter $(TARGET_OS), Cygwin MingW)) - # libEnhancedDisassembly must be built ahead of llvm-mc - # because llvm-mc links against libEnhancedDisassembly - DIRS += edis - # gold only builds if binutils is around. It requires "lto" to build before # it so it is added to DIRS. ifdef BINUTILS_INCDIR @@ -50,11 +49,6 @@ ifeq ($(ENABLE_PIC),1) endif endif -# Only build edis if X86 target support is enabled. -ifeq ($(filter $(TARGETS_TO_BUILD), X86),) - PARALLEL_DIRS := $(filter-out edis, $(PARALLEL_DIRS)) -endif - # Don't build edis if we explicitly disabled it. ifeq ($(DISABLE_EDIS),1) PARALLEL_DIRS := $(filter-out edis, $(PARALLEL_DIRS)) diff --git a/tools/edis/Makefile b/tools/edis/Makefile index a6d99c75628..57b941e7e45 100644 --- a/tools/edis/Makefile +++ b/tools/edis/Makefile @@ -17,8 +17,12 @@ BUILT_SOURCES = EDInfo.inc # early so we can set up LINK_COMPONENTS before including Makefile.rules include $(LEVEL)/Makefile.config -LINK_LIBS_IN_SHARED = 1 -SHARED_LIBRARY = 1 +ifeq ($(ENABLE_PIC),1) + ifneq ($(TARGET_OS), $(filter $(TARGET_OS), Cygwin MingW)) + LINK_LIBS_IN_SHARED = 1 + SHARED_LIBRARY = 1 + endif +endif LINK_COMPONENTS := $(TARGETS_TO_BUILD) x86asmprinter x86disassembler @@ -55,8 +59,7 @@ ifneq (,$(findstring ARM,$(TARGETS_TO_BUILD))) EDIS_DEFINES := $(EDIS_DEFINES) -DEDIS_ARM endif -CXXFLAGS := $(CXXFLAGS) -#$(EDIS_DEFINES) +CXXFLAGS := $(CXXFLAGS) $(EDIS_DEFINES) EDInfo.inc: $(TBLGEN) $(Echo) "Building semantic information header"