summaryrefslogtreecommitdiffstats
path: root/qtruby/rubylib/qtruby/configure.in.in
blob: ed1519cbc8798f87f2d88a4b405801597aebf359 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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, ruby, ruby)

if test -z "$RUBY"; 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.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
  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"@:>@)'`
  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,
                  sitedir $RUBY_SITEDIR,
                  rubylibdir $RUBY_RUBYLIBDIR,
                  libdir $RUBY_LIBDIR,
                  includedir $RUBY_INCLUDEDIR,
                  librubyarg $RUBY_LIBRUBYARG,
                  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_CFLAGS)
fi