|
|
|
@ -1,7 +1,3 @@
|
|
|
|
|
KDE_FIND_PATH(pkg-config, PKGCONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
|
|
|
|
|
AC_MSG_WARN([Could not find pkg-config])
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(scripting,
|
|
|
|
|
AC_HELP_STRING([--enable-scripting],
|
|
|
|
|
[build scripting library (Kross) [default=yes]]),
|
|
|
|
@ -25,64 +21,49 @@ AM_CONDITIONAL(compile_kross_python,
|
|
|
|
|
# Check for Ruby
|
|
|
|
|
|
|
|
|
|
if test "x$compile_kross" = "xyes" ; then
|
|
|
|
|
AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18 ruby1.9 ruby19], ruby)
|
|
|
|
|
AC_CHECK_PROG(RUBY_EXECUTABLE, ruby, ruby)
|
|
|
|
|
|
|
|
|
|
if test -n "$RUBY"; then
|
|
|
|
|
if test -n "$RUBY_EXECUTABLE"; then
|
|
|
|
|
AC_MSG_CHECKING(for Ruby dirs)
|
|
|
|
|
# Note: pkgconfig file exists only for ruby >= 1.9.3
|
|
|
|
|
if test -n "$PKGCONFIG"; then
|
|
|
|
|
RUBY_VERSION=`$PKGCONFIG ruby --modversion 2>/dev/null`
|
|
|
|
|
if test -n "$RUBY_VERSION"; then
|
|
|
|
|
RUBY_CFLAGS=`$PKGCONFIG ruby --cflags`
|
|
|
|
|
fi
|
|
|
|
|
if test -z "$RUBY_VERSION"; then
|
|
|
|
|
for RUBY_TEST in 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.9; do
|
|
|
|
|
RUBY_VERSION=`$PKG_CONFIG ruby-$RUBY_TEST --modversion 2>/dev/null`
|
|
|
|
|
if test -n "$RUBY_VERSION"; then
|
|
|
|
|
RUBY_CFLAGS=`$PKG_CONFIG ruby-$RUBY_TEST --cflags`
|
|
|
|
|
break
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
if test -z "$RUBY_VERSION"; then
|
|
|
|
|
# pkgconfig file does not exist but might be 1.9.1: RUBY_VERSION defined in ruby/version.h
|
|
|
|
|
if test -n "$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubyhdrdir"@:>@)'"; then
|
|
|
|
|
# rubyhdrdir parameter works only in >=1.9.1; this is 1.9.1
|
|
|
|
|
RUBY_MAJOR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"['MAJOR']"@:>@)'`
|
|
|
|
|
RUBY_MINOR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"['MINOR']"@:>@)'`
|
|
|
|
|
RUBY_TEENY=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"['TEENY']"@:>@)'`
|
|
|
|
|
if test "$RUBY_MAJOR" == "1" && test "$RUBY_MINOR" == "9"; then
|
|
|
|
|
RUBY_VERSION="$RUBY_MAJOR.$RUBY_MINOR.$RUBY_TEENY"
|
|
|
|
|
RUBY_CFLAGS="-I`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubyhdrdir"@:>@)'`"
|
|
|
|
|
RUBY_CFLAGS="$RUBY_CFLAGS/`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"arch"@:>@)'` $RUBY_CFLAGS"
|
|
|
|
|
if test -n "`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`"; then
|
|
|
|
|
RUBY_ENABLESHARED=yes
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
if test -n "$RUBY_VERSION"; then
|
|
|
|
|
RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"archdir"@:>@)'`
|
|
|
|
|
RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitearchdir"@:>@)'`
|
|
|
|
|
RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"sitelibdir"@:>@)'`
|
|
|
|
|
RUBY_RUBYLIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubylibdir"@:>@)'`
|
|
|
|
|
RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"libdir"@:>@)'`
|
|
|
|
|
RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"rubyhdrdir"@:>@)'`
|
|
|
|
|
RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",RbConfig::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
|
|
|
|
|
RUBY_ENABLESHARED=yes
|
|
|
|
|
AC_DEFINE_UNQUOTED(HAVE_RUBY_1_9, 1, [Defines if your system has Ruby 1.9.x])
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
if test -z "$RUBY_VERSION"; then
|
|
|
|
|
RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'`
|
|
|
|
|
RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'`
|
|
|
|
|
RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'`
|
|
|
|
|
RUBY_RUBYLIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubylibdir"@:>@)'`
|
|
|
|
|
RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'`
|
|
|
|
|
RUBY_INCLUDEDIR=$RUBY_ARCHDIR
|
|
|
|
|
RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
|
|
|
|
|
|
|
|
|
|
RUBY_MAJOR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(MAJOR))"`
|
|
|
|
|
RUBY_MINOR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(MINOR))"`
|
|
|
|
|
|
|
|
|
|
RUBY_ARCHDIR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(archdir))"`
|
|
|
|
|
RUBY_SITEARCHDIR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitearchdir))"`
|
|
|
|
|
RUBY_SITEDIR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitelibdir))"`
|
|
|
|
|
RUBY_LIBDIR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(libdir))"`
|
|
|
|
|
RUBY_RUBYLIBDIR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubylibdir))"`
|
|
|
|
|
RUBY_LIBRUBYARG=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(LIBRUBYARG_SHARED))"`
|
|
|
|
|
if test -n "$RUBY_LIBRUBYARG"; then
|
|
|
|
|
RUBY_ENABLESHARED=yes
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
RUBY_SERIES="$RUBY_MAJOR$RUBY_MINOR"
|
|
|
|
|
if test "$RUBY_SERIES" -ge "19"; then
|
|
|
|
|
AC_DEFINE_UNQUOTED(HAVE_RUBY_1_9, 1, [Defines if your system has Ruby 1.9.x])
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test `${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.key?(%q(rubyhdrdir))"` = "true"; then
|
|
|
|
|
RUBY_INCLUDEDIR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubyhdrdir))"`
|
|
|
|
|
if test `${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.key?(%q(rubyarchhdrdir))"` = "true"; then
|
|
|
|
|
RUBY_ARCHINCLUDEDIR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubyarchhdrdir))"`
|
|
|
|
|
else
|
|
|
|
|
RUBY_ARCH=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(arch))"`
|
|
|
|
|
RUBY_ARCHINCLUDEDIR=${RUBY_INCLUDEDIR}/${RUBY_ARCH}
|
|
|
|
|
fi
|
|
|
|
|
RUBY_CFLAGS="-I${RUBY_INCLUDEDIR} -I${RUBY_ARCHINCLUDEDIR}"
|
|
|
|
|
else
|
|
|
|
|
RUBY_INCLUDEDIR=`${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(archdir))"`
|
|
|
|
|
RUBY_CFLAGS="-I${RUBY_INCLUDEDIR}"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Removes trailing slashes, if any, to avoid fail to install with recent libtool.
|
|
|
|
|
RUBY_ARCHDIR=${RUBY_ARCHDIR%/}
|
|
|
|
|
RUBY_SITEDIR=${RUBY_SITEDIR%/}
|
|
|
|
|
RUBY_LIBDIR=${RUBY_LIBDIR%/}
|
|
|
|
|
RUBY_RUBYLIBDIR=${RUBY_RUBYLIBDIR%/}
|
|
|
|
|
|
|
|
|
|
AC_MSG_RESULT([
|
|
|
|
|
archdir $RUBY_ARCHDIR,
|
|
|
|
|
sitearchdir $RUBY_SITEARCHDIR,
|
|
|
|
@ -94,56 +75,44 @@ if test "x$compile_kross" = "xyes" ; then
|
|
|
|
|
cflags $RUBY_CFLAGS])
|
|
|
|
|
AC_SUBST(RUBY_ARCHDIR)
|
|
|
|
|
AC_SUBST(RUBY_SITEARCHDIR)
|
|
|
|
|
AC_SUBST(RUBY_SITEDIR)
|
|
|
|
|
AC_SUBST(RUBY_RUBYLIBDIR)
|
|
|
|
|
AC_SUBST(RUBY_LIBDIR)
|
|
|
|
|
AC_SUBST(RUBY_INCLUDEDIR)
|
|
|
|
|
AC_SUBST(RUBY_LIBRUBYARG)
|
|
|
|
|
AC_SUBST(RUBY_SITEDIR)
|
|
|
|
|
AC_SUBST(RUBY_CFLAGS)
|
|
|
|
|
AC_SUBST(RUBY_ENABLESHARED)
|
|
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(for Ruby header)
|
|
|
|
|
|
|
|
|
|
if test ! -r $RUBY_INCLUDEDIR/ruby.h; then
|
|
|
|
|
# if $RUBY_INCLUDEDIR is not valid try to use $RUBY_ARCHDIR
|
|
|
|
|
RUBY_INCLUDEDIR=$RUBY_ARCHDIR
|
|
|
|
|
fi
|
|
|
|
|
AC_MSG_CHECKING(Ruby shared library)
|
|
|
|
|
if test "x$RUBY_ENABLESHARED" != "xyes" ; then
|
|
|
|
|
AC_MSG_RESULT([shared library not found])
|
|
|
|
|
RUBY_LIBDIR=""
|
|
|
|
|
else
|
|
|
|
|
AC_MSG_RESULT([found]) # shared library link arg
|
|
|
|
|
|
|
|
|
|
AC_MSG_RESULT([found]) # header
|
|
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(Ruby shared library)
|
|
|
|
|
if test "x$RUBY_ENABLESHARED" != "xyes" ; then
|
|
|
|
|
AC_MSG_RESULT([shared library not found])
|
|
|
|
|
RUBY_LIBDIR=""
|
|
|
|
|
else
|
|
|
|
|
if test -z "$RUBY_LIBRUBYARG" ; then
|
|
|
|
|
AC_MSG_RESULT([link argument not found])
|
|
|
|
|
RUBY_LIBDIR=""
|
|
|
|
|
else
|
|
|
|
|
AC_MSG_RESULT([found]) # shared library link arg
|
|
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([if C++ program with ruby can be compiled])
|
|
|
|
|
AC_LANG_SAVE
|
|
|
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
|
ac_save_CXXFLAGS="$CXXFLAGS"
|
|
|
|
|
CXXFLAGS="$CXXFLAGS -I$RUBY_INCLUDEDIR $RUBY_CFLAGS"
|
|
|
|
|
AC_CACHE_VAL(ruby_build,
|
|
|
|
|
[
|
|
|
|
|
AC_TRY_COMPILE([
|
|
|
|
|
#include <ruby.h>
|
|
|
|
|
],[
|
|
|
|
|
ruby_init();
|
|
|
|
|
return 0;
|
|
|
|
|
], ruby_build=yes,
|
|
|
|
|
ruby_build=no)
|
|
|
|
|
])
|
|
|
|
|
AC_MSG_RESULT($ruby_build)
|
|
|
|
|
if test "$ruby_build" = "no"; then
|
|
|
|
|
RUBY_LIBDIR=""
|
|
|
|
|
fi
|
|
|
|
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
|
|
|
|
AC_LANG_RESTORE
|
|
|
|
|
fi # have ruby shared lib argument
|
|
|
|
|
fi # have shared lib
|
|
|
|
|
AC_MSG_CHECKING([if C++ program with ruby can be compiled])
|
|
|
|
|
AC_LANG_SAVE
|
|
|
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
|
ac_save_CXXFLAGS="$CXXFLAGS"
|
|
|
|
|
CXXFLAGS="$CXXFLAGS -I$RUBY_INCLUDEDIR $RUBY_CFLAGS"
|
|
|
|
|
AC_CACHE_VAL(ruby_build,
|
|
|
|
|
[
|
|
|
|
|
AC_TRY_COMPILE([
|
|
|
|
|
#include <ruby.h>
|
|
|
|
|
],[
|
|
|
|
|
ruby_init();
|
|
|
|
|
return 0;
|
|
|
|
|
], ruby_build=yes,
|
|
|
|
|
ruby_build=no)
|
|
|
|
|
])
|
|
|
|
|
AC_MSG_RESULT($ruby_build)
|
|
|
|
|
if test "$ruby_build" = "no"; then
|
|
|
|
|
RUBY_LIBDIR=""
|
|
|
|
|
fi
|
|
|
|
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
|
|
|
|
AC_LANG_RESTORE
|
|
|
|
|
fi # have shared lib
|
|
|
|
|
fi # have ruby
|
|
|
|
|
fi # compiling kross
|
|
|
|
|
|
|
|
|
|