summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorOlly Betts <olly@survex.com>2016-01-27 19:01:49 +1300
committerOlly Betts <olly@survex.com>2016-01-27 19:01:49 +1300
commit72691e5a4992f923aa97a027d464a496344106cb (patch)
tree3ad92808fecf4c96518afed25ae49ebbd6e5210d /Lib
parentbfe3adbd0acde1aa9aa6726243e3525da7eb1bad (diff)
downloadswig-72691e5a4992f923aa97a027d464a496344106cb.tar.gz
Clean up Python embed.i
Remove duplicate (aside from comment formatting) embed15.i. Remove references to Python 1.5. Tested and remarkably still works with Python 2.7, so update documentation and comments to reflect that.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/python/README1
-rw-r--r--Lib/python/embed.i11
-rw-r--r--Lib/python/embed15.i115
3 files changed, 3 insertions, 124 deletions
diff --git a/Lib/python/README b/Lib/python/README
index 98ec5605d..fa8ef61e7 100644
--- a/Lib/python/README
+++ b/Lib/python/README
@@ -15,7 +15,6 @@ complex.i C99 or C++ complex type
cstring.i Various forms of C character string handling
cwstring.i Various forms of C wchar_t string handling
embed.i embedding the Python interpreter in something else
-embed15.i embedding the Python interpreter in something else
file.i FILE C type
implicit.i Allow the use of implicit C++ constructors
wchar.i wchar_t C type
diff --git a/Lib/python/embed.i b/Lib/python/embed.i
index c29e8fd9f..5b259ade4 100644
--- a/Lib/python/embed.i
+++ b/Lib/python/embed.i
@@ -1,8 +1,8 @@
//
// embed.i
// SWIG file embedding the Python interpreter in something else.
-// This file is based on Python-1.5. It will not work with
-// earlier versions.
+// This file is deprecated and no longer actively maintained, but it still
+// seems to work with Python 2.7. Status with Python 3 is unknown.
//
// This file makes it possible to extend Python and all of its
// built-in functions without having to hack its setup script.
@@ -24,13 +24,8 @@ present in your current Python executable (including any special
purpose modules you have enabled such as Tkinter). Thus, you
may need to provide additional link libraries when compiling.
-This library file only works with Python 1.5. A version
-compatible with Python 1.4 is available as embed14.i and
-a Python1.3 version is available as embed13.i. As far as
-I know, this module is C++ safe.
+As far as I know, this module is C++ safe.
%}
-#else
-%echo "embed.i : Using Python 1.5"
#endif
%wrapper %{
diff --git a/Lib/python/embed15.i b/Lib/python/embed15.i
deleted file mode 100644
index 3c419b9a3..000000000
--- a/Lib/python/embed15.i
+++ /dev/null
@@ -1,115 +0,0 @@
-/* -----------------------------------------------------------------------------
- * embed15.i
- *
- * SWIG file embedding the Python interpreter in something else.
- * This file is based on Python-1.5. It will not work with
- * earlier versions.
- *
- * This file makes it possible to extend Python and all of its
- * built-in functions without having to hack its setup script.
- * ----------------------------------------------------------------------------- */
-
-#ifdef AUTODOC
-%subsection "embed.i"
-%text %{
-This module provides support for building a new version of the
-Python executable. This will be necessary on systems that do
-not support shared libraries and may be necessary with C++
-extensions. This file contains everything you need to build
-a new version of Python from include files and libraries normally
-installed with the Python language.
-
-This module will automatically grab all of the Python modules
-present in your current Python executable (including any special
-purpose modules you have enabled such as Tkinter). Thus, you
-may need to provide additional link libraries when compiling.
-
-This library file only works with Python 1.5. A version
-compatible with Python 1.4 is available as embed14.i and
-a Python1.3 version is available as embed13.i. As far as
-I know, this module is C++ safe.
-%}
-#else
-%echo "embed.i : Using Python 1.5"
-#endif
-
-%wrapper %{
-
-#include <Python.h>
-
-#ifdef __cplusplus
-extern "C"
-#endif
-void SWIG_init(); /* Forward reference */
-
-#define _PyImport_Inittab swig_inittab
-
-/* Grab Python's inittab[] structure */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <config.c>
-
-#undef _PyImport_Inittab
-
-/* Now define our own version of it.
- Hopefully someone does not have more than 1000 built-in modules */
-
-struct _inittab SWIG_Import_Inittab[1000];
-
-static int swig_num_modules = 0;
-
-/* Function for adding modules to Python */
-
-static void swig_add_module(char *name, void (*initfunc)()) {
- SWIG_Import_Inittab[swig_num_modules].name = name;
- SWIG_Import_Inittab[swig_num_modules].initfunc = initfunc;
- swig_num_modules++;
- SWIG_Import_Inittab[swig_num_modules].name = (char *) 0;
- SWIG_Import_Inittab[swig_num_modules].initfunc = 0;
-}
-
-/* Function to add all of Python's build in modules to our interpreter */
-
-static void swig_add_builtin() {
- int i = 0;
- while (swig_inittab[i].name) {
- swig_add_module(swig_inittab[i].name, swig_inittab[i].initfunc);
- i++;
- }
-#ifdef SWIGMODINIT
- SWIGMODINIT
-#endif
- /* Add SWIG builtin function */
- swig_add_module(SWIG_name, SWIG_init);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern int Py_Main(int, char **);
-
-#ifdef __cplusplus
-}
-#endif
-
-extern struct _inittab *PyImport_Inittab;
-
-int
-main(int argc, char **argv) {
- swig_add_builtin();
- PyImport_Inittab = SWIG_Import_Inittab;
- return Py_Main(argc,argv);
-}
-
-%}
-
-
-
-