[Libguestfs] [PATCH] let the user explicitly choose ruby and rake programs

Hilko Bengen bengen at hilluzination.de
Tue Dec 6 19:42:11 UTC 2011


---
 configure.ac        |    4 +++-
 ruby/Makefile.am    |   11 ++++++-----
 ruby/Rakefile.in    |    2 +-
 ruby/run-bindtests  |    2 +-
 ruby/run-ruby-tests |    4 ++--
 5 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/configure.ac b/configure.ac
index ea0aec4..130db51 100644
--- a/configure.ac
+++ b/configure.ac
@@ -769,8 +769,10 @@ AC_ARG_ENABLE([ruby],
         [enable_ruby=yes])
 AS_IF([test "x$enable_ruby" != "xno"],
         [
-        AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
+        AC_CHECK_PROG([RUBY],[ruby],[ruby],[no])
         AC_CHECK_PROG([RAKE],[rake],[rake],[no])
+        AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
+        AC_SUBST([RAKE])
         ])
 AM_CONDITIONAL([HAVE_RUBY],
     [test "x$RAKE" != "xno" && test -n "$HAVE_LIBRUBY"])
diff --git a/ruby/Makefile.am b/ruby/Makefile.am
index 757855a..8139140 100644
--- a/ruby/Makefile.am
+++ b/ruby/Makefile.am
@@ -49,14 +49,15 @@ TESTS = run-bindtests run-ruby-tests
 TESTS_ENVIRONMENT = \
 	LD_LIBRARY_PATH=$(top_builddir)/src/.libs \
 	LIBGUESTFS_PATH=$(top_builddir)/appliance \
-	TMPDIR=$(top_builddir)
+	TMPDIR=$(top_builddir) \
+	RUBY=$(RUBY)
 
 all: $(generator_built)
-	rake build
-	rake rdoc
+	$(RAKE) build
+	$(RAKE) rdoc
 
-RUBY_SITELIB := $(shell ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
-RUBY_SITEARCH := $(shell ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")
+RUBY_SITELIB := $(shell $(RUBY) -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
+RUBY_SITEARCH := $(shell $(RUBY) -rrbconfig -e "puts Config::CONFIG['sitearchdir']")
 
 install:
 	$(MKDIR_P) $(DESTDIR)$(RUBY_SITELIB)
diff --git a/ruby/Rakefile.in b/ruby/Rakefile.in
index f4bf901..9ae993b 100644
--- a/ruby/Rakefile.in
+++ b/ruby/Rakefile.in
@@ -38,7 +38,7 @@ CLOBBER.include [ "@builddir@/config.save", "@builddir@/ext/**/mkmf.log",
 # Build locally
 
 file MAKEFILE => EXT_CONF do |t|
-     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"
+     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
diff --git a/ruby/run-bindtests b/ruby/run-bindtests
index 4cac863..aafcfba 100755
--- a/ruby/run-bindtests
+++ b/ruby/run-bindtests
@@ -18,5 +18,5 @@
 
 set -e
 
-ruby -I${srcdir}/lib -Iext/guestfs ${srcdir}/bindtests.rb > bindtests.tmp
+$RUBY -I${srcdir}/lib -Iext/guestfs ${srcdir}/bindtests.rb > bindtests.tmp
 diff -u ${srcdir}/../bindtests bindtests.tmp
diff --git a/ruby/run-ruby-tests b/ruby/run-ruby-tests
index e21899a..c618241 100755
--- a/ruby/run-ruby-tests
+++ b/ruby/run-ruby-tests
@@ -22,6 +22,6 @@ set -e
 # is bound to fail because they all use a single test image file).
 
 for f in tests/tc_*.rb; do
-    echo rake test "$@" TEST="$f"
-    rake test "$@" TEST="$f"
+    echo $RAKE test "$@" TEST="$f"
+    $RAKE test "$@" TEST="$f"
 done
-- 
1.7.7.3




More information about the Libguestfs mailing list