From fc9a648dc03ec4531553bc3d65ae4dba3c5b5980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lind?= Date: Mon, 6 Jun 2011 08:45:02 +0200 Subject: Make building of platform plugins indifferent if its out of source This requires some source files to be shipped with the Qt install They are now copied into QT_INSTALL_DATA/platform --- mkspecs/features/qpa/dnd/simple.prf | 5 + mkspecs/features/qpa/egl/context.prf | 9 ++ mkspecs/features/qpa/egl/convenience.prf | 9 ++ mkspecs/features/qpa/egl/xlibintegration.prf | 9 ++ mkspecs/features/qpa/fontdatabases/basicunix.prf | 105 +++++++++++++++++++++ mkspecs/features/qpa/fontdatabases/fontconfig.prf | 12 +++ mkspecs/features/qpa/fontdatabases/genericunix.prf | 9 ++ mkspecs/features/qpa/fontengine_dir.prf | 9 ++ mkspecs/features/qpa/freetype_dir.prf | 8 ++ mkspecs/features/qpa/glx/convenience.prf | 16 ++++ mkspecs/features/qpa/harfbuzz_dir.prf | 9 ++ mkspecs/features/qpa/platforms_dir.prf | 7 ++ mkspecs/features/qpa/plugin.prf | 5 + .../features/qpa/printersupport/genericunix.prf | 6 ++ mkspecs/features/qpa/printersupport/windows.prf | 13 +++ 15 files changed, 231 insertions(+) create mode 100644 mkspecs/features/qpa/dnd/simple.prf create mode 100644 mkspecs/features/qpa/egl/context.prf create mode 100644 mkspecs/features/qpa/egl/convenience.prf create mode 100644 mkspecs/features/qpa/egl/xlibintegration.prf create mode 100644 mkspecs/features/qpa/fontdatabases/basicunix.prf create mode 100644 mkspecs/features/qpa/fontdatabases/fontconfig.prf create mode 100644 mkspecs/features/qpa/fontdatabases/genericunix.prf create mode 100644 mkspecs/features/qpa/fontengine_dir.prf create mode 100644 mkspecs/features/qpa/freetype_dir.prf create mode 100644 mkspecs/features/qpa/glx/convenience.prf create mode 100644 mkspecs/features/qpa/harfbuzz_dir.prf create mode 100644 mkspecs/features/qpa/platforms_dir.prf create mode 100644 mkspecs/features/qpa/plugin.prf create mode 100644 mkspecs/features/qpa/printersupport/genericunix.prf create mode 100644 mkspecs/features/qpa/printersupport/windows.prf (limited to 'mkspecs') diff --git a/mkspecs/features/qpa/dnd/simple.prf b/mkspecs/features/qpa/dnd/simple.prf new file mode 100644 index 0000000000..9333110fae --- /dev/null +++ b/mkspecs/features/qpa/dnd/simple.prf @@ -0,0 +1,5 @@ +load(qpa/platforms_dir) +INCLUDEPATH += $$QT_PLATFORMS_DIR/dnd +HEADERS += $$QT_PLATFORMS_DIR/dnd/qsimpledrag.h +SOURCES += $$QT_PLATFORMS_DIR/dnd/qsimpledrag.cpp +QT += gui-private diff --git a/mkspecs/features/qpa/egl/context.prf b/mkspecs/features/qpa/egl/context.prf new file mode 100644 index 0000000000..0689a3e71e --- /dev/null +++ b/mkspecs/features/qpa/egl/context.prf @@ -0,0 +1,9 @@ +load(qpa/platforms_dir) + +INCLUDEPATH += $$QT_PLATFORMS_DIR/eglconvenience + +SOURCES += \ + $$QT_PLATFORMS_DIR/eglconvenience/qeglplatformcontext.cpp + +HEADERS += \ + $$QT_PLATFORMS_DIR/eglconvenience/qeglplatformcontext.h diff --git a/mkspecs/features/qpa/egl/convenience.prf b/mkspecs/features/qpa/egl/convenience.prf new file mode 100644 index 0000000000..e1449cb5e5 --- /dev/null +++ b/mkspecs/features/qpa/egl/convenience.prf @@ -0,0 +1,9 @@ +load(qpa/platforms_dir) + +INCLUDEPATH += $$QT_PLATFORMS_DIR/eglconvenience + +SOURCES += \ + $$QT_PLATFORMS_DIR/eglconvenience/qeglconvenience.cpp + +HEADERS += \ + $$QT_PLATFORMS_DIR/eglconvenience/qeglconvenience.h diff --git a/mkspecs/features/qpa/egl/xlibintegration.prf b/mkspecs/features/qpa/egl/xlibintegration.prf new file mode 100644 index 0000000000..ad267f17b7 --- /dev/null +++ b/mkspecs/features/qpa/egl/xlibintegration.prf @@ -0,0 +1,9 @@ +load(qpa/platforms_dir) + +INCLUDEPATH += $$QT_PLATFORMS_DIR/eglconvenience + +HEADERS += \ + $$QT_PLATFORMS_DIR/eglconvenience/qxlibeglintegration.h + +SOURCES += \ + $$QT_PLATFORMS_DIR/eglconvenience/qxlibeglintegration.cpp diff --git a/mkspecs/features/qpa/fontdatabases/basicunix.prf b/mkspecs/features/qpa/fontdatabases/basicunix.prf new file mode 100644 index 0000000000..d31b89e074 --- /dev/null +++ b/mkspecs/features/qpa/fontdatabases/basicunix.prf @@ -0,0 +1,105 @@ +#### Remove this define +DEFINES += QT_NO_FONTCONFIG + +QT += gui-private core-private + +load(qpa/platforms_dir) +load(qpa/harfbuzz_dir) +load(qpa/freetype_dir) +load(qpa/fontengine_dir) + + +HEADERS += \ + $$QT_PLATFORMS_DIR/fontdatabases/basicunix/qbasicunixfontdatabase.h \ + $$QT_FONTENGINE_DIR/qfontengine_ft_p.h + +SOURCES += \ + $$QT_PLATFORMS_DIR/fontdatabases/basicunix/qbasicunixfontdatabase.cpp \ + $$QT_FONTENGINE_DIR/qfontengine_ft.cpp + +INCLUDEPATH += $$QT_HARFBUZZ_DIR/src + +INCLUDEPATH += $$QT_PLATFORMS_DIR/fontdatabases/basicunix + +CONFIG += opentype + +contains(QT_CONFIG, 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) + !cross_compile { + TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH + # LSB doesn't allow using headers from /include or /usr/include + linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH + for(p, TRY_INCLUDEPATHS) { + p = $$join(p, "", "", "/freetype2") + exists($$p):INCLUDEPATH *= $$p + } + } + LIBS_PRIVATE += -lfreetype + } + diff --git a/mkspecs/features/qpa/fontdatabases/fontconfig.prf b/mkspecs/features/qpa/fontdatabases/fontconfig.prf new file mode 100644 index 0000000000..7091aeaf2d --- /dev/null +++ b/mkspecs/features/qpa/fontdatabases/fontconfig.prf @@ -0,0 +1,12 @@ +load(qpa/fontdatabases/basicunix) + +HEADERS += \ + $$QT_PLATFORMS_DIR/fontdatabases/fontconfig/qfontconfigdatabase.h + +SOURCES += \ + $$QT_PLATFORMS_DIR/fontdatabases/fontconfig/qfontconfigdatabase.cpp + +INCLUDEPATH += $$QT_PLATFORMS_DIR/fontdatabases/fontconfig +LIBS_PRIVATE += -lfontconfig + + diff --git a/mkspecs/features/qpa/fontdatabases/genericunix.prf b/mkspecs/features/qpa/fontdatabases/genericunix.prf new file mode 100644 index 0000000000..014bdd3726 --- /dev/null +++ b/mkspecs/features/qpa/fontdatabases/genericunix.prf @@ -0,0 +1,9 @@ +contains(QT_CONFIG, fontconfig) { + load(qpa/fontdatabases/fontconfig) + DEFINES += Q_FONTCONFIGDATABASE +} else { + load(qpa/fontdatabases/basicunix.prf) +} + +INCLUDEPATH += $$QT_PLATFORMS_DIR/fontdatabases/genericunix +HEADERS += $$QT_PLATFORMS_DIR/fontdatabases/genericunix/qgenericunixfontdatabase.h diff --git a/mkspecs/features/qpa/fontengine_dir.prf b/mkspecs/features/qpa/fontengine_dir.prf new file mode 100644 index 0000000000..ac88e03110 --- /dev/null +++ b/mkspecs/features/qpa/fontengine_dir.prf @@ -0,0 +1,9 @@ +load(qpa/platforms_dir) + +QT_FONTENGINE_DIR = "" + +isEmpty(QT_SOURCE_TREE) { + QT_FONTENGINE_DIR = $$QT_PLATFORMS_DIR/fontdatabases/fontengines +} else { + QT_FONTENGINE_DIR = $$QT_SOURCE_TREE/src/gui/text +} diff --git a/mkspecs/features/qpa/freetype_dir.prf b/mkspecs/features/qpa/freetype_dir.prf new file mode 100644 index 0000000000..b3591f2a88 --- /dev/null +++ b/mkspecs/features/qpa/freetype_dir.prf @@ -0,0 +1,8 @@ +load(qpa/platforms_dir) + +QT_FREETYPE_DIR = "" +isEmpty(QT_SOURCE_TREE) { + QT_FREETYPE_DIR = $$QT_PLATFORMS_DIR/fontdatabases/freetype +} else { + QT_FREETYPE_DIR = $$QT_SOURCE_TREE/src/3rdparty/freetype +} diff --git a/mkspecs/features/qpa/glx/convenience.prf b/mkspecs/features/qpa/glx/convenience.prf new file mode 100644 index 0000000000..41ef193a99 --- /dev/null +++ b/mkspecs/features/qpa/glx/convenience.prf @@ -0,0 +1,16 @@ +load(qpa/platforms_dir) +INCLUDEPATH += $$QT_PLATFORMS_DIR/glxconvenience + +HEADERS += \ + $$QT_PLATFORMS_DIR/glxconvenience/qglxconvenience.h + +SOURCES += \ + $$QT_PLATFORMS_DIR/glxconvenience/qglxconvenience.cpp + +CONFIG += xrender + +xrender { + LIBS += -lXrender +} else { + DEFINES += QT_NO_XRENDER +} diff --git a/mkspecs/features/qpa/harfbuzz_dir.prf b/mkspecs/features/qpa/harfbuzz_dir.prf new file mode 100644 index 0000000000..b0a368f031 --- /dev/null +++ b/mkspecs/features/qpa/harfbuzz_dir.prf @@ -0,0 +1,9 @@ +load(qpa/platforms_dir) + +QT_HARFBUZZ_DIR = "" +isEmpty(QT_SOURCE_TREE) { + QT_HARFBUZZ_DIR = $$QT_PLATFORMS_DIR/fontdatabases/harfbuzz +} else { + QT_HARFBUZZ_DIR = $$QT_SOURCE_TREE/src/3rdparty/harfbuzz +} + diff --git a/mkspecs/features/qpa/platforms_dir.prf b/mkspecs/features/qpa/platforms_dir.prf new file mode 100644 index 0000000000..edb313c84f --- /dev/null +++ b/mkspecs/features/qpa/platforms_dir.prf @@ -0,0 +1,7 @@ +QT_PLATFORMS_DIR = "" + +isEmpty(QT_SOURCE_TREE) { + QT_PLATFORMS_DIR = $$[QT_INSTALL_DATA]/platforms +} else { + QT_PLATFORMS_DIR = $$QT_SOURCE_TREE/src/plugins/platforms +} diff --git a/mkspecs/features/qpa/plugin.prf b/mkspecs/features/qpa/plugin.prf new file mode 100644 index 0000000000..d2ee6a2a55 --- /dev/null +++ b/mkspecs/features/qpa/plugin.prf @@ -0,0 +1,5 @@ +TEMPLATE = lib + +CONFIG += qt plugin + +TARGET = $$qtLibraryTarget($$TARGET) diff --git a/mkspecs/features/qpa/printersupport/genericunix.prf b/mkspecs/features/qpa/printersupport/genericunix.prf new file mode 100644 index 0000000000..c5af646815 --- /dev/null +++ b/mkspecs/features/qpa/printersupport/genericunix.prf @@ -0,0 +1,6 @@ +load(qpa/platforms_dir) + +INCLUDEPATH += $$QT_PLATFORMS_DIR/printersupport/genericunix +HEADERS += $$QT_PLATFORMS_DIR/printersupport/genericunix/qgenericunixprintersupport.h +SOURCES += $$QT_PLATFORMS_DIR/printersupport/genericunix/qgenericunixprintersupport.cpp +QT += gui-private diff --git a/mkspecs/features/qpa/printersupport/windows.prf b/mkspecs/features/qpa/printersupport/windows.prf new file mode 100644 index 0000000000..40043259dd --- /dev/null +++ b/mkspecs/features/qpa/printersupport/windows.prf @@ -0,0 +1,13 @@ +load(qpa/platforms_dir) +load(qpa/harfbuzz_dir) + +INCLUDEPATH += $$QT_PLATFORMS_DIR/printersupport/windows +INCLUDEPATH += $$QT_HARFBUZZ_DIR/src + +HEADERS += \ + $$QT_PLATFORMS_DIR/printersupport/windows/qwindowsprintersupport.h \ + $$QT_PLATFORMS_DIR/printersupport/windows/qprintengine_win_p.h +SOURCES += \ + $$QT_PLATFORMS_DIR/printersupport/windows/qwindowsprintersupport.cpp \ + $$QT_PLATFORMS_DIR/printersupport/windows/qprintengine_win.cpp +QT += core-private widgets-private -- cgit v1.2.3