- update patches from devel branch

This commit is contained in:
jorton 2009-05-28 10:43:52 +00:00
parent addca8767e
commit c3262dde85
6 changed files with 134 additions and 166 deletions

View File

@ -1,33 +0,0 @@
Libraries should be linked with -rpath $libdir but programs should not.
Doing so for the latter means that a redundant RPATH entry of $libdir
will end up in the binaries.
The redundant RPATH can also cause obscure build failures by causing
in-build binaries to pick up libraries from the system environment,
which libtool will otherwise avoid.
--- subversion-1.5.1/build/generator/gen_base.py.rpath
+++ subversion-1.5.1/build/generator/gen_base.py
@@ -453,6 +453,9 @@ class TargetLib(TargetLinked):
self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
self.msvc_export = string.split(options.get('msvc-export', ''))
+ ### hmm. this is Makefile-specific
+ self.link_cmd = '$(LINK_LIB)'
+
class TargetApacheMod(TargetLib):
def __init__(self, name, options, gen_obj):
--- subversion-1.5.1/Makefile.in.rpath
+++ subversion-1.5.1/Makefile.in
@@ -167,7 +167,8 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
COMPILE_JAVAHL_JAVAH = $(JAVAH)
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_LIB = $(LINK) -rpath $(libdir)
# special link rule for mod_dav_svn
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)

View File

@ -1,84 +0,0 @@
--- subversion-1.5.2/build.conf.pie
+++ subversion-1.5.2/build.conf
@@ -452,7 +452,7 @@ type = swig_lib
lang = python
path = subversion/bindings/swig/python/libsvn_swig_py
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_PY_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
@@ -475,7 +475,7 @@ type = swig_lib
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
--- subversion-1.5.2/build/generator/gen_base.py.pie
+++ subversion-1.5.2/build/generator/gen_base.py
@@ -411,6 +411,9 @@ 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)'
+
def add_dependencies(self):
TargetLinked.add_dependencies(self)
@@ -453,8 +456,11 @@ class TargetLib(TargetLinked):
self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
self.msvc_export = string.split(options.get('msvc-export', ''))
- ### hmm. this is Makefile-specific
- self.link_cmd = '$(LINK_LIB)'
+ ### more Makefile-specific stuff:
+ if self.install == 'test':
+ self.link_cmd = '$(LINK_TEST_LIB)'
+ elif self.link_cmd == '$(LINK)':
+ self.link_cmd = '$(LINK_LIB)'
class TargetApacheMod(TargetLib):
--- subversion-1.5.2/Makefile.in.pie
+++ subversion-1.5.2/Makefile.in
@@ -2,7 +2,7 @@
# Makefile.in: template Makefile for Subversion
#
# ====================================================================
-# Copyright (c) 2000-2006 CollabNet. All rights reserved.
+# Copyright (c) 2000-2006, 2008 CollabNet. All rights reserved.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -151,9 +151,10 @@ CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
SWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS)
-COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES)
+BASE_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES)
+COMPILE = $(BASE_COMPILE) -fpie
COMPILE_CXX = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES)
-LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE)
+LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(BASE_COMPILE)
# special compilation for files destined for mod_dav_svn
COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c
@@ -168,8 +169,11 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
COMPILE_JAVAHL_JAVAH = $(JAVAH)
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
-LINK_LIB = $(LINK) -rpath $(libdir)
+BASE_LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK = $(BASE_LINK) -pie
+LINK_TEST = $(BASE_LINK) -no-install
+LINK_LIB = $(BASE_LINK) -rpath $(libdir)
+LINK_TEST_LIB = $(BASE_LINK)
# special link rule for mod_dav_svn
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)

View File

@ -1,28 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQBI/zKmCwOubk4kUXwRAv0uAKDF9bgcbI6wh+CJjVQhxP2NCYdHHgCfbrnW
iu/c3oCFpn+K5jJe3i3Fxtw=
=vvuv
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQBI/60VNR8z5DU+JbwRAh3mAJ0bxAceqhWh8CMAb9fzpAw+tX4vDwCfZ1RL
1ytJAOfOpgZ+vvo9nNELRtM=
=pQwt
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQBJAExk9o1G+2zNQDgRAoRKAKC7xxAXFJXw3UXkSz7tyXLd8s8RsgCgkv3v
cuIOw7HhUbImTOlfGETx5yY=
=QiCN
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)
iEYEABECAAYFAkkAJ0kACgkQ/P1jBZgh97LKWQCfQ/018LDOjTpSE9AdeFNCkMx4
jk4AnRs9u+iuTVYnNSnbZkoruVv4Jibx
=arbL
-----END PGP SIGNATURE-----

View File

