|
Boost-Build : |
From: Neil Gower (ngower_at_[hidden])
Date: 2006-04-24 16:35:40
Hi,
Thanks for your help. The newer boost-build didn't seem to solve it, but I
feel like I'm doing something wrong in my Jamfiles. A couple of little bumps
I hit, which I think are intentional:
* It looks like the "stage" rule was replaced by "install".
* The type.register rule didn't like the "main" parameter, so I removed it.
The "install" rule also doesn't recognize <include-type> or <name>, so I just
stopped using them for now. Since there's nothing left in the install rule
to indicate the .mll extension, I guess we're trying to make the linker
output the correct file, right?
I realized that I don't think bjam knows that this library is of type
MAYA_PLUGIN. I tried adding <main-target-type>MAYA_PLUGIN to both the
"project" and the "lib" rules in my Jamfile, but it didn't seem to make any
difference. Reading through builtin.jam, it looks like my type probably gets
ignored by the lib rule. How do I tell bjam that the "MyExample" lib is of
type MAYA_PLUGIN, and therefore should have the .mll extension?
Thanks!
Neil.
Vladimir Prus wrote:
> On Friday 21 April 2006 02:52, Neil Gower wrote:
>
>
>>I'm still new to boost-build, and I'm trying to set up a project in which
>>the final output on Windows is a .mll file (Maya plug-in), which is just a
>>dll with a different extension. On Linux, the build should produce a
>>regular .so file. It doesn't matter to me whether this is done during
>>linking or staging, but so far I've been unable to convince bjam to do
>>either for me.
>>
>>Below are the interesting bits of what I've tried:
>>
>># Create a type for .mll files?
>>type.register MAYA_PLUGIN : mll : SHARED_LIB : main ;
>>type.set-generated-target-suffix MAYA_PLUGIN : <os>NT : mll ;
>>type.set-generated-target-suffix MAYA_PLUGIN : <os>UNIX : so ;
>>
>># build
>>lib MyExample
>> : [ glob ./*.cpp ]
>> ;
>>
>># copy files
>>stage MyExample_plugin
>>
>> : MyExample
>> : <location>$(TOP)/install/maya_plugins
>> <include-type>MAYA_PLUGIN
>> <name>MyExample.mll
>> ;
>>
>>Removing the <name> property from the stage rule and switching MAYA_PLUGIN
>>back to SHARED_LIB, this builds fine on both Linux and Windows, but the
>>resulting file is a .dll on Windows.
>
>
> I believe there was a bug that prevented "set-generated-target-suffix" from
> working for types derived from SHARED_LIB. Can you download the nightly build
> from http://boost.org/boost-build2 and try with it?
>
> - Volodya
>
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