Blob Blame History Raw
diff -up subversion-1.6.12/build/generator/gen_base.py.pie subversion-1.6.12/build/generator/gen_base.py
--- subversion-1.6.12/build/generator/gen_base.py.pie	2010-09-07 14:05:29.307274005 +0100
+++ subversion-1.6.12/build/generator/gen_base.py	2010-09-07 14:05:29.313274265 +0100
@@ -357,7 +357,7 @@ class TargetLinked(Target):
     self.install = options.get('install')
     self.compile_cmd = options.get('compile-cmd')
     self.sources = options.get('sources', '*.c *.cpp')
-    self.link_cmd = options.get('link-cmd', '$(LINK)')
+    self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
 
     self.external_lib = options.get('external-lib')
     self.external_project = options.get('external-project')
@@ -413,6 +413,11 @@ class TargetExe(TargetLinked):
     self.manpages = options.get('manpages', '')
     self.testing = options.get('testing')
 
+    if self.install == 'test' or self.install == 'bdb-test':
+      self.link_cmd = '$(LINK_TEST)'
+    else:
+      self.link_cmd = '$(LINK_EXE)'
+
   def add_dependencies(self):
     TargetLinked.add_dependencies(self)
 
@@ -456,8 +461,8 @@ class TargetLib(TargetLinked):
     self.msvc_export = options.get('msvc-export', '').split()
 
     ### hmm. this is Makefile-specific
-    if self.link_cmd == '$(LINK)':
-      self.link_cmd = '$(LINK_LIB)'
+    if self.install == 'test':
+       self.link_cmd = '$(LINK_TEST_LIB)'
 
 class TargetApacheMod(TargetLib):
 
diff -up subversion-1.6.12/Makefile.in.pie subversion-1.6.12/Makefile.in
--- subversion-1.6.12/Makefile.in.pie	2010-09-07 14:05:29.308274305 +0100
+++ subversion-1.6.12/Makefile.in	2010-09-07 14:14:28.795274233 +0100
@@ -184,8 +184,11 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
 COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
 COMPILE_JAVAHL_JAVAH = $(JAVAH)
 
-LINK_LIB = $(LINK) -rpath $(libdir)
 LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_LIB = $(LINK) -rpath $(libdir)
+LINK_TEST = $(LINK) -no-install
+LINK_TEST_LIB = $(LINK) -avoid-version
+LINK_EXE = $(LINK) -pie
 LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
 
 # special link rule for mod_dav_svn
@@ -600,7 +603,7 @@ schema-clean:
 	$(top_srcdir)/build/transform_sql.sh $< < $< > $(top_srcdir)/$@
 
 .c.o:
-	$(COMPILE) -o $@ -c $<
+	$(COMPILE) -fpie -o $@ -c $<
 
 .cpp.o:
 	$(COMPILE_CXX) -o $@ -c $<