]> granicus.if.org Git - recode/commitdiff
AppVeyor: fix build: default is now Python 3, so get Python 2 explicitly
authorReuben Thomas <rrt@sc3d.org>
Tue, 27 Aug 2019 22:29:01 +0000 (23:29 +0100)
committerReuben Thomas <rrt@sc3d.org>
Wed, 28 Aug 2019 14:28:09 +0000 (15:28 +0100)
appveyor.yml
build-aux/appveyor-install.sh
configure.ac
doc/Makefile.am
m4/ax_python_embed.m4 [deleted file]
tests/Makefile.am

index 8306f03a9bbbb85d5029f1a39f635635ab360ab2..27ebd7896abedea0ed439e1392cf23b44b65ff31 100644 (file)
@@ -4,6 +4,7 @@ clone_folder: c:\projects\recode
 environment:
   global:
     VERBOSE: 1 # Get test logs in output
+    CONFIGURE_FLAGS: PYTHON=python2 CYTHON=cython2
   matrix:
     # - MSYSTEM: MSYS (no cython available)
     - MSYSTEM: MINGW64
@@ -16,4 +17,4 @@ install:
   - C:\msys64\usr\bin\bash.exe -l c:/projects/recode/build-aux/appveyor-install.sh
 
 build_script:
-  - C:\msys64\usr\bin\bash.exe -lc "cd c:/projects/recode && ./bootstrap && ./configure --enable-silent-rules %CONFIGURE_FLAGS% && make && make distcheck"
+  - C:\msys64\usr\bin\bash.exe -lc "cd c:/projects/recode && ./bootstrap && ./configure --enable-silent-rules %CONFIGURE_FLAGS% && make && make DISTCHECK_CONFIGURE_FLAGS=\"%CONFIGURE_FLAGS%\" distcheck"
index 21cd2043781264cdc245e95c36c79bb98464a9b9..f584a8a5098b455698cb6908f3019ba32269f84e 100644 (file)
@@ -18,4 +18,4 @@ case $MSYSTEM in
 esac
 
 # Build dependencies
-pacman --noconfirm -S rsync mingw-w64-$MINGW_BITS-cython
+pacman --noconfirm -S rsync mingw-w64-$MINGW_BITS-python2 mingw-w64-$MINGW_BITS-cython2
index b0415c99b36c649ed91b40cf4e3327ea769ceb11..718757f3e2c715078a2c845a7d69ac5c07dc9eed 100644 (file)
@@ -37,14 +37,16 @@ AC_PROG_CC_C99
 gl_EARLY
 LT_INIT
 AC_PROG_LEX
-AX_PYTHON_PATH
-AX_PYTHON_VERSION_ENSURE([2.2])
+AM_PATH_PYTHON([2.2])
 gl_INIT
 
 dnl help2man
 dnl Set a value even if not found, so that an invocation via build-aux/missing works
 AC_PATH_PROG([HELP2MAN], [help2man], [help2man])
 
+dnl Cython
+AC_CHECK_PROG([CYTHON], [cython], [cython])
+
 AC_SUBST([objdir])
 LT_SYS_MODULE_EXT
 case $host_os in
index d8c4acb4fd91a29bd9f96d02ac390057f61bd0d7..1b1d9df250af5252813cdcd056ff5f29478f90f5 100644 (file)
@@ -27,7 +27,6 @@ KELD = ../keld
 CHARSETS_DEF = $(KELD)/charsets.def
 MNEMONICS_DS = $(KELD)/iso10646.def $(KELD)/other.def $(KELD)/control.def
 
-PYTHON = python
 TABLES_PY = $(PYTHON) $(top_srcdir)/tables.py
 
 $(srcdir)/recode.info: rfc1345.texi
