Gmane
From: David Abrahams <dave <at> boost-consulting.com>
Subject: Re: Re: gcc-nocygwin toolset obsolete
Newsgroups: gmane.comp.lib.boost.build
Date: 2003-01-16 21:24:07 GMT (6 years, 24 weeks, 16 hours and 27 minutes ago)
"Raoul Gough" <raoulgough <at> yahoo.co.uk> writes:

> "William E. Kempf" <wekempf <at> cox.net> wrote in message
> news:4545.167.16.75.51.1042783593.squirrel <at> frodo.kempf-ville.com...
>> David Abrahams said:
>> > "Raoul Gough" <raoulgough <at> yahoo.co.uk> writes:
>> >
>> >> "David Abrahams" <dave <at> boost-consulting.com> wrote in message
>> >> news:ud6n1ruka.fsf <at> boost-consulting.com...
>> >>> "Raoul Gough" <raoulgough <at> yahoo.co.uk> writes:
> [snip]
>> >>> > That means it should be possible simply to
>> >>> > use -sBUILD="<cxxflags>-mno-cygwin" with the regular gcc
> toolset,
> [snip]
>> This reveals a problem in Boost.Build, I believe:
>>
>> Script started on Thu Jan 16 09:51:04 2003
>> /home/wekempf/bin already exists...
>>
>>
>>
>> mwekempf <at> WEKEMPFWS
>>
>> $ cd ~/boost/libs/thread/build
>>
>> ~/boost/libs/thread/build
>>
>> mwekempf <at> WEKEMPFWS ~/boost/libs/thread/build
>>
>> $ bjam -sTOOLS=gcc -sBUILD="<cxxflags>-mno-cygwin"
>
> Now that I look at the old gcc-nocygwin-tools.jam file, there is some
> kind of messiness copied from mingw-tools.jam for the linker command.
> It might be better to use:
>
> bjam -sTOOLS=mingw -sBUILD="<cxxflags>-mno-cygwin"
>
> The only proviso would be that your MINGW_ROOT_DIRECTORY is unset or,
> possibly, points (misleadingly) to a Cygwin installation.
>
>>
>> ....found 294 targets...
>>
>> ....updating 15 targets...
> [snip]
>>
>> gcc-dllwrap actions too long (max 2047):
>>
>
> mingw-tools.jam includes the following for the link commands:
>
>     # Workaround GCC's lack of command-files and NT's line-length
> limitation.
>     if $(NT) {
>         JAMSHELL on $(<) = % ;
>     }
>
> Don't understand that myself, but maybe it would help.

It prevents the build command from being sent to the command-shell,
going directly to the system instead, as long as it appears on one
line.  Makes a difference for gcc toolsets because they don't support
command-files.  That's present in gcc-tools.jam as well but whoever
added -mno-cygwin support somehow made sure it wouldn't be used in
that case:

    if $(<[2]) && $(NT) && ( -mno-cygwin in $(gBUILD_PROPERTIES:G=) )
    {
        gcc-dllwrap $(<) : $(>) ;
    }
    else
    {
        # Workaround GCC's lack of command-files and NT's line-length limitation.
        if $(NT) {
            JAMSHELL on $(<) = % ;
        }

All you need to do is to move the 2nd if statement outside the first
one.

-- 
                       David Abrahams
   dave <at> boost-consulting.com * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Turn flat surfaces into speakers with the Soundbug.
http://us.click.yahoo.com/QWAVSC/onCFAA/xGHJAA/z3wwlB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
jamboost-unsubscribe <at> yahoogroups.com

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/