Boost logo

Boost :

From: Benoit Sigoure (tsuna_at_[hidden])
Date: 2007-11-16 12:27:25


On Nov 16, 2007, at 2:52 PM, Jens Seidel wrote:

> On Thu, Nov 15, 2007 at 08:43:49PM +0100, Benoit Sigoure wrote:
>> I wrote a set of M4 macros to use the Boost libraries with GNU
>> Autoconf. I did not find any macro that was reliable enough. If
>
> I just want to mention that there exist also
> http://autoconf-archive.cryp.to/macros-by-category.html#BOOST. See
> also
> http://randspringer.de/boost/index.html.

The 2nd link seem to be an empty article that forwards you to the 1st
link.
The Boost macros in the (non official) `Autoconf Macro Archive' had
issues and the code was almost impossible to maintain. In
particular, these macros did not work well with cross-compilation,
they were mixings LDFLAGS and LIBS, they did not handle the various
`layout' (in particular they did not work *at all* if you didn't use
`bjam install --layout=system'), they often failed to detect properly
the version of Boost, or failed to find an installation of Boost that
matches your version requirements, or finds the headers in one place
and the libs in another place (which leads to all sorts of problems
especially when you have a system-wide Boost under /usr/local
compiled for GCC4 and you want to use another install of Boost for
GCC3, for instance) etc etc.
Some things were hard coded instead of being tested at configure time
(which is against the Autoconf philosophy and is fated to fail) and
the whole thing was hard to extend and had tons and tons of code
duplication for the various Boost libraries.

> Benoit, can you compare your macros with these from the autoconf
> archives? What is different?

My macros don't have all the problems mentioned above and they can
easily be extended (you can handle new Boost libraries by adding 2 or
3 lines of M4 which was very useful, for instance, when a friend of
mine wanted to detect Boost.Asio -- which isn't even released at this
time).

> I vague remember also a few problems with ax_boost_base and friends.
> Some stuff was fixed by the author, other not yet (I contacted him of
> course).

I also started with these macros and started to fix them, but overall
it was more work than Doing It Right straight away.

>> you're interested, you can have a look at the code:
>> http://repo.or.cz/w/boost.m4.git
>
> Will do.
>
>> The code is currently under GPLv3+ but if Boost wants to ship this
>> with Boost itself, and if doing this requires license adaptations,
>> I'm inclined to use another Free license.
>
> I'm not sure but this requires all software projects using it to use
> the same license? At least the autoconf archive contains a special
> exception to the GPL. See e.g. the bottom of
> http://autoconf-archive.cryp.to/acx_pthread.html

I'm not a license expert but I guess that using a GPL macro in a non-
GPL project is fine, as the project doesn't require linking with code
generated by the macro (since the macro doesn't generate actual
code). But since I'm not an expert with licensing issues, and since,
ideally, I'd like to have these macros integrated in Boost itself, I
was just mentioning that I'm open to other Free licenses, if that is
required.

Cheers,

-- 
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk