You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by tr...@apache.org on 2017/12/29 02:05:44 UTC
svn commit: r1819460 - in
/subversion/branches/swig-py3/subversion/bindings/swig: ./ include/
python/libsvn_swig_py/
Author: troycurtisjr
Date: Fri Dec 29 02:05:43 2017
New Revision: 1819460
URL: http://svn.apache.org/viewvc?rev=1819460&view=rev
Log:
On branch swig-py3: Move py3c compat fixes to all swig modules.
Resolves compile warnings in Python 3 build for all modules, not just those in
swigutil_py.c.
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py3c.h:
New file containing the py3c compat undef fixes previously in swigutil_py.c.
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
Moved py3c compat undef fixes to swigutil_py3c.h and include the header.
* subversion/bindings/swig/include/svn_global.swg:
Add swigutil_py3c.h include to ensure all swig modules get the compat fixes.
* subversion/bindings/swig/core.i,
subversion/bindings/swig/include/svn_string.swg,
subversion/bindings/swig/include/svn_types.swg,
subversion/bindings/swig/svn_client.i,
subversion/bindings/swig/svn_delta.i,
subversion/bindings/swig/svn_diff.i,
subversion/bindings/swig/svn_fs.i,
subversion/bindings/swig/svn_ra.i,
subversion/bindings/swig/svn_repos.i,
subversion/bindings/swig/svn_wc.i:
Remove redundant py3c.h inclusion, now that svn_global.swg includes
swigutil_py3c.h.
Found By: danielsh
Added:
subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py3c.h (with props)
Modified:
subversion/branches/swig-py3/subversion/bindings/swig/core.i
subversion/branches/swig-py3/subversion/bindings/swig/include/svn_global.swg
subversion/branches/swig-py3/subversion/bindings/swig/include/svn_string.swg
subversion/branches/swig-py3/subversion/bindings/swig/include/svn_types.swg
subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
subversion/branches/swig-py3/subversion/bindings/swig/svn_client.i
subversion/branches/swig-py3/subversion/bindings/swig/svn_delta.i
subversion/branches/swig-py3/subversion/bindings/swig/svn_diff.i
subversion/branches/swig-py3/subversion/bindings/swig/svn_fs.i
subversion/branches/swig-py3/subversion/bindings/swig/svn_ra.i
subversion/branches/swig-py3/subversion/bindings/swig/svn_repos.i
subversion/branches/swig-py3/subversion/bindings/swig/svn_wc.i
Modified: subversion/branches/swig-py3/subversion/bindings/swig/core.i
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/core.i?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/core.i (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/core.i Fri Dec 29 02:05:43 2017
@@ -49,12 +49,6 @@
%}
#endif
-#ifdef SWIGPYTHON
-%{
-#include <py3c.h>
-%}
-#endif
-
/* ### for now, let's ignore this thing. */
%ignore svn_prop_t;
Modified: subversion/branches/swig-py3/subversion/bindings/swig/include/svn_global.swg
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/include/svn_global.swg?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/include/svn_global.swg (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/include/svn_global.swg Fri Dec 29 02:05:43 2017
@@ -54,6 +54,7 @@
#ifdef SWIGPYTHON
%{
#include "swigutil_py.h"
+#include "swigutil_py3c.h"
%}
#endif
#ifdef SWIGPERL
Modified: subversion/branches/swig-py3/subversion/bindings/swig/include/svn_string.swg
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/include/svn_string.swg?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/include/svn_string.swg (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/include/svn_string.swg Fri Dec 29 02:05:43 2017
@@ -32,8 +32,6 @@ typedef struct svn_string_t svn_string_t
*/
#ifdef SWIGPYTHON
-#include <py3c.h>
-
%typemap(argout) RET_STRING {
PyObject *s;
if (*$1 == NULL) {
Modified: subversion/branches/swig-py3/subversion/bindings/swig/include/svn_types.swg
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/include/svn_types.swg?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/include/svn_types.swg (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/include/svn_types.swg Fri Dec 29 02:05:43 2017
@@ -28,10 +28,6 @@
%include svn_string.swg
%include svn_containers.swg
-#ifdef SWIGPYTHON
-#include <py3c.h>
-#endif
-
/* -----------------------------------------------------------------------
Generic handling for "type **" parameters. Almost all such parameters
are OUTPUT parameters. Handling is as follows:
Modified: subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Fri Dec 29 02:05:43 2017
@@ -52,13 +52,7 @@
#include "swig_python_external_runtime.swg"
#include "swigutil_py.h"
-/* This py3c include needs to be after the swig includes. */
#if PY_VERSION_HEX >= 0x03000000
-/* SWIG and py3c both define a few compat defines, so need to undef
- here to give preference to the py3c versions. */
-#undef PyLong_FromSize_t
-#undef PyLong_AsLong
-#undef PyInt_Check
/* In Python 3 use the bytes format character for raw data */
#define SVN_SWIG_BYTES_FMT "y"
@@ -70,7 +64,7 @@
#endif
-#include <py3c.h>
+#include <swigutil_py3c.h>
/* Py_ssize_t for old Pythons */
/* This code is as recommended by: */
Added: subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py3c.h
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py3c.h?rev=1819460&view=auto
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py3c.h (added)
+++ subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py3c.h Fri Dec 29 02:05:43 2017
@@ -0,0 +1,48 @@
+/*
+ * swigutil_py3c.c: utility header for the SWIG Python binding interface with
+ * the py3c library
+ *
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ * ====================================================================
+ */
+
+#ifndef SVN_SWIG_SWIGUTIL_PY3C_H
+#define SVN_SWIG_SWIGUTIL_PY3C_H
+
+/* This file needs to be included after any swig includes, as it undefines
+ * certain conflicting items, where the py3c variants are preferred over those
+ * defined within SWIG.
+ */
+
+#include <Python.h>
+
+#if PY_VERSION_HEX >= 0x03000000
+/* SWIG and py3c both define a few Python 3compat defines, so undef here to give
+ preference to the py3c versions. */
+#undef PyLong_FromSize_t
+#undef PyLong_AsLong
+#undef PyInt_FromLong
+#undef PyInt_AsLong
+#undef PyInt_Check
+
+#endif
+
+#include <py3c.h>
+
+#endif
Propchange: subversion/branches/swig-py3/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py3c.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: subversion/branches/swig-py3/subversion/bindings/swig/svn_client.i
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/svn_client.i?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/svn_client.i (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/svn_client.i Fri Dec 29 02:05:43 2017
@@ -34,11 +34,6 @@
%import svn_delta.i
%import svn_wc.i
-#ifdef SWIGPYTHON
-%{
-#include <py3c.h>
-%}
-#endif
/* Ignore platform-specific auth functions */
%ignore svn_client_get_windows_simple_provider;
Modified: subversion/branches/swig-py3/subversion/bindings/swig/svn_delta.i
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/svn_delta.i?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/svn_delta.i (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/svn_delta.i Fri Dec 29 02:05:43 2017
@@ -32,12 +32,6 @@
%include svn_global.swg
%import core.i
-#ifdef SWIGPYTHON
-%{
-#include <py3c.h>
-%}
-#endif
-
#ifdef SWIGRUBY
%ignore svn_compat_wrap_file_rev_handler;
#endif
Modified: subversion/branches/swig-py3/subversion/bindings/swig/svn_diff.i
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/svn_diff.i?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/svn_diff.i (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/svn_diff.i Fri Dec 29 02:05:43 2017
@@ -32,12 +32,6 @@
%include svn_global.swg
%import core.i
-#ifdef SWIGPYTHON
-%{
-#include <py3c.h>
-%}
-#endif
-
/* -----------------------------------------------------------------------
%apply-ing of typemaps defined elsewhere
*/
Modified: subversion/branches/swig-py3/subversion/bindings/swig/svn_fs.i
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/svn_fs.i?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/svn_fs.i (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/svn_fs.i Fri Dec 29 02:05:43 2017
@@ -33,12 +33,6 @@
%import core.i
%import svn_delta.i
-#ifdef SWIGPYTHON
-%{
-#include <py3c.h>
-%}
-#endif
-
/* -----------------------------------------------------------------------
do not generate any constructors or destructors (of structures) -- all
structures are going to come /out/ of the FS (so we don't need to
Modified: subversion/branches/swig-py3/subversion/bindings/swig/svn_ra.i
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/svn_ra.i?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/svn_ra.i (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/svn_ra.i Fri Dec 29 02:05:43 2017
@@ -33,12 +33,6 @@
%import core.i
%import svn_delta.i
-#ifdef SWIGPYTHON
-%{
-#include <py3c.h>
-%}
-#endif
-
/* Bad pool convention, also these are not public interfaces, they were
simply placed in the public header by mistake. */
%ignore svn_ra_svn_init;
Modified: subversion/branches/swig-py3/subversion/bindings/swig/svn_repos.i
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/svn_repos.i?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/svn_repos.i (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/svn_repos.i Fri Dec 29 02:05:43 2017
@@ -34,12 +34,6 @@
%import svn_delta.i
%import svn_fs.i
-#ifdef SWIGPYTHON
-%{
-#include <py3c.h>
-%}
-#endif
-
/* -----------------------------------------------------------------------
%apply-ing of typemaps defined elsewhere
*/
Modified: subversion/branches/swig-py3/subversion/bindings/swig/svn_wc.i
URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/subversion/bindings/swig/svn_wc.i?rev=1819460&r1=1819459&r2=1819460&view=diff
==============================================================================
--- subversion/branches/swig-py3/subversion/bindings/swig/svn_wc.i (original)
+++ subversion/branches/swig-py3/subversion/bindings/swig/svn_wc.i Fri Dec 29 02:05:43 2017
@@ -34,12 +34,6 @@
%import svn_delta.i
%import svn_ra.i
-#ifdef SWIGPYTHON
-%{
-#include <py3c.h>
-%}
-#endif
-
/* -----------------------------------------------------------------------
### these functions require a pool, which we don't have immediately
### handy. just eliminate these funcs for now.