diff --git a/m4/ax_python_embed.m4 b/m4/ax_python_embed.m4
deleted file mode 100644 (file)
index 1a4f0a5..0000000
+++ /dev/null
@@ -1,518 +0,0 @@
-# ===========================================================================
-#     https://www.gnu.org/software/autoconf-archive/ax_python_embed.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_PYTHON_DEFAULT
-#   AX_PYTHON_ENABLE
-#   AX_PYTHON_WITH
-#   AX_PYTHON_PATH
-#   AX_PYTHON_VERSION_ENSURE( [2.2] )
-#   AX_PYTHON_CSPEC
-#   AX_PYTHON_LSPEC
-#
-# DESCRIPTION
-#
-#   This file provides autoconf support for those applications that want to
-#   embed python. It supports all pythons >= 2.2 which is the first official
-#   release containing distutils. Version 2.2 of python was released
-#   December 21, 2001. Since it actually executes the python, cross platform
-#   configuration will probably not work. Also, most of the platforms
-#   supported are consistent until you look into Mac OS X. The python
-#   included with it is installed as a framework which is a very different
-#   environment to set up the normal tools such as gcc and libtool to deal
-#   with. Therefore, once we establish which python that we are going to
-#   use, we use its distutils to actually compile and link our modules or
-#   applications.
-#
-#   At this time, it does NOT support linking with Python statically. It
-#   does support dynamic linking.
-#
-#   This set of macros help define $PYTHON, $PYTHON_USE, $PYTHON_CSPEC and
-#   $PYTHON_LSPEC. $PYTHON defines the full executable path for the Python
-#   being linked to and is used within these macros to determine if that has
-#   been specified or found. These macros do execute this python version so
-#   it must be present on the system at configure time.
-#
-#   $PYTHON_USE is an automake variable that defines whether Python support
-#   should be included or not in your application. $PYTHON_CSPEC is a
-#   variable that supplies additional CFLAGS for the compilation of the
-#   application/shared library. $PYTHON_LSPEC is a variable that supplies
-#   additional LDFLAGS for linking the application/shared library.
-#
-#   The following is an example of how to set up for python usage within
-#   your application in your configure.in:
-#
-#     AX_PYTHON_DEFAULT( )
-#     AX_PYTHON_ENABLE( )             # Optional
-#     AX_PYTHON_WITH( )               # Optional
-#     AX_PYTHON_PATH( )               # or AX_PYTHON_INSIST( )
-#     # if $PYTHON is not defined, then the following do nothing.
-#     AX_PYTHON_VERSION_ENSURE( [2.2] )
-#     AX_PYTHON_CSPEC
-#     AX_PYTHON_LSPEC
-#
-#   The AX_PYTHON_DEFAULT sets the $PYTHON_USE to false. Thereby, excluding
-#   it if it was optional.
-#
-#   The AX_PYTHON_ENABLE looks for the optional configure parameters of
-#   --enable-python/--disable-python and establishes the $PYTHON and
-#   $PYTHON_USE variables accordingly.
-#
-#   The AX_PYTHON_WITH looks for the optional configure parameters of
-#   --with-python/--without-python and establishes the $PYTHON and
-#   $PYTHON_USE variables accordingly.
-#
-#   The AX_PYTHON_PATH looks for python assuming that none has been
-#   previously found or defined and issues an error if it does not find it.
-#   If it does find it, it establishes the $PYTHON and $PYTHON_USE variables
-#   accordingly. AX_PYTHON_INSIST could be used here instead if you want to
-#   insist that Python support be included using the --enable-python or
-#   --with-python checks previously done.
-#
-#   The AX_PYTHON_VERSION_ENSURE issues an error if the Python previously
-#   found is not of version 2.2 or greater.
-#
-#   Once that these macros have be run, we can use PYTHON_USE within the
-#   makefile.am file to conditionally add the Python support such as:
-#
-#   Makefile.am example showing optional inclusion of directories:
-#
-#    if PYTHON_USE
-#    plugins = plugins
-#    src = src
-#    else
-#    plugins =
-#    src =
-#    endif
-#
-#    SUBDIRS = . $(plugins) $(src)
-#
-#   Makefile.am example showing optional shared library build:
-#
-#    if PYTHON_USE
-#    lib_LTLIBRARIES        = libElemList.la
-#    libElemList_la_SOURCES = libElemList.c
-#    libElemList_la_CFLAGS  = @PYTHON_CSPEC@
-#    libElemList_la_LDFLAGS = @PYTHON_LSPEC@
-#    endif
-#
-#   Makefile.am example showing optional program build:
-#
-#    if PYTHON_USE
-#    bin_PROGRAMS    = runFunc
-#    runFunc_SOURCES = runFunc.c
-#    runFunc_CFLAGS  = @PYTHON_CSPEC@
-#    runFunc_LDFLAGS = @PYTHON_LSPEC@
-#    endif
-#
-#   The above compiles the modules only if PYTHON_USE was specified as true.
-#   Also, the else portion of the if was optional.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Robert White <kranki@mac.com>
-#   Copyright (c) 2008 Dustin J. Mitchell <dustin@cs.uchicago.edu>
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved. This file is offered as-is, without any
-#   warranty.
-
-#serial 15
-
-# AX_PYTHON_DEFAULT( )
-# -----------------
-# Sets the default to not include Python support.
-
-AC_DEFUN([AX_PYTHON_DEFAULT],
-[
-    ax_python_use=false
-    AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-])
-
-
-
-# AX_PYTHON_ENABLE( [path] )
-# -----------------------------------------------------------------
-# Handles the various --enable-python commands.
-# Input:
-#   $1 is the optional search path for the python executable if needed
-# Output:
-#   PYTHON_USE (AM_CONDITIONAL) is true if python executable found
-#   and --enable-python was requested; otherwise false.
-#   $PYTHON contains the full executable path to python if PYTHON_ENABLE_USE
-#   is true.
-#
-# Example:
-#   AX_PYTHON_ENABLE( )
-#   or
-#   AX_PYTHON_ENABLE( "/usr/bin" )
-
-AC_DEFUN([AX_PYTHON_ENABLE],
-[
-    AC_ARG_VAR([PYTHON],[Python Executable Path])
-
-    # unless PYTHON was supplied to us (as a precious variable),
-    # see if --enable-python[=PythonExecutablePath], --enable-python,
-    # --disable-python or --enable-python=no was given.
-    if test -z "$PYTHON"
-    then
-        AC_MSG_CHECKING(for --enable-python)
-        AC_ARG_ENABLE(
-            python,
-            AS_HELP_STRING([--enable-python@<:@=PYTHON@:>@],
-                [absolute path name of Python executable]
-            ),
-            [
-                if test "$enableval" = "yes"
-                then
-                    # "yes" was specified, but we don't have a path
-                    # for the executable.
-                    # So, let's search the PATH Environment Variable.
-                    AC_MSG_RESULT(yes)
-                    AC_PATH_PROG(
-                        [PYTHON],
-                        python,
-                        [],
-                        $1
-                    )
-                    if test -z "$PYTHON"
-                    then
-                        AC_MSG_ERROR(no path to python found)
-                    fi
-                    ax_python_use=true
-                    AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-                    AX_PYTHON_PREFIX( )
-                elif test "$enableval" = "no"
-                then
-                    AC_MSG_RESULT(no)
-                    ax_python_use=false
-                    AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-                else
-                    # $enableval must be the executable path then.
-                    AC_SUBST([PYTHON], ["${enableval}"])
-                    AC_MSG_RESULT($withval)
-                    ax_python_use=true
-                    AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-                    AX_PYTHON_PREFIX( )
-                fi
-            ],
-            [
-                # --with-python was not specified.
-                AC_MSG_RESULT(no)
-                ax_python_use=false
-                AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-            ]
-        )
-    fi
-
-])
-
-
-
-# AX_PYTHON_CSPEC( )
-# -----------------
-# Set up the c compiler options to compile Python
-# embedded programs/libraries in $PYTHON_CSPEC if
-# $PYTHON has been defined.
-
-AC_DEFUN([AX_PYTHON_CSPEC],
-[
-    AC_ARG_VAR( [PYTHON], [Python Executable Path] )
-    if test -n "$PYTHON"
-    then
-        ax_python_prefix=`${PYTHON} -c "import sys; print(sys.prefix)"`
-        if test -z "$ax_python_prefix"
-        then
-            AC_MSG_ERROR([Python Prefix is not known])
-        fi
-        ax_python_execprefix=`${PYTHON} -c "import sys; print(sys.exec_prefix)"`
-        ax_python_version=`$PYTHON -c "import sys; print(sys.version[[:3]])"`
-        ax_python_includespec="-I${ax_python_prefix}/include/python${ax_python_version}"
-        if test x"$python_prefix" != x"$python_execprefix"; then
-            ax_python_execspec="-I${ax_python_execprefix}/include/python${ax_python_version}"
-            ax_python_includespec="${ax_python_includespec} $ax_python_execspec"
-        fi
-        ax_python_ccshared=`${PYTHON} -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('CFLAGSFORSHARED'))"`
-        ax_python_cspec="${ax_python_ccshared} ${ax_python_includespec}"
-        AC_SUBST([PYTHON_CSPEC], [${ax_python_cspec}])
-        AC_MSG_NOTICE([PYTHON_CSPEC=${ax_python_cspec}])
-    fi
-])
-
-
-
-# AX_PYTHON_INSIST( )
-# -----------------
-# Look for Python and set the output variable 'PYTHON'
-# to 'python' if found, empty otherwise.
-
-AC_DEFUN([AX_PYTHON_INSIST],
-[
-    AC_ARG_VAR( [PYTHON], [Python Executable Path] )
-    if test -z "$PYTHON"
-    then
-        AC_MSG_ERROR([Python Executable not found])
-    fi
-])
-
-
-
-# AX_PYTHON_LSPEC( )
-# -----------------
-# Set up the linker options to link Python embedded
-# programs/libraries in $PYTHON_LSPEC if $PYTHON
-# has been defined.
-
-AC_DEFUN([AX_PYTHON_LSPEC],
-[
-    AC_ARG_VAR( [PYTHON], [Python Executable Path] )
-    if test -n "$PYTHON"
-    then
-        AX_PYTHON_RUN([
-import sys
-import distutils.sysconfig
-strUseFrameWork = "--enable-framework"
-dictConfig = distutils.sysconfig.get_config_vars( )
-strConfigArgs = dictConfig.get("CONFIG_ARGS")
-strLinkSpec =  dictConfig.get('LDFLAGS')
-if -1 ==  strConfigArgs.find(strUseFrameWork):
-    strLibPL = dictConfig.get("LIBPL")
-    if strLibPL and (strLibPL != ""):
-        strLinkSpec += " -L%s" % (strLibPL)
-    strSys = dictConfig.get("SYSLIBS")
-    if strSys and (strSys != ""):
-        strLinkSpec += " %s" % (strSys)
-    strSHL = dictConfig.get("SHLIBS")
-    if strSHL and (strSHL != ""):
-        strLinkSpec += " %s" % (strSHL)
-    # Construct the Python Library Name.
-    strTmplte = " -lpython%d.%d"
-    if (sys.platform == "win32") or (sys.platform == "os2emx"):
-        strTmplte = " -lpython%d%d"
-    strWrk = strTmplte % ( (sys.hexversion >> 24),
-                            ((sys.hexversion >> 16) & 0xff))
-    strLinkSpec += strWrk
-else:
-    # This is not ideal since it changes the search path
-    # for Frameworks which could have side-effects on
-    # other included Frameworks.  However, it is necessary
-    # where someone has installed more than one frameworked
-    # Python.  Frameworks are really only used in MacOSX.
-    strLibFW = dictConfig.get("PYTHONFRAMEWORKPREFIX")
-    if strLibFW and (strLibFW != ""):
-        strLinkSpec += " -F%s" % (strLibFW)
-strLinkSpec += " %s" % (dictConfig.get('LINKFORSHARED'))
-print(strLinkSpec)
-        ])
-        AC_SUBST([PYTHON_LSPEC], [${ax_python_output}])
-        AC_MSG_NOTICE([PYTHON_LSPEC=${ax_python_output}])
-    fi
-])
-
-
-
-# AX_PYTHON_PATH( )
-# -----------------
-# Look for Python and set the output variable 'PYTHON'
-# to 'python' if found, empty otherwise.
-
-AC_DEFUN([AX_PYTHON_PATH],
-[
-    AC_ARG_VAR( [PYTHON], [Python Executable Path] )
-    AC_PATH_PROG( PYTHON, python, [], $1 )
-    if test -z "$PYTHON"
-    then
-        AC_MSG_ERROR([Python Executable not found])
-    else
-        ax_python_use=true
-    fi
-    AM_CONDITIONAL(PYTHON_USE, test "$ax_python_use" = "true")
-])
-
-
-
-# AX_PYTHON_PREFIX( )
-# -------------------
-# Use the values of $prefix and $exec_prefix for the corresponding
-# values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.
-
-AC_DEFUN([AX_PYTHON_PREFIX],
-[
-    if test -z "$PYTHON"
-    then
-        AC_MSG_ERROR([Python Executable Path is not known])
-    fi
-    ax_python_prefix=`${PYTHON} -c "import sys; print(sys.prefix)"`
-    ax_python_execprefix=`${PYTHON} -c "import sys; print(sys.exec_prefix)"`
-    AC_SUBST([PYTHON_PREFIX], ["${ax_python_prefix}"])
-    AC_SUBST([PYTHON_EXECPREFIX], ["${ax_python_execprefix}"])
-])
-
-
-
-# AX_PYTHON_RUN( PYTHON_PROGRAM )
-# -----------------
-# Run a Python Test Program saving its output
-# in ax_python_output and its condition code
-# in ax_python_cc.
-
-AC_DEFUN([AX_PYTHON_RUN],
-[
-    AC_ARG_VAR( [PYTHON], [Python Executable Path] )
-    if test -z "$PYTHON"
-    then
-        AC_MSG_ERROR([Python Executable not found])
-    else
-        cat >conftest.py <<_ACEOF
-$1
-_ACEOF
-        ax_python_output=`$PYTHON conftest.py`
-        ax_python_cc=$?
-        rm conftest.py
-        if test -f "conftest.pyc"
-        then
-            rm conftest.pyc
-        fi
-    fi
-])
-
-
-
-# AX_PYTHON_VERSION_CHECK( VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE] )
-# -----------------------------------------------------------------------------
-# Run ACTION-IF-TRUE if the Python interpreter has version >= VERSION.
-# Run ACTION-IF-FALSE otherwise.
-# This test uses sys.hexversion instead of the string equivalent (first
-# word of sys.version), in order to cope with versions such as 2.2c1.
-# hexversion has been introduced in Python 1.5.2; it's probably not
-# worth to support older versions (1.5.1 was released on October 31, 1998).
-
-AC_DEFUN([AX_PYTHON_VERSION_CHECK],
- [
-    AC_ARG_VAR( [PYTHON], [Python Executable Path] )
-    if test -n "$PYTHON"
-    then
-        AC_MSG_CHECKING([whether $PYTHON version >= $1])
-        AX_PYTHON_RUN([
-import sys
-# split strings by '.' and convert to numeric.  Append some zeros
-# because we need at least 4 digits for the hex conversion.
-# It accepts a string like "X[.Y[.Z]]" with X,Y,Z=digits
-# and [] means optional.
-minver = list(map(int, '$1'.split('.'))) + [[0, 0, 0]]
-minver[3] = 255
-minverhex = 0
-for i in range(0, 4): minverhex = (minverhex << 8) + minver[[i]]
-if sys.hexversion >= minverhex:
-    sys.exit( 0 )
-else:
-    sys.exit( 1 )
-        ])
-        if test $ax_python_cc -eq 0
-        then
-            $2
-        m4_ifvaln(
-            [$3],
-            [else $3]
-        )
-        fi
-    fi
-])
-
-
-
-# AX_PYTHON_VERSION_ENSURE( VERSION )
-# -----------------
-# Insure that the Python Interpreter Version
-# is greater than or equal to the VERSION
-# parameter.
-
-AC_DEFUN([AX_PYTHON_VERSION_ENSURE],
-[
-    AX_PYTHON_VERSION_CHECK(
-        [$1],
-        [AC_MSG_RESULT(yes)],
-        [AC_MSG_ERROR(too old)]
-    )
-])
-
-
-
-# AX_PYTHON_WITH( [path] )
-# -----------------------------------------------------------------
-# Handles the various --with-python commands.
-# Input:
-#   $1 is the optional search path for the python executable if needed
-# Output:
-#   PYTHON_USE (AM_CONDITIONAL) is true if python executable found
-#   and --with-python was requested; otherwise false.
-#   $PYTHON contains the full executable path to python if PYTHON_USE
-#   is true.
-#
-# Example:
-#   AX_PYTHON_WITH( )
-#   or
-#   AX_PYTHON_WITH("/usr/bin")
-
-AC_DEFUN([AX_PYTHON_WITH],
-[
-    AC_ARG_VAR([PYTHON],[Python Executable Path])
-
-    # unless PYTHON was supplied to us (as a precious variable),
-    # see if --with-python[=PythonExecutablePath], --with-python,
-    # --without-python or --with-python=no was given.
-    if test -z "$PYTHON"
-    then
-        AC_MSG_CHECKING(for --with-python)
-        AC_ARG_WITH(
-            python,
-            AS_HELP_STRING([--with-python@<:@=PYTHON@:>@],
-                [absolute path name of Python executable]
-            ),
-            [
-                if test "$withval" = "yes"
-                then
-                    # "yes" was specified, but we don't have a path
-                    # for the executable.
-                    # So, let's search the PATH Environment Variable.
-                    AC_MSG_RESULT(yes)
-                    AC_PATH_PROG(
-                        [PYTHON],
-                        python,
-                        [],
-                        $1
-                    )
-                    if test -z "$PYTHON"
-                    then
-                        AC_MSG_ERROR(no path to python found)
-                    fi
-                    ax_python_use=true
-                    AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-                    AX_PYTHON_PREFIX( )
-                elif test "$withval" = "no"
-                then
-                    AC_MSG_RESULT(no)
-                    ax_python_use=false
-                    AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-                else
-                    # $withval must be the executable path then.
-                    AC_SUBST([PYTHON], ["${withval}"])
-                    AC_MSG_RESULT($withval)
-                    ax_python_use=true
-                    AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-                    AX_PYTHON_PREFIX( )
-                fi
-            ],
-            [
-                # --with-python was not specified.
-                AC_MSG_RESULT(no)
-                ax_python_use=false
-                AM_CONDITIONAL(PYTHON_USE, test x"$ax_python_use" = x"true")
-            ]
-        )
-    fi
-
-])
index 6e8c1e68b383b61f80991a82a4876da801f0e00b..cda31cb82e7bac7993a6af70b6db0c12bd482f86 100644 (file)
@@ -25,6 +25,7 @@ SUITE = t21_names.py t22_lists.py t25_subsets.py t30_base64.py \
 t30_dumps.py t30_quoted.py t40_african.py t40_combine.py t40_testdump.py \
 t40_utf7.py t40_utf8.py t50_methods.py t90_bigauto.py
 
+CYTHON = @CYTHON@
 EXTRA_DIST = Recode.c Recode.pyx pytest common.py valgrind-python.supp $(SUITE)
 CLEANFILES = Recode@pyextext@ Recode_d@pyextext@ Recode.body.c
 DISTCLEANFILES = Recode.c
@@ -43,6 +44,6 @@ Recode@pyextext@: Recode.c setup.py
 
 Recode.c: Recode.pyx Makefile
        rm -f Recode.c && \
-       cython -o Recode.body.c $(srcdir)/Recode.pyx && \
+       $(CYTHON) -o Recode.body.c $(srcdir)/Recode.pyx && \
        echo '#include "config.h"' > Recode.c && \
        cat Recode.body.c >> Recode.c