summaryrefslogtreecommitdiffstats
path: root/qtruby
diff options
context:
space:
mode:
authorgregory guy <[email protected]>2019-11-21 14:54:47 +0100
committergregory guy <[email protected]>2019-11-24 11:26:34 +0100
commit1aaf11f05e12e72cff263c13a28964dabc5dcf7a (patch)
tree3c5b1cf984550a78f3691f187ddc4c1694f1e075 /qtruby
parent4804302311c945d3cee05ee87f35193f1633406d (diff)
downloadtdebindings-1aaf11f05e12e72cff263c13a28964dabc5dcf7a.tar.gz
tdebindings-1aaf11f05e12e72cff263c13a28964dabc5dcf7a.zip
fix bug #2056, tdebindings does not rely anymore on pkg-config
to build Ruby binding, only rbconfig.rb is needed. Signed-off-by: gregory guy <[email protected]> Signed-off-by: Slávek Banko <[email protected]>
Diffstat (limited to 'qtruby')
-rw-r--r--qtruby/rubylib/qtruby/configure.in.in84
1 files changed, 29 insertions, 55 deletions
diff --git a/qtruby/rubylib/qtruby/configure.in.in b/qtruby/rubylib/qtruby/configure.in.in
index 1aab3477..db0594a3 100644
--- a/qtruby/rubylib/qtruby/configure.in.in
+++ b/qtruby/rubylib/qtruby/configure.in.in
@@ -1,61 +1,35 @@
-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_CHECK_PROG(RUBY_EXECUTABLE, ruby, ruby)
-AC_CHECK_PROG(RUBY, ruby, ruby)
-
-if test -z "$RUBY"; then
+if test -z "RUBY_EXECUTABLE"; then
DO_NOT_COMPILE="$DO_NOT_COMPILE qtruby"
else
- 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"
- 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"@:>@)'`
- AC_DEFINE_UNQUOTED(HAVE_RUBY_1_9, 1, [Defines if your system has Ruby 1.9.x])
- fi
+ 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))"`
+
+ 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 -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"@:>@)'`
+
+ 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.
@@ -64,7 +38,7 @@ else
RUBY_LIBDIR=${RUBY_LIBDIR%/}
RUBY_RUBYLIBDIR=${RUBY_RUBYLIBDIR%/}
- AC_MSG_RESULT([
+ AC_MSG_RESULT([\
archdir $RUBY_ARCHDIR,
sitearchdir $RUBY_SITEARCHDIR,
sitedir $RUBY_SITEDIR,