diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2019-10-21 10:09:03 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2019-10-24 13:00:07 +0000 |
commit | 7a605edc226d4051602e157fe575f17dfaac0964 (patch) | |
tree | 46a3c1f8328b9c7b1fd0a2863c2cea635f70d842 /src | |
parent | 6e3b5801d26dc186066155202847342782bf653b (diff) |
Fix static linking when bearer management plugins are built, part 2
After commit 5f160a3699d80d1736f691ad9ef774eb6aa28079 moved the code
that's shared across all bearer management plugins into QtNetwork, there
is one piece of code remaining that's shared across the connman and the
networkmanager bearer plugin: The dbus ofono interface code. To avoid
linking that twice (and causing duplicate symbol errors), this patch
moves it into a static platform support library. This way for shared
builds the code is included twice, but for static builds only once.
Change-Id: Idf5414bc22fea45f11c600f28eaea91bb4dc6308
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/platformsupport/linuxofono/linuxofono.pro | 15 | ||||
-rw-r--r-- | src/platformsupport/linuxofono/qofonoservice_linux.cpp (renamed from src/plugins/bearer/linux_common/qofonoservice_linux.cpp) | 2 | ||||
-rw-r--r-- | src/platformsupport/linuxofono/qofonoservice_linux_p.h (renamed from src/plugins/bearer/linux_common/qofonoservice_linux_p.h) | 0 | ||||
-rw-r--r-- | src/platformsupport/platformsupport.pro | 4 | ||||
-rw-r--r-- | src/plugins/bearer/connman/connman.pro | 4 | ||||
-rw-r--r-- | src/plugins/bearer/connman/qconnmanengine.h | 2 | ||||
-rw-r--r-- | src/plugins/bearer/networkmanager/networkmanager.pro | 8 | ||||
-rw-r--r-- | src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp | 1 | ||||
-rw-r--r-- | src/plugins/bearer/networkmanager/qnetworkmanagerengine.h | 2 |
9 files changed, 26 insertions, 12 deletions
diff --git a/src/platformsupport/linuxofono/linuxofono.pro b/src/platformsupport/linuxofono/linuxofono.pro new file mode 100644 index 0000000000..1bc5b10225 --- /dev/null +++ b/src/platformsupport/linuxofono/linuxofono.pro @@ -0,0 +1,15 @@ +TARGET = QtLinuxOfonoSupport +MODULE = linuxofono_support + +QT = core dbus +CONFIG += static internal_module + +DEFINES += QT_NO_CAST_FROM_ASCII + +HEADERS += \ + qofonoservice_linux_p.h + +SOURCES += \ + qofonoservice_linux.cpp + +load(qt_module) diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp b/src/platformsupport/linuxofono/qofonoservice_linux.cpp index 05f9b3ca17..792c703966 100644 --- a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp +++ b/src/platformsupport/linuxofono/qofonoservice_linux.cpp @@ -148,7 +148,7 @@ QOfonoModemInterface::QOfonoModemInterface(const QString &dbusPathName, QObject { QDBusConnection::systemBus().connect(QLatin1String(OFONO_SERVICE), path(), - OFONO_MODEM_INTERFACE, + QLatin1String(OFONO_MODEM_INTERFACE), QLatin1String("PropertyChanged"), this,SLOT(propertyChanged(QString,QDBusVariant))); } diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux_p.h b/src/platformsupport/linuxofono/qofonoservice_linux_p.h index 62df5d4fa7..62df5d4fa7 100644 --- a/src/plugins/bearer/linux_common/qofonoservice_linux_p.h +++ b/src/platformsupport/linuxofono/qofonoservice_linux_p.h diff --git a/src/platformsupport/platformsupport.pro b/src/platformsupport/platformsupport.pro index 6d4f1b93bd..0b2dd8974b 100644 --- a/src/platformsupport/platformsupport.pro +++ b/src/platformsupport/platformsupport.pro @@ -45,3 +45,7 @@ darwin { qtConfig(vulkan): \ SUBDIRS += vkconvenience + +!android:linux*:qtHaveModule(dbus) \ + SUBDIRS += linuxofono + diff --git a/src/plugins/bearer/connman/connman.pro b/src/plugins/bearer/connman/connman.pro index d6577e9d7f..03e94cfe6a 100644 --- a/src/plugins/bearer/connman/connman.pro +++ b/src/plugins/bearer/connman/connman.pro @@ -1,14 +1,12 @@ TARGET = qconnmanbearer -QT = core network-private dbus +QT = core network-private dbus linuxofono_support_private HEADERS += qconnmanservice_linux_p.h \ - ../linux_common/qofonoservice_linux_p.h \ qconnmanengine.h SOURCES += main.cpp \ qconnmanservice_linux.cpp \ - ../linux_common/qofonoservice_linux.cpp \ qconnmanengine.cpp OTHER_FILES += connman.json diff --git a/src/plugins/bearer/connman/qconnmanengine.h b/src/plugins/bearer/connman/qconnmanengine.h index eb79dbec1b..969eed45b1 100644 --- a/src/plugins/bearer/connman/qconnmanengine.h +++ b/src/plugins/bearer/connman/qconnmanengine.h @@ -54,7 +54,7 @@ #include <private/qbearerengine_impl_p.h> #include "qconnmanservice_linux_p.h" -#include "../linux_common/qofonoservice_linux_p.h" +#include <private/qofonoservice_linux_p.h> #include <QMap> #include <QVariant> diff --git a/src/plugins/bearer/networkmanager/networkmanager.pro b/src/plugins/bearer/networkmanager/networkmanager.pro index 3fbad07ef5..3ca217f974 100644 --- a/src/plugins/bearer/networkmanager/networkmanager.pro +++ b/src/plugins/bearer/networkmanager/networkmanager.pro @@ -1,15 +1,13 @@ TARGET = qnmbearer -QT = core network-private dbus +QT = core network-private dbus linuxofono_support_private HEADERS += qnetworkmanagerservice.h \ - qnetworkmanagerengine.h \ - ../linux_common/qofonoservice_linux_p.h + qnetworkmanagerengine.h SOURCES += main.cpp \ qnetworkmanagerservice.cpp \ - qnetworkmanagerengine.cpp \ - ../linux_common/qofonoservice_linux.cpp + qnetworkmanagerengine.cpp OTHER_FILES += networkmanager.json diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp index d686bc4e51..2fb5b2efbc 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp @@ -53,7 +53,6 @@ #include <QDBusInterface> #include <QDBusMessage> #include <QDBusReply> -#include "../linux_common/qofonoservice_linux_p.h" #ifndef QT_NO_DBUS diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h index c6c5280eca..c624d6087d 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h @@ -55,7 +55,7 @@ #include "qnetworkmanagerservice.h" -#include "../linux_common/qofonoservice_linux_p.h" +#include <private/qofonoservice_linux_p.h> #include <QMap> #include <QVariant> |