On Fri, Apr 9, 2010 at 8:21 AM, Matthias Lanzinger <[email protected]> wrote: > I noticed a serious mistake in my previous patch. > -lssl and -lcrypto were beeing added to $LIBS and > by that they were added as linker flags during compilation. > This overruled the --as-needed flag and causes ssl to be directly > linked to pacman. > > Signed-off-by: Matthias Lanzinger <[email protected]>
I'm actually going to revert most of this link stuff as you are still not doing it right, and I want to make our library linking process a bit saner. > --- > configure.ac | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/configure.ac b/configure.ac > index d0fed48..9bb0cd1 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -142,8 +142,8 @@ if test "x$internaldownload" = "xyes" ; then > AC_MSG_RESULT(yes) > AC_DEFINE([INTERNAL_DOWNLOAD], , [Use internal download library]) > # Check for a download library if it was actually requested > - AC_CHECK_LIB([fetch], [fetchParseURL], [AC_SUBST([LIBS], ["-lfetch > -lssl -lcrypto -ldl $LIBS"])], > - AC_MSG_ERROR([libfetch is needed to compile with internal > download support]), [-lssl -lcrypto -ldl] ) > + AC_CHECK_LIB([fetch], [fetchParseURL], [AC_SUBST([LIBS], ["-lfetch > -ldl $LIBS"])], > + AC_MSG_ERROR([libfetch is needed to compile with internal > download support]), [-lcrypto -ldl] ) The [-lcrypto -ldl] in the second line here is completely wrong if I'm reading autoconf docs correctly. This is meant to be fallback libraries, not additional dependencies of the original library. > # Check if libfetch supports conditional GET > # (version >=2.21, struct url has member last_modified) > AC_CHECK_MEMBER(struct url.last_modified, , > -- Basically this whole thing assumes you are running with a libfetch compiled exactly as we do. Who says you need crypto support? We shouldn't be making these decisions during config time. -Dan
