build: Allow user to specify ruby executable

This way, one can build for a different Ruby than $PATH/ruby
(e. g. different versions, or Ruby in other paths).

Signed-off-by: Thomas Schneider <qsx@chaotikum.eu>
This commit is contained in:
Thomas Schneider 2018-05-09 14:38:48 +02:00 committed by David Bremner
parent a07b28a488
commit b2e4778ea4
3 changed files with 12 additions and 3 deletions

View file

@ -9,7 +9,7 @@ ifeq ($(HAVE_RUBY_DEV),1)
EXTRA_LDFLAGS="$(NO_UNDEFINED_LDFLAGS)" \ EXTRA_LDFLAGS="$(NO_UNDEFINED_LDFLAGS)" \
LIBNOTMUCH="../../lib/$(LINKER_NAME)" \ LIBNOTMUCH="../../lib/$(LINKER_NAME)" \
NOTMUCH_SRCDIR='$(NOTMUCH_SRCDIR)' \ NOTMUCH_SRCDIR='$(NOTMUCH_SRCDIR)' \
ruby extconf.rb --vendor $(RUBY) extconf.rb --vendor
$(MAKE) -C $(dir)/ruby $(MAKE) -C $(dir)/ruby
endif endif

11
configure vendored
View file

@ -62,6 +62,7 @@ CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)}
LDFLAGS=${LDFLAGS:-} LDFLAGS=${LDFLAGS:-}
XAPIAN_CONFIG=${XAPIAN_CONFIG:-} XAPIAN_CONFIG=${XAPIAN_CONFIG:-}
PYTHON=${PYTHON:-} PYTHON=${PYTHON:-}
RUBY=${RUBY:-ruby}
# We don't allow the EMACS or GZIP Makefile variables inherit values # We don't allow the EMACS or GZIP Makefile variables inherit values
# from the environment as we do with CC and CXX above. The reason is # from the environment as we do with CC and CXX above. The reason is
@ -118,6 +119,8 @@ Other environment variables can be used to control configure itself,
library. [$XAPIAN_CONFIG] library. [$XAPIAN_CONFIG]
PYTHON Name of python command to use in PYTHON Name of python command to use in
configure and the test suite. configure and the test suite.
RUBY Name of ruby command to use in
configure and the test suite.
Additionally, various options can be specified on the configure Additionally, various options can be specified on the configure
command line. command line.
@ -621,7 +624,7 @@ fi
have_ruby_dev=0 have_ruby_dev=0
if [ $WITH_RUBY = "1" ] ; then if [ $WITH_RUBY = "1" ] ; then
printf "Checking for ruby development files... " printf "Checking for ruby development files... "
if ruby -e "require 'mkmf'"> /dev/null 2>&1; then if ${RUBY} -e "require 'mkmf'"> /dev/null 2>&1; then
printf "Yes.\n" printf "Yes.\n"
have_ruby_dev=1 have_ruby_dev=1
else else
@ -1027,6 +1030,9 @@ WARN_CFLAGS=${WARN_CFLAGS}
# Name of python interpreter # Name of python interpreter
PYTHON = ${python} PYTHON = ${python}
# Name of ruby interpreter
RUBY = ${RUBY}
# The prefix to which notmuch should be installed # The prefix to which notmuch should be installed
# Note: If you change this value here, be sure to ensure that the # Note: If you change this value here, be sure to ensure that the
# LIBDIR_IN_LDCONFIG value below is still set correctly. # LIBDIR_IN_LDCONFIG value below is still set correctly.
@ -1234,6 +1240,9 @@ NOTMUCH_HAVE_MAN=$((have_sphinx))
# Name of python interpreter # Name of python interpreter
NOTMUCH_PYTHON=${python} NOTMUCH_PYTHON=${python}
# Name of ruby interpreter
NOTMUCH_RUBY=${RUBY}
# Are the ruby development files (and ruby) available? If not skip # Are the ruby development files (and ruby) available? If not skip
# building/testing ruby bindings. # building/testing ruby bindings.
NOTMUCH_HAVE_RUBY_DEV=${have_ruby_dev} NOTMUCH_HAVE_RUBY_DEV=${have_ruby_dev}

View file

@ -1003,7 +1003,7 @@ test_python() {
} }
test_ruby() { test_ruby() {
MAIL_DIR=$MAIL_DIR ruby -I $NOTMUCH_SRCDIR/bindings/ruby> OUTPUT MAIL_DIR=$MAIL_DIR $NOTMUCH_RUBY -I $NOTMUCH_SRCDIR/bindings/ruby> OUTPUT
} }
test_C () { test_C () {