[pacman-dev] [PATCH] Configure: Check if libfetch version is >= 2.21
Xavier
shiningxc at gmail.com
Mon Aug 24 17:22:10 EDT 2009
On Mon, Aug 24, 2009 at 10:42 PM, Xavier<shiningxc at gmail.com> wrote:
> On Mon, Aug 24, 2009 at 10:10 PM, Henning
> Garus<henning.garus at googlemail.com> wrote:
>> Commit 6f97842 started using libfetch's conditional GET. This requires libfetch
>> to be version 2.21 or greater.
>>
>> Change configure.ac to check for the existence of the last_modified field in
>> the url struct, which was introduced with libfetch 2.21.
>>
>> Signed-off-by: Henning Garus <henning.garus at gmail.com>
>> ---
>> configure.ac | 7 ++++++-
>> 1 files changed, 6 insertions(+), 1 deletions(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index b2164b9..40d8e13 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -142,7 +142,12 @@ 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_CHECK_LIB([fetch], [fetchParseURL],
>> + # Check if libfetch supports conditional GET
>> + # (version >=2.21, struct url has member last_modified)
>> + AC_CHECK_MEMBER(struct url.last_modified, ,
>> + AC_MSG_ERROR([libfetch must be version 2.21 or greater]),
>> + [#include <fetch.h>] ),
>> AC_MSG_ERROR([libfetch is needed to compile with internal download support]) )
>> else
>> AC_MSG_RESULT(no)
>> --
>> 1.6.4.1
>>
>>
>>
>
> AC_CHECK_MEMBER is exactly what we need :)
>
> however, for some reason, this patch did not work as expected. it
> prevented AC_CHECK_LIB from working and adding -lfetch
>
> I reworked the patch as follow :
> diff --git a/configure.ac b/configure.ac
> index b2164b9..e0d0687 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -144,6 +144,11 @@ if test "x$internaldownload" = "xyes" ; then
> # Check for a download library if it was actually requested
> AC_CHECK_LIB([fetch], [fetchParseURL], ,
> AC_MSG_ERROR([libfetch is needed to compile with
> internal download support]) )
> + # Check if libfetch supports conditional GET
> + # (version >=2.21, struct url has member last_modified)
> + AC_CHECK_MEMBER(struct url.last_modified, ,
> + AC_MSG_ERROR([libfetch must be version 2.21 or greater]),
> + [#include <fetch.h>] ),
> else
> AC_MSG_RESULT(no)
> fi
>
> Does it look fine to you? and do you know why yours did not work for me?
>
so henning found the explanation :
If action-if-found is not specified, the default action prepends
-llibrary to LIBS and defines ‘HAVE_LIBlibrary’
and he approves my version :)
More information about the pacman-dev
mailing list