Boost logo

Boost-Build :

From: Jurko Gospodnetić (jurko.gospodnetic_at_[hidden])
Date: 2008-06-26 15:39:06


   Hi Andrej.

> I was wondering why the following Jamfile creates
> "speedo/bin/speedoctl" in the current directory when I
> run it in Cygwin:
>
> path-constant INSTALL_PATH : /speedo ;
> install $(INSTALL_PATH)/bin : speedoclt ;
>
> But when I run it in Debian it is created in the
> root-directory.
>
> Is there any reason for this?

   I just tested it with the trunk Boost Build version and on Windows
under both cmd.exe and cygwin's bash shell it places the installed
target under the current folder.

   Workaround that should work on all platforms should be:

path-constant INSTALL_PATH : /speedo ;
install speedoInstall : speedoclt : <location>$(INSTALL_PATH)/bin ;

   There are several factors affecting this:

   1. Path constants are always in platform native format, i.e. your
INSTALL_PATH variable holds the value '\speedo' instead of '/speedo'.
   2. Install rule uses its name as its target location in case no
target location is explicitly specified using the <location> option.
   3. Something silently trims '\' characters from target names.

   I'll look some more into why '\' characters get trimmed but this
should be enough to solve your problem.

   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