[prev in list] [next in list] [prev in thread] [next in thread] 

List:       boost-build
Subject:    [Boost-build]  Changing default toolset for a project
From:       "K. Noel Belcourt" <kbelco () sandia ! gov>
Date:       2007-03-22 6:22:56
Message-ID: DC3849ED-524D-444E-B3F9-12D46A6C0A04 () sandia ! gov
[Download RAW message or body]

Hi,

 From this Jamfile fragment you can see in the project requirements  
section, that when I compile this project with the pgi toolset, I  
want this Jamfile's targets to be built with the gcc toolset  
instead.  I want this ability to handle cross-compiling correctly.   
In some cases I have cross compilers that generate code for both the  
host and target os, and other cases where the host compiler only  
generates code for the (different) target os.

Does anyone know if you can do this sort of thing (having the pgi  
toolset forward to gcc)?

# scms Jamfile
project 2.04
   : requirements
     <include>$(scms-root)/include
     # eventually, sigh..
     # <host-os>linux,<toolset>pgi:<target-os>catamount
     # any reason why can't I do this (when building for pgi, build  
with gcc instead)?
     <toolset>pgi:<toolset>gcc
   : usage-requirements
     <include>$(scms-root)/include
   : build-dir $(prebuilt-tpl-dir)/$(scms-home)
   ;

In the case above, I have a pgi toolset that generates code for the  
target os, not for the host os.  Most of the code we generate targets  
the catamount os, but some executables in scms need to run on the  
host os and this pgi compiler can't generate code for the host os.  I  
should add that I've tried this kind of forwarding with other  
toolsets like gcc as the host toolset and it doesn't work that way  
either.  If you're interested, the bjam back trace is attached.

Thanks.

-- Noel


