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