Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2003-02-25 08:51:32


Vladimir Prus <ghost_at_[hidden]> writes:

> David Abrahams wrote:
>
>> >> python default_build.py --ignore-config
>> >
>> > Eh... the "--ignore-config" argument is not passed to bjam invocations.
>> > Do you think it should?
>>
>> Not neccessarily. What's it supposed to do?
>
> It supressed loading of site-config.jam/user-config.jam (as documented
> in docs).

How can it do that if it doesn't get passed to bjam invocations?

>> >> It still tries to use msvc to do the build. There should be a way to
>> >> specify the toolset to test from the command-line.
>>
>> Do you agree?
>
> Yes. And I believe there's a way:
>
> alias.py borland
>
> creates some borland targets

Hum. OK, I'll try that.

>> >> It seems like BoostBuild.py is supposed to be taking care of that,
>> >> but it doesn't look like it's working.
>> >
>> > Did you overcome the problem already?
>>
>> Nope. Did you try testing with Borland?
>
> The above invocation fails. The reason is that 'prepare_suffix_map' is called
> with "gcc" as parameter. And... I really don't understand what
>
> prepare_suffix_map(pass_toolset and 'gcc' or self.toolset)
>
> is supposed to do.

That's essentially

pass_toolset ? 'gcc' : self.toolset

But Guido won't give us a ternary operator :(

>> >> Also, default_build.py is supposed to force gcc, isn't it? Then why
>> >> is it using $toolset?
>> >
>> > No, it's supposed to be generic.
>>
>> Apparently it isn't.
>
> Hmm... I don't see why.

I guess I'd better roll back my change which switched $toolset to gcc
in that case.

>> > The "import gcc ; " line in project-root.jam file that the test
>> > generates was placed there before test-config.jam could be used to
>> > declare toolsets for testing.
>>
>> By what mechanism is this test going to find another toolset then?
>
> 1. If you declare another toolset in site-config.jam, the test should be
> able to use it.
> 2. If you create test-config.jam adn declare another toolset there,
> the test should be able to use it.
>
> The "import gcc; " statement only adds another toolset. It does not disable
> those already configured in test-config.jam or site-config.jam

OK, a simple test with default_build.py:

command-line site-config.jam
============ ===============

default_build.py msvc-6.5 using msvc : 6.5 ;

"c:\boost\tools\build\test\..\jam_src\bin.ntx86\bjam -sBOOST_BUILD_PATH=c:\boost\tools\build\test\..\new;c:\boost\tools\build\test -d0 --quiet " returned 1
STDOUT ============
...skipped <./msvc/debug>a.rsp for lack of <./msvc/debug>a.obj...
...skipped <./msvc/debug>a.exe for lack of <./msvc/debug>a.rsp...
...skipped <./msvc/release_at_bin\msvc\release@>a.rsp for lack of <./msvc/release_at_bin\msvc\release@>a.obj...
...skipped <./msvc/release_at_bin\msvc\release@>a.exe for lack of <./msvc/release_at_bin\msvc\release@>a.rsp...
...failed updating 2 targets...

STDERR ============
'cl' is not recognized as an internal or external command,
operable program or batch file.
'cl' is not recognized as an internal or external command,
operable program or batch file.

FAILED test of c:\boost\tools\build\test\..\jam_src\bin.ntx86\bjam -sBOOST_BUILD_PATH=c:\boost\tools\build\test\..\new;c:\boost\tools\build\test -d0 --quiet
at line 288 of BoostBuild.py (fail_test)
from line 242 of BoostBuild.py (run_build_system)
from line 12 of default_build.py

--
default_build.py msvc using msvc : 6.5 ;
"c:\boost\tools\build\test\..\jam_src\bin.ntx86\bjam -sBOOST_BUILD_PATH=c:\boost\tools\build\test\..\new;c:\boost\tools\build\test -d0 --quiet " returned 1
STDOUT ============
...skipped <./msvc/debug>a.rsp for lack of <./msvc/debug>a.obj...
...skipped <./msvc/debug>a.exe for lack of <./msvc/debug>a.rsp...
...skipped <./msvc/release_at_bin\msvc\release@>a.rsp for lack of <./msvc/release_at_bin\msvc\release@>a.obj...
...skipped <./msvc/release_at_bin\msvc\release@>a.exe for lack of <./msvc/release_at_bin\msvc\release@>a.rsp...
...failed updating 2 targets...
STDERR ============
'cl' is not recognized as an internal or external command,
operable program or batch file.
'cl' is not recognized as an internal or external command,
operable program or batch file.
FAILED test of c:\boost\tools\build\test\..\jam_src\bin.ntx86\bjam -sBOOST_BUILD_PATH=c:\boost\tools\build\test\..\new;c:\boost\tools\build\test -d0 --quiet 
at line 288 of BoostBuild.py (fail_test)
from line 242 of BoostBuild.py (run_build_system)
from line 12 of default_build.py
--
default_build.py msvc using msvc : "" "c:/program files/microsoft visual studio/vc98" ;
WORKS!
--
So, what's the problem here?
-- 
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