Subject: Re: [Boost-build] either "path.glob-tree" or "CHECK_IF_FILE" broken on windows in current svn version of boost-build
From: Moritz Hassert (mhassert_at_[hidden])
Date: 2011-05-12 07:44:36
Am Freitag, 6. Mai 2011, um 18:34:01 schrieb Moritz Hassert:
> Am Freitag, 6. Mai 2011, um 16:51:43 schrieb Steven Watanabe:
> > AMDG
> > On 05/06/2011 06:30 AM, Moritz Hassert wrote:
> > > I just did a bootstrap of the current boost-build (svn rev. 71622) on
> > > both linux and windows. I noticed that ./bjam install copies the
> > > example files to share/boost-build on linux but not on windows.
> > >
> > > The problem is in boost-build/Jamroot:
> > > The variable $(SELF) gets set to the correct absolute path of the form
> > > "T:\foo\bar\boost-build" but $(e1) the result of "path.glob-tree"
> > > contains entries of the form
> > > "/T:/foo/bar/boost-build/example/hello/readme.txt". Note the extra "/"
> > > at the front.
> > > CHECK_IF_FILE does not recognize those paths and therefore nothing is
> > > copied.
> > >
> > > In my opinion path.glob-tree and not CHECK_IF_FILE is broken, as those
> > > paths would be problematic also when passed to other tools outside
> > > boost-build.
> > This is not a bug in either. path.glob-tree
> > uses the internal path representation. You
> > need to use path.native.
> I see. So the bug is in boost-build/Jamroot: feeding the unconverted
> results of path.glob-tree to CHECK_IF_FILE.
> I propose inserting the line
> "e = [ path.native $(e) ] ;"
> into boost-build/Jamroot right before the CHECK_IF_FILE - line.
I filed a patch adding that line:
-- -- AB+M GmbH Haid-und-Neu-Straße 7 76131 Karlsruhe Telefon: (0721) 66488-0 Telefax: (0721) 66488-18 Geschaeftsfuehrer: Dipl.-Inform. Christopher Asp Amtsgericht Mannheim HRB 105845
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