depot: qt5 recipes

Fixes #2792
This commit is contained in:
Christian Prochaska
2018-04-24 12:40:22 +02:00
committed by Christian Helmuth
parent e2661c58dc
commit f347cb90f1
302 changed files with 3857 additions and 1833 deletions

View File

@ -1,20 +1,14 @@
# identify the qt repository by searching for a file that is unique for qt
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/lib/mk/qt5_version.inc
QT5_PORT_DIR := $(call select_from_ports,qt5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/$(QT5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/qt5
QMAKE_PROJECT_PATH = $(QT5_CONTRIB_DIR)/qttools/examples/designer/calculatorform
QMAKE_PROJECT_FILE = $(QMAKE_PROJECT_PATH)/calculatorform.pro
vpath % $(QMAKE_PROJECT_PATH)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_component

View File

@ -1,20 +1,14 @@
# identify the Qt5 repository by searching for a file that is unique for Qt5
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/lib/mk/qt5_version.inc
QT5_PORT_DIR := $(call select_from_ports,qt5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/$(QT5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/qt5
QMAKE_PROJECT_PATH = $(QT5_CONTRIB_DIR)/qtbase/examples/gui/openglwindow
QMAKE_PROJECT_FILE = $(QMAKE_PROJECT_PATH)/openglwindow.pro
vpath % $(QMAKE_PROJECT_PATH)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_component

View File

@ -1,41 +1,6 @@
# identify the qt5 repository by searching for a file that is unique for qt5
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
#
# install contrib resources
#
SAMEGAME3_RESOURCES := samegame.qml \
Dialog.qml \
Button.qml \
Block.qml \
samegame.js
SAMEGAME_RESOURCES := background.jpg \
blueStone.png \
greenStone.png \
redStone.png \
yellowStone.png
$(TARGET): $(addprefix $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/, $(SAMEGAME3_RESOURCES)) \
$(addprefix $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/shared/pics/, $(SAMEGAME_RESOURCES))
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET):
$(VERBOSE)mkdir -p $@
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/shared/pics:
$(VERBOSE)mkdir -p $@
$(addprefix $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/, $(SAMEGAME3_RESOURCES)): $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)
$(VERBOSE)ln -sf $(QT5_CONTRIB_DIR)/qtdeclarative/examples/quick/tutorials/samegame/samegame3/$(notdir $@) $@
$(addprefix $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/shared/pics/, $(SAMEGAME_RESOURCES)): $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/shared/pics
$(VERBOSE)ln -sf $(QT5_CONTRIB_DIR)/qtdeclarative/examples/quick/tutorials/samegame/shared/pics/$(notdir $@) $@
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_component

View File

@ -1,22 +1,16 @@
# identify the qt5 repository by searching for a file that is unique for qt5
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/lib/mk/qt5_version.inc
QT5_PORT_DIR := $(call select_from_ports,qt5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/$(QT5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/qt5
QMAKE_PROJECT_PATH = $(QT5_CONTRIB_DIR)/qtscript/examples/script/qstetrix
QMAKE_PROJECT_FILE = $(QMAKE_PROJECT_PATH)/qstetrix.pro
vpath % $(QMAKE_PROJECT_PATH)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
CC_CXX_OPT += -DQT_NO_SCRIPTTOOLS
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_component

View File

@ -1,21 +1,15 @@
# identify the qt repository by searching for a file that is unique for qt
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/lib/mk/qt5_version.inc
QT5_PORT_DIR := $(call select_from_ports,qt5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/$(QT5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/qt5
QMAKE_PROJECT_PATH = $(QT5_CONTRIB_DIR)/qtbase/examples/widgets/richtext/textedit
QMAKE_PROJECT_FILE = $(QMAKE_PROJECT_PATH)/textedit.pro
vpath % $(QMAKE_PROJECT_PATH)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_printsupport qt5_component
LIBS += qt5_component qt5_printsupport
CC_CXX_WARN_STRICT =

View File

@ -1,23 +1,17 @@
# identify the qt5 repository by searching for a file that is unique for qt5
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/lib/mk/qt5_version.inc
QT5_PORT_DIR := $(call select_from_ports,qt5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/$(QT5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/qt5
QMAKE_PROJECT_PATH = $(QT5_CONTRIB_DIR)/qtvirtualkeyboard/examples/virtualkeyboard/basic
QMAKE_PROJECT_FILE = $(QMAKE_PROJECT_PATH)/basic.pro
vpath % $(QMAKE_PROJECT_PATH)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
CC_CXX_OPT += -D'MAIN_QML="basic-b2qt.qml"'
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_component qt5_qtvirtualkeyboardplugin qt5_windowplugin
LIBS += qt5_component
CC_CXX_WARN_STRICT =

View File

@ -84,6 +84,11 @@ class Avplay_slave : public QObject
vfs_dev_node.setAttribute("name", "dev");
QDomElement vfs_dev_log_node = config_doc.createElement("log");
vfs_dev_node.appendChild(vfs_dev_log_node);
QDomElement vfs_dev_rtc_node = config_doc.createElement("inline");
vfs_dev_rtc_node.setAttribute("name", "rtc");
QDomText vfs_dev_rtc_node_text = config_doc.createTextNode("2018-01-01 00:01");
vfs_dev_rtc_node.appendChild(vfs_dev_rtc_node_text);
vfs_dev_node.appendChild(vfs_dev_rtc_node);
vfs_node.appendChild(vfs_dev_node);
QDomElement vfs_mediafile_node = config_doc.createElement("rom");
vfs_mediafile_node.setAttribute("name", "mediafile");
@ -93,6 +98,7 @@ class Avplay_slave : public QObject
QDomElement libc_node = config_doc.createElement("libc");
libc_node.setAttribute("stdout", "/dev/log");
libc_node.setAttribute("stderr", "/dev/log");
libc_node.setAttribute("rtc", "/dev/rtc");
config_node.appendChild(libc_node);
QDomElement sdl_audio_volume_node = config_doc.createElement("sdl_audio_volume");

View File

@ -13,7 +13,6 @@
/* Qt includes */
#include <QApplication>
#include <qnitpickerintegrationplugin.h>
/* qt_avplay includes */
#include "main_window.h"

View File

@ -1,6 +1,6 @@
TEMPLATE = app
TARGET = qt_avplay
QT = core gui xml
QT = core gui widgets xml
HEADERS = avplay_slave.h \
control_bar.h \
main_window.h

View File

@ -1,31 +1,7 @@
# identify the qt repository by searching for a file that is unique for qt
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_qnitpickerviewwidget qoost
#
# install contrib resources
#
$(TARGET): $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/player_play.png \
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/player_pause.png \
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/player_stop.png \
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/volume.png
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET):
$(VERBOSE)mkdir -p $@
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/player_play.png \
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/player_pause.png \
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/player_stop.png: $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)
$(VERBOSE)ln -sf $(QT5_CONTRIB_DIR)/qtbase/examples/network/torrent/icons/$(notdir $@) $@
$(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)/volume.png: $(BUILD_BASE_DIR)/bin/qt5_fs/$(TARGET)
$(VERBOSE)ln -sf $(QT5_CONTRIB_DIR)/qtwebkit/Source/WebCore/platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/unmutebutton.png $@
CC_CXX_WARN_STRICT =

View File

@ -1,6 +1,6 @@
TEMPLATE = app
TARGET = qt_launchpad
QT = core gui
QT = core gui widgets
HEADERS += child_entry.h \
kbyte_loadbar.h \
launch_entry.h \

View File

@ -1,10 +1,6 @@
# identify the qt5 repository by searching for a file that is unique for qt5
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += launchpad

View File

@ -1,11 +0,0 @@
# identify the qt5 repository by searching for a file that is unique for qt5
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
LIBS += qt5_component
CC_CXX_WARN_STRICT =

View File

@ -28,8 +28,3 @@ endif
ifndef TARGET
TARGET = $(PROJECT_DIR_NAME)
endif
# default stack size of the main thread
# - can be overridden anywhere in target.mk
QT_MAIN_STACK_SIZE ?= 512*1024

View File

@ -1,9 +1,6 @@
INC_DIR += $(PRG_DIR)
LIBS += libc
# set the stack size of the main thread
CC_CXX_OPT += -DQT_MAIN_STACK_SIZE=$(QT_MAIN_STACK_SIZE)
LIBS += libc base
# QtCore
ifeq ($(findstring core, $(QT)), core)
@ -14,7 +11,13 @@ endif
# QtGui
ifeq ($(findstring gui, $(QT)), gui)
QT_DEFINES += -DQT_GUI_LIB
LIBS += qt5_gui qt5_qpa_nitpicker qt5_widgets qt5_qjpeg
LIBS += qt5_gui qt5_qpa_nitpicker qt5_qjpeg
endif
# QtWidgets
ifeq ($(findstring widgets, $(QT)), widgets)
QT_DEFINES += -DQT_WIDGETS_LIB
LIBS += qt5_widgets
endif
# QtNetwork

View File

@ -0,0 +1,58 @@
header_generation.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
Avoid errors on header generation during port preparation.
---
qtbase/mkspecs/features/qmake_use.prf | 4 ++--
qtbase/mkspecs/features/qt.prf | 2 +-
.../Tools/qmake/mkspecs/features/default_pre.prf | 8 ++++----
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/qtbase/mkspecs/features/qmake_use.prf b/qtbase/mkspecs/features/qmake_use.prf
index 9b6c67c..aa683d0 100644
--- a/qtbase/mkspecs/features/qmake_use.prf
+++ b/qtbase/mkspecs/features/qmake_use.prf
@@ -14,8 +14,8 @@ for(ever) {
defines = $$eval(QMAKE_DEFINES_$${nu})
includes = $$eval(QMAKE_INCDIR_$${nu})
- isEmpty(libs):isEmpty(defines):isEmpty(includes): \
- error("Library '$$name' is not defined.")
+ #isEmpty(libs):isEmpty(defines):isEmpty(includes): \
+ # error("Library '$$name' is not defined.")
!contains(use, nolink) {
QMAKE_LIBDIR += $$libdir
diff --git a/qtbase/mkspecs/features/qt.prf b/qtbase/mkspecs/features/qt.prf
index 98f794c..f9beec7 100644
--- a/qtbase/mkspecs/features/qt.prf
+++ b/qtbase/mkspecs/features/qt.prf
@@ -153,7 +153,7 @@ for(ever) {
WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE
}
}
- !isEmpty(BAD_QT):error("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)")
+ #!isEmpty(BAD_QT):error("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)")
!isEmpty(var_sfx): break()
var_sfx = _PRIVATE
diff --git a/qtwebkit/Tools/qmake/mkspecs/features/default_pre.prf b/qtwebkit/Tools/qmake/mkspecs/features/default_pre.prf
index 5c36e93..5a52092 100644
--- a/qtwebkit/Tools/qmake/mkspecs/features/default_pre.prf
+++ b/qtwebkit/Tools/qmake/mkspecs/features/default_pre.prf
@@ -67,10 +67,10 @@ else: PYTHON = python
CONFIG += production_build
# Run configure before making decisions that depend on the result
-root_project_file {
- load(configure)
- runConfigure()
-}
+#root_project_file {
+# load(configure)
+# runConfigure()
+#}
unix:config_gccdepends {
# We have a compiler that supports the -MD option (and neither

View File

@ -2,194 +2,30 @@ host_tools.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
Support out-of-tree build of Qt host tools.
This patch should not be applied when running the Qt 'configure' script.
Support shadow build of the host tools when the source tree already
contains generated files.
---
qtbase/mkspecs/features/qt.prf | 2
qtbase/mkspecs/features/qt_build_config.prf | 2
qtbase/mkspecs/features/qt_module.prf | 4 -
qtbase/mkspecs/features/qt_tool.prf | 112 ++++++++++++++-------------
qtbase/qmake/Makefile.unix | 2
5 files changed, 61 insertions(+), 61 deletions(-)
qtbase/configure | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/qtbase/mkspecs/features/qt.prf b/qtbase/mkspecs/features/qt.prf
index 98f794c..f4ec688 100644
--- a/qtbase/mkspecs/features/qt.prf
+++ b/qtbase/mkspecs/features/qt.prf
@@ -153,7 +153,7 @@ for(ever) {
WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE
}
}
- !isEmpty(BAD_QT):error("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)")
+ !isEmpty(BAD_QT):debug("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)")
diff --git a/qtbase/configure b/qtbase/configure
index a901fa0..a3e7df7 100755
--- a/qtbase/configure
+++ b/qtbase/configure
@@ -1299,11 +1299,11 @@ if [ "$OPT_SHADOW" = "maybe" ]; then
fi
fi
if [ "$OPT_SHADOW" = "yes" ]; then
- if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
- echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
- echo >&2 "Cannot proceed."
- exit 1
- fi
+ #if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
+ #echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
+ #echo >&2 "Cannot proceed."
+ #exit 1
+ #fi
[ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
fi
!isEmpty(var_sfx): break()
var_sfx = _PRIVATE
diff --git a/qtbase/mkspecs/features/qt_build_config.prf b/qtbase/mkspecs/features/qt_build_config.prf
index 3762c14..a19d0ce 100644
--- a/qtbase/mkspecs/features/qt_build_config.prf
+++ b/qtbase/mkspecs/features/qt_build_config.prf
@@ -132,5 +132,5 @@ defineTest(qtConfig) {
contains(QT.$${module}.disabled_features, $$1): \
return(false)
}
- error("Could not find feature $${1}.")
+ debug(1, "Could not find feature $${1}.")
}
diff --git a/qtbase/mkspecs/features/qt_module.prf b/qtbase/mkspecs/features/qt_module.prf
index 31d6285..eec9850 100644
--- a/qtbase/mkspecs/features/qt_module.prf
+++ b/qtbase/mkspecs/features/qt_module.prf
@@ -11,7 +11,7 @@
isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0)
isEmpty(VERSION): VERSION = $$MODULE_VERSION
-isEmpty(VERSION): error("Module does not define version.")
+isEmpty(VERSION): debug(1, "Module does not define version.")
exists($$OUT_PWD/qt$${MODULE}-config.pri) {
include($$OUT_PWD/qt$${MODULE}-config.pri)
@@ -83,7 +83,7 @@ QMAKE_DOCS_TARGETDIR = qt$${MODULE}
load(qt_common)
!no_module_headers: load(qt_module_headers)
-load(qt_module_pris)
+#load(qt_module_pris)
INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}_private.includes)
diff --git a/qtbase/mkspecs/features/qt_tool.prf b/qtbase/mkspecs/features/qt_tool.prf
index 4b73b4b..a4f4a12 100644
--- a/qtbase/mkspecs/features/qt_tool.prf
+++ b/qtbase/mkspecs/features/qt_tool.prf
@@ -18,61 +18,61 @@ DEFINES *= QT_USE_QSTRINGBUILDER
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build.
# Non-bootstrapped tools always need this because of the environment setup.
-!build_pass:if(!host_build|!force_bootstrap|force_independent|!isEmpty(HOST_QT_TOOLS)) {
- isEmpty(MODULE):MODULE = $$TARGET
-
- load(qt_build_paths)
-
- TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_tool_$${MODULE}.pri
-
- vars = binary depends
-
- isEmpty(HOST_QT_TOOLS) {
- load(resolve_target)
-
- !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private)
-
- !isEmpty(QT_TOOL_ENV) {
- vars += envvars
- module_var_names =
- module_var_sets =
- for(var, QT_TOOL_ENV) {
- vars += env.$${var}.name env.$${var}.value
- module_var_names += QT_TOOL.$${MODULE}.env.$${var}
- module_var_sets += \
- "QT_TOOL.$${MODULE}.env.$${var}.name = $$val_escape($${var}.name)" \
- "QT_TOOL.$${MODULE}.env.$${var}.value = $$val_escape($${var}.value)"
- }
- module_envvars = \
- "QT_TOOL.$${MODULE}.envvars = $$module_var_names" \
- $$module_var_sets
- } else {
- module_envvars =
- }
-
- bin = $$system_path($$QMAKE_RESOLVED_TARGET)
- } else {
- bin = $${HOST_QT_TOOLS}/$${TARGET}
- equals(QMAKE_HOST.os, Windows): bin = $${bin}.exe
- bin = $$system_path($$bin)
- }
-
- TOOL_PRI_CONT = \
- "QT_TOOL.$${MODULE}.binary = $$val_escape(bin)" \
- "QT_TOOL.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
- $$module_envvars
- write_file($$TOOL_PRI, TOOL_PRI_CONT)|error()
-
- # Then, inject the new tool into the current cache state
- !contains(QMAKE_INTERNAL_INCLUDED_FILES, $$TOOL_PRI) { # before the actual include()!
- added = $$TOOL_PRI
- cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, added)
- unset(added)
- }
- include($$TOOL_PRI)
- for(var, vars): \
- cache(QT_TOOL.$${MODULE}.$$var, transient)
-
-}
+#!build_pass:if(!host_build|!force_bootstrap|force_independent|!isEmpty(HOST_QT_TOOLS)) {
+# isEmpty(MODULE):MODULE = $$TARGET
+#
+# load(qt_build_paths)
+#
+# TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_tool_$${MODULE}.pri
+#
+# vars = binary depends
+#
+# isEmpty(HOST_QT_TOOLS) {
+# load(resolve_target)
+#
+# !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private)
+#
+# !isEmpty(QT_TOOL_ENV) {
+# vars += envvars
+# module_var_names =
+# module_var_sets =
+# for(var, QT_TOOL_ENV) {
+# vars += env.$${var}.name env.$${var}.value
+# module_var_names += QT_TOOL.$${MODULE}.env.$${var}
+# module_var_sets += \
+# "QT_TOOL.$${MODULE}.env.$${var}.name = $$val_escape($${var}.name)" \
+# "QT_TOOL.$${MODULE}.env.$${var}.value = $$val_escape($${var}.value)"
+# }
+# module_envvars = \
+# "QT_TOOL.$${MODULE}.envvars = $$module_var_names" \
+# $$module_var_sets
+# } else {
+# module_envvars =
+# }
+#
+# bin = $$system_path($$QMAKE_RESOLVED_TARGET)
+# } else {
+# bin = $${HOST_QT_TOOLS}/$${TARGET}
+# equals(QMAKE_HOST.os, Windows): bin = $${bin}.exe
+# bin = $$system_path($$bin)
+# }
+#
+# TOOL_PRI_CONT = \
+# "QT_TOOL.$${MODULE}.binary = $$val_escape(bin)" \
+# "QT_TOOL.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
+# $$module_envvars
+# write_file($$TOOL_PRI, TOOL_PRI_CONT)|error()
+#
+# # Then, inject the new tool into the current cache state
+# !contains(QMAKE_INTERNAL_INCLUDED_FILES, $$TOOL_PRI) { # before the actual include()!
+# added = $$TOOL_PRI
+# cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, added)
+# unset(added)
+# }
+# include($$TOOL_PRI)
+# for(var, vars): \
+# cache(QT_TOOL.$${MODULE}.$$var, transient)
+#
+#}
# The variable is re-used by qtPrepareTool(), and we really don't want that.
unset(QT_TOOL_ENV)
diff --git a/qtbase/qmake/Makefile.unix b/qtbase/qmake/Makefile.unix
index 808a6d8..720c82b 100644
--- a/qtbase/qmake/Makefile.unix
+++ b/qtbase/qmake/Makefile.unix
@@ -225,7 +225,7 @@ qsettings.o: $(SOURCE_PATH)/src/corelib/io/qsettings.cpp
qsystemerror.o: $(SOURCE_PATH)/src/corelib/kernel/qsystemerror.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/kernel/qsystemerror.cpp
-qlibraryinfo.o: $(SOURCE_PATH)/src/corelib/global/qlibraryinfo.cpp $(BUILD_PATH)/src/corelib/global/qconfig.cpp
+qlibraryinfo.o: $(SOURCE_PATH)/src/corelib/global/qlibraryinfo.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/global/qlibraryinfo.cpp
qnumeric.o: $(SOURCE_PATH)/src/corelib/global/qnumeric.cpp

View File

@ -4,12 +4,13 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
qtbase/configure | 1
qtbase/mkspecs/genode-g++/qmake.conf | 10 +++
qtbase/mkspecs/genode-g++/qplatformdefs.h | 87 +++++++++++++++++++++++++++++
qtbase/src/corelib/global/global.pri | 10 ++-
qtbase/src/corelib/io/io.pri | 2 -
5 files changed, 104 insertions(+), 6 deletions(-)
qtbase/configure | 1
qtbase/mkspecs/features/qt_build_config.prf | 2 -
qtbase/mkspecs/genode-g++/qmake.conf | 10 +++
qtbase/mkspecs/genode-g++/qplatformdefs.h | 87 +++++++++++++++++++++++++++
qtbase/src/corelib/global/global.pri | 10 ++-
qtbase/src/corelib/io/io.pri | 2 -
6 files changed, 105 insertions(+), 7 deletions(-)
create mode 100644 qtbase/mkspecs/genode-g++/qmake.conf
create mode 100644 qtbase/mkspecs/genode-g++/qplatformdefs.h
@ -25,6 +26,17 @@ index bc18e61..a901fa0 100755
SCO_SV:*)
#PLATFORM=sco-g++
PLATFORM=sco-cc
diff --git a/qtbase/mkspecs/features/qt_build_config.prf b/qtbase/mkspecs/features/qt_build_config.prf
index 3762c14..1596dd5 100644
--- a/qtbase/mkspecs/features/qt_build_config.prf
+++ b/qtbase/mkspecs/features/qt_build_config.prf
@@ -132,5 +132,5 @@ defineTest(qtConfig) {
contains(QT.$${module}.disabled_features, $$1): \
return(false)
}
- error("Could not find feature $${1}.")
+ #error("Could not find feature $${1}.")
}
diff --git a/qtbase/mkspecs/genode-g++/qmake.conf b/qtbase/mkspecs/genode-g++/qmake.conf
new file mode 100644
index 0000000..734ae5c

View File

@ -39,11 +39,13 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
qtbase/src/network/qtnetwork-config_p.h | 5 +
qtbase/src/printsupport/qtprintsupport-config.h | 5 +
qtbase/src/printsupport/qtprintsupport-config_p.h | 1
qtbase/src/sql/qtsql-config.h | 9 +++
qtbase/src/sql/qtsql-config_p.h | 1
qtbase/src/widgets/qtwidgets-config.h | 68 ++++++++++++++++++++
qtbase/src/widgets/qtwidgets-config_p.h | 1
qtbase/src/xml/qtxml-config.h | 1
qtbase/src/xml/qtxml-config_p.h | 0
39 files changed, 358 insertions(+)
41 files changed, 368 insertions(+)
create mode 100644 qtbase/include/QtCore/5.8.0/QtCore/private/qconfig_p.h
create mode 100644 qtbase/include/QtCore/5.8.0/QtCore/private/qtcore-config_p.h
create mode 100644 qtbase/include/QtCore/QtConfig
@ -79,6 +81,8 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
create mode 100644 qtbase/src/network/qtnetwork-config_p.h
create mode 100644 qtbase/src/printsupport/qtprintsupport-config.h
create mode 100644 qtbase/src/printsupport/qtprintsupport-config_p.h
create mode 100644 qtbase/src/sql/qtsql-config.h
create mode 100644 qtbase/src/sql/qtsql-config_p.h
create mode 100644 qtbase/src/widgets/qtwidgets-config.h
create mode 100644 qtbase/src/widgets/qtwidgets-config_p.h
create mode 100644 qtbase/src/xml/qtxml-config.h
@ -266,7 +270,7 @@ index 0000000..602a176
+#include "../../src/xml/qtxml-config.h"
diff --git a/qtbase/src/corelib/global/qconfig.cpp b/qtbase/src/corelib/global/qconfig.cpp
new file mode 100644
index 0000000..5dc56fe
index 0000000..7068d65
--- /dev/null
+++ b/qtbase/src/corelib/global/qconfig.cpp
@@ -0,0 +1,51 @@
@ -276,8 +280,8 @@ index 0000000..5dc56fe
+/* Installation Info */
+static const char qt_configure_prefix_path_str [256 + 12] = "qt_prfxpath=/qt";
+#ifdef QT_BUILD_QMAKE
+static const char qt_configure_ext_prefix_path_str [256 + 12] = "qt_epfxpath=/qt";
+static const char qt_configure_host_prefix_path_str [256 + 12] = "qt_hpfxpath=/qt";
+static const char qt_configure_ext_prefix_path_str [256 + 12] = "qt_epfxpath=";
+static const char qt_configure_host_prefix_path_str [256 + 12] = "qt_hpfxpath=";
+#endif
+
+static const short qt_configure_str_offsets[] = {
@ -305,7 +309,7 @@ index 0000000..5dc56fe
+ "bin\0"
+ "lib\0"
+ ".\0"
+ "genode-g++\0"
+ "linux-g++\0"
+ "linux-g++\0"
+#endif
+;
@ -582,6 +586,28 @@ index 0000000..ab4f4dd
+++ b/qtbase/src/printsupport/qtprintsupport-config_p.h
@@ -0,0 +1 @@
+#define QT_FEATURE_cups -1
diff --git a/qtbase/src/sql/qtsql-config.h b/qtbase/src/sql/qtsql-config.h
new file mode 100644
index 0000000..c4e6bef
--- /dev/null
+++ b/qtbase/src/sql/qtsql-config.h
@@ -0,0 +1,9 @@
+#define QT_FEATURE_sql_db2 -1
+#define QT_FEATURE_sql_ibase -1
+#define QT_FEATURE_sql_mysql -1
+#define QT_FEATURE_sql_oci -1
+#define QT_FEATURE_sql_odbc -1
+#define QT_FEATURE_sql_psql -1
+#define QT_FEATURE_sql_sqlite 1
+#define QT_FEATURE_sql_sqlite2 -1
+#define QT_FEATURE_sql_tds -1
diff --git a/qtbase/src/sql/qtsql-config_p.h b/qtbase/src/sql/qtsql-config_p.h
new file mode 100644
index 0000000..9b40bf6
--- /dev/null
+++ b/qtbase/src/sql/qtsql-config_p.h
@@ -0,0 +1 @@
+#define QT_FEATURE_system_sqlite -1
diff --git a/qtbase/src/widgets/qtwidgets-config.h b/qtbase/src/widgets/qtwidgets-config.h
new file mode 100644
index 0000000..dd8ef6e

View File

@ -3,13 +3,18 @@ qtbase_fixes.patch
qtbase_configuration.patch
qtdeclarative_configuration.patch
qttools_configuration.patch
qtwebkit_fixes.patch
qtwebkit_configuration.patch
qtbase_generated.patch
qtdeclarative_generated.patch
qtsvg_generated.patch
qttools_generated.patch
qtwebkit_generated.patch
qtbase_genode.patch
qtbase_genode_qtscriptclassic.patch
qtbase_genode_textedit_example.patch
qtbase_genode_openglwindow_example.patch
qtdeclarative_genode.patch
qtwebkit_genode.patch
host_tools.patch
header_generation.patch

View File

@ -1,4 +0,0 @@
qtwebkit_fixes.patch
qtwebkit_configuration.patch
qtwebkit_generated.patch
qtwebkit_genode.patch

View File

@ -1,20 +0,0 @@
/*
* \brief main() wrapper for customizing main()'s stack size
* \author Christian Prochaska
* \date 2008-08-20
*/
/*
* Copyright (C) 2008-2017 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifdef QT_MAIN_STACK_SIZE
#include <libc/component.h>
Genode::size_t Libc::Component::stack_size() { return QT_MAIN_STACK_SIZE; }
#endif /* QT_MAIN_STACK_SIZE */

View File

@ -21,8 +21,8 @@
#include "qnitpickerplatformwindow.h"
#include "qnitpickerscreen.h"
#include "qnitpickerwindowsurface.h"
#include "qgenericunixeventdispatcher_p.h"
#include "qbasicfontdatabase_p.h"
#include "QtEventDispatcherSupport/private/qgenericunixeventdispatcher_p.h"
#include "QtFontDatabaseSupport/private/qbasicfontdatabase_p.h"
QT_BEGIN_NAMESPACE

View File

@ -1,193 +0,0 @@
/*
* \brief QNitpickerPlatformWindow
* \author Christian Prochaska
* \date 2013-05-08
*/
/*
* Copyright (C) 2013-2017 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifndef _QNITPICKERPLATFORMWINDOW_H_
#define _QNITPICKERPLATFORMWINDOW_H_
/* Genode includes */
#include <input/event.h>
#include <nitpicker_session/connection.h>
/* EGL includes */
#include <EGL/egl.h>
/* Qt includes */
#include <qpa/qplatformwindow.h>
#include <qpa/qwindowsysteminterface.h>
#include <qevdevkeyboardhandler_p.h>
#include <qtouchdevice.h>
/* Qoost includes */
#include <qoost/qmember.h>
QT_BEGIN_NAMESPACE
class QNitpickerPlatformWindow : public QObject, public QPlatformWindow
{
Q_OBJECT
private:
Genode::Env &_env;
Nitpicker::Connection _nitpicker_session;
Framebuffer::Session_client _framebuffer_session;
unsigned char *_framebuffer;
bool _framebuffer_changed;
bool _geometry_changed;
Framebuffer::Mode _current_mode;
Genode::Signal_receiver &_signal_receiver;
Nitpicker::Session::View_handle _view_handle;
Input::Session_client _input_session;
Genode::Attached_dataspace _ev_buf;
QPoint _mouse_position;
Qt::KeyboardModifiers _keyboard_modifiers;
Qt::MouseButtons _mouse_button_state;
QByteArray _title;
bool _resize_handle;
bool _decoration;
EGLSurface _egl_surface;
QPoint _local_position() const
{
return QPoint(_mouse_position.x() - geometry().x(),
_mouse_position.y() - geometry().y());
}
Genode::Signal_dispatcher<QNitpickerPlatformWindow> _input_signal_dispatcher;
Genode::Signal_dispatcher<QNitpickerPlatformWindow> _mode_changed_signal_dispatcher;
QVector<QWindowSystemInterface::TouchPoint> _touch_points { 16 };
QTouchDevice *_touch_device;
QTouchDevice * _init_touch_device();
void _process_touch_events(QList<Input::Event> const &events);
Nitpicker::Session::View_handle _create_view();
void _adjust_and_set_geometry(const QRect &rect);
private Q_SLOTS:
void _handle_input(unsigned int);
void _handle_mode_changed(unsigned int);
Q_SIGNALS:
void _input(unsigned int);
void _mode_changed(unsigned int);
public:
QNitpickerPlatformWindow(Genode::Env &env, QWindow *window,
Genode::Signal_receiver &signal_receiver,
int screen_width, int screen_height);
QWindow *window() const;
QPlatformWindow *parent() const;
QPlatformScreen *screen() const;
QSurfaceFormat format() const;
void setGeometry(const QRect &rect);
QRect geometry() const;
QMargins frameMargins() const;
void setVisible(bool visible);
void setWindowFlags(Qt::WindowFlags flags);
void setWindowState(Qt::WindowState state);
WId winId() const;
void setParent(const QPlatformWindow *window);
void setWindowTitle(const QString &title);
void setWindowFilePath(const QString &title);
void setWindowIcon(const QIcon &icon);
void raise();
void lower();
bool isExposed() const;
bool isActive() const;
bool isEmbedded(const QPlatformWindow *parentWindow) const;
QPoint mapToGlobal(const QPoint &pos) const;
QPoint mapFromGlobal(const QPoint &pos) const;
void propagateSizeHints();
void setOpacity(qreal level);
void setMask(const QRegion &region);
void requestActivateWindow();
void handleContentOrientationChange(Qt::ScreenOrientation orientation);
qreal devicePixelRatio() const;
bool setKeyboardGrabEnabled(bool grab);
bool setMouseGrabEnabled(bool grab);
bool setWindowModified(bool modified);
void windowEvent(QEvent *event);
bool startSystemResize(const QPoint &pos, Qt::Corner corner);
void setFrameStrutEventsEnabled(bool enabled);
bool frameStrutEventsEnabled() const;
/* for QNitpickerWindowSurface */
unsigned char *framebuffer();
void refresh(int x, int y, int w, int h);
/* for QNitpickerGLContext */
EGLSurface egl_surface() const;
void egl_surface(EGLSurface egl_surface);
/* for QNitpickerViewWidget */
Nitpicker::Session_client &nitpicker();
Nitpicker::View_capability view_cap() const;
signals:
void framebuffer_changed();
};
QT_END_NAMESPACE
#endif /* _QNITPICKERPLATFORMWINDOW_H_ */

View File

@ -1,4 +1,4 @@
TEMPLATE = app
TARGET = test-qpluginwidget
QT = core gui
QT = core gui widgets
SOURCES += main.cpp

View File

@ -1,19 +1,17 @@
# identify the QT5 repository by searching for a file that is unique for QT5
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_qpluginwidget qt5_network qoost
$(TARGET): test-plugin.tar
TEST_PLUGIN_TAR = $(BUILD_BASE_DIR)/bin/test-plugin.tar
test-plugin.tar: config.plugin
$(TARGET): $(TEST_PLUGIN_TAR)
$(TEST_PLUGIN_TAR): config.plugin
$(VERBOSE)tar cf $@ -C $(PRG_DIR) config.plugin
clean:
$(VERBOSE)rm test-plugin.tar
$(VERBOSE)rm $(TEST_PLUGIN_TAR)
CC_CXX_WARN_STRICT =

View File

@ -0,0 +1,12 @@
/*
* \brief QtCore test
* \author Christian Prochaska
* \date 2018-01-16
*/
#include <QtCore>
int main(int argc, char *argv[])
{
qInfo() << "Test done.";
}

View File

@ -0,0 +1,4 @@
TEMPLATE = app
TARGET = test-qt_core
QT = core
SOURCES += main.cpp

View File

@ -0,0 +1,7 @@
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_component
CC_CXX_WARN_STRICT =

View File

@ -12,7 +12,7 @@ int main(int argc, char *argv[])
QGuiApplication app(argc, argv);
QQuickView view;
view.setSource(QUrl("qrc:/qt_quicktest.qml"));
view.setSource(QUrl("qrc:/qt_quick.qml"));
view.show();
return app.exec();

View File

@ -1,5 +1,6 @@
TEMPLATE += app
TARGET = test-qt_quick
QT += quick
SOURCES += main.cpp
RESOURCES += qt_quicktest.qrc
RESOURCES += qt_quick.qrc
CONFIG += debug

View File

@ -1,6 +1,6 @@
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource prefix="/">
<file>qt_quicktest.qml</file>
<file>qt_quick.qml</file>
</qresource>
</RCC>

View File

@ -0,0 +1,7 @@
include $(call select_from_repositories,src/app/qt5/tmpl/target_defaults.inc)
include $(call select_from_repositories,src/app/qt5/tmpl/target_final.inc)
LIBS += qt5_component
CC_CXX_WARN_STRICT =