detect presence of threads support in sqlite3 port

Thierry Thomas thierry at FreeBSD.org
Sat Sep 30 10:49:44 PDT 2006


Le Sam 30 sep 06 à 19:09:42 +0200, Alexander Botero-Lowry <alexbl at FreeBSD.org>
 écrivait :
> This is the exact issue that sparked my interest in some kind of OPTIONS 
> dependency/checking mechanism in ports. One of my ports (audio/xmms2) requires
> that sqlite3 be built threadsafe, and there is no way to detect this at runtime
> so it would be possible to end up with a nastly corrupted medialib because of
> this.
> 
> So the idea would be to store the OPTIONS choices file in the pkgdb as +OPTIONS
> or something, and then to be able to say NEED_OPTIONS=sqlite3:THREADS or 
> something like that.

I don't know if someone has planned to add such a mechanism in options,
but it's always possible to create a config file, where you can store
what you need. E.g. see how PHP ports create the file etc/php.conf.

> > sqlite supports pkg-config, so you could try something based upon
> >
> > pkg-config --libs sqlite3 | grep '\${PTHREAD_LIBS}'
> This might not always work since sqlite3's thread safety is if I remember 
> correctly a test to see if threads are using their own contexts or using a
> global one, and asserting if they try to use a global one. It doesn't 
> really requite pthreads and that is probably just there as a convenience.

I did'nt know that, but that's how a configure script would solve the
problem...
-- 
Th. Thomas.


More information about the freebsd-ports mailing list