Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2007-03-14 21:42:23


I have a situation where I need to run the vc8 toolset and
VS80COMNTOOLS is not already set in the environment. This is, in
fact, what you get when you open a cygwin shell. When VS80COMNTOOLS
isn't set, vcvarsall.bat fails. I thought I could simply:

  msvc.configure : "<setup>set \"VS80COMNTOOLS=C:\\Program Files\\Microsoft Visual Studio 8\\Common7\\Tools\\\\" && "C:\\Program Files (x86)\\Microsoft Visual Studio 8\\VC\\vcvarsall.bat\"

in my user-config.jam, but alas, BBv2 doesn't give me complete control
over the setup command. Instead, it inserts "call cmd /C /S" before
the setup command and > nul afterwards. Even if it did, the problems
of correct quoting through the layers of bjam, cygwin bash, and
finally CMD.EXE, are hard to come to grips with.

IMO, really, when invoked from *nix, the setup, etc., ought to be
piped into a command shell as follows:

  cat <<EOF | CMD.EXE /Q 2>&1
  @ECHO OFF
      ... setup command here ...
      ... tool invocation here ...
  EOF | ...whatever filter you like...

That would drastically simplify issues of command quoting, among other
things.

Thoughts?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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