Commit 5c89a664 authored by Ludovico Cavedon's avatar Ludovico Cavedon

New upstream version 3.0

parent ff8266a5
Version 2.23 -> 3.0
-------------------
- added support for Python 3 (3.3+) (with Rüdiger Meier and Thomas Koch)
- python3: fixed bugs with surrogate pairs (now supported for the first time)
Version 2.22 -> 2.23
--------------------
- extended ability to explicitely requesting wrappers to fields
Version 2.21 -> 2.22
--------------------
- monkeypatched customize_compiler to fix darwin linker error due to -Wl,-x
......
......@@ -13,13 +13,10 @@ Python interpreter. JCC attempts to make these Python types pythonic by
detecting iterators and property accessors. Iterators and mappings may also
be declared to JCC.
JCC has been built on Python 2.3, 2.4, 2.5, 2.6 and 2.7 and has been used with
various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
JCC has been built on Python 2.3 to 2.7, on Python 3.6, and has been used
with various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
Java 1.5 and 1.6 on Mac OS X, open source Java OpenJDK 1.7 builds as well as
Oracle Java 1.7.
An experimental port to Python 3 is available from a branch:
http://svn.apache.org/repos/asf/lucene/pylucene/branches/python_3/jcc/
Oracle Java 1.7 and 1.8.
JCC is supported on Mac OS X, Linux, Solaris and Windows.
......@@ -33,10 +30,8 @@ JCC is built with distutils or setuptools::
Setuptools is required to build JCC on Python 2.3.
Except for Mac OS X - where Apple's Java comes pre-installed in a known
framework location - JCC's setup.py file needs to be edited before building
JCC to specify the location of the Java Runtime Environment's header files
and libraries.
JCC's setup.py file needs to be edited before building JCC to specify the
location of the Java Runtime Environment's header files and libraries.
The svn sources for JCC are available at:
http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/
......
Metadata-Version: 1.1
Name: JCC
Version: 2.22
Version: 3.0
Summary: a C++ code generator for calling Java from C++/Python
Home-page: UNKNOWN
Author: Andi Vajda
......@@ -21,13 +21,10 @@ Description:
detecting iterators and property accessors. Iterators and mappings may also
be declared to JCC.
JCC has been built on Python 2.3, 2.4, 2.5, 2.6 and 2.7 and has been used with
various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
JCC has been built on Python 2.3 to 2.7, on Python 3.6, and has been used
with various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
Java 1.5 and 1.6 on Mac OS X, open source Java OpenJDK 1.7 builds as well as
Oracle Java 1.7.
An experimental port to Python 3 is available from a branch:
http://svn.apache.org/repos/asf/lucene/pylucene/branches/python_3/jcc/
Oracle Java 1.7 and 1.8.
JCC is supported on Mac OS X, Linux, Solaris and Windows.
......@@ -41,10 +38,8 @@ Description:
Setuptools is required to build JCC on Python 2.3.
Except for Mac OS X - where Apple's Java comes pre-installed in a known
framework location - JCC's setup.py file needs to be edited before building
JCC to specify the location of the Java Runtime Environment's header files
and libraries.
JCC's setup.py file needs to be edited before building JCC to specify the
location of the Java Runtime Environment's header files and libraries.
The svn sources for JCC are available at:
http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/
......@@ -64,5 +59,8 @@ Classifier: Operating System :: OS Independent
Classifier: Programming Language :: C++
Classifier: Programming Language :: Java
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Libraries :: Java Libraries
......@@ -11,95 +11,182 @@ JCC.egg-info/SOURCES.txt
JCC.egg-info/dependency_links.txt
JCC.egg-info/not-zip-safe
JCC.egg-info/top_level.txt
_jcc/boot.cpp
_jcc/java/io/PrintWriter.cpp
_jcc/java/io/PrintWriter.h
_jcc/java/io/StringWriter.cpp
_jcc/java/io/StringWriter.h
_jcc/java/io/Writer.cpp
_jcc/java/io/Writer.h
_jcc/java/io/__init__.cpp
_jcc/java/lang/Boolean.cpp
_jcc/java/lang/Boolean.h
_jcc/java/lang/Byte.cpp
_jcc/java/lang/Byte.h
_jcc/java/lang/Character.cpp
_jcc/java/lang/Character.h
_jcc/java/lang/Class.cpp
_jcc/java/lang/Class.h
_jcc/java/lang/Double.cpp
_jcc/java/lang/Double.h
_jcc/java/lang/Exception.cpp
_jcc/java/lang/Exception.h
_jcc/java/lang/Float.cpp
_jcc/java/lang/Float.h
_jcc/java/lang/Integer.cpp
_jcc/java/lang/Integer.h
_jcc/java/lang/Long.cpp
_jcc/java/lang/Long.h
_jcc/java/lang/Object.cpp
_jcc/java/lang/Object.h
_jcc/java/lang/RuntimeException.cpp
_jcc/java/lang/RuntimeException.h
_jcc/java/lang/Short.cpp
_jcc/java/lang/Short.h
_jcc/java/lang/String.cpp
_jcc/java/lang/String.h
_jcc/java/lang/Throwable.cpp
_jcc/java/lang/Throwable.h
_jcc/java/lang/__init__.cpp
_jcc/java/lang/reflect/Constructor.cpp
_jcc/java/lang/reflect/Constructor.h
_jcc/java/lang/reflect/Field.cpp
_jcc/java/lang/reflect/Field.h
_jcc/java/lang/reflect/GenericArrayType.cpp
_jcc/java/lang/reflect/GenericArrayType.h
_jcc/java/lang/reflect/GenericDeclaration.cpp
_jcc/java/lang/reflect/GenericDeclaration.h
_jcc/java/lang/reflect/Method.cpp
_jcc/java/lang/reflect/Method.h
_jcc/java/lang/reflect/Modifier.cpp
_jcc/java/lang/reflect/Modifier.h
_jcc/java/lang/reflect/ParameterizedType.cpp
_jcc/java/lang/reflect/ParameterizedType.h
_jcc/java/lang/reflect/Type.cpp
_jcc/java/lang/reflect/Type.h
_jcc/java/lang/reflect/TypeVariable.cpp
_jcc/java/lang/reflect/TypeVariable.h
_jcc/java/lang/reflect/WildcardType.cpp
_jcc/java/lang/reflect/WildcardType.h
_jcc/java/lang/reflect/__init__.cpp
_jcc/java/util/Enumeration.cpp
_jcc/java/util/Enumeration.h
_jcc/java/util/Iterator.cpp
_jcc/java/util/Iterator.h
helpers/__init__.py
helpers/build.py
helpers/darwin.py
helpers/linux.py
helpers/mingw32.py
helpers/windows.py
_jcc2/boot.cpp
_jcc2/java/io/PrintWriter.cpp
_jcc2/java/io/PrintWriter.h
_jcc2/java/io/StringWriter.cpp
_jcc2/java/io/StringWriter.h
_jcc2/java/io/Writer.cpp
_jcc2/java/io/Writer.h
_jcc2/java/io/__init__.cpp
_jcc2/java/lang/Boolean.cpp
_jcc2/java/lang/Boolean.h
_jcc2/java/lang/Byte.cpp
_jcc2/java/lang/Byte.h
_jcc2/java/lang/Character.cpp
_jcc2/java/lang/Character.h
_jcc2/java/lang/Class.cpp
_jcc2/java/lang/Class.h
_jcc2/java/lang/Double.cpp
_jcc2/java/lang/Double.h
_jcc2/java/lang/Exception.cpp
_jcc2/java/lang/Exception.h
_jcc2/java/lang/Float.cpp
_jcc2/java/lang/Float.h
_jcc2/java/lang/Integer.cpp
_jcc2/java/lang/Integer.h
_jcc2/java/lang/Long.cpp
_jcc2/java/lang/Long.h
_jcc2/java/lang/Object.cpp
_jcc2/java/lang/Object.h
_jcc2/java/lang/RuntimeException.cpp
_jcc2/java/lang/RuntimeException.h
_jcc2/java/lang/Short.cpp
_jcc2/java/lang/Short.h
_jcc2/java/lang/String.cpp
_jcc2/java/lang/String.h
_jcc2/java/lang/Throwable.cpp
_jcc2/java/lang/Throwable.h
_jcc2/java/lang/__init__.cpp
_jcc2/java/lang/reflect/Constructor.cpp
_jcc2/java/lang/reflect/Constructor.h
_jcc2/java/lang/reflect/Field.cpp
_jcc2/java/lang/reflect/Field.h
_jcc2/java/lang/reflect/GenericArrayType.cpp
_jcc2/java/lang/reflect/GenericArrayType.h
_jcc2/java/lang/reflect/GenericDeclaration.cpp
_jcc2/java/lang/reflect/GenericDeclaration.h
_jcc2/java/lang/reflect/Method.cpp
_jcc2/java/lang/reflect/Method.h
_jcc2/java/lang/reflect/Modifier.cpp
_jcc2/java/lang/reflect/Modifier.h
_jcc2/java/lang/reflect/ParameterizedType.cpp
_jcc2/java/lang/reflect/ParameterizedType.h
_jcc2/java/lang/reflect/Type.cpp
_jcc2/java/lang/reflect/Type.h
_jcc2/java/lang/reflect/TypeVariable.cpp
_jcc2/java/lang/reflect/TypeVariable.h
_jcc2/java/lang/reflect/WildcardType.cpp
_jcc2/java/lang/reflect/WildcardType.h
_jcc2/java/lang/reflect/__init__.cpp
_jcc2/java/util/Enumeration.cpp
_jcc2/java/util/Enumeration.h
_jcc2/java/util/Iterator.cpp
_jcc2/java/util/Iterator.h
_jcc3/boot.cpp
_jcc3/java/io/PrintWriter.cpp
_jcc3/java/io/PrintWriter.h
_jcc3/java/io/StringWriter.cpp
_jcc3/java/io/StringWriter.h
_jcc3/java/io/Writer.cpp
_jcc3/java/io/Writer.h
_jcc3/java/io/__init__.cpp
_jcc3/java/lang/Boolean.cpp
_jcc3/java/lang/Boolean.h
_jcc3/java/lang/Byte.cpp
_jcc3/java/lang/Byte.h
_jcc3/java/lang/Character.cpp
_jcc3/java/lang/Character.h
_jcc3/java/lang/Class.cpp
_jcc3/java/lang/Class.h
_jcc3/java/lang/Double.cpp
_jcc3/java/lang/Double.h
_jcc3/java/lang/Exception.cpp
_jcc3/java/lang/Exception.h
_jcc3/java/lang/Float.cpp
_jcc3/java/lang/Float.h
_jcc3/java/lang/Integer.cpp
_jcc3/java/lang/Integer.h
_jcc3/java/lang/Long.cpp
_jcc3/java/lang/Long.h
_jcc3/java/lang/Object.cpp
_jcc3/java/lang/Object.h
_jcc3/java/lang/RuntimeException.cpp
_jcc3/java/lang/RuntimeException.h
_jcc3/java/lang/Short.cpp
_jcc3/java/lang/Short.h
_jcc3/java/lang/String.cpp
_jcc3/java/lang/String.h
_jcc3/java/lang/Throwable.cpp
_jcc3/java/lang/Throwable.h
_jcc3/java/lang/__init__.cpp
_jcc3/java/lang/reflect/Constructor.cpp
_jcc3/java/lang/reflect/Constructor.h
_jcc3/java/lang/reflect/Field.cpp
_jcc3/java/lang/reflect/Field.h
_jcc3/java/lang/reflect/GenericArrayType.cpp
_jcc3/java/lang/reflect/GenericArrayType.h
_jcc3/java/lang/reflect/GenericDeclaration.cpp
_jcc3/java/lang/reflect/GenericDeclaration.h
_jcc3/java/lang/reflect/Method.cpp
_jcc3/java/lang/reflect/Method.h
_jcc3/java/lang/reflect/Modifier.cpp
_jcc3/java/lang/reflect/Modifier.h
_jcc3/java/lang/reflect/ParameterizedType.cpp
_jcc3/java/lang/reflect/ParameterizedType.h
_jcc3/java/lang/reflect/Type.cpp
_jcc3/java/lang/reflect/Type.h
_jcc3/java/lang/reflect/TypeVariable.cpp
_jcc3/java/lang/reflect/TypeVariable.h
_jcc3/java/lang/reflect/WildcardType.cpp
_jcc3/java/lang/reflect/WildcardType.h
_jcc3/java/lang/reflect/__init__.cpp
_jcc3/java/util/Enumeration.cpp
_jcc3/java/util/Enumeration.h
_jcc3/java/util/Iterator.cpp
_jcc3/java/util/Iterator.h
helpers2/__init__.py
helpers2/build.py
helpers2/darwin.py
helpers2/linux.py
helpers2/mingw32.py
helpers2/windows.py
helpers3/__init__.py
helpers3/build.py
helpers3/darwin.py
helpers3/linux.py
helpers3/mingw32.py
helpers3/windows.py
java/org/apache/jcc/PythonException.java
java/org/apache/jcc/PythonVM.java
jcc/__init__.py
jcc/__main__.py
jcc/cpp.py
jcc/python.py
jcc/windows.py
jcc/classes/org/apache/jcc/PythonException.class
jcc/classes/org/apache/jcc/PythonVM.class
jcc/patches/patch.4195
jcc/patches/patch.43.0.6c11
jcc/patches/patch.43.0.6c7
jcc/sources/JArray.cpp
jcc/sources/JArray.h
jcc/sources/JCCEnv.cpp
jcc/sources/JCCEnv.h
jcc/sources/JObject.cpp
jcc/sources/JObject.h
jcc/sources/functions.cpp
jcc/sources/functions.h
jcc/sources/jcc.cpp
jcc/sources/jccfuncs.h
jcc/sources/macros.h
jcc/sources/types.cpp
\ No newline at end of file
jcc2/__init__.py
jcc2/__main__.py
jcc2/cpp.py
jcc2/python.py
jcc2/windows.py
jcc2/classes/org/apache/jcc/PythonException.class
jcc2/classes/org/apache/jcc/PythonVM.class
jcc2/patches/patch.4195
jcc2/patches/patch.43.0.6c11
jcc2/patches/patch.43.0.6c7
jcc2/sources/JArray.cpp
jcc2/sources/JArray.h
jcc2/sources/JCCEnv.cpp
jcc2/sources/JCCEnv.h
jcc2/sources/JObject.cpp
jcc2/sources/JObject.h
jcc2/sources/functions.cpp
jcc2/sources/functions.h
jcc2/sources/jcc.cpp
jcc2/sources/jccfuncs.h
jcc2/sources/macros.h
jcc2/sources/types.cpp
jcc3/__init__.py
jcc3/__main__.py
jcc3/cpp.py
jcc3/python.py
jcc3/windows.py
jcc3/classes/org/apache/jcc/PythonException.class
jcc3/classes/org/apache/jcc/PythonVM.class
jcc3/sources/JArray.cpp
jcc3/sources/JArray.h
jcc3/sources/JCCEnv.cpp
jcc3/sources/JCCEnv.h
jcc3/sources/JObject.cpp
jcc3/sources/JObject.h
jcc3/sources/functions.cpp
jcc3/sources/functions.h
jcc3/sources/jcc.cpp
jcc3/sources/jccfuncs.h
jcc3/sources/macros.h
jcc3/sources/types.cpp
\ No newline at end of file
exclude jcc/config.py
include jcc/patches/patch.*
recursive-include jcc *.h
recursive-include _jcc *.h
exclude jcc2/config.py
exclude jcc3/config.py
include jcc2/patches/patch.*
include jcc3/patches/patch.*
recursive-include jcc2 *.h
recursive-include jcc3 *.h
recursive-include _jcc2 *.h
recursive-include _jcc3 *.h
recursive-include java *.java
recursive-include helpers *.py
recursive-include helpers2 *.py
recursive-include helpers3 *.py
include CHANGES
include DESCRIPTION
include INSTALL
......
Metadata-Version: 1.1
Name: JCC
Version: 2.22
Version: 3.0
Summary: a C++ code generator for calling Java from C++/Python
Home-page: UNKNOWN
Author: Andi Vajda
......@@ -21,13 +21,10 @@ Description:
detecting iterators and property accessors. Iterators and mappings may also
be declared to JCC.
JCC has been built on Python 2.3, 2.4, 2.5, 2.6 and 2.7 and has been used with
various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
JCC has been built on Python 2.3 to 2.7, on Python 3.6, and has been used
with various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple's
Java 1.5 and 1.6 on Mac OS X, open source Java OpenJDK 1.7 builds as well as
Oracle Java 1.7.
An experimental port to Python 3 is available from a branch:
http://svn.apache.org/repos/asf/lucene/pylucene/branches/python_3/jcc/
Oracle Java 1.7 and 1.8.
JCC is supported on Mac OS X, Linux, Solaris and Windows.
......@@ -41,10 +38,8 @@ Description:
Setuptools is required to build JCC on Python 2.3.
Except for Mac OS X - where Apple's Java comes pre-installed in a known
framework location - JCC's setup.py file needs to be edited before building
JCC to specify the location of the Java Runtime Environment's header files
and libraries.
JCC's setup.py file needs to be edited before building JCC to specify the
location of the Java Runtime Environment's header files and libraries.
The svn sources for JCC are available at:
http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/
......@@ -64,5 +59,8 @@ Classifier: Operating System :: OS Independent
Classifier: Programming Language :: C++
Classifier: Programming Language :: Java
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Libraries :: Java Libraries
......@@ -49,9 +49,9 @@ PyObject *__initialize__(PyObject *module, PyObject *args, PyObject *kwds)
extern "C" {
void init_jcc(void)
void init_jcc2(void)
{
PyObject *m = Py_InitModule3("_jcc", jcc_funcs, "_jcc");
PyObject *m = Py_InitModule3("_jcc2", jcc_funcs, "_jcc2");
initJCC(m);
......
/*
* 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.
*/
#include <jni.h>
#include <Python.h>
#include "java/lang/Class.h"
#include "java/lang/RuntimeException.h"
#include "macros.h"
extern PyTypeObject PY_TYPE(JObject), PY_TYPE(ConstVariableDescriptor);
PyObject *initJCC(PyObject *module);
PyObject *initVM(PyObject *self, PyObject *args, PyObject *kwds);
namespace java {
namespace lang {
void __install__(PyObject *m);
}
namespace io {
void __install__(PyObject *m);
}
}
PyObject *__initialize__(PyObject *module, PyObject *args, PyObject *kwds)
{
PyObject *env = initVM(module, args, kwds);
if (env == NULL)
return NULL;
java::lang::Class::initializeClass(false);
java::lang::RuntimeException::initializeClass(false);
return env;
}
#include "jccfuncs.h"
extern "C" {
static struct PyModuleDef _jccmodule = {
PyModuleDef_HEAD_INIT, /* m_base */
"_jcc3", /* m_name */
"_jcc3 module", /* m_doc */
0, /* m_size */
jcc_funcs, /* m_methods */
0, /* m_reload */
0, /* m_traverse */
0, /* m_clear */
0, /* m_free */
};
PyObject *PyInit__jcc3(void)
{
PyObject *m = PyModule_Create(&_jccmodule);
if (!m)
return NULL;
initJCC(m);
INSTALL_TYPE(JObject, m);
INSTALL_TYPE(ConstVariableDescriptor, m);
java::lang::__install__(m);
java::io::__install__(m);
return m;
}
}
/*
* 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.
*/
#include <jni.h>
#include "JCCEnv.h"
#include "java/lang/Object.h"
#include "java/lang/Class.h"
#include "java/io/PrintWriter.h"
namespace java {
namespace io {
enum {
mid__init_,
max_mid
};
java::lang::Class *PrintWriter::class$ = NULL;
jmethodID *PrintWriter::_mids = NULL;
jclass PrintWriter::initializeClass(bool getOnly)
{
if (getOnly)
return (jclass) (class$ == NULL ? NULL : class$->this$);
if (!class$)
{
jclass cls = env->findClass("java/io/PrintWriter");
_mids = new jmethodID[max_mid];
_mids[mid__init_] =
env->getMethodID(cls, "<init>", "(Ljava/io/Writer;)V");
class$ = (java::lang::Class *) new JObject(cls);
}
return (jclass) class$->this$;
}
PrintWriter::PrintWriter(Writer writer) : Writer(env->newObject(initializeClass, &_mids, mid__init_, writer.this$)) {
}
}
}
#include "structmember.h"
#include "functions.h"
#include "macros.h"
namespace java {
namespace io {
static int t_PrintWriter_init(t_PrintWriter *self,
PyObject *args, PyObject *kwds);
static PyMethodDef t_PrintWriter__methods_[] = {
{ NULL, NULL, 0, NULL }
};
DECLARE_TYPE(PrintWriter, t_PrintWriter, Writer,
java::io::PrintWriter, t_PrintWriter_init,
0, 0, 0, 0, 0);
static int t_PrintWriter_init(t_PrintWriter *self,
PyObject *args, PyObject *kwds)
{