<br><br><div class="gmail_quote">2012/9/12 Sylvain Joyeux <span dir="ltr"><<a href="mailto:sylvain.joyeux@dfki.de" target="_blank">sylvain.joyeux@dfki.de</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><div class="im">
<br>
<blockquote type="cite">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>
<div>
<blockquote type="cite">
<div class="gmail_quote">
<div> But then in my .autobuild file, I guessed that
boost_package 'boost1.48' would have worked, but
autoproj complains that boost_package does not
exist.<br>
In source.yml, I have set the archive url for
boost1.48.<br>
</div>
</div>
</blockquote>
</div>
</div>
OK ... You need to have a look in autoproj/autobuild.rb.
That is where the package types are made available for
autoproj users (in short: you need to define the
boost_package method at the toplevel, not on the Autobuild
module). This is a bit of a historical thing ...<span><font color="#888888"><br>
</font></span></div>
</blockquote>
<div><br>
ok. but I don't find where the ':cmake' package type is
defined... how should I call package_common to point to the
BoostPackage class I have defined?<br>
</div>
</div>
</blockquote></div>
This sucks ... Thanks for pointing it out.<br>
<br>
The chain is:<br>
<br>
at toplevel: def cmake_package ... end<br>
calls: package_common(:cmake, ...)<br>
calls: Autoproj.define(:cmake, options)<br>
calls: Autobuild.cmake(options)<br>
<br>
So, you do need to define the method on Autobuild (the way you did)
and then define the boost_package at toplevel, which <br></div></blockquote><div><br>Could you give me an example with :boost instead of :cmake? Cause cmake is working, for sure, but when I call package_common(:boost, options), I have the following error:<br>
ample.autobuild(package_set=rose):43: undefined method `boost' for Autobuild:Module<br> in /home/lesire/work/robotis/autoproj/remotes/rose/init.rb:25:in `boost_package'<br> in /home/lesire/work/robotis/autoproj/remotes/rose/ample.autobuild:43<br>
<br>And I don't know what to put instead...<br><br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
<br>
In the future, I will change this so that the code gets package
classes directly (while keeping backward compatibility), which makes
a lot more sense. Instead of defining your own package type (which
is a one-time thing ...) you will then be able to directly define
the whole package in an autobuild file:<br>
<br>
package_common(Autobuild::Configurable, 'boost') do |pkg|<br>
def pkg.configure<br>
...<br>
end<br>
def pkg.build<br>
...<br>
end<br>
end<span class="HOEnZb"><font color="#888888"><br>
<br>
Sylvain
</font></span></div>
</blockquote></div><br>