summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2011-06-09 15:56:55 +0200
committerJørgen Lind <jorgen.lind@nokia.com>2011-06-10 09:46:56 +0200
commit6ee65dc4785b9f38cfd7405a5535c88feb3a0ea1 (patch)
treeff55c0b4037cc0b9c247667fb887af8b1893a7b9 /src
parent17763a7b31c1f6df6f7725c4b67e5dcc4d3b00fb (diff)
QtPlatformSupport: A helper library for platform plugins
QtPlatformSupport is a static library. Platform plugins are meant to link against this library to pull in dependencies such as fontengines and convenience functions for finding the right GL configs. The linker will only pull in the symbols used, so the size of the library doesn't really matter
Diffstat (limited to 'src')
-rw-r--r--src/modules/qt_platformsupport.pri14
-rw-r--r--src/platformsupport/dnd/dnd.pri4
-rw-r--r--src/platformsupport/dnd/qsimpledrag.cpp (renamed from src/plugins/platforms/dnd/qsimpledrag.cpp)2
-rw-r--r--src/platformsupport/dnd/qsimpledrag_p.h (renamed from src/plugins/platforms/dnd/qsimpledrag.h)0
-rw-r--r--src/platformsupport/eglconvenience/eglconvenience.pri15
-rw-r--r--src/platformsupport/eglconvenience/qeglconvenience.cpp (renamed from src/plugins/platforms/eglconvenience/qeglconvenience.cpp)2
-rw-r--r--src/platformsupport/eglconvenience/qeglconvenience_p.h (renamed from src/plugins/platforms/eglconvenience/qeglconvenience.h)0
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformcontext.cpp (renamed from src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp)5
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformcontext_p.h (renamed from src/plugins/platforms/eglconvenience/qeglplatformcontext.h)0
-rw-r--r--src/platformsupport/eglconvenience/qxlibeglintegration.cpp (renamed from src/plugins/platforms/eglconvenience/qxlibeglintegration.cpp)2
-rw-r--r--src/platformsupport/eglconvenience/qxlibeglintegration_p.h (renamed from src/plugins/platforms/eglconvenience/qxlibeglintegration.h)2
-rw-r--r--src/platformsupport/fb_base/fb_base.cpp (renamed from src/plugins/platforms/fb_base/fb_base.cpp)2
-rw-r--r--src/platformsupport/fb_base/fb_base.pri4
-rw-r--r--src/platformsupport/fb_base/fb_base_p.h (renamed from src/plugins/platforms/fb_base/fb_base.h)0
-rw-r--r--src/platformsupport/fontdatabases/basicunix/basicunix.pri88
-rw-r--r--src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase.cpp (renamed from src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.cpp)6
-rw-r--r--src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase_p.h (renamed from src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.h)0
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/fontconfig.pri2
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp (renamed from src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.cpp)9
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h (renamed from src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.h)2
-rw-r--r--src/platformsupport/fontdatabases/fontdatabases.pri7
-rw-r--r--src/platformsupport/fontdatabases/genericunix/genericunix.pri1
-rw-r--r--src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h (renamed from src/plugins/platforms/fontdatabases/genericunix/qgenericunixfontdatabase.h)4
-rw-r--r--src/platformsupport/glxconvenience/glxconvenience.pri6
-rw-r--r--src/platformsupport/glxconvenience/qglxconvenience.cpp (renamed from src/plugins/platforms/glxconvenience/qglxconvenience.cpp)2
-rw-r--r--src/platformsupport/glxconvenience/qglxconvenience_p.h (renamed from src/plugins/platforms/glxconvenience/qglxconvenience.h)0
-rw-r--r--src/platformsupport/platformsupport.pro23
-rw-r--r--src/platformsupport/printersupport/genericunix/genericunix.pri2
-rw-r--r--src/platformsupport/printersupport/genericunix/qgenericunixprintersupport.cpp (renamed from src/plugins/platforms/printersupport/genericunix/qgenericunixprintersupport.cpp)2
-rw-r--r--src/platformsupport/printersupport/genericunix/qgenericunixprintersupport_p.h (renamed from src/plugins/platforms/printersupport/genericunix/qgenericunixprintersupport.h)0
-rw-r--r--src/platformsupport/printersupport/printersupport.pri7
-rw-r--r--src/platformsupport/printersupport/windows/qwindowsprintersupport.cpp (renamed from src/plugins/platforms/printersupport/windows/qwindowsprintersupport.cpp)2
-rw-r--r--src/platformsupport/printersupport/windows/qwindowsprintersupport_p.h (renamed from src/plugins/platforms/printersupport/windows/qwindowsprintersupport.h)0
-rw-r--r--src/platformsupport/printersupport/windows/windows.pri2
-rw-r--r--src/plugins/platforms/cocoa/cocoa.pro6
-rw-r--r--src/plugins/platforms/fb_base/fb_base.pri2
-rw-r--r--src/plugins/platforms/fb_base/fb_base.pro23
-rw-r--r--src/plugins/platforms/minimal/minimal.pro2
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.cpp2
-rw-r--r--src/plugins/platforms/wayland/qwaylandintegration.cpp2
-rw-r--r--src/plugins/platforms/wayland/wayland.pro19
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbnativeinterface.cpp2
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp10
-rw-r--r--src/plugins/platforms/xcb/xcb.pro12
-rw-r--r--src/src.pro6
46 files changed, 221 insertions, 86 deletions
diff --git a/src/modules/qt_platformsupport.pri b/src/modules/qt_platformsupport.pri
new file mode 100644
index 0000000000..199beaf563
--- /dev/null
+++ b/src/modules/qt_platformsupport.pri
@@ -0,0 +1,14 @@
+QT.platformsupport.VERSION = 5.0.0
+QT.platformsupport.MAJOR_VERSION = 5
+QT.platformsupport.MINOR_VERSION = 0
+QT.platformsupport.PATCH_VERSION = 0
+
+QT.platformsupport.name = QtPlatformSupport
+QT.platformsupport.includes = $$QT_MODULE_INCLUDE_BASE/QtPlatformSupport
+QT.platformsupport.private_includes = $$QT_MODULE_INCLUDE_BASE/QtPlatformSupport/$$QT.platformsupport.VERSION
+QT.platformsupport.sources = $$QT_MODULE_BASE/src/platformsupport
+QT.platformsupport.libs = $$QT_MODULE_LIB_BASE
+QT.platformsupport.plugins = $$QT_MODULE_PLUGIN_BASE
+QT.platformsupport.imports = $$QT_MODULE_IMPORT_BASE
+QT.platformsupport.depends = core gui
+QT.platformsupport.DEFINES =
diff --git a/src/platformsupport/dnd/dnd.pri b/src/platformsupport/dnd/dnd.pri
new file mode 100644
index 0000000000..e100dd10cb
--- /dev/null
+++ b/src/platformsupport/dnd/dnd.pri
@@ -0,0 +1,4 @@
+HEADERS += \
+ $$PWD/qsimpledrag_p.h
+SOURCES += \
+ $$PWD/qsimpledrag.cpp
diff --git a/src/plugins/platforms/dnd/qsimpledrag.cpp b/src/platformsupport/dnd/qsimpledrag.cpp
index 8032149875..72da29c063 100644
--- a/src/plugins/platforms/dnd/qsimpledrag.cpp
+++ b/src/platformsupport/dnd/qsimpledrag.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "qsimpledrag.h"
+#include "qsimpledrag_p.h"
#include "qbitmap.h"
#include "qdrag.h"
diff --git a/src/plugins/platforms/dnd/qsimpledrag.h b/src/platformsupport/dnd/qsimpledrag_p.h
index 82668a68c9..82668a68c9 100644
--- a/src/plugins/platforms/dnd/qsimpledrag.h
+++ b/src/platformsupport/dnd/qsimpledrag_p.h
diff --git a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
new file mode 100644
index 0000000000..f8500e2de0
--- /dev/null
+++ b/src/platformsupport/eglconvenience/eglconvenience.pri
@@ -0,0 +1,15 @@
+contains(QT_CONFIG,opengles2) {
+ HEADERS += \
+ $$PWD/qeglconvenience_p.h \
+ $$PWD/qeglplatformcontext_p.h
+ SOURCES += \
+ $$PWD/qeglconvenience.cpp \
+ $$PWD/qeglplatformcontext.cpp
+
+ contains(QT_CONFIG,xlib) {
+ HEADERS += \
+ $$PWD/qxlibeglintegration_p.h
+ SOURCES += \
+ $$PWD/qxlibeglintegration.cpp
+ }
+}
diff --git a/src/plugins/platforms/eglconvenience/qeglconvenience.cpp b/src/platformsupport/eglconvenience/qeglconvenience.cpp
index 2f686d6f76..a9973b642a 100644
--- a/src/plugins/platforms/eglconvenience/qeglconvenience.cpp
+++ b/src/platformsupport/eglconvenience/qeglconvenience.cpp
@@ -41,7 +41,7 @@
#include <QByteArray>
-#include "qeglconvenience.h"
+#include "qeglconvenience_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/eglconvenience/qeglconvenience.h b/src/platformsupport/eglconvenience/qeglconvenience_p.h
index 302aba318f..302aba318f 100644
--- a/src/plugins/platforms/eglconvenience/qeglconvenience.h
+++ b/src/platformsupport/eglconvenience/qeglconvenience_p.h
diff --git a/src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
index c96e8ed67a..bb2d167c81 100644
--- a/src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp
+++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
@@ -39,13 +39,12 @@
**
****************************************************************************/
-#include "qeglplatformcontext.h"
+#include "qeglplatformcontext_p.h"
+#include "qeglconvenience_p.h"
#include <QtGui/QPlatformWindow>
-#include "qeglconvenience.h"
-
#include <EGL/egl.h>
QEGLSurface::QEGLSurface(EGLSurface surface, const QGuiGLFormat &format)
diff --git a/src/plugins/platforms/eglconvenience/qeglplatformcontext.h b/src/platformsupport/eglconvenience/qeglplatformcontext_p.h
index 9877b77e4e..9877b77e4e 100644
--- a/src/plugins/platforms/eglconvenience/qeglplatformcontext.h
+++ b/src/platformsupport/eglconvenience/qeglplatformcontext_p.h
diff --git a/src/plugins/platforms/eglconvenience/qxlibeglintegration.cpp b/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
index cbd8f7d7c6..aeebd35d21 100644
--- a/src/plugins/platforms/eglconvenience/qxlibeglintegration.cpp
+++ b/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "qxlibeglintegration.h"
+#include "qxlibeglintegration_p.h"
static int countBits(unsigned long mask)
{
diff --git a/src/plugins/platforms/eglconvenience/qxlibeglintegration.h b/src/platformsupport/eglconvenience/qxlibeglintegration_p.h
index 1d02ab8677..cce394758d 100644
--- a/src/plugins/platforms/eglconvenience/qxlibeglintegration.h
+++ b/src/platformsupport/eglconvenience/qxlibeglintegration_p.h
@@ -42,7 +42,7 @@
#ifndef QTESTLITEEGLINTEGRATION_H
#define QTESTLITEEGLINTEGRATION_H
-#include "qeglconvenience.h"
+#include "qeglconvenience_p.h"
class QXlibEglIntegration
{
diff --git a/src/plugins/platforms/fb_base/fb_base.cpp b/src/platformsupport/fb_base/fb_base.cpp
index a83d739083..aa395fec29 100644
--- a/src/plugins/platforms/fb_base/fb_base.cpp
+++ b/src/platformsupport/fb_base/fb_base.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "fb_base.h"
+#include "fb_base_p.h"
#include <qpainter.h>
#include <qdebug.h>
#include <qbitmap.h>
diff --git a/src/platformsupport/fb_base/fb_base.pri b/src/platformsupport/fb_base/fb_base.pri
new file mode 100644
index 0000000000..e80125d54e
--- /dev/null
+++ b/src/platformsupport/fb_base/fb_base.pri
@@ -0,0 +1,4 @@
+do_not_compile_untill_ported_to_qt5 {
+ SOURCES += $$PWD/fb_base.cpp
+ HEADERS += $$PWD/fb_base_p.h
+}
diff --git a/src/plugins/platforms/fb_base/fb_base.h b/src/platformsupport/fb_base/fb_base_p.h
index 6b0b152482..6b0b152482 100644
--- a/src/plugins/platforms/fb_base/fb_base.h
+++ b/src/platformsupport/fb_base/fb_base_p.h
diff --git a/src/platformsupport/fontdatabases/basicunix/basicunix.pri b/src/platformsupport/fontdatabases/basicunix/basicunix.pri
new file mode 100644
index 0000000000..bd57b384b3
--- /dev/null
+++ b/src/platformsupport/fontdatabases/basicunix/basicunix.pri
@@ -0,0 +1,88 @@
+DEFINES += QT_NO_FONTCONFIG
+QT += gui-private core-private
+
+HEADERS += \
+ $$PWD/qbasicunixfontdatabase_p.h \
+ $$QT_SOURCE_TREE/src/gui/text/qfontengine_ft_p.h
+
+SOURCES += \
+ $$PWD/qbasicunixfontdatabase.cpp \
+ $$QT_SOURCE_TREE/src/gui/text/qfontengine_ft.cpp
+
+INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/harfbuzz/src
+
+INCLUDEPATH += $$PWD
+
+CONFIG += opentype
+
+contains(QT_CONFIG, freetype) {
+ QT_FREETYPE_DIR = $$QT_SOURCE_TREE/src/3rdparty/freetype
+ SOURCES += \
+ $$QT_FREETYPE_DIR/src/base/ftbase.c \
+ $$QT_FREETYPE_DIR/src/base/ftbbox.c \
+ $$QT_FREETYPE_DIR/src/base/ftdebug.c \
+ $$QT_FREETYPE_DIR/src/base/ftglyph.c \
+ $$QT_FREETYPE_DIR/src/base/ftinit.c \
+ $$QT_FREETYPE_DIR/src/base/ftmm.c \
+ $$QT_FREETYPE_DIR/src/base/fttype1.c \
+ $$QT_FREETYPE_DIR/src/base/ftsynth.c \
+ $$QT_FREETYPE_DIR/src/base/ftbitmap.c \
+ $$QT_FREETYPE_DIR/src/bdf/bdf.c \
+ $$QT_FREETYPE_DIR/src/cache/ftcache.c \
+ $$QT_FREETYPE_DIR/src/cff/cff.c \
+ $$QT_FREETYPE_DIR/src/cid/type1cid.c \
+ $$QT_FREETYPE_DIR/src/gzip/ftgzip.c \
+ $$QT_FREETYPE_DIR/src/pcf/pcf.c \
+ $$QT_FREETYPE_DIR/src/pfr/pfr.c \
+ $$QT_FREETYPE_DIR/src/psaux/psaux.c \
+ $$QT_FREETYPE_DIR/src/pshinter/pshinter.c \
+ $$QT_FREETYPE_DIR/src/psnames/psmodule.c \
+ $$QT_FREETYPE_DIR/src/raster/raster.c \
+ $$QT_FREETYPE_DIR/src/sfnt/sfnt.c \
+ $$QT_FREETYPE_DIR/src/smooth/smooth.c \
+ $$QT_FREETYPE_DIR/src/truetype/truetype.c \
+ $$QT_FREETYPE_DIR/src/type1/type1.c \
+ $$QT_FREETYPE_DIR/src/type42/type42.c \
+ $$QT_FREETYPE_DIR/src/winfonts/winfnt.c \
+ $$QT_FREETYPE_DIR/src/lzw/ftlzw.c\
+ $$QT_FREETYPE_DIR/src/otvalid/otvalid.c\
+ $$QT_FREETYPE_DIR/src/otvalid/otvbase.c\
+ $$QT_FREETYPE_DIR/src/otvalid/otvgdef.c\
+ $$QT_FREETYPE_DIR/src/otvalid/otvjstf.c\
+ $$QT_FREETYPE_DIR/src/otvalid/otvcommn.c\
+ $$QT_FREETYPE_DIR/src/otvalid/otvgpos.c\
+ $$QT_FREETYPE_DIR/src/otvalid/otvgsub.c\
+ $$QT_FREETYPE_DIR/src/otvalid/otvmod.c\
+ $$QT_FREETYPE_DIR/src/autofit/afangles.c\
+ $$QT_FREETYPE_DIR/src/autofit/afglobal.c\
+ $$QT_FREETYPE_DIR/src/autofit/aflatin.c\
+ $$QT_FREETYPE_DIR/src/autofit/afmodule.c\
+ $$QT_FREETYPE_DIR/src/autofit/afdummy.c\
+ $$QT_FREETYPE_DIR/src/autofit/afhints.c\
+ $$QT_FREETYPE_DIR/src/autofit/afloader.c\
+ $$QT_FREETYPE_DIR/src/autofit/autofit.c
+
+ symbian {
+ SOURCES += \
+ $$QT_FREETYPE_DIR/src/base/ftsystem.c
+ } else {
+ SOURCES += \
+ $$QT_FREETYPE_DIR/builds/unix/ftsystem.c
+ INCLUDEPATH += \
+ $$QT_FREETYPE_DIR/builds/unix
+ }
+
+ INCLUDEPATH += \
+ $$QT_FREETYPE_DIR/src \
+ $$QT_FREETYPE_DIR/include
+
+ DEFINES += FT2_BUILD_LIBRARY
+ contains(QT_CONFIG, system-zlib) {
+ DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB
+ }
+
+} else:contains(QT_CONFIG, system-freetype) {
+ # pull in the proper freetype2 include directory
+ include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
+}
+
diff --git a/src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.cpp b/src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase.cpp
index 38cbe2cbf6..1b0966d4b8 100644
--- a/src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.cpp
+++ b/src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "qbasicunixfontdatabase.h"
+#include "qbasicunixfontdatabase_p.h"
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/QPlatformScreen>
@@ -312,12 +312,12 @@ QStringList QBasicUnixFontDatabase::addTTFile(const QByteArray &fontData, const
QString family = QString::fromAscii(face->family_name);
FontFile *fontFile = new FontFile;
- fontFile->fileName = file;
+ fontFile->fileName = QString::fromAscii(file);
fontFile->indexValue = index;
QFont::Stretch stretch = QFont::Unstretched;
- registerFont(family,"",weight,style,stretch,true,true,0,writingSystems,fontFile);
+ registerFont(family,QString(),weight,style,stretch,true,true,0,writingSystems,fontFile);
families.append(family);
diff --git a/src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.h b/src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase_p.h
index f7fc0e547b..f7fc0e547b 100644
--- a/src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.h
+++ b/src/platformsupport/fontdatabases/basicunix/qbasicunixfontdatabase_p.h
diff --git a/src/platformsupport/fontdatabases/fontconfig/fontconfig.pri b/src/platformsupport/fontdatabases/fontconfig/fontconfig.pri
new file mode 100644
index 0000000000..2efcb4d4dc
--- /dev/null
+++ b/src/platformsupport/fontdatabases/fontconfig/fontconfig.pri
@@ -0,0 +1,2 @@
+HEADERS += $$PWD/qfontconfigdatabase_p.h
+SOURCES += $$PWD/qfontconfigdatabase.cpp
diff --git a/src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
index aeb0c76135..d506d7c0f8 100644
--- a/src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.cpp
+++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "qfontconfigdatabase.h"
+#include "qfontconfigdatabase_p.h"
#include <QtCore/QList>
#include <QtGui/private/qfont_p.h>
@@ -446,10 +446,11 @@ void QFontconfigDatabase::populateFontDatabase()
ws.setSupported(QFontDatabase::Latin);
+ QString familyQtName = QString::fromLatin1(f->qtname);
while (f->qtname) {
- registerFont(f->qtname,QLatin1String(""),QFont::Normal,QFont::StyleNormal,QFont::Unstretched,true,true,0,ws,0);
- registerFont(f->qtname,QLatin1String(""),QFont::Normal,QFont::StyleItalic,QFont::Unstretched,true,true,0,ws,0);
- registerFont(f->qtname,QLatin1String(""),QFont::Normal,QFont::StyleOblique,QFont::Unstretched,true,true,0,ws,0);
+ registerFont(familyQtName,QString(),QFont::Normal,QFont::StyleNormal,QFont::Unstretched,true,true,0,ws,0);
+ registerFont(familyQtName,QString(),QFont::Normal,QFont::StyleItalic,QFont::Unstretched,true,true,0,ws,0);
+ registerFont(familyQtName,QString(),QFont::Normal,QFont::StyleOblique,QFont::Unstretched,true,true,0,ws,0);
++f;
}
diff --git a/src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.h b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
index 61700e391a..5a5e4b670f 100644
--- a/src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.h
+++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
@@ -43,7 +43,7 @@
#define QFONTCONFIGDATABASE_H
#include <QPlatformFontDatabase>
-#include "qbasicunixfontdatabase.h"
+#include <QtPlatformSupport/private/qbasicunixfontdatabase_p.h>
class QFontconfigDatabase : public QBasicUnixFontDatabase
{
diff --git a/src/platformsupport/fontdatabases/fontdatabases.pri b/src/platformsupport/fontdatabases/fontdatabases.pri
new file mode 100644
index 0000000000..609a548ad1
--- /dev/null
+++ b/src/platformsupport/fontdatabases/fontdatabases.pri
@@ -0,0 +1,7 @@
+unix {
+ include($$PWD/basicunix/basicunix.pri)
+ include($$PWD/genericunix/genericunix.pri)
+ contains(QT_CONFIG,fontconfig) {
+ include($$PWD/fontconfig/fontconfig.pri)
+ }
+}
diff --git a/src/platformsupport/fontdatabases/genericunix/genericunix.pri b/src/platformsupport/fontdatabases/genericunix/genericunix.pri
new file mode 100644
index 0000000000..e9db6c07e2
--- /dev/null
+++ b/src/platformsupport/fontdatabases/genericunix/genericunix.pri
@@ -0,0 +1 @@
+HEADERS += $$PWD/qgenericunixfontdatabase_p.h
diff --git a/src/plugins/platforms/fontdatabases/genericunix/qgenericunixfontdatabase.h b/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h
index 8bf542a215..721bccd585 100644
--- a/src/plugins/platforms/fontdatabases/genericunix/qgenericunixfontdatabase.h
+++ b/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h
@@ -43,10 +43,10 @@
#define QGENERICUNIXFONTDATABASE_H
#ifdef Q_FONTCONFIGDATABASE
-#include "qfontconfigdatabase.h"
+#include "QtPlatformSupport/private/qfontconfigdatabase_p.h"
typedef QFontconfigDatabase QGenericUnixFontDatabase;
#else
-#include "qbasicunixfontdatabase.h"
+#include "QtPlatformSupport/private/qbasicunixfontdatabase_p.h"
typedef QBasicUnixFontDatabase QGenericUnixFontDatabase;
#endif //Q_FONTCONFIGDATABASE
diff --git a/src/platformsupport/glxconvenience/glxconvenience.pri b/src/platformsupport/glxconvenience/glxconvenience.pri
new file mode 100644
index 0000000000..5b65e13306
--- /dev/null
+++ b/src/platformsupport/glxconvenience/glxconvenience.pri
@@ -0,0 +1,6 @@
+contains(QT_CONFIG,xlib) {
+ contains(QT_CONFIG,opengl):!contains(QT_CONFIG,opengles2) {
+ HEADERS += $$PWD/qglxconvenience_p.h
+ SOURCES += $$PWD/qglxconvenience.cpp
+ }
+}
diff --git a/src/plugins/platforms/glxconvenience/qglxconvenience.cpp b/src/platformsupport/glxconvenience/qglxconvenience.cpp
index 189ab397d2..fc506df3bd 100644
--- a/src/plugins/platforms/glxconvenience/qglxconvenience.cpp
+++ b/src/platformsupport/glxconvenience/qglxconvenience.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "qglxconvenience.h"
+#include "qglxconvenience_p.h"
#include <QtCore/QVector>
diff --git a/src/plugins/platforms/glxconvenience/qglxconvenience.h b/src/platformsupport/glxconvenience/qglxconvenience_p.h
index 1a0510067b..1a0510067b 100644
--- a/src/plugins/platforms/glxconvenience/qglxconvenience.h
+++ b/src/platformsupport/glxconvenience/qglxconvenience_p.h
diff --git a/src/platformsupport/platformsupport.pro b/src/platformsupport/platformsupport.pro
new file mode 100644
index 0000000000..33b651a73f
--- /dev/null
+++ b/src/platformsupport/platformsupport.pro
@@ -0,0 +1,23 @@
+TARGET = QtPlatformSupport
+QPRO_PWD = $$PWD
+QT += core-private gui-private
+
+CONFIG += module staticlib
+MODULE_PRI = ../modules/qt_platformssupport.pri
+
+unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui
+
+include(../qbase.pri)
+
+HEADERS += $$QT_SOURCE_TREE/src/platforms_libs/qtplatformslibsversion.h
+
+DEFINES += QT_NO_CAST_FROM_ASCII
+PRECOMPILED_HEADER = ../corelib/global/qt_pch.h
+
+include(dnd/dnd.pri)
+include(eglconvenience/eglconvenience.pri)
+include(fb_base/fb_base.pri)
+include(fontdatabases/fontdatabases.pri)
+include(glxconvenience/glxconvenience.pri)
+include(printersupport/printersupport.pri)
+
diff --git a/src/platformsupport/printersupport/genericunix/genericunix.pri b/src/platformsupport/printersupport/genericunix/genericunix.pri
new file mode 100644
index 0000000000..06bd1b6d21
--- /dev/null
+++ b/src/platformsupport/printersupport/genericunix/genericunix.pri
@@ -0,0 +1,2 @@
+HEADERS += $$PWD/qgenericunixprintersupport_p.h
+SOURCES += $$PWD/qgenericunixprintersupport.cpp
diff --git a/src/plugins/platforms/printersupport/genericunix/qgenericunixprintersupport.cpp b/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport.cpp
index 61caa8705a..ae66ce859f 100644
--- a/src/plugins/platforms/printersupport/genericunix/qgenericunixprintersupport.cpp
+++ b/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <qgenericunixprintersupport.h>
+#include "qgenericunixprintersupport_p.h"
#include <QtGui/QPrinterInfo>
#include <private/qcups_p.h>
diff --git a/src/plugins/platforms/printersupport/genericunix/qgenericunixprintersupport.h b/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport_p.h
index 5d7b3b43fb..5d7b3b43fb 100644
--- a/src/plugins/platforms/printersupport/genericunix/qgenericunixprintersupport.h
+++ b/src/platformsupport/printersupport/genericunix/qgenericunixprintersupport_p.h
diff --git a/src/platformsupport/printersupport/printersupport.pri b/src/platformsupport/printersupport/printersupport.pri
new file mode 100644
index 0000000000..1eca1e2d89
--- /dev/null
+++ b/src/platformsupport/printersupport/printersupport.pri
@@ -0,0 +1,7 @@
+unix {
+ include($$PWD/genericunix/genericunix.pri)
+}
+
+win {
+ include($$PWD/windows/windows.pri)
+}
diff --git a/src/plugins/platforms/printersupport/windows/qwindowsprintersupport.cpp b/src/platformsupport/printersupport/windows/qwindowsprintersupport.cpp
index d5c185fee3..62449295bb 100644
--- a/src/plugins/platforms/printersupport/windows/qwindowsprintersupport.cpp
+++ b/src/platformsupport/printersupport/windows/qwindowsprintersupport.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <qwindowsprintersupport.h>
+#include <qwindowsprintersupport_p.h>
#include <qprintengine_win_p.h>
#include <QtGui/QPrinterInfo>
diff --git a/src/plugins/platforms/printersupport/windows/qwindowsprintersupport.h b/src/platformsupport/printersupport/windows/qwindowsprintersupport_p.h
index d648846ef2..d648846ef2 100644
--- a/src/plugins/platforms/printersupport/windows/qwindowsprintersupport.h
+++ b/src/platformsupport/printersupport/windows/qwindowsprintersupport_p.h
diff --git a/src/platformsupport/printersupport/windows/windows.pri b/src/platformsupport/printersupport/windows/windows.pri
new file mode 100644
index 0000000000..69a8c47443
--- /dev/null
+++ b/src/platformsupport/printersupport/windows/windows.pri
@@ -0,0 +1,2 @@
+HEADERS += $$PWD/qwindowsprintersupport_p.h
+SOURCES += $$PWD/qwindowsprintersupport.cpp
diff --git a/src/plugins/platforms/cocoa/cocoa.pro b/src/plugins/platforms/cocoa/cocoa.pro
index 9ad91975f3..5573b19fcd 100644
--- a/src/plugins/platforms/cocoa/cocoa.pro
+++ b/src/plugins/platforms/cocoa/cocoa.pro
@@ -1,5 +1,5 @@
TARGET = qcocoa
-load(qpa/plugin)
+load(qt_plugin)
DESTDIR = $$QT.gui.plugins/platforms
OBJECTIVE_SOURCES = main.mm \
@@ -28,8 +28,8 @@ DEFINES += QT_BUILD_COCOA_LIB
LIBS += -lz
LIBS += -framework cocoa
-QT += core-private gui-private
+QT += core-private gui-private platformsupport-private
-load(qpa/fontdatabases/basicunix)
+CONFIG += qpa/basicunixfontdatabase
target.path += $$[QT_INSTALL_PLUGINS]/platforms
INSTALLS += target
diff --git a/src/plugins/platforms/fb_base/fb_base.pri b/src/plugins/platforms/fb_base/fb_base.pri
deleted file mode 100644
index 41bd87fbca..0000000000
--- a/src/plugins/platforms/fb_base/fb_base.pri
+++ /dev/null
@@ -1,2 +0,0 @@
-SOURCES += ../fb_base/fb_base.cpp
-HEADERS += ../fb_base/fb_base.h
diff --git a/src/plugins/platforms/fb_base/fb_base.pro b/src/plugins/platforms/fb_base/fb_base.pro
deleted file mode 100644
index 4ebd53b407..0000000000
--- a/src/plugins/platforms/fb_base/fb_base.pro
+++ /dev/null
@@ -1,23 +0,0 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2009-11-05T13:22:31
-#
-#-------------------------------------------------
-
-#QT -= core gui
-TARGET = fb_base
-#load(qt_plugin)
-
-DESTDIR = $$QT.gui.plugins/graphicssystems
-
-TEMPLATE = lib
-
-#DEFINES += STATIC_LIBRARY
-CONFIG += staticlib
-
-SOURCES += fb_base.cpp
-
-HEADERS += fb_base.h
-
-target.path += $$[QT_INSTALL_PLUGINS]/graphicssystems
-INSTALLS += target
diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro
index b8c65a3e3b..d51b6b2ed0 100644
--- a/src/plugins/platforms/minimal/minimal.pro
+++ b/src/plugins/platforms/minimal/minimal.pro
@@ -1,5 +1,5 @@
TARGET = qminimal
-load(qpa/plugin)
+load(qt_plugin)
QT = core-private gui-private
DESTDIR = $$QT.gui.plugins/platforms
diff --git a/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.cpp b/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.cpp
index 08b6f76daf..c5db44da4b 100644
--- a/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.cpp
+++ b/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.cpp
@@ -46,7 +46,7 @@
#include <QtCore/QDebug>
#include <QtGui/QRegion>
-#include "qeglconvenience.h"
+#include "QtPlatformSupport/private/qeglconvenience_p.h"
QWaylandXCompositeEGLSurface::QWaylandXCompositeEGLSurface(QWaylandXCompositeEGLWindow *window)
: QEGLSurface(window->eglSurface(), window->window()->glFormat())
diff --git a/src/plugins/platforms/wayland/qwaylandintegration.cpp b/src/plugins/platforms/wayland/qwaylandintegration.cpp
index 226bfd44d5..4c2eaa631c 100644
--- a/src/plugins/platforms/wayland/qwaylandintegration.cpp
+++ b/src/plugins/platforms/wayland/qwaylandintegration.cpp
@@ -47,7 +47,7 @@
#include "qwaylandnativeinterface.h"
#include "qwaylandclipboard.h"
-#include "qgenericunixfontdatabase.h"
+#include "QtPlatformSupport/private/qgenericunixfontdatabase_p.h"
#include <QtGui/QWindowSystemInterface>
#include <QtGui/QPlatformCursor>
diff --git a/src/plugins/platforms/wayland/wayland.pro b/src/plugins/platforms/wayland/wayland.pro
index b37bfbbb3b..6a6ffdffc0 100644
--- a/src/plugins/platforms/wayland/wayland.pro
+++ b/src/plugins/platforms/wayland/wayland.pro
@@ -1,14 +1,14 @@
TARGET = qwayland
-load(qpa/plugin)
+load(qt_plugin)
-QT+=gui-private core-private opengl-private
+CONFIG += qpa/genericunixfontdatabase
DESTDIR = $$QT.gui.plugins/platforms
DEFINES += Q_PLATFORM_WAYLAND
DEFINES += $$QMAKE_DEFINES_WAYLAND
-QT += core-private gui-private opengl-private
+QT += core-private gui-private opengl-private platformsupport-private
SOURCES = main.cpp \
qwaylandintegration.cpp \
@@ -37,19 +37,6 @@ INCLUDEPATH += $$QMAKE_INCDIR_WAYLAND
LIBS += $$QMAKE_LIBS_WAYLAND
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_WAYLAND
-INCLUDEPATH += $$PWD
-
-QT += gui-private
-QT += opengl-private
-QT += core-private
-QT += widgets-private
-
-include ($$PWD/gl_integration/gl_integration.pri)
-
-include ($$PWD/windowmanager_integration/windowmanager_integration.pri)
-
-load(qpa/fontdatabases/genericunix)
-
target.path += $$[QT_INSTALL_PLUGINS]/platforms
INSTALLS += target
diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
index bd1924def9..45d9d69199 100644
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
@@ -49,13 +49,13 @@
#include "qxcbdrag.h"
#include "qxcbimage.h"
-#include <qgenericunixprintersupport.h>
+#include <QtPlatformSupport/private/qgenericunixprintersupport_p.h>
#include <xcb/xcb.h>
#include <private/qpixmap_raster_p.h>
-#include "qgenericunixfontdatabase.h"
+#include <QtPlatformSupport/private/qgenericunixfontdatabase_p.h>
#include <stdio.h>
diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
index bf8ca2a584..45823fcc57 100644
--- a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
+++ b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
@@ -51,7 +51,7 @@
#include <QtGui/qguiglcontext_qpa.h>
#if defined(XCB_USE_EGL)
-#include "../eglconvenience/qeglplatformcontext.h"
+#include "QtPlatformSupport/private/qeglplatformcontext_p.h"
#elif defined (XCB_USE_DRI2)
#include "qdri2context.h"
#endif
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index 22a476b690..e6bea81c30 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -68,12 +68,12 @@
#endif
#if defined(XCB_USE_GLX)
-#include "qglxintegration.h"
-#include "qglxconvenience.h"
+#include <QtPlatformSupport/private/glxintegration_p.h>
+#include <QtPlatformSupport/private/glxconvenience_p.h>
#elif defined(XCB_USE_EGL)
-#include "../eglconvenience/qeglplatformcontext.h"
-#include "../eglconvenience/qeglconvenience.h"
-#include "../eglconvenience/qxlibeglintegration.h"
+#include <QtPlatformSupport/private/qeglplatformcontext_p.h>
+#include <QtPlatformSupport/private/qeglconvenience_p.h>
+#include <QtPlatformSupport/private/qxlibeglintegration_p.h>
#endif
#define XCOORD_MAX 16383
diff --git a/src/plugins/platforms/xcb/xcb.pro b/src/plugins/platforms/xcb/xcb.pro
index 2b545f9b1d..c8814b04f6 100644
--- a/src/plugins/platforms/xcb/xcb.pro
+++ b/src/plugins/platforms/xcb/xcb.pro
@@ -1,9 +1,9 @@
TARGET = xcb
-load(qpa/plugin)
+load(qt_plugin)
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/platforms
-QT += core-private gui-private
+QT += core-private gui-private platformsupport-private
SOURCES = \
qxcbclipboard.cpp \
@@ -61,14 +61,9 @@ contains(QT_CONFIG, opengl) {
} else {
contains(QT_CONFIG, opengles2) {
DEFINES += XCB_USE_EGL
- load(qpa/egl/convenience)
- load(qpa/egl/context)
- load(qpa/egl/xlibintegration)
-
LIBS += -lEGL
} else {
DEFINES += XCB_USE_GLX
- load(qpa/glx/convenience)
HEADERS += qglxintegration.h
SOURCES += qglxintegration.cpp
}
@@ -83,8 +78,7 @@ DEFINES += $$QMAKE_DEFINES_XCB
LIBS += $$QMAKE_LIBS_XCB
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
-load(qpa/fontdatabases/genericunix)
-load(qpa/printersupport/genericunix)
+CONFIG += qpa/genericunixfontdatabase
target.path += $$[QT_INSTALL_PLUGINS]/platforms
INSTALLS += target
diff --git a/src/src.pro b/src/src.pro
index d9997421ce..e9e32db915 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -10,7 +10,7 @@ SRC_SUBDIRS += src_corelib
!cross_compile {
win32:!wince*: SRC_SUBDIRS += src_tools_idc
}
-SRC_SUBDIRS += src_network src_sql src_gui src_xml src_uitools src_widgets src_testlib
+SRC_SUBDIRS += src_network src_sql src_gui src_xml src_uitools src_widgets src_testlib src_platformsupport
nacl: SRC_SUBDIRS -= src_network src_testlib
!symbian:contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus
contains(QT_CONFIG, no-gui): SRC_SUBDIRS -= src_gui
@@ -50,6 +50,9 @@ src_widgets.subdir = $$QT_SOURCE_TREE/src/widgets
src_widgets.target = sub-widgets
src_testlib.subdir = $$QT_SOURCE_TREE/src/testlib
src_testlib.target = sub-testlib
+src_platformsupport.subdir = $$QT_SOURCE_TREE/src/platformsupport
+src_platformsupport.target = sub-platformsupport
+
#CONFIG += ordered
!wince*:!ordered:!symbian-abld:!symbian-sbsv2 {
@@ -66,6 +69,7 @@ src_testlib.target = sub-testlib
src_testlib.depends = src_corelib src_gui src_widgets
src_tools_idc.depends = src_corelib # target defined in tools.pro
src_plugins.depends = src_gui src_sql src_xml
+ qpa: src_plugins.depends = src_platformsupport
src_s60installs.depends = $$TOOLS_SUBDIRS $$SRC_SUBDIRS
src_s60installs.depends -= src_s60installs
contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2) {