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-06 12:34:01
Am Freitag, 6. Mai 2011, um 16:51:43 schrieb Steven Watanabe:
> 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.
-- -- 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