let the user explicitly choose ruby and rake programs
authorHilko Bengen <bengen@hilluzination.de>
Tue, 6 Dec 2011 19:42:11 +0000 (20:42 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 9 Dec 2011 15:35:15 +0000 (15:35 +0000)
(cherry picked from commit 41a7a68cf33a174ba950aa29951a07c391a16b4d)

configure.ac
ruby/Makefile.am
ruby/Rakefile.in
ruby/run-bindtests
ruby/run-ruby-tests

index 0c019a5..af4bbf8 100644 (file)
@@ -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"])
index 757855a..8139140 100644 (file)
@@ -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)
index f4bf901..9ae993b 100644 (file)
@@ -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
index 4cac863..aafcfba 100755 (executable)
@@ -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
index e21899a..c618241 100755 (executable)
@@ -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