AC_PATH_PROG([PERL], perl, no)
AC_SUBST([PERL])dnl
if test "$PERL" != no && $PERL -e 'require 5.005_03;'; then :; else
- PSPP_REQUIRED_PREREQ([Perl 5.005_03 (or later)])
+ PSPP_OPTIONAL_PREREQ([Perl 5.005_03 (or later)])
fi
# The PSPP autobuilder appends a build number to the PSPP version number,
[yes|no], [],
[AC_MSG_FAILURE([--with-perl-module argument must be 'yes' or 'no'])])
WITH_PERL_MODULE=$with_perl_module],
- [if test x"$cross_compiling" != x"yes"; then
+ [if test "$PERL" != no && test x"$cross_compiling" != x"yes"; then
WITH_PERL_MODULE=yes
else
WITH_PERL_MODULE=no
AM_CONDITIONAL(WITH_PERL_MODULE, test $WITH_PERL_MODULE = yes)
if test $WITH_PERL_MODULE = yes; then
+ if test "$PERL" = no; then
+ PSPP_REQUIRED_PREREQ([Perl 5.005_03 or later (or use --without-perl-module)])
+ fi
CHECK_PERL_MODULE([Config::Perl::V], [],
[PSPP_REQUIRED_PREREQ([Config::Perl::V Perl module (or use --without-perl-module)])])
CHECK_PERL_MODULE([Text::Diff], [],
[PSPP_OPTIONAL_PREREQ([Text::Diff Perl module for running Perl tests])])
- CHECK_PERL_MODULE([Memory::Usage], [],
- [PSPP_OPTIONAL_PREREQ([Memory::Usage Perl module for running Perl tests])])
fi])
dnl Check that Python 3 is available.
dnl If so, execute ACTION-IF-ACCEPTED, otherwise ACTION-IF-REJECTED.
AC_DEFUN([PSPP_CHECK_CC_OPTION],
[
- m4_define([pspp_cv_name], [pspp_cv_[]m4_translit([$1], [-], [_])])dnl
+ m4_define([pspp_cv_name], [pspp_cv_[]m4_translit([$1], [-=], [__])])dnl
AC_CACHE_CHECK([whether $CC accepts $1], [pspp_cv_name],
[pspp_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $1"
AC_DEFUN([PSPP_ENABLE_WERROR],
[AC_ARG_ENABLE(
[Werror],
- [AC_HELP_STRING([--enable-Werror], [Add -Werror to CFLAGS])],
+ [AS_HELP_STRING([--enable-Werror], [Add -Werror to CFLAGS])],
[], [enable_Werror=no])
AC_CONFIG_COMMANDS_PRE(
[if test "X$enable_Werror" = Xyes; then
CFLAGS="$CFLAGS -Werror -Wno-error=deprecated-declarations"
# gnulib needs this, for now:
CFLAGS="$CFLAGS -Wno-error=attributes"
- fi])])
+ fi])
+
+ dnl Gnulib triggers the following error for me with GCC 12.x:
+ dnl
+ dnl In function 'convert_to_decimal',
+ dnl inlined from 'scale10_round_decimal_decoded' at ../gl/vasnprintf.c:1368:12:
+ dnl ../gl/vasnprintf.c:939:26: error: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=]
+ dnl 939 | char *c_ptr = (char *) malloc (xsum (xsum (extra_zeroes, c_len), 1));
+ dnl | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ dnl
+ dnl I prefer to just disable the error because I think the warning is wrong.
+ if test "X$enable_Werror" = Xyes; then
+ PSPP_ENABLE_OPTION([-Wno-error=alloc-size-larger-than=])
+ fi])
# The following comes from Open vSwitch:
# ----------------------------------------------------------------------