aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2017-05-01 11:27:58 +0200
committerChristian Tismer <tismer@stackless.com>2017-05-09 08:34:27 +0000
commit98b6c69ee91a78d0eb7f20130272a612770fbbbe (patch)
treea2b29e40f4857d1f0da6cb657bf97b04aa621255
parent81f92097fd8475bf8fb15cc8c249c4e71715e706 (diff)
Remove fixup_headers after fixing shiboken for C++11
The hack for VS 2015 is replaced by a shiboken patch. This must be immediately applied after shiboken was fixed. Reason: The build would work, but Windows will not load because of missing symbols! Task-number: PYSIDE-504 Change-Id: I3ce8989632748b8967228a9993b11c599a858b91 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--CMakeLists.txt9
-rw-r--r--PySide2/CMakeLists.txt8
-rw-r--r--PySide2/QtGui/CMakeLists.txt5
-rw-r--r--PySide2/QtGui/fixup_headers.py78
-rw-r--r--PySide2/QtHelp/CMakeLists.txt5
-rw-r--r--PySide2/QtHelp/fixup_headers.py74
6 files changed, 8 insertions, 171 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index af8b5fab..4e9a8919 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -299,7 +299,14 @@ if (NOT SITE_PACKAGE)
endif()
endif()
-set(GENERATOR_EXTRA_FLAGS --generator-set=shiboken --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero)
+set(GENERATOR_EXTRA_FLAGS --generator-set=shiboken
+ --enable-parent-ctor-heuristic
+ --enable-pyside-extensions
+ --enable-return-value-heuristic
+ --use-isnull-as-nb_nonzero)
+# 2017-04-24 The protected hack can unfortunately not be disabled, because
+# Clang does produce linker errors when we disable the hack.
+# But the ugly workaround in Python is replaced by a shiboken change.
if(WIN32 OR DEFINED AVOID_PROTECTED_HACK)
message(STATUS "PySide2 will be generated avoiding the protected hack!")
set(GENERATOR_EXTRA_FLAGS ${GENERATOR_EXTRA_FLAGS} --avoid-protected-hack)
diff --git a/PySide2/CMakeLists.txt b/PySide2/CMakeLists.txt
index ec4b44cc..0fe42ce6 100644
--- a/PySide2/CMakeLists.txt
+++ b/PySide2/CMakeLists.txt
@@ -116,14 +116,6 @@ macro(skip_missing_classes sources)
f.writelines(lines)
removals = sorted(list(removals))
print('Removals:', removals)
- fix_header_fname = '${CMAKE_CURRENT_SOURCE_DIR}/fixup_headers.py'
- if sys.platform == 'win32' and os.path.exists(fix_header_fname):
- global target_dir
- target_dir = '${${PROJECT_NAME}_GEN_DIR}'
-
- with open(fix_header_fname) as f:
- code = compile(f.read(), 'nebbich', 'exec')
- exec(code, globals(), locals())
")
endmacro()
diff --git a/PySide2/QtGui/CMakeLists.txt b/PySide2/QtGui/CMakeLists.txt
index 68c6bc79..a6a8c104 100644
--- a/PySide2/QtGui/CMakeLists.txt
+++ b/PySide2/QtGui/CMakeLists.txt
@@ -193,11 +193,6 @@ set(QtGui_libraries pyside2
${Qt5Gui_LIBRARIES})
set(QtGui_deps QtCore)
-if(WIN32)
- # has a fix for VS2015
- skip_missing_classes(QtGui_SRC)
-endif()
-
create_pyside_module(QtGui
QtGui_include_dirs
QtGui_libraries
diff --git a/PySide2/QtGui/fixup_headers.py b/PySide2/QtGui/fixup_headers.py
deleted file mode 100644
index cf9d1f19..00000000
--- a/PySide2/QtGui/fixup_headers.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: https://www.qt.io/licensing/
-##
-## This file is part of PySide2.
-##
-## $QT_BEGIN_LICENSE:LGPL$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see https://www.qt.io/terms-conditions. For further
-## information use the contact form at https://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 3 as published by the Free Software
-## Foundation and appearing in the file LICENSE.LGPL3 included in the
-## packaging of this file. Please review the following information to
-## ensure the GNU Lesser General Public License version 3 requirements
-## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-##
-## GNU General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU
-## General Public License version 2.0 or (at your option) the GNU General
-## Public license version 3 or any later version approved by the KDE Free
-## Qt Foundation. The licenses are as published by the Free Software
-## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-## included in the packaging of this file. Please review the following
-## information to ensure the GNU General Public License requirements will
-## be met: https://www.gnu.org/licenses/gpl-2.0.html and
-## https://www.gnu.org/licenses/gpl-3.0.html.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-from __future__ import print_function
-
-"""
-This script adds a constructor to wrappers where the constructor
-of the base class is not reachable (private).
-
-It is run via the equivalent of an execfile command.
-This patch became necessary when VS2015 became the standard compiler.
-"""
-
-import os
-
-def patch(fname, snippet, path=target_dir):
- fpath = os.path.join(path, fname)
- with open(fpath, 'r') as f:
- lines = f.readlines()
- for idx, line in enumerate(lines):
- if line.rstrip() == "public:":
- break
- else:
- raise SyntaxError("no public section found")
- lines[idx+1:idx+1] = snippet
- with open(fpath, 'w') as f:
- f.writelines(lines)
- print("+++ patched file:", fpath)
-
-snippets = {
- "qclipboard_wrapper.h" : """\
- QClipboardWrapper(QObject *parent);
- ~QClipboardWrapper();
-""",
- "qsessionmanager_wrapper.h" : """\
- QSessionManagerWrapper(QGuiApplication *app, QString &id, QString &key);
- ~QSessionManagerWrapper();
-""",
-}
-
-for snippet, addition in snippets.items():
- patch(snippet, addition)
diff --git a/PySide2/QtHelp/CMakeLists.txt b/PySide2/QtHelp/CMakeLists.txt
index 2c7c2fdd..ba8b419f 100644
--- a/PySide2/QtHelp/CMakeLists.txt
+++ b/PySide2/QtHelp/CMakeLists.txt
@@ -42,11 +42,6 @@ set(QtHelp_libraries pyside2
set(QtHelp_deps QtWidgets)
-if(WIN32)
- # has a fix for VS2015
- skip_missing_classes(QtHelp_SRC)
-endif()
-
create_pyside_module(QtHelp
QtHelp_include_dirs
QtHelp_libraries
diff --git a/PySide2/QtHelp/fixup_headers.py b/PySide2/QtHelp/fixup_headers.py
deleted file mode 100644
index d25b04b2..00000000
--- a/PySide2/QtHelp/fixup_headers.py
+++ /dev/null
@@ -1,74 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: https://www.qt.io/licensing/
-##
-## This file is part of PySide2.
-##
-## $QT_BEGIN_LICENSE:LGPL$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see https://www.qt.io/terms-conditions. For further
-## information use the contact form at https://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 3 as published by the Free Software
-## Foundation and appearing in the file LICENSE.LGPL3 included in the
-## packaging of this file. Please review the following information to
-## ensure the GNU Lesser General Public License version 3 requirements
-## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-##
-## GNU General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU
-## General Public License version 2.0 or (at your option) the GNU General
-## Public license version 3 or any later version approved by the KDE Free
-## Qt Foundation. The licenses are as published by the Free Software
-## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-## included in the packaging of this file. Please review the following
-## information to ensure the GNU General Public License requirements will
-## be met: https://www.gnu.org/licenses/gpl-2.0.html and
-## https://www.gnu.org/licenses/gpl-3.0.html.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-from __future__ import print_function
-
-"""
-This script adds a constructor to wrappers where the constructor
-of the base class is not reachable (private).
-
-It is run via the equivalent of an execfile command.
-This patch became necessary when VS2015 became the standard compiler.
-"""
-
-import os
-
-def patch(fname, snippet, path=target_dir):
- fpath = os.path.join(path, fname)
- with open(fpath, 'r') as f:
- lines = f.readlines()
- for idx, line in enumerate(lines):
- if line.rstrip() == "public:":
- break
- else:
- raise SyntaxError("no public section found")
- lines[idx+1:idx+1] = snippet
- with open(fpath, 'w') as f:
- f.writelines(lines)
- print("+++ patched file:", fpath)
-
-snippets = {
- "qhelpindexmodel_wrapper.h" : """\
- QHelpIndexModelWrapper(QHelpEnginePrivate *helpEngine);
- ~QHelpIndexModelWrapper();
-""",
-}
-
-for snippet, addition in snippets.items():
- patch(snippet, addition)