Revision: 10404
http://swig.svn.sourceforge.net/swig/?rev=10404&view=rev
Author: bhy
Date: 2008-04-30 17:35:49 -0700 (Wed, 30 Apr 2008)
Log Message:
-----------
Start of gsoc2008-bhy branch. This is a branch for Haoyu Bai's Python 3.0 backend project.
Some file already modified since a little of work already done when starting the branch.
Modified Paths:
--------------
branches/gsoc2008-bhy/Lib/python/pyhead.swg
branches/gsoc2008-bhy/Lib/python/pyinit.swg
branches/gsoc2008-bhy/Lib/python/pyrun.swg
branches/gsoc2008-bhy/Lib/python/pystrings.swg
branches/gsoc2008-bhy/Tools/config/config.guess
branches/gsoc2008-bhy/Tools/config/config.sub
branches/gsoc2008-bhy/configure.in
Added Paths:
-----------
branches/gsoc2008-bhy/
Copied: branches/gsoc2008-bhy (from rev 10394, trunk)
Modified: branches/gsoc2008-bhy/Lib/python/pyhead.swg
===================================================================
--- trunk/Lib/python/pyhead.swg 2008-04-26 19:40:07 UTC (rev 10394)
+++ branches/gsoc2008-bhy/Lib/python/pyhead.swg 2008-05-01 00:35:49 UTC (rev 10404)
@@ -1,4 +1,23 @@
+/* Compatibility marcos for Python 3 */
+#if PY_VERSION_HEX >= 0x03000000
+#define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type)
+
+#define PyInt_Check(x) PyLong_Check(x)
+#define PyInt_AsLong(x) PyLong_AsLong(x)
+#define PyInt_FromLong(x) PyLong_FromLong(x)
+
+#define PyString_Format(fmt, args) PyUnicode_Format(fmt, args)
+
+PyObject* PyInstance_NewRaw(PyObject *cls, PyObject *dict)
+{
+ PyObject* obj = ((PyTypeObject *)cls)->tp_alloc((PyTypeObject *)cls, 0);
+ *_PyObject_GetDictPtr(obj) = dict;
+ return obj;
+}
+
+#endif
+
/* Add PyOS_snprintf for old Pythons */
#if PY_VERSION_HEX < 0x02020000
# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
Modified: branches/gsoc2008-bhy/Lib/python/pyinit.swg
===================================================================
--- trunk/Lib/python/pyinit.swg 2008-04-26 19:40:07 UTC (rev 10394)
+++ branches/gsoc2008-bhy/Lib/python/pyinit.swg 2008-05-01 00:35:49 UTC (rev 10404)
@@ -110,8 +110,13 @@
if (!type_init) {
const PyTypeObject tmp
= {
+ /* PyOjbect header changed in Python 3 */
+#if PY_VERSION_HEX >= 0x03000000
+ PyVarObject_HEAD_INIT(&PyType_Type, 0)
+#else
PyObject_HEAD_INIT(NULL)
0, /* Number of items in variable part (ob_size) */
+#endif
(char *)"swigvarlink", /* Type name (tp_name) */
sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
0, /* Itemsize (tp_itemsize) */
@@ -147,7 +152,10 @@
#endif
};
varlink_type = tmp;
+ /* for Python 3 we already assigned the ob_type in PyVarObject_HEAD_INIT() */
+#if PY_VERSION_HEX < 0x03000000
varlink_type.ob_type = &PyType_Type;
+#endif
type_init = 1;
}
return &varlink_type;
Modified: branches/gsoc2008-bhy/Lib/python/pyrun.swg
===================================================================
--- trunk/Lib/python/pyrun.swg 2008-04-26 19:40:07 UTC (rev 10394)
+++ branches/gsoc2008-bhy/Lib/python/pyrun.swg 2008-05-01 00:35:49 UTC (rev 10404)
@@ -348,7 +348,11 @@
PyObject *args = PyTuple_New(1);
if (args) {
if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) {
+#if PY_VERSION_HEX>=0x03000000
+ PyObject *ofmt = PyUnicode_FromString(fmt);
+#else
PyObject *ofmt = PyString_FromString(fmt);
+#endif
if (ofmt) {
res = PyString_Format(ofmt,args);
Py_DECREF(ofmt);
@@ -380,7 +384,11 @@
{
const char *name = SWIG_TypePrettyName(v->ty);
PyObject *hex = PySwigObject_hex(v);
+#if PY_VERSION_HEX >= 0x03000000
+ PyObject *repr = PyUnicode_FromFormat("<Swig Object of type '%s' at 0x%s>", name, PyUnicode_AsString(hex));
+#else
PyObject *repr = PyString_FromFormat("<Swig Object of type '%s' at 0x%s>", name, PyString_AsString(hex));
+#endif
Py_DECREF(hex);
if (v->next) {
#ifdef METH_NOARGS
@@ -415,7 +423,12 @@
{
char result[SWIG_BUFFER_SIZE];
return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ?
+#if PY_VERSION_HEX>=0x03000000
+ /* seems Python 3 use Unicode str for object name now */
+ PyUnicode_FromString(result) : 0;
+#else
PyString_FromString(result) : 0;
+#endif
}
SWIGRUNTIME int
@@ -436,8 +449,14 @@
SWIGRUNTIMEINLINE int
PySwigObject_Check(PyObject *op) {
+ /* TODO: define Py_TYPE marcos for Python below 2.5 so we can unify the code*/
+#if PY_VERSION_HEX>=0x03000000
+ return (Py_TYPE(op) == PySwigObject_type())
+ || (strcmp(Py_TYPE(op)->tp_name,"PySwigObject") == 0);
+#else
return ((op)->ob_type == PySwigObject_type())
|| (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
+#endif
}
SWIGRUNTIME PyObject *
@@ -610,7 +629,10 @@
(binaryfunc)0, /*nb_add*/
(binaryfunc)0, /*nb_subtract*/
(binaryfunc)0, /*nb_multiply*/
+ /* nb_divide removed in Python 3 */
+#if PY_VERSION_HEX < 0x03000000
(binaryfunc)0, /*nb_divide*/
+#endif
(binaryfunc)0, /*nb_remainder*/
(binaryfunc)0, /*nb_divmod*/
(ternaryfunc)0,/*nb_power*/
@@ -624,13 +646,19 @@
0, /*nb_and*/
0, /*nb_xor*/
0, /*nb_or*/
- (coercion)0, /*nb_coerce*/
+ /* nb_reserved for Python 3,
+ * "(coercion)" removed so it can compiled in both Pyton 2,3*/
+ 0, /*nb_coerce*/
(unaryfunc)PySwigObject_long, /*nb_int*/
(unaryfunc)PySwigObject_long, /*nb_long*/
(unaryfunc)0, /*nb_float*/
(unaryfunc)PySwigObject_oct, /*nb_oct*/
(unaryfunc)PySwigObject_hex, /*nb_hex*/
-#if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
+ /* TODO: Seems we do not need to pad the zeros carefully?
+ * It would be done auto by copiler */
+#if PY_VERSION_HEX >= 0x03000000 /* 3.0 */
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
+#elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
@@ -644,8 +672,13 @@
if (!type_init) {
const PyTypeObject tmp
= {
- PyObject_HEAD_INIT(NULL)
- 0, /* ob_size */
+ /* PyOjbect header changed in Python 3 */
+#if PY_VERSION_HEX >= 0x03000000
+ PyVarObject_HEAD_INIT(&PyType_Type, 0)
+#else
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+#endif
(char *)"PySwigObject", /* tp_name */
sizeof(PySwigObject), /* tp_basicsize */
0, /* tp_itemsize */
@@ -704,7 +737,10 @@
#endif
};
pyswigobject_type = tmp;
+ /* for Python 3 we already assigned the ob_type in PyVarObject_HEAD_INIT() */
+#if PY_VERSION_HEX < 0x03000000
pyswigobject_type.ob_type = &PyType_Type;
+#endif
type_init = 1;
}
return &pyswigobject_type;
@@ -811,8 +847,13 @@
if (!type_init) {
const PyTypeObject tmp
= {
+ /* PyObject header changed in Python 3 */
+#if PY_VERSION_HEX>=0x03000000
+ PyVarObject_HEAD_INIT(&PyType_Type, 0)
+#else
PyObject_HEAD_INIT(NULL)
- 0, /* ob_size */
+ 0, /* ob_size */
+#endif
(char *)"PySwigPacked", /* tp_name */
sizeof(PySwigPacked), /* tp_basicsize */
0, /* tp_itemsize */
@@ -867,7 +908,11 @@
#endif
};
pyswigpacked_type = tmp;
+ /* for Python 3 the ob_type already assigned in PyVarObject_HEAD_INIT() */
+ /* TODO: seems older Python also support this so we can have shorter code */
+#if PY_VERSION_HEX < 0x03000000
pyswigpacked_type.ob_type = &PyType_Type;
+#endif
type_init = 1;
}
return &pyswigpacked_type;
@@ -912,7 +957,11 @@
SWIGRUNTIMEINLINE PyObject *
_SWIG_This(void)
{
- return PyString_FromString("this");
+#if PY_VERSION_HEX>=0x03000000
+ return PyUnicode_FromString("this");
+#else
+ return PyString_FromString("this");
+#endif
}
SWIGRUNTIME PyObject *
@@ -924,6 +973,11 @@
/* #define SWIG_PYTHON_SLOW_GETSET_THIS */
+/* TODO: I don't know how to implement the fast getset in Python 3 right now */
+#if PY_VERSION_HEX>=0x03000000
+#define SWIG_PYTHON_SLOW_GETSET_THIS
+#endif
+
SWIGRUNTIME PySwigObject *
SWIG_Python_GetSwigThis(PyObject *pyobj)
{
Modified: branches/gsoc2008-bhy/Lib/python/pystrings.swg
===================================================================
--- trunk/Lib/python/pystrings.swg 2008-04-26 19:40:07 UTC (rev 10394)
+++ branches/gsoc2008-bhy/Lib/python/pystrings.swg 2008-05-01 00:35:49 UTC (rev 10404)
@@ -5,10 +5,20 @@
SWIGINTERN int
SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
{
- if (PyString_Check(obj)) {
+%#if PY_VERSION_HEX>=0x03000000
+ /* TODO: Check this! Should we use a seperate function for Unicode string? */
+ if (PyUnicode_Check(obj))
+%#else
+ if (PyString_Check(obj))
+%#endif
+ {
char *cstr; Py_ssize_t len;
+%#if PY_VERSION_HEX>=0x03000000
+ cstr = PyUnicode_AsStringAndSize(obj, &len);
+%#else
PyString_AsStringAndSize(obj, &cstr, &len);
- if (cptr) {
+%#endif
+ if (cptr) {
if (alloc) {
/*
In python the user should not be able to modify the inner
Modified: branches/gsoc2008-bhy/Tools/config/config.guess
===================================================================
--- trunk/Tools/config/config.guess 2008-04-26 19:40:07 UTC (rev 10394)
+++ branches/gsoc2008-bhy/Tools/config/config.guess 2008-05-01 00:35:49 UTC (rev 10404)
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-03-06'
+timestamp='2008-01-08'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -56,8 +56,8 @@
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -330,7 +330,7 @@
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
- i86pc:SunOS:5.*:*)
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
@@ -532,7 +532,7 @@
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[45])
+ *:AIX:*:[456])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -793,12 +793,15 @@
exit ;;
*:Interix*:[3456]*)
case ${UNAME_MACHINE} in
- x86)
+ x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
EM64T | authenticamd)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
@@ -833,7 +836,14 @@
echo ${UNAME_MACHINE}-pc-minix
exit ;;
arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -954,8 +964,8 @@
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
Modified: branches/gsoc2008-bhy/Tools/config/config.sub
===================================================================
--- trunk/Tools/config/config.sub 2008-04-26 19:40:07 UTC (rev 10394)
+++ branches/gsoc2008-bhy/Tools/config/config.sub 2008-05-01 00:35:49 UTC (rev 10404)
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-01-18'
+timestamp='2008-01-16'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -369,10 +369,14 @@
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa-* \
+ | xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-*)
;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -443,6 +447,14 @@
basic_machine=ns32k-sequent
os=-dynix
;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
@@ -475,8 +487,8 @@
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16c)
- basic_machine=cr16c-unknown
+ cr16)
+ basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
@@ -668,6 +680,14 @@
basic_machine=m68k-isi
os=-sysv
;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -683,6 +703,10 @@
basic_machine=i386-pc
os=-mingw32
;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
miniframe)
basic_machine=m68000-convergent
;;
@@ -809,6 +833,14 @@
basic_machine=i860-intel
os=-osf
;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
pbd)
basic_machine=sparc-tti
;;
@@ -1017,6 +1049,10 @@
basic_machine=tic6x-unknown
os=-coff
;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
Modified: branches/gsoc2008-bhy/configure.in
===================================================================
--- trunk/configure.in 2008-04-26 19:40:07 UTC (rev 10394)
+++ branches/gsoc2008-bhy/configure.in 2008-05-01 00:35:49 UTC (rev 10404)
@@ -655,7 +655,104 @@
AC_SUBST(PYLINK)
AC_SUBST(PYTHONDYNAMICLINKING)
+
#----------------------------------------------------------------
+# Look for Python 3.x
+#----------------------------------------------------------------
+
+# mostly copy & pasted from "Look for Python" section,
+# did some trim, fix and rename
+
+PY3INCLUDE=
+PY3LIB=
+PY3PACKAGE=
+
+AC_ARG_WITH(python3, AS_HELP_STRING([--without-python3], [Disable Python 3.x support])
+AS_HELP_STRING([--with-python3=path], [Set location of Python 3.x executable]),[ PY3BIN="$withval"], [PY3BIN=yes])
+
+# First, check for "--without-python3" or "--with-python3=no".
+if test x"${PY3BIN}" = xno -o x"${with_alllang}" = xno ; then
+AC_MSG_NOTICE([Disabling Python 3.x support])
+else
+# First figure out the name of the Python3 executable
+
+if test "x$PYBIN" = xyes; then
+AC_CHECK_PROGS(PYTHON3, python3, python3.0)
+else
+PYTHON3="$PY3BIN"
+fi
+
+# Check for Python 3.x development tools (header files, static library and python3-config)
+AC_CHECK_PROGS(PY3CONFIG, $PYTHON3-config, python3-config, python3.0-config)
+
+if test -n "$PYTHON3" -a -n "$PY3CONFIG"; then
+ AC_MSG_CHECKING(for Python 3.x prefix)
+ PY3PREFIX=`($PY3CONFIG --prefix) 2>/dev/null`
+ AC_MSG_RESULT($PY3PREFIX)
+ AC_MSG_CHECKING(for Python 3.x exec-prefix)
+ PY3EPREFIX=`($PY3CONFIG --exec-prefix) 2>/dev/null`
+ AC_MSG_RESULT($PY3EPREFIX)
+
+ # Note: I could not think of a standard way to get the version string from different versions.
+ # This trick pulls it out of the file location for a standard library file.
+
+ AC_MSG_CHECKING(for Python 3.x version)
+
+ # Need to do this hack since autoconf replaces __file__ with the name of the configure file
+ filehack="file__"
+ PY3VERSION=`($PYTHON3 -c "import string,operator,os.path; print(operator.getitem(os.path.split(operator.getitem(os.path.split(string.__$filehack),0)),1))")`
+ AC_MSG_RESULT($PY3VERSION)
+
+ # Find the directory for libraries this is necessary to deal with
+ # platforms that can have apps built for multiple archs: e.g. x86_64
+ AC_MSG_CHECKING(for Python 3.x lib dir)
+ PY3LIBDIR=`($PYTHON3 -c "import sys; print(sys.lib)") 2>/dev/null`
+ if test -z "$PY3LIBDIR"; then
+ # some dists don't have sys.lib so the best we can do is assume lib
+ PY3LIBDIR="lib"
+ fi
+ AC_MSG_RESULT($PY3LIBDIR)
+
+ # Set the include directory
+
+ AC_MSG_CHECKING(for Python 3.x header files)
+ PY3INCLUDE=`($PY3CONFIG --includes) 2>/dev/null`
+ AC_MSG_RESULT($PY3INCLUDE)
+
+ # Set the library directory blindly. This probably won't work with older versions
+ AC_MSG_CHECKING(for Python 3.x library)
+ dirs="$PY3VERSION/config $PY3VERSION/$PY3LIBDIR python/$PY3LIBDIR"
+ for i in $dirs; do
+ if test -d $PY3EPREFIX/$PY3LIBDIR/$i; then
+ PY3LIB="$PY3EPREFIX/$PY3LIBDIR/$i"
+ break
+ fi
+ done
+ if test -z "$P3YLIB"; then
+ AC_MSG_RESULT(Not found)
+ else
+ AC_MSG_RESULT($PY3LIB)
+ fi
+
+ PY3LINK="-l$PYVERSION"
+fi
+
+# Cygwin (Windows) needs the library for dynamic linking
+case $host in
+*-*-cygwin* | *-*-mingw*) PYTHON3DYNAMICLINKING="-L$PYLIB $PY3LINK"
+ DEFS="-DUSE_DL_IMPORT $DEFS" PY3INCLUDE="$PY3INCLUDE"
+ ;;
+*)PYTHON3DYNAMICLINKING="";;
+esac
+fi
+
+AC_SUBST(PY3INCLUDE)
+AC_SUBST(PY3LIB)
+AC_SUBST(PY3LINK)
+AC_SUBST(PYTHON3DYNAMICLINKING)
+
+
+#----------------------------------------------------------------
# Look for Perl5
#----------------------------------------------------------------
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|