diff options
author | Pasi Petäjäjärvi <pasi.petajajarvi@qt.io> | 2022-06-23 12:52:30 +0300 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-06-27 11:50:20 +0000 |
commit | 2dd6ef4dc7f3514f24c592f77d6f502cfe939576 (patch) | |
tree | 271d9a50a234f0642edbf57efe7684be5ae7012b | |
parent | d7b6bf267ff76aefcfc03383cbcc0504fcd82043 (diff) |
Use CMake-generated exports header file
Fixes linking issues with gcc 12.1.0 + ld.gold (binutils 2.38)
for qemu86_64 target.
requires dynamic R_X86_64_PC32 reloc against
'_ZN23QNetworkSettingsManager16staticMetaObjectE'
which may overflow at runtime; recompile with -fPIC
Change-Id: Ifbc26357c5c360829b95e10e21ca37d2dd03efcf
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
(cherry picked from commit 85e5741dca166542b7ea20ecb38ecd38adccd6f5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/networksettings/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/networksettings/qnetworksettings.h | 14 | ||||
-rw-r--r-- | src/networksettings/qnetworksettingsaddressmodel.h | 3 | ||||
-rw-r--r-- | src/networksettings/qnetworksettingsglobal.h | 34 | ||||
-rw-r--r-- | src/networksettings/qnetworksettingsinterface.h | 2 | ||||
-rw-r--r-- | src/networksettings/qnetworksettingsinterfacemodel.h | 3 | ||||
-rw-r--r-- | src/networksettings/qnetworksettingsmanager.h | 3 | ||||
-rw-r--r-- | src/networksettings/qnetworksettingsservice.h | 2 | ||||
-rw-r--r-- | src/networksettings/qnetworksettingsservicemodel.h | 4 | ||||
-rw-r--r-- | src/networksettings/qnetworksettingsuseragent.h | 3 |
10 files changed, 55 insertions, 14 deletions
diff --git a/src/networksettings/CMakeLists.txt b/src/networksettings/CMakeLists.txt index daf0b30..542288f 100644 --- a/src/networksettings/CMakeLists.txt +++ b/src/networksettings/CMakeLists.txt @@ -31,6 +31,7 @@ qt_internal_add_module(NetworkSettings Qt::Core Qt::DBus Qt::Network + GENERATE_CPP_EXPORTS ) file(MAKE_DIRECTORY header_connman) diff --git a/src/networksettings/qnetworksettings.h b/src/networksettings/qnetworksettings.h index 3e921c1..7a66642 100644 --- a/src/networksettings/qnetworksettings.h +++ b/src/networksettings/qnetworksettings.h @@ -29,13 +29,15 @@ #ifndef QNETWORKSETTINGS_H #define QNETWORKSETTINGS_H +#include <QtNetworkSettings/qnetworksettingsglobal.h> + #include <QObject> #include <QUrl> #include <QtNetworkSettings/qnetworksettingsaddressmodel.h> QT_BEGIN_NAMESPACE -class Q_DECL_EXPORT QNetworkSettingsState : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsState : public QObject { Q_OBJECT Q_PROPERTY(State state READ state WRITE setState NOTIFY stateChanged) @@ -66,7 +68,7 @@ private: State m_state; }; -class Q_DECL_EXPORT QNetworkSettingsType : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsType : public QObject { Q_OBJECT Q_PROPERTY(Type type READ type WRITE setType NOTIFY typeChanged) @@ -93,7 +95,7 @@ private: Type m_type; }; -class Q_DECL_EXPORT QNetworkSettingsIPv4 : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsIPv4 : public QObject { Q_OBJECT Q_PROPERTY(QString address READ address WRITE setAddress NOTIFY addressChanged) @@ -133,7 +135,7 @@ private: QString m_mask; }; -class Q_DECL_EXPORT QNetworkSettingsIPv6 : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsIPv6 : public QObject { Q_OBJECT Q_PROPERTY(QString address READ address WRITE setAddress NOTIFY addressChanged) @@ -185,7 +187,7 @@ private: int m_prefixLength; }; -class Q_DECL_EXPORT QNetworkSettingsProxy : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsProxy : public QObject { Q_OBJECT Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged) @@ -225,7 +227,7 @@ private: Method m_method; }; -class Q_DECL_EXPORT QNetworkSettingsWireless : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsWireless : public QObject { Q_OBJECT Q_PROPERTY(int signalStrength READ signalStrength WRITE setSignalStrength NOTIFY signalStrengthChanged) diff --git a/src/networksettings/qnetworksettingsaddressmodel.h b/src/networksettings/qnetworksettingsaddressmodel.h index 20d2919..671bd7b 100644 --- a/src/networksettings/qnetworksettingsaddressmodel.h +++ b/src/networksettings/qnetworksettingsaddressmodel.h @@ -30,10 +30,11 @@ #define QNETWORKSETTINGSADDRESSMODEL_H #include <QStringListModel> +#include <QtNetworkSettings/qnetworksettingsglobal.h> QT_BEGIN_NAMESPACE -class Q_DECL_EXPORT QNetworkSettingsAddressModel : public QStringListModel +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsAddressModel : public QStringListModel { Q_OBJECT Q_PROPERTY(int count READ count NOTIFY countChanged) diff --git a/src/networksettings/qnetworksettingsglobal.h b/src/networksettings/qnetworksettingsglobal.h new file mode 100644 index 0000000..c9af207 --- /dev/null +++ b/src/networksettings/qnetworksettingsglobal.h @@ -0,0 +1,34 @@ +/**************************************************************************** +** +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Device Utilities module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** 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 General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) 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.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-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QNETWORKSETTINGSGLOBAL_H +#define QNETWORKSETTINGSGLOBAL_H + +#include <QtNetworkSettings/qtnetworksettingsexports.h> + +#endif // QNETWORKSETTINGSGLOBAL_H diff --git a/src/networksettings/qnetworksettingsinterface.h b/src/networksettings/qnetworksettingsinterface.h index 997af1f..33219e8 100644 --- a/src/networksettings/qnetworksettingsinterface.h +++ b/src/networksettings/qnetworksettingsinterface.h @@ -35,7 +35,7 @@ QT_BEGIN_NAMESPACE class QNetworkSettingsInterfacePrivate; -class Q_DECL_EXPORT QNetworkSettingsInterface : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsInterface : public QObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged) diff --git a/src/networksettings/qnetworksettingsinterfacemodel.h b/src/networksettings/qnetworksettingsinterfacemodel.h index 5fd4999..a448f0a 100644 --- a/src/networksettings/qnetworksettingsinterfacemodel.h +++ b/src/networksettings/qnetworksettingsinterfacemodel.h @@ -30,11 +30,12 @@ #define QNETWORKSETTINGSINTERFACEMODEL_H #include <QAbstractListModel> +#include <QtNetworkSettings/qnetworksettingsglobal.h> QT_BEGIN_NAMESPACE class QNetworkSettingsInterface; -class Q_DECL_EXPORT QNetworkSettingsInterfaceModel : public QAbstractListModel +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsInterfaceModel : public QAbstractListModel { Q_OBJECT diff --git a/src/networksettings/qnetworksettingsmanager.h b/src/networksettings/qnetworksettingsmanager.h index 95b8892..b31dcbd 100644 --- a/src/networksettings/qnetworksettingsmanager.h +++ b/src/networksettings/qnetworksettingsmanager.h @@ -30,6 +30,7 @@ #define QNETWORKSETTINGSMANAGER_H #include <QObject> +#include <QtNetworkSettings/qnetworksettingsglobal.h> QT_BEGIN_NAMESPACE @@ -39,7 +40,7 @@ class QNetworkSettingsUserAgent; class QNetworkSettingsServiceFilter; class QNetworkSettingsInterfaceModel; class QNetworkSettingsManagerPrivate; -class Q_DECL_EXPORT QNetworkSettingsManager : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsManager : public QObject { Q_OBJECT Q_PROPERTY(QNetworkSettingsServiceFilter* services READ services NOTIFY servicesChanged) diff --git a/src/networksettings/qnetworksettingsservice.h b/src/networksettings/qnetworksettingsservice.h index 482db82..af8c726 100644 --- a/src/networksettings/qnetworksettingsservice.h +++ b/src/networksettings/qnetworksettingsservice.h @@ -35,7 +35,7 @@ QT_BEGIN_NAMESPACE class QNetworkSettingsServicePrivate; -class Q_DECL_EXPORT QNetworkSettingsService : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsService : public QObject { Q_OBJECT Q_PROPERTY(QString id READ id CONSTANT) diff --git a/src/networksettings/qnetworksettingsservicemodel.h b/src/networksettings/qnetworksettingsservicemodel.h index 332ade8..a12202b 100644 --- a/src/networksettings/qnetworksettingsservicemodel.h +++ b/src/networksettings/qnetworksettingsservicemodel.h @@ -35,7 +35,7 @@ QT_BEGIN_NAMESPACE class QNetworkSettingsService; -class Q_DECL_EXPORT QNetworkSettingsServiceModel : public QAbstractListModel +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsServiceModel : public QAbstractListModel { Q_OBJECT public: @@ -74,7 +74,7 @@ private: QHash<int, QByteArray> m_roleNames; }; -class Q_DECL_EXPORT QNetworkSettingsServiceFilter : public QSortFilterProxyModel +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsServiceFilter : public QSortFilterProxyModel { Q_OBJECT Q_PROPERTY(QNetworkSettingsType::Type type READ type WRITE setType NOTIFY typeChanged) diff --git a/src/networksettings/qnetworksettingsuseragent.h b/src/networksettings/qnetworksettingsuseragent.h index cbd0d8b..aa63315 100644 --- a/src/networksettings/qnetworksettingsuseragent.h +++ b/src/networksettings/qnetworksettingsuseragent.h @@ -30,11 +30,12 @@ #define QNETWORKSETTINGSUSERAGENT_H #include <QObject> +#include <QtNetworkSettings/qnetworksettingsglobal.h> QT_BEGIN_NAMESPACE class QNetworkSettingsUserAgentPrivate; -class Q_DECL_EXPORT QNetworkSettingsUserAgent : public QObject +class Q_NETWORKSETTINGS_EXPORT QNetworkSettingsUserAgent : public QObject { Q_OBJECT public: |