From: David Abrahams (dave_at_[hidden])
Date: 2005-06-02 11:57:17
Vladimir Prus <ghost_at_[hidden]> writes:
> On Wednesday 01 June 2005 00:23, David Abrahams wrote:
>> >> > Let me recall that in V1, there's another notion, "installation
>> >> > root", and I think that for msvc that the directory that contains
>> >> > "bin", "lib" and "include" directories. So this gives three
>> >> > variables -- 'install root', 'directory with the compiler, and 'full
>> >> > path to the compiler'.
>> I don't see any practical difference between your last 2 items,
>> 'directory with the compiler, and 'full path to the compiler'.
> full path to compiler includes all name of the binary.
>> > Recalling some of your syntax suggestions above, I think we can get a
>> > very clear interface. With
>> > configure msvc : 8.0 : some_path/bin/cl ;
>> > you specify the path to the compiler binary
>> > configure msvc : 8.0 : root=some_path ;
>> > you specify installation root, and it's clear that you specify the root.
>> > With
>> > configure gcc : 4.0 : root=/opt/gcc-4.0 ;
>> > you again specify the root, and with
>> > configure gcc : 4.0 : root=/usr c++=g++-4.0 ;
>> > you specify root and a name of compiler binary.
>> I still can't understand giving compiler binaries special status.
>> Boost.Build is not going to be C++- or even compiler-centric, at least
>> not for much longer. And this sets up another thing to remember for
>> each (kind of) toolset: which binary in a given (kind of) toolset has
>> special status?
> I'm probably biased, but here are my reasons:
> 1. I find "some_path/bin/g++-4.0" nicer that
> "root=some_path/bin c++=g++-4.0"
Sure, it's nicer when it works, but it doesn't neccessarily
generalize. And we have to document how the system will look for
things. For example, what happens when the user passes
Will we stick user/local/gcc-4.0.0/lib in the LD_LIBRARY_PATH at all
the right moments?
Also, do you find
> 2. I find "g++-4.0" nicer then "c++=g++-4.0"
> 3. I don't want to change configure syntax in an incompatible way.
> If we introduce explicit "root=" syntax, the current syntax can
Sure, but now is the time to "get things right." After v1 is retired
it will be much more important to worry about backward compatibility.
>> > Maybe we can start with a fully general solution: user can override all
>> > the command line used by toolset with the exact command line. Hmm.. makes
>> > me wonder if this is implementable in bjam at all.
>> I don't think it's easy. The user would have to be able to induce
>> early target binding.
> What do you mean?
I mean that in order to synthesize the complete text of a command-line
you have to be able to do the same processing on SEARCH, LOCATE, and
the grist that bjam does internally. However, I guess that's
reasonably easy now that we have GLOB, isn't it?
-- 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