Roger Binns wrote [on Sun, 03 Jan 2010 09:56:46 -0800]:
Adam Kennedy wrote:
Unfortunately, we neither have the ability to run configure (as we
don't have reliable access to /bin/sh or any of the other stuff it
needs) or the ability to use a pregenerated static configuration
across all platforms.

Well, you already pre-generate -DHAVE_USLEEP which doesn't exist on Windows
or older Unixen!  Your only workaround is to read/run the real configure to
see what kind of stuff it generates and then write your own tests to
generate the same flags.

GMTIME_R/LOCALTIME_R will affect performance if doing date/time code - not
having them means SQLite internally uses a mutex around calls to
gmtime/localtime which still leaves you vulnerable to bogus data if any
other non-SQLite thread in the program calls those functions.

The other flags mainly cover header file presence and you'll generally get
away without defines for them (unistd.h likely has everything anyway).  The
only likely gotcha is if you have extension loading enabled in which case
SQLite needs to know which header contains dlopen and friends.

In response to the above message, following is Adam Kennedy's reply of yesterday, which I am forwarding to the sqlite-users list.

Anyone on sqlite-users who wants to respond on this thread, please cross-post to [email protected] (which I moderate) and I will let it in. Anyone on dbd-sqlite only that is interested in such issues should also join sqlite-users so they can post to it directly.

-- Darren Duncan

-------- Original Message --------
Subject: Re: [Fwd: Re: [sqlite] [DBD-SQLite] Re: SQLite bug ticket - build fails on sun4-solaris-64int 2.10]
Date: Mon, 4 Jan 2010 10:40:21 +1100
From: Adam Kennedy <[email protected]>
Reply-To: [email protected]
To: Darren Duncan <[email protected]>
CC: DBD::SQLite Mailing List <[email protected]>
References: <[email protected]>

(Darren can you bump this onto the SQLite list? Thanks)

The HAVE_USLEEP flag is provided by the following.

if ( $Config{d_usleep} || $Config{osname} =~ m/linux/ ) {
        push @CC_DEFINE, '-DHAVE_USLEEP=1';
}

The %Config hash exposes the internal flags and settings that the
underlying Perl language was originally compiled with.

The $Config{d_usleep} flag should be true if the original Perl
./Configure run detected it.

I can confirm that when I build on Windows we don't use HAVE_USLEEP

Adam K

_______________________________________________
DBD-SQLite mailing list
[email protected]
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbd-sqlite

Reply via email to