Boost logo

Boost-Build :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2003-03-05 09:33:45


David Abrahams wrote:

> Markus Schöpflin <markus.schoepflin_at_[hidden]> writes:
>
>>>Did you try running regression tests with both toolsets at once,
>>>using more than one target? Do the command-lines actually invoke the
>>>two different compilers you want in each case?
>>
>>Nope, I just used the current shell script to run the regression
>>tests. The script invokes bjam seperately for each toolset. I didn't
>>try to bjam -sTOOLS="va5 va6" and I think I see how this could cause
>>problems.
>
> If you want to fix this, see the way that the MSVC toolset handles its
> configuration.

Dave, I'm about the commit the attached patch to vacpp-tools.jam, if
it's ok with you. I think this now works correctly.

Markus

 --------------050007050704060601060708 Content-Type: text/plain;
name="vacpp-tools.jam.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="vacpp-tools.jam.diff"

*** vacpp-tools.jam.~1.15.~ Thu Feb 20 09:32:08 2003
--- vacpp-tools.jam Wed Mar 5 15:20:00 2003
***************
*** 15,27 ****
# IBM/Aix 4.3.3.0. They should also work for VisualAge on Windows NT,
# OS/2 and AS/400.

! VA_BIN = "" ;
!
! flags vacpp CC <threading>single : xlc ;
! flags vacpp CC <threading>multi : xlc_r ;
!
! flags vacpp CXX <threading>single : xlC ;
! flags vacpp CXX <threading>multi : xlC_r ;

# This disables the automatic generation of separate include files for
# template functions and class declarations.
--- 15,31 ----
# IBM/Aix 4.3.3.0. They should also work for VisualAge on Windows NT,
# OS/2 and AS/400.

! # The default tool path is declared as empty. This looks for the tools in
! # the current path. You can overide this in derived toolsets.
! set-as-singleton VA_TOOL_PATH ;
! flags vacpp VA_TOOL_PATH ;
! VA_TOOL_PATH = "" ;
!
! # Select the compiler name according to the threading model.
! flags vacpp VA_C_COMPILER <threading>single : xlc ;
! flags vacpp VA_C_COMPILER <threading>multi : xlc_r ;
! flags vacpp VA_CXX_COMPILER <threading>single : xlC ;
! flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;

# This disables the automatic generation of separate include files for
# template functions and class declarations.
***************
*** 89,95 ****
# for xlc, we repeat all libraries so that dependencies are always resolved
actions xlc-Link-action bind NEEDLIBS
{
! $(CXX:R=$(VA_BIN)) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) -bdynamic
}

#### Cc #####
--- 93,99 ----
# for xlc, we repeat all libraries so that dependencies are always resolved
actions xlc-Link-action bind NEEDLIBS
{
! $(VA_CXX_COMPILER:R=$(VA_TOOL_PATH)) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) -bdynamic
}

#### Cc #####
***************
*** 102,108 ****
# Always allow C++ comments in C source files!
actions xlc-Cc-action
{
! $(CC:R=$(VA_BIN)) -qcpluscmt -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

#### C++ ####
--- 106,112 ----
# Always allow C++ comments in C source files!
actions xlc-Cc-action
{
! $(VA_C_COMPILER:R=$(VA_TOOL_PATH)) -qcpluscmt -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

#### C++ ####
***************
*** 113,119 ****

actions xlc-C++-action
{
! $(CXX:R=$(VA_BIN)) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

#### Archive ####
--- 117,123 ----

actions xlc-C++-action
{
! $(VA_CXX_COMPILER:R=$(VA_TOOL_PATH)) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

#### Archive ####
 --------------050007050704060601060708--


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