fa8e6d5083
Added configure test, whether lgmon (liquid graphics performance monitor) is available. The test is supposed to be positive only for internal BlackBerry NDKs currently. Added calls to initialize lgmon and to indicate when an app is ready for user input. Change-Id: I5cbc29fb38a86585dcebd14d462436deaa1998aa Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
199 lines
7.4 KiB
Prolog
199 lines
7.4 KiB
Prolog
#####################################################################
|
|
# Main projectfile
|
|
#####################################################################
|
|
|
|
load(qt_parts)
|
|
|
|
SUBDIRS += qmake/qmake-docs.pro
|
|
|
|
cross_compile: CONFIG += nostrip
|
|
|
|
confclean.depends += clean
|
|
confclean.commands =
|
|
unix {
|
|
confclean.commands += (cd config.tests/unix/stl && $(MAKE) distclean); \
|
|
(cd config.tests/unix/ptrsize && $(MAKE) distclean); \
|
|
(cd config.tests/x11/notype && $(MAKE) distclean); \
|
|
(cd config.tests/unix/getaddrinfo && $(MAKE) distclean); \
|
|
(cd config.tests/unix/cups && $(MAKE) distclean); \
|
|
(cd config.tests/unix/psql && $(MAKE) distclean); \
|
|
(cd config.tests/unix/mysql && $(MAKE) distclean); \
|
|
(cd config.tests/unix/mysql_r && $(MAKE) distclean); \
|
|
(cd config.tests/unix/nis && $(MAKE) distclean); \
|
|
(cd config.tests/unix/iodbc && $(MAKE) distclean); \
|
|
(cd config.tests/unix/odbc && $(MAKE) distclean); \
|
|
(cd config.tests/unix/oci && $(MAKE) distclean); \
|
|
(cd config.tests/unix/tds && $(MAKE) distclean); \
|
|
(cd config.tests/unix/db2 && $(MAKE) distclean); \
|
|
(cd config.tests/unix/ibase && $(MAKE) distclean); \
|
|
(cd config.tests/unix/ipv6ifname && $(MAKE) distclean); \
|
|
(cd config.tests/unix/zlib && $(MAKE) distclean); \
|
|
(cd config.tests/unix/sqlite2 && $(MAKE) distclean); \
|
|
(cd config.tests/unix/libjpeg && $(MAKE) distclean); \
|
|
(cd config.tests/unix/libpng && $(MAKE) distclean); \
|
|
(cd config.tests/unix/slog2 && $(MAKE) distclean); \
|
|
(cd config.tests/unix/lgmon && $(MAKE) distclean); \
|
|
(cd config.tests/x11/xcursor && $(MAKE) distclean); \
|
|
(cd config.tests/x11/xrender && $(MAKE) distclean); \
|
|
(cd config.tests/x11/xrandr && $(MAKE) distclean); \
|
|
(cd config.tests/x11/xkb && $(MAKE) distclean); \
|
|
(cd config.tests/x11/xinput && $(MAKE) distclean); \
|
|
(cd config.tests/x11/fontconfig && $(MAKE) distclean); \
|
|
(cd config.tests/x11/xinerama && $(MAKE) distclean); \
|
|
(cd config.tests/x11/xshape && $(MAKE) distclean); \
|
|
(cd config.tests/x11/opengl && $(MAKE) distclean); \
|
|
$(DEL_FILE) config.tests/.qmake.cache; \
|
|
$(DEL_FILE) src/corelib/global/qconfig.h; \
|
|
$(DEL_FILE) src/corelib/global/qconfig.cpp; \
|
|
$(DEL_FILE) mkspecs/qconfig.pri; \
|
|
$(DEL_FILE) mkspecs/qdevice.pri; \
|
|
$(DEL_FILE) mkspecs/qmodule.pri; \
|
|
$(DEL_FILE) .qmake.cache; \
|
|
(cd qmake && $(MAKE) distclean);
|
|
}
|
|
win32 {
|
|
confclean.commands += -$(DEL_FILE) src\\corelib\\global\\qconfig.h $$escape_expand(\\n\\t) \
|
|
-$(DEL_FILE) src\\corelib\\global\\qconfig.cpp $$escape_expand(\\n\\t) \
|
|
-$(DEL_FILE) mkspecs\\qconfig.pri $$escape_expand(\\n\\t) \
|
|
-$(DEL_FILE) mkspecs\\qdevice.pri $$escape_expand(\\n\\t) \
|
|
-$(DEL_FILE) mkspecs\\qmodule.pri $$escape_expand(\\n\\t) \
|
|
-$(DEL_FILE) .qmake.cache $$escape_expand(\\n\\t) \
|
|
(cd qmake && $(MAKE) distclean)
|
|
}
|
|
QMAKE_EXTRA_TARGETS += confclean
|
|
qmakeclean.commands += (cd qmake && $(MAKE) clean)
|
|
QMAKE_EXTRA_TARGETS += qmakeclean
|
|
CLEAN_DEPS += qmakeclean
|
|
|
|
CONFIG -= qt
|
|
|
|
### installations ####
|
|
|
|
#qmake
|
|
qmake.path = $$[QT_HOST_BINS]
|
|
equals(QMAKE_HOST.os, Windows) {
|
|
qmake.files = $$OUT_PWD/bin/qmake.exe
|
|
} else {
|
|
qmake.files = $$OUT_PWD/bin/qmake
|
|
}
|
|
INSTALLS += qmake
|
|
|
|
#syncqt
|
|
syncqt.path = $$[QT_HOST_BINS]
|
|
syncqt.files = $$PWD/bin/syncqt.pl
|
|
INSTALLS += syncqt
|
|
|
|
# If we are doing a prefix build, create a "module" pri which enables
|
|
# qtPrepareTool() to find the non-installed syncqt.
|
|
prefix_build|!equals(PWD, $$OUT_PWD) {
|
|
|
|
cmd = perl -w $$shell_path($$PWD/bin/syncqt.pl)
|
|
|
|
TOOL_PRI = $$OUT_PWD/mkspecs/modules/qt_tool_syncqt.pri
|
|
|
|
TOOL_PRI_CONT = "QT_TOOL.syncqt.binary = $$val_escape(cmd)"
|
|
write_file($$TOOL_PRI, TOOL_PRI_CONT)|error("Aborting.")
|
|
|
|
# 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)
|
|
}
|
|
include($$TOOL_PRI)
|
|
cache(QT_TOOL.syncqt.binary, transient)
|
|
|
|
}
|
|
|
|
# Generate qfeatures.h
|
|
features =
|
|
lines = $$cat("src/corelib/global/qfeatures.txt", lines)
|
|
for (line, lines) {
|
|
t = $$replace(line, "^Feature: (\\S+)\\s*$", "\\1")
|
|
!isEqual(t, $$line) {
|
|
feature = $$t
|
|
features += $$t
|
|
} else {
|
|
t = $$replace(line, "^Requires: (.*)$", "\\1")
|
|
!isEqual(t, $$line) {
|
|
features.$${feature}.depends = $$replace(t, \\s+$, )
|
|
} else {
|
|
t = $$replace(line, "^Name: (.*)$", "\\1")
|
|
!isEqual(t, $$line) {
|
|
features.$${feature}.name = $$replace(t, \\s+$, )
|
|
}
|
|
}
|
|
}
|
|
}
|
|
features = $$sort_depends(features, features.)
|
|
features = $$reverse(features)
|
|
FEATURES_H = \
|
|
"/*" \
|
|
" * All feature dependencies." \
|
|
" *" \
|
|
" * This list is generated by qmake from <qtbase>/src/corelib/global/qfeatures.txt" \
|
|
" */"
|
|
FEATURES_PRI =
|
|
for (ft, features) {
|
|
!isEmpty(features.$${ft}.depends) {
|
|
FEATURES_H += \
|
|
"$${LITERAL_HASH}if !defined(QT_NO_$$ft) && ($$join($$list($$split(features.$${ft}.depends)), ") || defined(QT_NO_", "defined(QT_NO_", ")"))" \
|
|
"$${LITERAL_HASH} define QT_NO_$$ft" \
|
|
"$${LITERAL_HASH}endif"
|
|
FEATURES_PRI += \
|
|
"contains(QT_DISABLED_FEATURES, "^($$lower($$join($$list($$replace(features.$${ft}.depends, _, -)), "|")))$"): \\" \
|
|
" QT_DISABLED_FEATURES += $$lower($$replace(ft, _, -))"
|
|
}
|
|
}
|
|
write_file($$OUT_PWD/src/corelib/global/qfeatures.h, FEATURES_H)|error("Aborting.")
|
|
# Create forwarding header
|
|
FWD_FEATURES_H = \
|
|
'$${LITERAL_HASH}include "../../src/corelib/global/qfeatures.h"'
|
|
write_file($$OUT_PWD/include/QtCore/qfeatures.h, FWD_FEATURES_H)|error("Aborting.")
|
|
|
|
no_features =
|
|
lines = $$cat($$absolute_path($$QT_QCONFIG_PATH, $$PWD/src/corelib/global), lines)
|
|
for (line, lines) {
|
|
# We ignore all defines that don't follow the #ifndef + indent pattern.
|
|
# This makes it possible to have unchecked defines which are no features.
|
|
t = $$replace(line, "^$${LITERAL_HASH} define QT_NO_(\\S+)\\s*$", "\\1")
|
|
!isEqual(t, $$line) {
|
|
isEmpty(features.$${t}.name): \
|
|
error("$$QT_QCONFIG_PATH disables unknown feature $$t")
|
|
no_features += $$t
|
|
}
|
|
}
|
|
for (def, QT_NO_DEFINES) {
|
|
!isEmpty(features.$${def}.name): \
|
|
no_features += $$def
|
|
}
|
|
no_features = $$unique(no_features)
|
|
|
|
# Can't simply add these to QT_CONFIG, as e.g., contains(QT_CONFIG, accessibility) matches no-accessibililty.
|
|
FEATURES_PRI = \
|
|
"$${LITERAL_HASH} Features disabled by configure:" \
|
|
"QT_DISABLED_FEATURES =$$lower($$join($$list($$replace(no_features, _, -)), " ", " "))" \
|
|
"$$escape_expand(\\n)$${LITERAL_HASH} Dependencies derived from <qtbase>/src/corelib/global/qfeatures.txt:" \
|
|
$$FEATURES_PRI \
|
|
"QT_DISABLED_FEATURES = \$\$unique(QT_DISABLED_FEATURES)"
|
|
write_file($$OUT_PWD/mkspecs/qfeatures.pri, FEATURES_PRI)|error("Aborting.")
|
|
|
|
#mkspecs
|
|
mkspecs.path = $$[QT_HOST_DATA]/mkspecs
|
|
mkspecs.files = \
|
|
$$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri $$OUT_PWD/mkspecs/qdevice.pri $$OUT_PWD/mkspecs/qfeatures.pri \
|
|
$$files($$PWD/mkspecs/*)
|
|
mkspecs.files -= $$PWD/mkspecs/modules $$PWD/mkspecs/modules-inst
|
|
INSTALLS += mkspecs
|
|
|
|
global_docs.files = $$PWD/doc/global
|
|
global_docs.path = $$[QT_INSTALL_DOCS]
|
|
INSTALLS += global_docs
|
|
|
|
OTHER_FILES += \
|
|
configure \
|
|
header.BSD \
|
|
header.FDL \
|
|
header.LGPL \
|
|
header.LGPL-ONLY \
|
|
sync.profile
|