Boost logo

Boost-Build :

From: Nicolas Mailhot (nicolas.mailhot_at_[hidden])
Date: 2007-10-04 14:33:36


Hi,

As part of my little contributions to the FLOSS community I'd like to
get argyllcms (http://www.argyllcms.com/) included in my Linux
distribution of choice. Why? Argyllcms is the reference color
management solution for FLOSS OSes. Current xorg colour management
capabilities suck big time. I can't ask my favorite distro xorg
maintainer to help fixing this if the associated tools are not even in
the distribution.

The argyllcms choice of build tool is perforce jam. Its build process
does a lot of stuff distributions frown upon (pervasive static
linking, use of private copies of common libs instead of the system
ones, etc). Clearly getting argyllcms inside my distro requires a lot
of Jamfile refactoring grunt work. (Indeed I don't think any
distribution includes argyllcms today due to those problems)

I figured this would be easier using boost-jam inside of perforce jam,
since boost jam actually has dynamic linking built-in rules.

Since I know next to nothing about perforce or boost jam (indeed I
didn't even know they existed last week), I'd appreciate if some of
the boost jam experts on the list could take a look at the current
argyllcms jam build files
(http://www.argyllcms.com/argyllV0.70Beta6_src.zip), and provide
advice (in the form of examples, boost jam design patterns, whatever)
on how to refactor them. Note I'm not asking for people to do the
refactor on my place (that would be nice, but I'm not counting on
this), just to point me in the right direction. I'll take up from
there and do the grunt work myself.

The refactoring objectives would be:
1. drop the need for a specific Jambase, or at least limit this
Jambase to needed additions to the default config
2. have argyllcms link dynamically against system libtiff and libusb
instead of linking statically against private copies
3. teach argyllcms xorg is modular nowadays, so dynamically linking
against xorg libs should be set up using pkg-config
4. have argyllcms use dynamic linking instead of static linking
internally (all the components of argyllcms are not released under the
same license, and static linking makes it hard to check all is all
right legally)
5. ideally, keep a full-static mode so the refactoring can be accepted
upstream and out-of-distro builds still behave like they do today.

I'm probably not the best person to do all this but no one else is
volunteering, so any help towards those objectives would be deeply
appreciated.

Regards,

-- 
Nicolas Mailhot

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk