Handle common linkage correctly in the gold plugin.
[oota-llvm.git] / tools / gold / Makefile
index eccffcbda6b912edbaa5621e719034277826b1ce..aa006b0048fc7de9a759de6058bfc56ed4fc327e 100644 (file)
@@ -7,24 +7,25 @@
 # 
 ##===----------------------------------------------------------------------===##
 
-LEVEL = ../..
-LIBRARYNAME = LLVMgold
+LEVEL := ../..
+LIBRARYNAME := LLVMgold
+LINK_LIBS_IN_SHARED := 1
+SHARED_LIBRARY := 1
+LOADABLE_MODULE := 1
+
+EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/gold.exports
 
 # Include this here so we can get the configuration of the targets
 # that have been configured for construction. We have to do this 
 # early so we can set up LINK_COMPONENTS before including Makefile.rules
 include $(LEVEL)/Makefile.config
 
-LINK_LIBS_IN_SHARED=1
-SHARED_LIBRARY = 1
-BUILD_ARCHIVE = 0
-DONT_BUILD_RELINKED = 1
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) Linker BitWriter IPO
 
-LINK_COMPONENTS :=
-LIBS += -llto
+# Because off_t is used in the public API, the largefile parts are required for
+# ABI compatibility.
+CXXFLAGS += -I$(BINUTILS_INCDIR) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
+LDFLAGS += -L$(SharedLibDir)/$(SharedPrefix)
 
 include $(LEVEL)/Makefile.common
 
-# Because off_t is used in the public API, the largefile parts are required for
-# ABI compatibility.
-CXXFLAGS+=-I$(BINUTILS_INCDIR) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -lLTO