@ -1,10 +1,21 @@
APR and APR-util are patched to store dependencies in the .la file.
--- subversion-0.20.1/build/ac-macros/aprutil.m4.deplibs 2003-03-26 16:34:47.000000000 +0000
+++ subversion-0.20.1/build/ac-macros/aprutil.m4 2003-04-29 11:03:54.000000000 +0100
@@ -64,11 +64,9 @@
AC_MSG_ERROR([apu-config --includes failed])
--- subversion-1.6.0/build/ac-macros/apr.m4.deplibs
+++ subversion-1.6.0/build/ac-macros/apr.m4
@@ -76,9 +76,9 @@ AC_DEFUN(SVN_LIB_APR,
dnl When APR stores the dependent libs in the .la file, we don't need
dnl --libs.
- SVN_APR_LIBS="`$apr_config --link-libtool --libs`"
+ SVN_APR_LIBS="`$apr_config --link-libtool`"
if test $? -ne 0; then
- AC_MSG_ERROR([apr-config --link-libtool --libs failed])
+ AC_MSG_ERROR([apr-config --link-libtool failed])
fi
SVN_APR_EXPORT_LIBS="`$apr_config --link-ld --libs`"
--- subversion-1.6.0/build/ac-macros/aprutil.m4.deplibs
+++ subversion-1.6.0/build/ac-macros/aprutil.m4
@@ -77,11 +77,9 @@ AC_DEFUN(SVN_LIB_APRUTIL,
AC_MSG_ERROR([apu-config --prefix failed])
fi
- dnl When APR stores the dependent libs in the .la file, we don't need
@ -17,17 +28,3 @@ APR and APR-util are patched to store dependencies in the .la file.
fi
SVN_APRUTIL_EXPORT_LIBS="`$apu_config --link-ld --libs`"
--- subversion-0.20.1/build/ac-macros/apr.m4.deplibs 2003-03-26 16:34:47.000000000 +0000
+++ subversion-0.20.1/build/ac-macros/apr.m4 2003-04-29 11:03:45.000000000 +0100
@@ -68,9 +68,9 @@
dnl When APR stores the dependent libs in the .la file, we don't need
dnl --libs.
- SVN_APR_LIBS="`$apr_config --link-libtool --libs`"
+ SVN_APR_LIBS="`$apr_config --link-libtool`"
if test $? -ne 0; then
- AC_MSG_ERROR([apr-config --link-libtool --libs failed])
+ AC_MSG_ERROR([apr-config --link-libtool failed])
fi
SVN_APR_EXPORT_LIBS="`$apr_config --link-ld --libs`"

View File

@ -0,0 +1,62 @@
--- subversion-1.6.0/build.conf.pie
+++ subversion-1.6.0/build.conf
@@ -472,7 +472,7 @@ type = swig_lib
lang = python
path = subversion/bindings/swig/python/libsvn_swig_py
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_PY_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
@@ -495,7 +495,7 @@ type = swig_lib
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
--- subversion-1.6.0/build/generator/gen_base.py.pie
+++ subversion-1.6.0/build/generator/gen_base.py
@@ -413,6 +413,9 @@ 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)'
+
def add_dependencies(self):
TargetLinked.add_dependencies(self)
@@ -455,8 +458,11 @@ class TargetLib(TargetLinked):
self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
self.msvc_export = options.get('msvc-export', '').split()
- ### hmm. this is Makefile-specific
- self.link_cmd = '$(LINK_LIB)'
+ ### more Makefile-specific stuff:
+ if self.install == 'test':
+ self.link_cmd = '$(LINK_TEST_LIB)'
+ elif self.link_cmd == '$(LINK)':
+ self.link_cmd = '$(LINK_LIB)'
class TargetApacheMod(TargetLib):
--- subversion-1.6.0/Makefile.in.pie
+++ subversion-1.6.0/Makefile.in
@@ -184,8 +185,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) -rpath $(libdir)
+BASE_LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK = $(BASE_LINK) -pie
+LINK_TEST = $(BASE_LINK) -no-install
+LINK_LIB = $(BASE_LINK) -rpath $(libdir)
+LINK_TEST_LIB = $(BASE_LINK)
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
# special link rule for mod_dav_svn

View File

@ -0,0 +1,54 @@
Libraries should be linked with -rpath $libdir but programs should not.
Doing so for the latter means that a redundant RPATH entry of $libdir
will end up in the binaries.
The redundant RPATH can also cause obscure build failures by causing
in-build binaries to pick up libraries from the system environment,
which libtool will otherwise avoid.
--- subversion-1.6.1/build.conf.rpath
+++ subversion-1.6.1/build.conf
@@ -472,7 +472,7 @@ type = swig_lib
lang = python
path = subversion/bindings/swig/python/libsvn_swig_py
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_PY_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
@@ -495,7 +495,7 @@ type = swig_lib
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
--- subversion-1.6.1/build/generator/gen_base.py.rpath
+++ subversion-1.6.1/build/generator/gen_base.py
@@ -455,6 +455,10 @@ class TargetLib(TargetLinked):
self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
self.msvc_export = options.get('msvc-export', '').split()
+ ### hmm. this is Makefile-specific
+ if self.link_cmd == '$(LINK)':
+ self.link_cmd = '$(LINK_LIB)'
+
class TargetApacheMod(TargetLib):
def __init__(self, name, options, gen_obj):
--- subversion-1.6.1/Makefile.in.rpath
+++ subversion-1.6.1/Makefile.in
@@ -184,7 +184,8 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
COMPILE_JAVAHL_JAVAH = $(JAVAH)
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
+LINK_LIB = $(LINK) -rpath $(libdir)
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
# special link rule for mod_dav_svn