#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
require 'rake/clean'
require 'rake/rdoctask'
PKG_NAME='@PACKAGE_NAME@'
PKG_VERSION='@PACKAGE_VERSION@'
-EXT_CONF='ext/guestfs/extconf.rb'
-MAKEFILE='ext/guestfs/Makefile'
-GUESTFS_MODULE='ext/guestfs/_guestfs.so'
-GUESTFS_SRC='ext/guestfs/_guestfs.c'
+EXT_CONF='@abs_srcdir@/ext/guestfs/extconf.rb'
+MAKEFILE='@builddir@/ext/guestfs/Makefile'
+GUESTFS_MODULE='@builddir@/ext/guestfs/_guestfs.so'
+GUESTFS_SRC='@srcdir@/ext/guestfs/_guestfs.c'
-CLEAN.include [ "ext/**/*.o", GUESTFS_MODULE,
- "ext/**/depend" ]
+CLEAN.include [ "@builddir@/ext/**/*.o", GUESTFS_MODULE,
+ "@builddir@/ext/**/depend" ]
-CLOBBER.include [ "config.save", "ext/**/mkmf.log",
+CLOBBER.include [ "@builddir@/config.save", "@builddir@/ext/**/mkmf.log",
MAKEFILE ]
# Build locally
file MAKEFILE => EXT_CONF do |t|
- Dir::chdir(File::dirname(EXT_CONF)) do
- unless sh "ruby #{File::basename(EXT_CONF)}"
- $stderr.puts "Failed to run extconf"
- break
- end
- end
+ unless sh "top_srcdir=$(pwd)/@top_srcdir@; top_builddir=$(pwd)/@top_builddir@; export ARCHFLAGS=\"-arch $(uname -m)\"; mkdir -p @builddir@/ext/guestfs; cd @builddir@/ext/guestfs; ruby #{EXT_CONF} --with-_guestfs-include=$top_srcdir/src --with-_guestfs-lib=$top_builddir/src/.libs"
+ $stderr.puts "Failed to run extconf"
+ break
+ end
end
file GUESTFS_MODULE => [ MAKEFILE, GUESTFS_SRC ] do |t|
- Dir::chdir(File::dirname(EXT_CONF)) do
+ Dir::chdir("@builddir@/ext/guestfs") do
unless sh "make"
$stderr.puts "make failed"
break
end
task :test => :build
+RDOC_FILES = FileList[
+ "@srcdir@/README.rdoc",
+ "@srcdir@/lib/**/*.rb",
+ "@srcdir@/ext/**/*.[ch]"
+]
+
Rake::RDocTask.new do |rd|
- rd.main = "README.rdoc"
+ rd.main = "@srcdir@/README.rdoc"
rd.rdoc_dir = "doc/site/api"
- rd.rdoc_files.include("README.rdoc", "lib/**/*.rb", "ext/**/*.[ch]")
+ rd.rdoc_files.include(RDOC_FILES)
+end
+
+Rake::RDocTask.new(:ri) do |rd|
+ rd.main = "@srcdir@/README.rdoc"
+ rd.rdoc_dir = "doc/ri"
+ rd.options << "--ri-system"
+ rd.rdoc_files.include(RDOC_FILES)
end
# Package tasks
PKG_FILES = FileList[
- "Rakefile", "COPYING", "README", "NEWS", "README.rdoc",
+ "Rakefile", "COPYING", "README", "NEWS", "@srcdir@/README.rdoc",
"lib/**/*.rb",
"ext/**/*.[ch]", "ext/**/MANIFEST", "ext/**/extconf.rb",
"tests/**/*",
s.name = PKG_NAME
s.version = PKG_VERSION
s.email = "rjones@redhat.com"
- s.homepage = "http://et.redhat.com/~rjones/libguestfs/"
+ s.homepage = "http://libguestfs.org/"
s.summary = "Ruby bindings for libguestfs"
s.files = PKG_FILES
s.autorequire = "guestfs"