1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-09-12 00:34:47 -04:00
elinks/config/m4/ruby.m4

108 lines
3.1 KiB
Plaintext
Raw Normal View History

dnl Thank you very much Vim for this lovely ruby configuration
dnl The hitchhiked code is from Vim configure.in version 1.98
2006-01-11 08:10:51 -05:00
AC_DEFUN([EL_CONFIG_SCRIPTING_RUBY],
[
AC_MSG_CHECKING([for Ruby])
2006-01-11 08:10:51 -05:00
CONFIG_SCRIPTING_RUBY_WITHVAL="no"
CONFIG_SCRIPTING_RUBY="no"
EL_SAVE_FLAGS
AC_ARG_WITH(ruby,
[ --with-ruby enable Ruby support],
2006-01-11 08:10:51 -05:00
[CONFIG_SCRIPTING_RUBY_WITHVAL="$withval"])
2006-01-11 08:10:51 -05:00
if test "$CONFIG_SCRIPTING_RUBY_WITHVAL" != no; then
CONFIG_SCRIPTING_RUBY="yes"
fi
2006-01-11 08:10:51 -05:00
AC_MSG_RESULT($CONFIG_SCRIPTING_RUBY)
2006-01-11 08:10:51 -05:00
if test "$CONFIG_SCRIPTING_RUBY" = "yes"; then
if test -d "$CONFIG_SCRIPTING_RUBY_WITHVAL"; then
RUBY_PATH="$CONFIG_SCRIPTING_RUBY_WITHVAL:$PATH"
else
RUBY_PATH="$PATH"
fi
2006-01-11 08:10:51 -05:00
AC_PATH_PROG(CONFIG_SCRIPTING_RUBY, ruby, no, $RUBY_PATH)
if test "$CONFIG_SCRIPTING_RUBY" != "no"; then
AC_MSG_CHECKING(Ruby version)
if $CONFIG_SCRIPTING_RUBY -e 'exit((VERSION or RUBY_VERSION) >= "1.6.0")' >/dev/null 2>/dev/null; then
2006-01-11 08:10:51 -05:00
ruby_version=`$CONFIG_SCRIPTING_RUBY -e 'puts "#{VERSION rescue RUBY_VERSION}"'`
AC_MSG_RESULT($ruby_version)
AC_MSG_CHECKING(for Ruby header files)
2006-01-11 08:10:51 -05:00
rubyhdrdir=`$CONFIG_SCRIPTING_RUBY -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
if test "X$rubyhdrdir" != "X"; then
AC_MSG_RESULT($rubyhdrdir)
RUBY_CFLAGS="-I$rubyhdrdir"
2006-01-11 08:10:51 -05:00
rubylibs=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'`
if test "X$rubylibs" != "X"; then
RUBY_LIBS="$rubylibs"
fi
2006-01-11 08:10:51 -05:00
librubyarg=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'`
if test -f "$rubyhdrdir/$librubyarg"; then
librubyarg="$rubyhdrdir/$librubyarg"
else
2006-01-11 08:10:51 -05:00
rubylibdir=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
if test -f "$rubylibdir/$librubyarg"; then
librubyarg="$rubylibdir/$librubyarg"
elif test "$librubyarg" = "libruby.a"; then
dnl required on Mac OS 10.3 where libruby.a doesn't exist
librubyarg="-lruby"
else
2006-01-11 08:10:51 -05:00
librubyarg=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
fi
fi
if test "X$librubyarg" != "X"; then
RUBY_LIBS="$librubyarg $RUBY_LIBS"
fi
2006-01-11 08:10:51 -05:00
rubyldflags=`$CONFIG_SCRIPTING_RUBY -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
if test "X$rubyldflags" != "X"; then
LDFLAGS="$rubyldflags $LDFLAGS"
fi
LIBS="$RUBY_LIBS $LIBS"
CFLAGS="$RUBY_CFLAGS $CFLAGS"
CPPFLAGS="$CPPFLAGS $RUBY_CFLAGS"
AC_TRY_LINK([#include <ruby.h>],
[ruby_init();],
2006-01-11 08:10:51 -05:00
CONFIG_SCRIPTING_RUBY=yes, CONFIG_SCRIPTING_RUBY=no)
else
AC_MSG_RESULT([Ruby header files not found])
fi
else
AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
fi
fi
fi
EL_RESTORE_FLAGS
2006-01-11 08:10:51 -05:00
if test "$CONFIG_SCRIPTING_RUBY" != "yes"; then
if test -n "$CONFIG_SCRIPTING_RUBY_WITHVAL" &&
test "$CONFIG_SCRIPTING_RUBY_WITHVAL" != no; then
AC_MSG_ERROR([Ruby not found])
fi
else
2006-01-11 08:10:51 -05:00
EL_CONFIG(CONFIG_SCRIPTING_RUBY, [Ruby])
LIBS="$LIBS $RUBY_LIBS"
AC_SUBST(RUBY_CFLAGS)
AC_SUBST(RUBY_LIBS)
fi
])