Boost logo

Boost-Build :

Subject: [Boost-build] Building generator (from source) that generates cpp
From: Samuel Debionne (debionne_at_[hidden])
Date: 2009-06-29 10:58:25


Hello,
I'm using BBV2 to build my own projects for quite a long time. Right now
I'm facing the following issue : I want to generate CPP from an other type
of file and I want this home made generator to be build from source when
necessary. This is basically what Quickbook toolset does so I try to start
from that.
The strange thing is that, as long as I don't generate CPP but other file
type (XML, what ever), it's fine. But when targeting CPP, I can't build
the generator 'automatically'.

I include a small test case that shows my problem. To play with the test
case, unzip next to your boost_1_39_0 directory.

If I try to build the generator directly (i.e. bjam tool/mygen with my
test case) it's fine. If I try to build the target that uses the generator
(i.e. bjam) I get the following message :

warn: Unable to construct tool/mygen
error: no generators were found for type 'EXE'
error: and the requested properties
error: make sure you've configured the needed tools

I'm pretty sure that MSVC toolset is correcty configured.

The detailed "debug generators" log gives :

         *** construct OBJ
             from { src/message.in.IN }
             properties: <asynch-exceptions>off <debug-store>object
<debug-symbols>off <define>BOOST_ALL_NO_LIB=1 <define>NDEBUG
<doxygen.doxproc.index>no <doxygen.processor>xsltproc
<embed-manifest>on <exception-handling>on
<extern-c-nothrow>off <format>html <hardcode-dll-paths>true
<host-os>windows <inlining>full <install-dependencies>off
<link>static <main-target-type>EXE <midl-robust>yes
<midl-stubless-proxy>yes <optimization>speed <os>NT <pch>on
<preserve-test-targets>on <profiling>off
<python-debugging>off
<python.interpreter>c:/Python26/python.exe <python>2.6
<rtti>on <runtime-debugging>off <runtime-link>shared
<stdlib>native <suppress-import-lib>false
<symlink-location>project-relative <target-os>windows
<threadapi>win32 <threading>multi
<toolset-msvc:version>9.0express <toolset>msvc
<user-interface>console <variant>release
<warnings-as-errors>off <warnings>on
         *** 6 viable generators
           ** generator msvc.compile.c++
           composing:
             *** construct CPP
                 from { src/message.in.IN }
                 properties: <asynch-exceptions>off <debug-store>object
<debug-symbols>off <define>BOOST_ALL_NO_LIB=1
<define>NDEBUG <doxygen.doxproc.index>no
<doxygen.processor>xsltproc <embed-manifest>on
<exception-handling>on <extern-c-nothrow>off <format>html
<hardcode-dll-paths>true <host-os>windows <inlining>full
<install-dependencies>off <link>static
<main-target-type>EXE <midl-robust>yes
<midl-stubless-proxy>yes <optimization>speed <os>NT
<pch>on <preserve-test-targets>on <profiling>off
<python-debugging>off
<python.interpreter>c:/Python26/python.exe <python>2.6
<rtti>on <runtime-debugging>off <runtime-link>shared
<stdlib>native <suppress-import-lib>false
<symlink-location>project-relative <target-os>windows
<threadapi>win32 <threading>multi
<toolset-msvc:version>9.0express <toolset>msvc
<user-interface>console <variant>release
<warnings-as-errors>off <warnings>on
             find-viable-generators target-type= CPP property-set=
msvc-9.0express/release/link-static/threading-multi
             trying type CPP
             there are generators for this type
             trying generator mygen.in-to-cpp ( IN -> CPP )
               is viable
             *** 1 viable generators
mygen-dir: /D:/users/debionne/dev/boost/test-bbv2/tool
project: object(project-target)@89
mygen-main-target: object(project-target)@96 object(property-set)@9
mygen-main-target: object(main-target)@432
                 *** construct EXE
                     from { mygen-simple.cpp.CPP }
                     properties: <asynch-exceptions>off
<debug-store>object <debug-symbols>off
<define>BOOST_ALL_NO_LIB=1 <define>NDEBUG
<doxygen.doxproc.index>no <doxygen.processor>xsltproc
<embed-manifest>on <exception-handling>on
<extern-c-nothrow>off <format>html
<hardcode-dll-paths>true <host-os>windows
<inlining>full <install-dependencies>off <link>static
<main-target-type>EXE <midl-robust>yes
<midl-stubless-proxy>yes <optimization>speed <os>NT
<pch>on <preserve-test-targets>on <profiling>off
<python-debugging>off
<python.interpreter>c:/Python26/python.exe
<python>2.6 <rtti>on <runtime-debugging>off
<runtime-link>shared <stdlib>native
<suppress-import-lib>false
<symlink-location>project-relative <target-os>windows
<threadapi>win32 <threading>multi
<toolset-msvc:version>9.0express <toolset>msvc
<user-interface>console <variant>release
<warnings-as-errors>off <warnings>on
                 *** 0 viable generators
warn: Unable to construct tool/mygen-simple
             find-viable-generators target-type= EXE property-set=
msvc-9.0express/release/link-static/threading-multi
             trying type EXE
             there are generators for this type
             trying generator msvc.link ( OBJ SEARCHED_LIB STATIC_LIB
IMPORT_LIB -> EXE )
               is viable
error: no generators were found for type 'EXE'
error: and the requested properties
error: make sure you've configured the needed tools

Could there be any "requested properties" conflict ?

Any help would great !
Regards,
Samuel



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