<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<blockquote
cite="mid:CAEc6OSz7ztnGnsxZpFyMvz2PzDYejWEpkumRwaiey6PusPa87w@mail.gmail.com"
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 class="h5">
<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
class="HOEnZb"><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>
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>
<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<br>
<br>
Sylvain
</body>
</html>