Package: pepper
Version: 0.3.2-2
Severity: normal
Tags: patch upstream
User: debian-...@lists.debian.org
Usertags: ld-as-needed

pepper fails to build, in Ubuntu, where the ld --as-needed option is
used by default.

The attached patch would fix this issue. I've forwarded it upstream.
https://sourceforge.net/tracker/?func=detail&aid=3584851&group_id=386093&atid=1604686

See also
http://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries

Thanks for considering the patch.

SR
Description: Build with the ld --as-needed option
 Libraries should appear after all objects on the gcc command line, which
 generally means using LDADD macros instead of LDFLAGS for libraries
Author: Stefano Rivera <stefa...@ubuntu.com>
Bug-Upstream: 
https://sourceforge.net/tracker/?func=detail&aid=3584851&group_id=386093&atid=1604686
Last-Updated: 2012-11-06

--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -45,7 +45,10 @@
 pepper_SOURCES = \
        main.cpp
 pepper_LDADD = \
-       libpepper.a
+       libpepper.a \
+       $(PTHREAD_LIBS) \
+       $(LUA_LIB) \
+       $(FRAMEWORKS)
 
 AM_CXXFLAGS = \
        -Wall -W -pipe \
@@ -55,10 +58,7 @@
 AM_CPPFLAGS = \
        $(LUA_INCLUDE) \
        -DDATADIR=\"$(pkgdatadir)\"
-AM_LDFLAGS = \
-       $(PTHREAD_LIBS) \
-       $(LUA_LIB) \
-       $(FRAMEWORKS)
+AM_LDFLAGS = 
 
 # Debugging?
 if DEBUG
@@ -84,7 +84,7 @@
        -DUSE_MERCURIAL
 AM_CXXFLAGS += \
        $(PYTHON_CPPFLAGS)
-AM_LDFLAGS += \
+pepper_LDADD += \
        $(PYTHON_LDFLAGS)
 endif
 
@@ -100,7 +100,8 @@
        $(APR_CFLAGS) \
        $(SVN_CFLAGS)
 AM_LDFLAGS += \
-       $(SVN_LDFLAGS) \
+       $(SVN_LDFLAGS)
+pepper_LDADD += \
        $(SVN_LIBS) \
        $(APR_LIBS)
 endif
--- a/m4/configure_backends.m4
+++ b/m4/configure_backends.m4
@@ -70,8 +70,9 @@
                                AC_CHECK_LIB([svn_diff-1], 
[svn_diff_file_diff_2], ,[AC_MSG_ERROR([Neccessary Subversion libraries are 
missing])]) 
                                AC_CHECK_LIB([svn_delta-1], 
[svn_txdelta_apply], ,[AC_MSG_ERROR([Neccessary Subversion libraries are 
missing])]) 
                                AC_CHECK_LIB([svn_repos-1], [svn_repos_create], 
,[AC_MSG_ERROR([Neccessary Subversion libraries are missing])]) 
+                               SVN_LDFLAGS=$LDFLAGS
                                LDFLAGS=$OLD_LDFLAGS
-                               SVN_LDFLAGS=$LIBS
+                               SVN_LIBS=$LIBS
                                LIBS=$OLD_LIBS
                                AC_SUBST(SVN_CFLAGS)
                                AC_SUBST(SVN_LDFLAGS)
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -104,7 +104,9 @@
 @SVN_BACKEND_TRUE@     $(SVN_CFLAGS)
 
 @SVN_BACKEND_TRUE@am__append_12 = \
-@SVN_BACKEND_TRUE@     $(SVN_LDFLAGS) \
+@SVN_BACKEND_TRUE@     $(SVN_LDFLAGS)
+
+@SVN_BACKEND_TRUE@am__append_12b = \
 @SVN_BACKEND_TRUE@     $(SVN_LIBS) \
 @SVN_BACKEND_TRUE@     $(APR_LIBS)
 
@@ -359,7 +361,12 @@
        main.cpp
 
 pepper_LDADD = \
-       libpepper.a
+       libpepper.a \
+       $(PTHREAD_LIBS) \
+       $(LUA_LIB) \
+       $(FRAMEWORKS) \
+       $(am__append_8) \
+       $(am__append_12b)
 
 AM_CXXFLAGS = -Wall -W -pipe $(PTHREAD_CFLAGS) $(am__append_1) \
        $(am__append_7) $(am__append_11) $(am__append_16)
@@ -369,8 +376,8 @@
 AM_CPPFLAGS = $(LUA_INCLUDE) -DDATADIR=\"$(pkgdatadir)\" \
        $(am__append_4) $(am__append_6) $(am__append_10) \
        $(am__append_14) $(am__append_18)
-AM_LDFLAGS = $(PTHREAD_LIBS) $(LUA_LIB) $(FRAMEWORKS) $(am__append_2) \
-       $(am__append_8) $(am__append_12)
+AM_LDFLAGS = $(am__append_2) \
+       $(am__append_12)
 
 # Last but not least, the CFLAGS
 AM_CFLAGS = $(AM_CXXFLAGS)
--- a/configure
+++ b/configure
@@ -8439,8 +8439,9 @@
   as_fn_error $? "Neccessary Subversion libraries are missing" "$LINENO" 5
 fi
 
+                               SVN_LDFLAGS=$LDFLAGS
                                LDFLAGS=$OLD_LDFLAGS
-                               SVN_LDFLAGS=$LIBS
+                               SVN_LIBS=$LIBS
                                LIBS=$OLD_LIBS
 
 

Reply via email to