Boost logo

Boost-Build :

From: Jurko Gospodnetić (jurko.gospodnetic_at_[hidden])
Date: 2008-01-05 17:44:51


   Hi Rene.

> There's been a long standing debate between myself and others about the
> names :-) I personally prefer the more descriptive, and direct, names of
> project-root.jam (or project.jam, or root.jam) and build.jam. But I've
> only "complained" about the names when someone suggest to remove the
> option of letting me use my preferred names ;-) Hence having a
> consistent suggested names in docs is fine with me. But preventing the
> use of others, with things like deprecation messages, is not.

   Ok. In that case would it be ok to go with:

     * Make Jamfile.jam and Jamroot.jam be the 'official' names.
     * Provide support for alternative Jamroot.jam names:
         * [Jj]amroot(.jam|.v2|)
         * project-root.jam
     * Provide support for alternative Jamfile.jam names:
         * [Jj]amfile(.jam|.v2|)
         * [Bb]uild.jam
     * Document the official names but also explicitly note in a single
place in the documentation all the supported alternative names as well.
     * Update the documentation and test code to use only the official
names.
     * Document that it is undefined which of the alternative file names
will be loaded in case there is more than one in the same folder. Boost
Build already displays a warning regarding this.

   Would this be ok? Does not seem to be much different from how it is
implemented now... just the docs/tests need to be updated and possibly
some new Jamfile naming tests prepared.

> I think we have to keep the lower/upper case options around just because
> there are system where the distinction doesn't exist.

   Ok, added them to the list above, but if I were to nit-pick, :-) we
do not support jAmrOOt.jAm for example... Why support Jamroot.jam then?
(other then the obvious - existing usage)

   I remember it being a pain trying to figure out what all of those
different (and undocumented) file names were when starting out.
Documentation mostly kept saying 'Jamroot/Jamfile', then in some places
it would say project-root without defining this, then sources would use
both terms, then test cases would use both terms...

>> Btw. is BBv1 finally dead? Can we remove hacks related to it?
>
> No clue which BBv1 hacks you are referring to.

   Things that pop to mind are:

   * Comments through out the code referring to v1.
   * v2 folder in the source tree (thank god for Subversion... :-) )
   * Having the main bootstrap.jam forward to kernel/bootstrap.jam.
   * Test code related to v1.
   * [Jj]amroot.v2 and [Jj]amroot.v2 support.
   * BOOST_ROOT environment variable handling.
   * 'Temporary' logic in project.find-jamfile related to choosing which
file to load in case of multiple detected Jamfiles in the same folder.

   Anyway, there is not much... but causes extra confusion for people
new to Boost Build.

   Best regards,
     Jurko Gospodnetić


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