cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: size of curl_off_t in configure

From: Yang Tse <yangsita_at_gmail.com>
Date: Mon, 25 Aug 2008 03:45:15 +0200

2008/8/24, Daniel Stenberg wrote:

> I've just added a new command line option to configure, called
> --enable-soname-bump, to be used by users who knows that the libcurl build
> is binary incompatible - if the configure script fails to detect it. I've
> updated README.curl_off_t to mention this.
>
> Now, I can think of one obvious check in configure:
>
> if sizeof(off_t) != sizeof(curl_off_t)
> soname_bump++
> fi

I'm not absolutely sure that we can certainly detect if soname bump is
required with tests which only affect 7.19.0, after all 7.18.2 could
have been built with LFS enabled or not.

I think that the _real_ check would involve checking discrepancies in
size of both curl_off_t and off_t between 7.19.0 and an already built
7.18.2

How to do the above ? A nightmare, if possible at all, in configure,
but probably easier with the help of a couple of simple programs to
verify sizes (one linked to each libcurl version)

I wonder if all this 'might don't need a soname bump' is even worse in
the long run than a true 'official' breakage and providing the means
to now if they can safely symlink the old to the new library.

> The other checks I was considering before have all just died in my mind
> while I've bounced all this back and forth.

I really know what you mean with the above statement. Right now I have
a similar bouncing problem with placing or not the sizeof(off_t) in
the public interface, once placed and released it cannot be removed. I
have a 20% feeling against placing it, but I still have to rationalize
that feeling with facts and arguments which I suspect might appear or
vanish once I make the needed changes to my local copy of the
non-configure curlbuild.h.dist

> My problem is the way curl_off_t is detected in the current configure. I'm a
> bit puzzled how I should proceed to figure out the size and thus write the
> code for the check I mention above!

Yep it wasn't very clear. Now with the renames I've just committed to CVS...

In the configure script, once that CURL_CONFIGURE_CURL_OFF_T has been
'called' you directly have the sizeof(curl_off_t) in shell variable
$curl_sizeof_curl_off_t

-- 
-=[Yang]=-
Received on 2008-08-25