From 493bfea18600c98431c10f6853310c1c0aa6d869 Mon Sep 17 00:00:00 2001
From: Bernhard Rosenkraenzer
Date: Wed, 7 Apr 2010 16:33:52 +0200
Subject: Allow building Qt without the QtGui module
This adds a -no-gui switch to configure, allowing to build Qt without
QtGui and components depending on QtGui.
This is useful on headless servers, and in using QtCore, QtNetwork,
QtXml, QtSql etc. on platforms QtGui hasn't been ported to yet.
Task-number: QTBUG-4007
Merge-request: 543
Reviewed-by: Thiago Macieira
Reviewed-by: Benjamin Poulain
---
configure | 152 +++++++++++++++++----
demos/demos.pro | 3 +
examples/dbus/dbus.pro | 9 +-
examples/examples.pro | 22 +--
examples/network/network.pro | 21 +--
examples/script/script.pro | 8 +-
examples/statemachine/statemachine.pro | 8 +-
examples/threads/threads.pro | 5 +-
examples/threads/waitconditions/waitconditions.pro | 1 +
examples/xml/xml.pro | 11 +-
src/plugins/plugins.pro | 5 +-
src/src.pro | 9 +-
src/tools/tools.pro | 3 +-
tools/linguist/linguist.pro | 3 +-
tools/qdbus/qdbus.pro | 3 +-
tools/tools.pro | 40 +++---
16 files changed, 219 insertions(+), 84 deletions(-)
diff --git a/configure b/configure
index 0dbf98f..9f63aab 100755
--- a/configure
+++ b/configure
@@ -630,6 +630,7 @@ MIN_DBUS_1_VERSION=0.93
CFG_CONFIGURE_EXIT_ON_ERROR=yes
CFG_PROFILE=no
CFG_EXCEPTIONS=unspecified
+CFG_GUI=auto # (yes|no|auto)
CFG_SCRIPT=auto # (yes|no|auto)
CFG_SCRIPTTOOLS=auto # (yes|no|auto)
CFG_XMLPATTERNS=auto # (yes|no|auto)
@@ -680,10 +681,10 @@ CFG_NOBUILD_PARTS=""
CFG_RELEASE_QMAKE=no
CFG_PHONON=auto
CFG_PHONON_BACKEND=yes
-CFG_MULTIMEDIA=yes
-CFG_MEDIASERVICE=yes
+CFG_MULTIMEDIA=auto
+CFG_MEDIASERVICE=auto
CFG_AUDIO_BACKEND=auto
-CFG_SVG=yes
+CFG_SVG=auto
CFG_DECLARATIVE=auto
CFG_WEBKIT=auto # (yes|no|auto)
CFG_JAVASCRIPTCORE_JIT=auto
@@ -1813,6 +1814,17 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ gui)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
+ CFG_GUI="yes"
+ else
+ if [ "$VAL" = "no" ]; then
+ CFG_GUI="no"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ fi
+ ;;
qdbus|dbus)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "linked" ]; then
CFG_DBUS="$VAL"
@@ -2170,6 +2182,10 @@ if [ "$CFG_QCONFIG" != "full" ] && [ "$CFG_QT3SUPPORT" = "yes" ]; then
echo "Warning: '-qconfig $CFG_QCONFIG' will disable the qt3support library."
CFG_QT3SUPPORT="no"
fi
+if [ "$CFG_GUI" = "no" ]; then
+ echo "Warning: -no-gui will disable the qt3support library."
+ CFG_QT3SUPPORT="no"
+fi
# update QT_CONFIG to show our current predefined configuration
case "$CFG_QCONFIG" in
@@ -3359,7 +3375,7 @@ Usage: $relconf [-h] [-prefix ] [-prefix-install] [-bindir ] [-libdir
[-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make ]
[-nomake ] [-R ] [-l ] [-no-rpath] [-rpath] [-continue]
[-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
- [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]
+ [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
[-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
[-qtnamespace ] [-qtlibinfix ] [-separate-debug-info] [-armfpa]
[-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
@@ -3629,6 +3645,8 @@ Additional options:
* -no-optimized-qmake ... Do not build qmake optimized.
-optimized-qmake ...... Build qmake optimized.
+ -no-gui ............ Don't build the Qt GUI library
+
$NSN -no-nis ............ Do not compile NIS support.
$NSY -nis ............... Compile NIS support.
@@ -5074,6 +5092,15 @@ if [ "$CFG_DBUS" != "no" ]; then
fi
fi
+if [ "$CFG_MULTIMEDIA" = "auto" ]; then
+ CFG_MULTIMEDIA="$CFG_GUI"
+fi
+
+if [ "$CFG_MULTIMEDIA" = "yes" ] && [ "$CFG_GUI" = "no" ]; then
+ echo "QtMultimedia requested, but it can't be built without QtGui"
+ exit 1
+fi
+
# Generate a CRC of the namespace for using in constants for the Carbon port.
# This should mean that you really *can* load two Qt's and have our custom
# Carbon events work.
@@ -5126,28 +5153,56 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
fi
fi
- # Auto-detect GStreamer support (needed for both Phonon & QtMultimedia)
- if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
- if [ -n "$PKG_CONFIG" ]; then
- QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
- QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
+ if [ "$CFG_GUI" = "no" ]; then
+ if [ "$CFG_PHONON" = "auto" ]; then
+ CFG_PHONON=no
fi
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/gstreamer "GStreamer" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GSTREAMER $QT_LIBS_GSTREAMER $X11TESTS_FLAGS; then
- CFG_GSTREAMER=yes
- QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
- QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
- else
- if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
- echo "Gstreamer support cannot be enabled due to functionality tests!"
- echo " Turn on verbose messaging (-v) to $0 to see the final report."
- echo " If you believe this message is in error you may use the continue"
- echo " switch (-continue) to $0 to continue."
- exit 101
+ if [ "$CFG_PHONON" != "no" ]; then
+ echo "Phonon enabled, but GUI disabled."
+ echo " You might need to either enable the GUI or disable Phonon"
+ exit 1
+ fi
+ fi
+
+ if [ "$CFG_GUI" = "no" ]; then
+ if [ "$CFG_MEDIASERVICE" = "auto" ]; then
+ CFG_MEDIASERVICE=no
+ fi
+ if [ "$CFG_MEDIASERVICE" != "no" ]; then
+ echo "Mediaservice enabled, but GUI disabled."
+ echo " You might need to either enable the GUI or disable Mediaservice"
+ exit 1
+ fi
+ elif [ "$CFG_MEDIASERVICE" = "auto" ]; then
+ CFG_MEDIASERVICE=yes
+ fi
+
+ # Auto-detect GStreamer support (needed for both Phonon & QtMultimedia)
+ if [ "$CFG_PHONON" = "yes" -o "$CFG_MULTIMEDIA" = "yes" ]; then
+ if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
+ if [ -n "$PKG_CONFIG" ]; then
+ QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
+ QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
+ fi
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/gstreamer "GStreamer" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GSTREAMER $QT_LIBS_GSTREAMER $X11TESTS_FLAGS; then
+ CFG_GSTREAMER=yes
+ QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
+ QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
else
- CFG_GSTREAMER=no
+ if [ "$CFG_GSTREAMER" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
+ echo "Gstreamer support cannot be enabled due to functionality tests!"
+ echo " Turn on verbose messaging (-v) to $0 to see the final report."
+ echo " If you believe this message is in error you may use the continue"
+ echo " switch (-continue) to $0 to continue."
+ exit 101
+ else
+ CFG_GSTREAMER=no
+ fi
fi
+ elif [ "$CFG_GLIB" = "no" ]; then
+ CFG_GSTREAMER=no
fi
- elif [ "$CFG_GLIB" = "no" ]; then
+ else
CFG_GSTREAMER=no
fi
@@ -5251,6 +5306,16 @@ if [ "$PLATFORM_X11" = "yes" ]; then
fi
# auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
+ if [ "$CFG_GUI" = "no" ]; then
+ if [ "$CFG_OPENGL" = "auto" ]; then
+ CFG_OPENGL=no
+ fi
+ if [ "$CFG_OPENGL" != "no" ]; then
+ echo "OpenGL enabled, but GUI disabled."
+ echo " You might need to either enable the GUI or disable OpenGL"
+ exit 1
+ fi
+ fi
if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/opengl "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
CFG_OPENGL=desktop
@@ -5616,6 +5681,16 @@ fi
if [ "$PLATFORM_QWS" = "yes" ]; then
# auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
+ if [ "$CFG_GUI" = "no" ]; then
+ if [ "$CFG_OPENGL" = "auto" ]; then
+ CFG_OPENGL=no
+ fi
+ if [ "$CFG_OPENGL" != "no" ]; then
+ echo "OpenGL enabled, but GUI disabled."
+ echo " You might need to either enable the GUI or disable OpenGL"
+ exit 1
+ fi
+ fi
if [ "$CFG_OPENGL" = "yes" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
CFG_OPENGL=es2
@@ -6418,6 +6493,15 @@ elif [ "$CFG_LIBFREETYPE" = "system" ]; then
else
QT_CONFIG="$QT_CONFIG freetype"
fi
+if [ "$CFG_GUI" = "auto" ]; then
+ CFG_GUI="yes"
+fi
+if [ "$CFG_GUI" = "no" ]; then
+ QT_CONFIG="$QT_CONFIG no-gui"
+else
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GUI"
+fi
+
if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM" != "win32-g++" ]; then
#On Mac we implicitly link against libz, so we
@@ -6694,6 +6778,12 @@ EOF
;;
esac
+if [ "$CFG_GUI" = "no" ]; then
+ # WebKit requires QtGui
+ canBuildWebKit="no"
+fi
+
+
CFG_CONCURRENT="yes"
if [ "$canBuildQtConcurrent" = "no" ]; then
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
@@ -6728,6 +6818,15 @@ if [ "$CFG_AUDIO_BACKEND" = "yes" ]; then
QT_CONFIG="$QT_CONFIG audio-backend"
fi
+if [ "$CFG_SVG" = "auto" ]; then
+ CFG_SVG=$CFG_GUI
+fi
+
+if [ "$CFG_SVG" = "yes" ] && [ "$CFG_GUI" = "no" ]; then
+ echo "QtSvg requested, but it can't be built without QtGui"
+ exit 1
+fi
+
if [ "$CFG_SVG" = "yes" ]; then
QT_CONFIG="$QT_CONFIG svg"
else
@@ -6775,13 +6874,13 @@ fi
if [ "$CFG_DECLARATIVE" = "yes" ]; then
- if [ "$CFG_SCRIPT" = "no" ]; then
- echo "Error: QtDeclarative was requested, but it can't be built due to QtScript being disabled."
+ if [ "$CFG_SCRIPT" = "no" -o "$CFG_GUI" = "no" ]; then
+ echo "Error: QtDeclarative was requested, but it can't be built due to QtScript or QtGui being disabled."
exit 1
fi
fi
if [ "$CFG_DECLARATIVE" = "auto" ]; then
- if [ "$CFG_SCRIPT" = "no" ]; then
+ if [ "$CFG_SCRIPT" = "no" -o "$CFG_GUI" = "no" ]; then
CFG_DECLARATIVE=no
else
CFG_DECLARATIVE=yes
@@ -6899,7 +6998,7 @@ esac
# minimal-config small-config medium-config large-config full-config
#
# Different edition modules:
-# network canvas table xml opengl sql
+# gui network canvas table xml opengl sql
#
# Things that do not affect the Qt API/ABI:
# stl
@@ -7666,6 +7765,7 @@ echo "Qt 3 compatibility ..... $CFG_QT3SUPPORT"
[ "$CFG_DBUS" = "yes" ] && echo "QtDBus module .......... yes (run-time)"
[ "$CFG_DBUS" = "linked" ] && echo "QtDBus module .......... yes (linked)"
echo "QtConcurrent code ...... $CFG_CONCURRENT"
+echo "QtGui module ........... $CFG_GUI"
echo "QtScript module ........ $CFG_SCRIPT"
echo "QtScriptTools module ... $CFG_SCRIPTTOOLS"
echo "QtXmlPatterns module ... $CFG_XMLPATTERNS"
diff --git a/demos/demos.pro b/demos/demos.pro
index 013d40f..5e8a4ea 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -1,4 +1,6 @@
TEMPLATE = subdirs
+
+!contains(QT_CONFIG, no-gui) {
SUBDIRS = \
demos_shared \
demos_deform \
@@ -104,3 +106,4 @@ demos_sub-attaq.subdir = sub-attaq
demos_arthurplugin.depends = demos_shared
demos_pathstroke.depends = demos_shared
}
+}
diff --git a/examples/dbus/dbus.pro b/examples/dbus/dbus.pro
index f365829..e599334 100644
--- a/examples/dbus/dbus.pro
+++ b/examples/dbus/dbus.pro
@@ -1,9 +1,12 @@
TEMPLATE = subdirs
SUBDIRS = listnames \
pingpong \
- complexpingpong \
- dbus-chat \
- remotecontrolledcar
+ complexpingpong
+
+!contains(QT_CONFIG, no-gui) {
+ SUBDIRS += dbus-chat \
+ remotecontrolledcar
+}
# install
target.path = $$[QT_INSTALL_EXAMPLES]/dbus
diff --git a/examples/examples.pro b/examples/examples.pro
index b046167..43cad55 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -1,5 +1,12 @@
TEMPLATE = subdirs
SUBDIRS = \
+ network \
+ statemachine \
+ threads \
+ xml
+
+!contains(QT_CONFIG, no-gui) {
+ SUBDIRS += \
animation \
desktop \
dialogs \
@@ -11,20 +18,17 @@ SUBDIRS = \
layouts \
linguist \
mainwindows \
- network \
painting \
qtconcurrent \
richtext \
sql \
- statemachine \
- threads \
tools \
tutorials \
widgets \
uitools \
- xml \
multitouch \
gestures
+}
symbian: SUBDIRS = \
graphicsview \
@@ -40,7 +44,7 @@ symbian: SUBDIRS = \
gestures \
xml
-contains(QT_CONFIG, multimedia) {
+!contains(QT_CONFIG, no-gui):contains(QT_CONFIG, multimedia) {
SUBDIRS += multimedia
}
@@ -49,17 +53,17 @@ contains(QT_CONFIG, script): SUBDIRS += script
contains(QT_CONFIG, phonon):!static: SUBDIRS += phonon
embedded:SUBDIRS += qws
!wince*:!symbian: {
- !contains(QT_EDITION, Console):contains(QT_BUILD_PARTS, tools):SUBDIRS += designer
- contains(QT_BUILD_PARTS, tools):SUBDIRS += qtestlib help
+ !contains(QT_EDITION, Console):!contains(QT_CONFIG, no-gui):contains(QT_BUILD_PARTS, tools):SUBDIRS += designer
+ contains(QT_BUILD_PARTS, tools):!contains(QT_CONFIG, no-gui):SUBDIRS += qtestlib help
} else {
- contains(QT_BUILD_PARTS, tools):SUBDIRS += qtestlib
+ contains(QT_BUILD_PARTS, tools):!contains(QT_CONFIG, no-gui):SUBDIRS += qtestlib
}
contains(QT_CONFIG, opengl): SUBDIRS += opengl
contains(QT_CONFIG, openvg): SUBDIRS += openvg
contains(QT_CONFIG, dbus): SUBDIRS += dbus
contains(QT_CONFIG, declarative): SUBDIRS += declarative
win32: SUBDIRS += activeqt
-contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns
+contains(QT_CONFIG, xmlpatterns):!contains(QT_CONFIG, no-gui): SUBDIRS += xmlpatterns
contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
# install
diff --git a/examples/network/network.pro b/examples/network/network.pro
index bd632b8..16c4087 100644
--- a/examples/network/network.pro
+++ b/examples/network/network.pro
@@ -1,9 +1,13 @@
TEMPLATE = subdirs
-SUBDIRS = blockingfortuneclient \
+SUBDIRS = \
+ download \
+ downloadmanager
+
+!contains(QT_CONFIG, no-gui) {
+ SUBDIRS += \
+ blockingfortuneclient \
broadcastreceiver \
broadcastsender \
- download \
- downloadmanager \
fortuneclient \
fortuneserver \
qftp \
@@ -15,13 +19,14 @@ SUBDIRS = blockingfortuneclient \
bearercloud \
bearermonitor
-# no QProcess
-!vxworks:!qnx:SUBDIRS += network-chat
+ # no QProcess
+ !vxworks:!qnx:SUBDIRS += network-chat
-symbian: SUBDIRS = qftp
+ contains(QT_CONFIG, openssl):SUBDIRS += securesocketclient
+ contains(QT_CONFIG, openssl-linked):SUBDIRS += securesocketclient
+}
-contains(QT_CONFIG, openssl):SUBDIRS += securesocketclient
-contains(QT_CONFIG, openssl-linked):SUBDIRS += securesocketclient
+symbian: SUBDIRS = qftp
# install
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS network.pro README
diff --git a/examples/script/script.pro b/examples/script/script.pro
index 5f3d04a..9d9d524 100644
--- a/examples/script/script.pro
+++ b/examples/script/script.pro
@@ -1,8 +1,10 @@
TEMPLATE = subdirs
-SUBDIRS = helloscript context2d defaultprototypes customclass
+SUBDIRS = customclass
+!contains(QT_CONFIG, no-gui):SUBDIRS += helloscript context2d defaultprototypes
-!wince*:SUBDIRS += qscript marshal
-!wince*:!cross_compile:SUBDIRS += calculator qstetrix
+!wince*:!contains(QT_CONFIG, no-gui):SUBDIRS += qscript marshal
+!wince*:SUBDIRS += marshal
+!wince*:!cross_compile:!contains(QT_CONFIG, no-gui):SUBDIRS += calculator qstetrix
symbian: SUBDIRS = context2d
diff --git a/examples/statemachine/statemachine.pro b/examples/statemachine/statemachine.pro
index 298c0ae..17ef6b4 100644
--- a/examples/statemachine/statemachine.pro
+++ b/examples/statemachine/statemachine.pro
@@ -1,11 +1,15 @@
TEMPLATE = subdirs
SUBDIRS = \
- eventtransitions \
factorial \
- pingpong \
+ pingpong
+
+!contains(QT_CONFIG, no-gui) {
+ SUBDIRS += \
+ eventtransitions \
rogue \
trafficlight \
twowaybutton
+}
# install
target.path = $$[QT_INSTALL_EXAMPLES]/statemachine
diff --git a/examples/threads/threads.pro b/examples/threads/threads.pro
index 93d8cc8..feb72f0 100644
--- a/examples/threads/threads.pro
+++ b/examples/threads/threads.pro
@@ -1,8 +1,9 @@
TEMPLATE = subdirs
-SUBDIRS = mandelbrot \
- semaphores \
+SUBDIRS = semaphores \
waitconditions
+!contains(QT_CONFIG, no-gui):SUBDIRS += mandelbrot
+
# install
target.path = $$[QT_INSTALL_EXAMPLES]/threads
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS threads.pro README
diff --git a/examples/threads/waitconditions/waitconditions.pro b/examples/threads/waitconditions/waitconditions.pro
index c2be6cd..4f5d1d4 100644
--- a/examples/threads/waitconditions/waitconditions.pro
+++ b/examples/threads/waitconditions/waitconditions.pro
@@ -4,6 +4,7 @@
TEMPLATE = app
CONFIG -= moc app_bundle
+QT -= gui
DEPENDPATH += .
INCLUDEPATH += .
diff --git a/examples/xml/xml.pro b/examples/xml/xml.pro
index 0bc6dd9..6d232e5 100644
--- a/examples/xml/xml.pro
+++ b/examples/xml/xml.pro
@@ -1,10 +1,13 @@
TEMPLATE = subdirs
-SUBDIRS = dombookmarks \
- htmlinfo \
+SUBDIRS = htmlinfo \
+ xmlstreamlint
+
+!contains(QT_CONFIG, no-gui) {
+ SUBDIRS += dombookmarks \
rsslisting \
saxbookmarks \
- streambookmarks \
- xmlstreamlint
+ streambookmarks
+}
symbian: SUBDIRS = htmlinfo saxbookmarks
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index 42fbf9e..507654f 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -1,15 +1,16 @@
TEMPLATE = subdirs
-SUBDIRS *= imageformats sqldrivers iconengines script bearer
+SUBDIRS *= sqldrivers script bearer
unix:!symbian {
contains(QT_CONFIG,iconv)|contains(QT_CONFIG,gnu-libiconv):SUBDIRS *= codecs
} else {
SUBDIRS *= codecs
}
+!contains(QT_CONFIG, no-gui): SUBDIRS *= imageformats iconengines
!embedded:SUBDIRS *= graphicssystems
embedded:SUBDIRS *= gfxdrivers decorations mousedrivers kbddrivers
!win32:!embedded:!mac:!symbian:SUBDIRS *= inputmethods
-!symbian:SUBDIRS += accessible
+!symbian:!contains(QT_CONFIG, no-gui):SUBDIRS += accessible
symbian:SUBDIRS += s60
contains(QT_CONFIG, phonon): SUBDIRS *= phonon
contains(QT_CONFIG, multimedia): SUBDIRS *= audio mediaservices
diff --git a/src/src.pro b/src/src.pro
index 6ccd955..ea65e25 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -4,20 +4,21 @@ TEMPLATE = subdirs
unset(SRC_SUBDIRS)
win32:SRC_SUBDIRS += src_winmain
wince*:{
- SRC_SUBDIRS += src_corelib src_xml src_gui src_sql src_network src_testlib
+ SRC_SUBDIRS += src_corelib src_xml src_sql src_network src_testlib
} else:symbian {
- SRC_SUBDIRS += src_s60main src_corelib src_xml src_gui src_network src_sql src_testlib
+ SRC_SUBDIRS += src_s60main src_corelib src_xml src_network src_sql src_testlib
!symbian-abld:!symbian-sbsv2 {
include(tools/tools.pro)
}
} else {
- SRC_SUBDIRS += src_corelib src_xml src_network src_gui src_sql src_testlib
+ SRC_SUBDIRS += src_corelib src_xml src_network src_sql src_testlib
!vxworks:contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
include(tools/tools.pro)
}
win32:SRC_SUBDIRS += src_activeqt
!symbian:contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus
+!contains(QT_CONFIG, no-gui): SRC_SUBDIRS += src_gui
contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2): SRC_SUBDIRS += src_opengl
contains(QT_CONFIG, openvg): SRC_SUBDIRS += src_openvg
contains(QT_CONFIG, xmlpatterns): SRC_SUBDIRS += src_xmlpatterns
@@ -28,7 +29,7 @@ contains(QT_CONFIG, webkit) {
SRC_SUBDIRS += src_webkit
}
contains(QT_CONFIG, script): SRC_SUBDIRS += src_script
-contains(QT_CONFIG, scripttools): SRC_SUBDIRS += src_scripttools
+!contains(QT_CONFIG, no-gui):contains(QT_CONFIG, scripttools): SRC_SUBDIRS += src_scripttools
contains(QT_CONFIG, declarative): SRC_SUBDIRS += src_declarative
contains(QT_CONFIG, multimedia): SRC_SUBDIRS += src_multimedia
SRC_SUBDIRS += src_plugins
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
index cd7cd9b..1ecb944 100644
--- a/src/tools/tools.pro
+++ b/src/tools/tools.pro
@@ -1,6 +1,7 @@
TEMPLATE = subdirs
-TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_uic
+TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc
+!contains(QT_CONFIG, no-gui): TOOLS_SUBDIRS += src_tools_uic
!cross_compile {
contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_tools_uic3
win32:!wince*: SRC_SUBDIRS += src_tools_idc
diff --git a/tools/linguist/linguist.pro b/tools/linguist/linguist.pro
index 85ecd5a..c4b7c29 100644
--- a/tools/linguist/linguist.pro
+++ b/tools/linguist/linguist.pro
@@ -1,6 +1,7 @@
TEMPLATE = subdirs
SUBDIRS = \
- linguist \
lrelease \
lupdate \
lconvert
+!no-png:!contains(QT_CONFIG, no-gui):SUBDIRS += linguist
+CONFIG += ordered
diff --git a/tools/qdbus/qdbus.pro b/tools/qdbus/qdbus.pro
index 01cd246..a264882 100644
--- a/tools/qdbus/qdbus.pro
+++ b/tools/qdbus/qdbus.pro
@@ -1,2 +1,3 @@
TEMPLATE = subdirs
-SUBDIRS = qdbus qdbusxml2cpp qdbuscpp2xml qdbusviewer
+SUBDIRS = qdbus qdbusxml2cpp qdbuscpp2xml
+!contains(QT_CONFIG, no-gui): SUBDIRS += qdbusviewer
diff --git a/tools/tools.pro b/tools/tools.pro
index 3ed07b1..cfa202e 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
@@ -1,25 +1,29 @@
TEMPLATE = subdirs
-no-png {
- message("Some graphics-related tools are unavailable without PNG support")
-} else {
- SUBDIRS += assistant \
- pixeltool \
- porting \
- qtestlib \
- qttracereplay
- contains(QT_EDITION, Console) {
- SUBDIRS += designer/src/uitools # Linguist depends on this
- } else {
- SUBDIRS += designer
- }
- SUBDIRS += linguist
- symbian: SUBDIRS = designer
- wince*: SUBDIRS = qtestlib designer
- unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig
- win32:!wince*:SUBDIRS += activeqt
+!contains(QT_CONFIG, no-gui) {
+ no-png {
+ message("Some graphics-related tools are unavailable without PNG support")
+ } else {
+ SUBDIRS += assistant \
+ pixeltool \
+ porting \
+ qtestlib \
+ qttracereplay
+ contains(QT_EDITION, Console) {
+ SUBDIRS += designer/src/uitools # Linguist depends on this
+ } else {
+ SUBDIRS += designer
+ }
+ symbian: SUBDIRS = designer
+ wince*: SUBDIRS = qtestlib designer
+ unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig
+ win32:!wince*:SUBDIRS += activeqt
+ }
+ contains(QT_CONFIG, declarative):SUBDIRS += qmlviewer qmldebugger
}
+SUBDIRS += linguist
+
mac {
SUBDIRS += macdeployqt
}
--
cgit v0.12