Fix build requirements by correctly noting that Python is required.
[pspp] / acinclude.m4
index c1c67119aad1f12f759a0648df7edeaea9960bf3..f0700099628930dbc3cfaff713913b9614edf286 100644 (file)
@@ -43,10 +43,17 @@ AC_DEFUN([PSPP_PERL],
   AC_SUBST([VERSION_FOR_PERL])
 ])
 
-dnl Check that Python 2 or 3 is available.
-AC_DEFUN([PSPP_PYTHON],
-  [AC_ARG_VAR([PYTHON], [Python 2 or 3 interpreter])
-   AC_CHECK_PROGS([PYTHON], [python python2 python3], [none])])
+dnl Check that Python 3 is available.
+AC_DEFUN([PSPP_PYTHON3],
+  [AC_ARG_VAR([PYTHON3], [Python 3 interpreter])
+   AC_CHECK_PROGS([PYTHON3], [python3 python], [none])
+   if test "$PYTHON3" != no && $PYTHON3 -c '
+import sys
+sys.exit(0 if sys.version_info >= (3,4) else 1)
+'; then :; else
+     PSPP_REQUIRED_PREREQ([Python 3.4 (or later)])
+   fi
+  ])
 
 dnl PSPP_CHECK_CC_OPTION([OPTION], [ACTION-IF-ACCEPTED], [ACTION-IF-REJECTED])
 dnl Check whether the given C compiler OPTION is accepted.
@@ -66,6 +73,30 @@ AC_DEFUN([PSPP_CHECK_CC_OPTION],
   fi
 ])
 
+# PSPP_ENABLE_OPTION comes from Open vSwitch:
+# ----------------------------------------------------------------------
+# Copyright (c) 2007-2017 Nicira, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+dnl PSPP_ENABLE_OPTION([OPTION])
+dnl Check whether the given C compiler OPTION is accepted.
+dnl If so, add it to WARNING_FLAGS.
+dnl Example: PSPP_ENABLE_OPTION([-Wdeclaration-after-statement])
+AC_DEFUN([PSPP_ENABLE_OPTION],
+  [PSPP_CHECK_CC_OPTION([$1], [WARNING_FLAGS="$WARNING_FLAGS $1"])
+   AC_SUBST([WARNING_FLAGS])])
+# ----------------------------------------------------------------------
+
 dnl Check for readline and history libraries.
 
 dnl Modified for PSPP, based on readline.m4 serial 3 from