OK, I checked out the trunk versions of jam and build/v2. I then figured how to write the generator for tar, I think. Here's the complete output I get now:

notice: Searching /etc /home/eric /home/eric/workspaces/tar/../boost/tools/build/v2 /usr/share/boost-build /home/eric/workspaces/boost/tools/build/v2/kernel /home/eric/workspaces/boost/tools/build/v2/util /home/eric/workspaces/boost/tools/build/v2/build /home/eric/workspaces/boost/tools/build/v2/tools /home/eric/workspaces/boost/tools/build/v2/new /home/eric/workspaces/boost/tools/build/v2/. for site-config configuration file site-config.jam .
notice: Loading site-config configuration file site-config.jam from /home/eric/workspaces/boost/tools/build/v2/site-config.jam .
notice: Searching /home/eric /home/eric/workspaces/tar/../boost/tools/build/v2 /usr/share/boost-build /home/eric/workspaces/boost/tools/build/v2/kernel /home/eric/workspaces/boost/tools/build/v2/util /home/eric/workspaces/boost/tools/build/v2/build /home/eric/workspaces/boost/tools/build/v2/tools /home/eric/workspaces/boost/tools/build/v2/new /home/eric/workspaces/boost/tools/build/v2/. for user-config configuration file user-config.jam .
notice: Loading user-config configuration file user-config.jam from /home/eric/workspaces/boost/tools/build/v2/user-config.jam .
warning: No toolsets are configured.
warning: Configuring default toolset "gcc".
warning: If the default is wrong, your build may not work correctly.
warning: Use the "--toolset=xxxxx" option to override our guess.
warning: For more configuration options, please consult
warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
don't know how to make dist/hello

...found 11 targets...
...updating 6 targets...
...can't find 1 target...
...can't make 1 target...
MkDir1 dist
MkDir1 bin
MkDir1 bin/gcc-4.1.3
MkDir1 bin/gcc-4.1.3/debug
Jamfile</home/eric/workspaces/tar>.touchfile bin/gcc-4.1.3/debug/hello
common.copy dist/hello
...skipped <pbin/gcc-4.1.3/debug>hello.tar for lack of dist/hello
...skipped 1 target...
...updated 6 targets...

I've attached my project files, including the rudimentary tar.jam.

Thanks for your help,


Vladimir Prus wrote:
On Sunday 30 March 2008 23:11:29 Eric Woodruff wrote:

I'm ultimately seeking to create an rpm generator to package files in a
dist directory from a pre-defined list, with a scanner that will read
this list and build the targets necessary to satisfy the install. To
simplify things, I'll start with a tar generator that works something like:

    tar dist : files.list ;

And suppose files.list just has one entry of '/usr/bin/hello'.

Building dist.tar should first build dist/usr/bin/hello. This implies to
me that bjam should understand how to build dist/usr/bin/hello from the
command line, given the following Jamfile:

    make hello : : @sayhi ;

    actions sayhi {
            echo hi > $(<) ;

    install dist/usr/bin : hello ;

I'm not exactly sure why being able to specify a file on the *command line*
will help you to implement any Boost.Build core functionality, unless you're
planning to run a second bjam.

Unfortunately, it doesn't work:

    rm -rf dist bin ; bjam dist/usr/bin/hello

    don't know how to make <e>dist/usr/bin/hello
    ...found 1 target...
    ...can't find 1 target...

Please always include the complete output. In this case, you've skipped
the following bits:

    notice: could not find main target dist/usr/bin/hello
    notice: assuming it's a name of file to create.

Anyway, can you try SVN HEAD, revision 43986, and see if it helps?

- Volodya

Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build