|
|
|
@ -32,6 +32,37 @@ else
|
|
|
|
|
RUBY_CFLAGS="-I${RUBY_INCLUDEDIR}" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# check if Ruby requires explicit specification of C++ standard |
|
|
|
|
AC_LANG_SAVE |
|
|
|
|
AC_LANG_CPLUSPLUS |
|
|
|
|
SAVED_CXXFLAGS="$CXXFLAGS" |
|
|
|
|
for CXX_STD_TEST in "" 11 14 17; do |
|
|
|
|
CXXFLAGS="$SAVED_CXXFLAGS" |
|
|
|
|
if test "x$CXX_STD_TEST" = "x"; then |
|
|
|
|
AC_MSG_CHECKING([Ruby build with default C++ standard]) |
|
|
|
|
RUBY_CXXFLAGS="" |
|
|
|
|
else |
|
|
|
|
AC_MSG_CHECKING([Ruby build with C++$CXX_STD_TEST]) |
|
|
|
|
RUBY_CXXFLAGS="-std=c++$CXX_STD_TEST" |
|
|
|
|
fi |
|
|
|
|
CXXFLAGS="$SAVED_CXXFLAGS $RUBY_CFLAGS $RUBY_CXXFLAGS" |
|
|
|
|
AC_TRY_COMPILE([ |
|
|
|
|
#include <ruby.h> |
|
|
|
|
],[ ], |
|
|
|
|
ruby_cxx_std=yes, |
|
|
|
|
ruby_cxx_std=no |
|
|
|
|
) |
|
|
|
|
if test "x$ruby_cxx_std" = "xyes"; then |
|
|
|
|
AC_SUBST(RUBY_CXXFLAGS) |
|
|
|
|
AC_MSG_RESULT(yes) |
|
|
|
|
break |
|
|
|
|
else |
|
|
|
|
AC_MSG_RESULT(no) |
|
|
|
|
fi |
|
|
|
|
done |
|
|
|
|
CXXFLAGS="$SAVED_CXXFLAGS" |
|
|
|
|
AC_LANG_RESTORE |
|
|
|
|
|
|
|
|
|
# Removes trailing slashes, if any, to avoid fail to install with recent libtool. |
|
|
|
|
RUBY_ARCHDIR=${RUBY_ARCHDIR%/} |
|
|
|
|
RUBY_SITEDIR=${RUBY_SITEDIR%/} |
|
|
|
@ -46,7 +77,8 @@ else
|
|
|
|
|
libdir $RUBY_LIBDIR, |
|
|
|
|
includedir $RUBY_INCLUDEDIR, |
|
|
|
|
librubyarg $RUBY_LIBRUBYARG, |
|
|
|
|
cflags $RUBY_CFLAGS]) |
|
|
|
|
cflags $RUBY_CFLAGS, |
|
|
|
|
cxxflags $RUBY_CXXFLAGS]) |
|
|
|
|
AC_SUBST(RUBY_ARCHDIR) |
|
|
|
|
AC_SUBST(RUBY_SITEARCHDIR) |
|
|
|
|
AC_SUBST(RUBY_SITEDIR) |
|
|
|
@ -56,4 +88,3 @@ else
|
|
|
|
|
AC_SUBST(RUBY_LIBRUBYARG) |
|
|
|
|
AC_SUBST(RUBY_CFLAGS) |
|
|
|
|
fi |
|
|
|
|
|