[Attachment #3 (multipart/appledouble)]

["bjam.bt" (application/applefile)]
["bjam.bt;" (bjam.bt;)]

boost/tools/jam/src/bin.linux/bjam -q --with-framework \
--sierradir=/sierra/Dev/kbelco/votd --builddir=/tmp/kbelco/nightly pgi-6.1 debug -d2 \
boost/tools/build/v2/build/targets.jam:1010: in evaluate-requirements from module \
                targets
error: Can't evaluate conditional properties  \
<toolset>darwin:<define>MPICH_SKIP_MPICXX \
<toolset>darwin:<include>/usr/local/mpi/sierra/32Bit/1.2.7/gcc-3.4.3/include \
<toolset>gcc,<link>static,<mpi>infiniband:<runtime-link>static \
<toolset>gcc,<link>static,<mpi>myrinet,<address-model>64:<runtime-link>shared \
<toolset>gcc,<link>static,<mpi>vendor:<runtime-link>static \
<toolset>gcc:<define>MPICH_SKIP_MPICXX \
<toolset>gcc:<include>/usr/local/mpi/sierra/32Bit/1.2.7/gcc-3.4.3/include \
<toolset>intel,<link>static:<runtime-link>static \
<toolset>intel:<define>MPICH_SKIP_MPICXX \
<toolset>intel:<include>/usr/local/mpi/sierra/32Bit/1.2.7/gcc-3.4.3/include \
<toolset>mipspro:<define>MPI_NO_CPPBIND <toolset>msvc:<fflags>/fpp \
<toolset>pathscale:<define>MPICH_SKIP_MPICXX \
<toolset>pathscale:<include>/usr/local/mpi/sierra/32Bit/1.2.7/gcc-3.4.3/include \
<toolset>pathscale:<link>static <toolset>pgi:<define>MPICH_SKIP_MPICXX \
<toolset>pgi:<toolset>gcc <toolset>sun:<define>_MPIPP_H \
<toolset>sun:<stdlib>sun-stlport <toolset>vacpp,<variant>release:<inlining>off \
boost/tools/build/v2/build/targets.jam:1045: in common-properties2 from module \
targets boost/tools/build/v2/build/targets.jam:913: in targets.common-properties from \
module targets boost/tools/build/v2/build/targets.jam:1194: in \
object(typed-target)@565.generate from module object(typed-target)@565 \
boost/tools/build/v2/build/targets.jam:765: in generate-really from module \
object(main-target)@1760 boost/tools/build/v2/build/targets.jam:738: in \
object(main-target)@1760.generate from module object(main-target)@1760 \
boost/tools/build/v2/build/targets.jam:895: in targets.generate-from-reference from \
module targets boost/tools/build/v2/build/targets.jam:1169: in generate-dependencies \
from module object(typed-target)@745 boost/tools/build/v2/build/targets.jam:1211: in \
object(typed-target)@745.generate from module object(typed-target)@745 \
boost/tools/build/v2/build/targets.jam:765: in generate-really from module \
object(main-target)@1756 boost/tools/build/v2/build/targets.jam:738: in \
object(main-target)@1756.generate from module object(main-target)@1756 \
boost/tools/build/v2/build/targets.jam:895: in targets.generate-from-reference from \
module targets boost/tools/build/v2/build/targets.jam:1169: in generate-dependencies \
from module object(typed-target)@1287 boost/tools/build/v2/build/targets.jam:1214: in \
object(typed-target)@1287.generate from module object(typed-target)@1287 \
boost/tools/build/v2/build/targets.jam:765: in generate-really from module \
object(main-target)@1680 boost/tools/build/v2/build/targets.jam:738: in \
object(main-target)@1680.generate from module object(main-target)@1680 \
boost/tools/build/v2/build/targets.jam:895: in targets.generate-from-reference from \
module targets boost/tools/build/v2/build/targets.jam:1169: in generate-dependencies \
from module object(typed-target)@1040 boost/tools/build/v2/build/targets.jam:1214: in \
object(typed-target)@1040.generate from module object(typed-target)@1040 \
boost/tools/build/v2/build/targets.jam:765: in generate-really from module \
object(main-target)@1328 boost/tools/build/v2/build/targets.jam:738: in \
object(main-target)@1328.generate from module object(main-target)@1328 \
boost/tools/build/v2/build/targets.jam:895: in targets.generate-from-reference from \
module targets boost/tools/build/v2/build/targets.jam:1169: in generate-dependencies \
from module object(typed-target)@1038 boost/tools/build/v2/build/targets.jam:1214: in \
object(typed-target)@1038.generate from module object(typed-target)@1038 \
boost/tools/build/v2/build/targets.jam:765: in generate-really from module \
object(main-target)@1326 boost/tools/build/v2/build/targets.jam:738: in \
object(main-target)@1326.generate from module object(main-target)@1326 \
boost/tools/build/v2/build/targets.jam:895: in targets.generate-from-reference from \
module targets boost/tools/build/v2/build/targets.jam:1169: in generate-dependencies \
from module object(typed-target)@1036 boost/tools/build/v2/build/targets.jam:1214: in \
object(typed-target)@1036.generate from module object(typed-target)@1036 \
boost/tools/build/v2/build/targets.jam:765: in generate-really from module \
object(main-target)@1324 boost/tools/build/v2/build/targets.jam:738: in \
object(main-target)@1324.generate from module object(main-target)@1324 \
boost/tools/build/v2/build/targets.jam:895: in targets.generate-from-reference from \
module targets boost/tools/build/v2/build/targets.jam:1169: in generate-dependencies \
from module object(typed-target)@1025 boost/tools/build/v2/build/targets.jam:1214: in \
object(typed-target)@1025.generate from module object(typed-target)@1025 \
boost/tools/build/v2/build/targets.jam:765: in generate-really from module \
object(main-target)@1313 boost/tools/build/v2/build/targets.jam:738: in \
object(main-target)@1313.generate from module object(main-target)@1313 \
boost/tools/build/v2/build/targets.jam:255: in object(project-target)@1012.generate \
from module object(project-target)@1012 boost/tools/build/v2/build/targets.jam:255: \
in object(project-target)@100.generate from module object(project-target)@100 \
                boost/tools/build/v2/build-system.jam:401: in load from module \
                build-system
./boost/tools/build/v2/kernel/modules.jam:261: in import from module modules
./boost/tools/build/v2/kernel/bootstrap.jam:132: in boost-build from module
boost-build.jam:10: in module scope from module





[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic