From 1c588505b88c8052c0450e384f2d0d0281ea8a63 Mon Sep 17 00:00:00 2001
From: Chris Lattner <sabre@nondot.org>
Date: Mon, 4 Nov 2002 20:50:33 +0000
Subject: [PATCH] Generalize ExportSymbols into PLATFORMLINKOPTS

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4542 91177308-0d34-0410-b5e6-96231b3b80d8
---
 Makefile.Linux  | 6 +++---
 Makefile.common | 7 ++++---
 Makefile.rules  | 7 ++++---
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/Makefile.Linux b/Makefile.Linux
index 27ae66e4592..4d411f081e5 100644
--- a/Makefile.Linux
+++ b/Makefile.Linux
@@ -10,10 +10,10 @@
 #
 MakeSharedObjectOption := -shared
 
-# ExportSymbols - This is used by tools that need to make sure that all of their
-# symbols are exported for use at runtime by dlsym.
+# PLATFORMLINKOPTS - On Linux, we must specify this linker option so that all
+# symbols are exported by tools for runtime use by dlsym.
 #
-ExportSymbols := -Wl,--export-dynamic
+PLATFORMLINKOPTS := -Wl,--export-dynamic
 
 # Path to location for LLVM front-end for this architecture.  This setting may
 # be overriden by the Makefile.config option, and should not override it if set.
diff --git a/Makefile.common b/Makefile.common
index b9b1cc5b962..6d1698e2bab 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -393,6 +393,7 @@ STATICUSEDLIBS   := $(patsubst %.a.o, lib%.a, $(addsuffix .o, $(USEDLIBS)))
 USED_LIB_PATHS_G := $(addprefix $(LIBDEBUG)/, $(STATICUSEDLIBS))
 USED_LIB_PATHS_O := $(addprefix $(LIBRELEASE)/, $(STATICUSEDLIBS))
 USED_LIB_PATHS_P := $(addprefix $(LIBPROFILE)/, $(STATICUSEDLIBS))
+LINK_OPTS        := $(TOOLLINKOPTS) $(PLATFORMLINKOPTS)
 
 all::   $(TOOLEXENAMES)
 clean::
@@ -400,15 +401,15 @@ clean::
 
 $(TOOLEXENAME_G): $(ObjectsG) $(USED_LIB_PATHS_G) $(BUILD_ROOT_TOP)/tools/Debug/.dir
 	@echo ======= Linking $(TOOLNAME) debug executable $(WARN_MSG) =======
-	$(VERB) $(LinkG) -o $@ $(ObjectsG) $(USED_LIBS_OPTIONS_G) $(TOOLLINKOPTS)
+	$(VERB) $(LinkG) -o $@ $(ObjectsG) $(USED_LIBS_OPTIONS_G) $(LINK_OPTS)
 
 $(TOOLEXENAME_O): $(ObjectsO) $(USED_LIB_PATHS_O) $(BUILD_ROOT_TOP)/tools/Release/.dir
 	@echo ======= Linking $(TOOLNAME) release executable =======
-	$(VERB) $(LinkO) -o $@ $(ObjectsO) $(USED_LIBS_OPTIONS_O) $(TOOLLINKOPTS)
+	$(VERB) $(LinkO) -o $@ $(ObjectsO) $(USED_LIBS_OPTIONS_O) $(LINK_OPTS)
 
 $(TOOLEXENAME_P): $(ObjectsP) $(USED_LIB_PATHS_P) $(BUILD_ROOT_TOP)/tools/Profile/.dir
 	@echo ======= Linking $(TOOLNAME) profile executable =======
-	$(VERB) $(LinkP) -o $@ $(ObjectsP) $(USED_LIBS_OPTIONS_P) $(TOOLLINKOPTS)
+	$(VERB) $(LinkP) -o $@ $(ObjectsP) $(USED_LIBS_OPTIONS_P) $(LINK_OPTS)
 
 endif
 
diff --git a/Makefile.rules b/Makefile.rules
index b9b1cc5b962..6d1698e2bab 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -393,6 +393,7 @@ STATICUSEDLIBS   := $(patsubst %.a.o, lib%.a, $(addsuffix .o, $(USEDLIBS)))
 USED_LIB_PATHS_G := $(addprefix $(LIBDEBUG)/, $(STATICUSEDLIBS))
 USED_LIB_PATHS_O := $(addprefix $(LIBRELEASE)/, $(STATICUSEDLIBS))
 USED_LIB_PATHS_P := $(addprefix $(LIBPROFILE)/, $(STATICUSEDLIBS))
+LINK_OPTS        := $(TOOLLINKOPTS) $(PLATFORMLINKOPTS)
 
 all::   $(TOOLEXENAMES)
 clean::
@@ -400,15 +401,15 @@ clean::
 
 $(TOOLEXENAME_G): $(ObjectsG) $(USED_LIB_PATHS_G) $(BUILD_ROOT_TOP)/tools/Debug/.dir
 	@echo ======= Linking $(TOOLNAME) debug executable $(WARN_MSG) =======
-	$(VERB) $(LinkG) -o $@ $(ObjectsG) $(USED_LIBS_OPTIONS_G) $(TOOLLINKOPTS)
+	$(VERB) $(LinkG) -o $@ $(ObjectsG) $(USED_LIBS_OPTIONS_G) $(LINK_OPTS)
 
 $(TOOLEXENAME_O): $(ObjectsO) $(USED_LIB_PATHS_O) $(BUILD_ROOT_TOP)/tools/Release/.dir
 	@echo ======= Linking $(TOOLNAME) release executable =======
-	$(VERB) $(LinkO) -o $@ $(ObjectsO) $(USED_LIBS_OPTIONS_O) $(TOOLLINKOPTS)
+	$(VERB) $(LinkO) -o $@ $(ObjectsO) $(USED_LIBS_OPTIONS_O) $(LINK_OPTS)
 
 $(TOOLEXENAME_P): $(ObjectsP) $(USED_LIB_PATHS_P) $(BUILD_ROOT_TOP)/tools/Profile/.dir
 	@echo ======= Linking $(TOOLNAME) profile executable =======
-	$(VERB) $(LinkP) -o $@ $(ObjectsP) $(USED_LIBS_OPTIONS_P) $(TOOLLINKOPTS)
+	$(VERB) $(LinkP) -o $@ $(ObjectsP) $(USED_LIBS_OPTIONS_P) $(LINK_OPTS)
 
 endif