Skip to content

Instantly share code, notes, and snippets.

Created October 5, 2012 14:39
Show Gist options
  • Save anonymous/3840162 to your computer and use it in GitHub Desktop.
Save anonymous/3840162 to your computer and use it in GitHub Desktop.

Revisions

  1. @invalid-email-address Anonymous created this gist Oct 5, 2012.
    600 changes: 600 additions & 0 deletions gistfile1
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,600 @@
    commit 64d854bf44b4878ebd6f5f35921ddc2177ea42a8
    Author: Tor Arne Vestbø <[email protected]>
    Date: Fri Oct 5 16:34:02 2012 +0200

    WIP: modularize documentation

    diff --git a/configure b/configure
    index 58d7a86..9dea8c4 100755
    --- a/configure
    +++ b/configure
    @@ -2245,9 +2245,9 @@ if [ "$OPT_SHADOW" = "yes" ]; then
    mv "$outpath/mkspecs-modules-inst" "$outpath/mkspecs/modules-inst"
    fi

    - # symlink the doc directory
    - rm -rf "$outpath/doc"
    - ln -s "$relpath/doc" "$outpath/doc"
    + # Prepare doc directory
    + mkdir -p "$outpath/doc"
    + ln -s "$relpath"/doc/global "$outpath/doc"
    fi

    # symlink fonts to be able to run application from build directory
    diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
    index b717a8d..0cdeb98 100644
    --- a/mkspecs/features/default_post.prf
    +++ b/mkspecs/features/default_post.prf
    @@ -93,6 +93,7 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
    qtPrepareTool(QDOC, qdoc)
    for(index, QMAKE_DOCS_INDEX):QDOC_INDEX += -indexdir $$index
    !isEmpty(QMAKE_DOCS_INSTALLDIR):QMAKE_DOCS_OPTIONS += -installdir $$QMAKE_DOCS_INSTALLDIR
    + !isEmpty(QMAKE_DOCS_OUTPUTDIR):QMAKE_DOCS_OPTIONS += -outputdir $$QMAKE_DOCS_OUTPUTDIR
    docs.commands += $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS
    }
    }
    diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
    index c4eda19..71899d4 100644
    --- a/mkspecs/features/qt_module.prf
    +++ b/mkspecs/features/qt_module.prf
    @@ -89,6 +89,7 @@ MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_$${MODULE}.pri
    "QT.$${MODULE}.libs = \$\$QT_MODULE_LIB_BASE" \
    "QT.$${MODULE}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \
    "QT.$${MODULE}.imports = \$\$QT_MODULE_IMPORT_BASE$$MODULE_IMPORT_SUFFIX" \
    + "QT.$${MODULE}.docs = \$\$QT_MODULE_DOC_BASE" \
    "QT.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
    $$module_privdep \
    $$module_build_type \
    @@ -120,6 +121,8 @@ CONFIG += qt warn_on depend_includepath
    CONFIG += qmake_cache target_qt
    CONFIG -= fix_output_dirs

    +QMAKE_DOCS_OUTPUTDIR = $$eval(QT.$${MODULE}.docs)/qt$${MODULE}
    +
    # If Qt was configured with -debug-and-release then build the module the same way
    if(win32|mac):!macx-xcode {
    contains(QT_CONFIG, debug_and_release):CONFIG += debug_and_release
    diff --git a/mkspecs/features/qt_module_fwdpri.prf b/mkspecs/features/qt_module_fwdpri.prf
    index 5dc63eb..cfb9a77 100644
    --- a/mkspecs/features/qt_module_fwdpri.prf
    +++ b/mkspecs/features/qt_module_fwdpri.prf
    @@ -68,6 +68,7 @@
    "QT_MODULE_IMPORT_BASE = $$mod_component_base/imports" \
    "QT_MODULE_LIB_BASE = $$mod_component_base/lib" \
    "QT_MODULE_PLUGIN_BASE = $$mod_component_base/plugins" \
    + "QT_MODULE_DOC_BASE = $$mod_component_base/doc" \
    $$module_rpathlink \
    $$module_rpathlink_priv \
    "QT.$${MODULE}.rpath = $$MODULE_INSTALL_LIBS" \
    diff --git a/src/concurrent/concurrent.pro b/src/concurrent/concurrent.pro
    index f30f75e..068b68b 100644
    --- a/src/concurrent/concurrent.pro
    +++ b/src/concurrent/concurrent.pro
    @@ -38,7 +38,6 @@ HEADERS += \
    HEADERS += \

    QMAKE_DOCS = $$PWD/doc/qtconcurrent.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    contains(QT_CONFIG, clock-gettime) {
    linux-*|hpux-*|solaris-*:LIBS *= -lrt
    diff --git a/src/concurrent/doc/qtconcurrent.qdocconf b/src/concurrent/doc/qtconcurrent.qdocconf
    index 3c45df4..47a3e2f 100644
    --- a/src/concurrent/doc/qtconcurrent.qdocconf
    +++ b/src/concurrent/doc/qtconcurrent.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtConcurrent
    description = Qt Concurrent Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtConcurrent.subprojects.examples.title = Qt Concurrent Examples
    qhp.QtConcurrent.subprojects.examples.indexTitle = Qt Concurrent Examples
    qhp.QtConcurrent.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtconcurrent
    tagfile = ../../../doc/qtconcurrent/qtconcurrent.tags

    depends += qtcore
    diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro
    index d65ed4a..488cddf 100644
    --- a/src/corelib/corelib.pro
    +++ b/src/corelib/corelib.pro
    @@ -17,7 +17,6 @@ win32-g++*:QMAKE_CXXFLAGS_CXX11 = -std=gnu++0x
    load(qt_module)

    QMAKE_DOCS = $$PWD/doc/qtcore.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    include(animation/animation.pri)
    include(arch/arch.pri)
    diff --git a/src/corelib/doc/qtcore.qdocconf b/src/corelib/doc/qtcore.qdocconf
    index 36db213..a2cb2f2 100644
    --- a/src/corelib/doc/qtcore.qdocconf
    +++ b/src/corelib/doc/qtcore.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtCore
    description = Qt Core Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtCore.subprojects.examples.title = Qt Core Examples
    qhp.QtCore.subprojects.examples.indexTitle = Qt Core Examples
    qhp.QtCore.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtcore
    tagfile = ../../../doc/qtcore/qtcore.tags

    depends += qtwidgets
    diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro
    index 6c6e9fc..bb42be5 100644
    --- a/src/dbus/dbus.pro
    +++ b/src/dbus/dbus.pro
    @@ -29,7 +29,6 @@ win32 {
    load(qt_module)

    QMAKE_DOCS = $$PWD/doc/qtdbus.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    PUB_HEADERS = qdbusargument.h \
    qdbusconnectioninterface.h \
    diff --git a/src/dbus/doc/qtdbus.qdocconf b/src/dbus/doc/qtdbus.qdocconf
    index 7e869df..f60b8e6 100644
    --- a/src/dbus/doc/qtdbus.qdocconf
    +++ b/src/dbus/doc/qtdbus.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtDBus
    description = Qt DBus Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtDBus.subprojects.examples.title = Qt DBus Examples
    qhp.QtDBus.subprojects.examples.indexTitle = Qt DBus Examples
    qhp.QtDBus.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtdbus
    tagfile = ../../../doc/qtdbus/qtdbus.tags

    depends += qtcore
    diff --git a/src/gui/doc/qtgui.qdocconf b/src/gui/doc/qtgui.qdocconf
    index 73104e2..958f592 100644
    --- a/src/gui/doc/qtgui.qdocconf
    +++ b/src/gui/doc/qtgui.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtGui
    description = Qt GUI Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtGui.subprojects.examples.title = Qt GUI Examples
    qhp.QtGui.subprojects.examples.indexTitle = Qt GUI Examples
    qhp.QtGui.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtgui
    tagfile = ../../../doc/qtgui/qtgui.tags

    depends += qtcore
    diff --git a/src/gui/gui.pro b/src/gui/gui.pro
    index cab44f8..04de165 100644
    --- a/src/gui/gui.pro
    +++ b/src/gui/gui.pro
    @@ -19,7 +19,6 @@ testcocoon {
    CONFIG += simd

    QMAKE_DOCS = $$PWD/doc/qtgui.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    include(accessible/accessible.pri)
    include(kernel/kernel.pri)
    diff --git a/src/network/doc/qtnetwork.qdocconf b/src/network/doc/qtnetwork.qdocconf
    index cd09a8a..24298c1 100644
    --- a/src/network/doc/qtnetwork.qdocconf
    +++ b/src/network/doc/qtnetwork.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtNetwork
    description = Qt Network Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtNetwork.subprojects.examples.title = Qt Network Examples
    qhp.QtNetwork.subprojects.examples.indexTitle = Qt Network Examples
    qhp.QtNetwork.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtnetwork
    tagfile = ../../../doc/qtnetwork/qtnetwork.tags

    depends += qtcore
    diff --git a/src/network/network.pro b/src/network/network.pro
    index 60fb56b..dc1c6a1 100644
    --- a/src/network/network.pro
    +++ b/src/network/network.pro
    @@ -16,7 +16,6 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x64000000
    load(qt_module)

    QMAKE_DOCS = $$PWD/doc/qtnetwork.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    include(access/access.pri)
    include(bearer/bearer.pri)
    diff --git a/src/opengl/doc/qtopengl.qdocconf b/src/opengl/doc/qtopengl.qdocconf
    index 9ec43d7..eef1f0f 100644
    --- a/src/opengl/doc/qtopengl.qdocconf
    +++ b/src/opengl/doc/qtopengl.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtOpenGL
    description = Qt OpenGL Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtOpenGL.subprojects.examples.title = Qt OpenGL Examples
    qhp.QtOpenGL.subprojects.examples.indexTitle = Qt OpenGL Examples
    qhp.QtOpenGL.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtopengl
    tagfile = ../../../doc/qtopengl/qtopengl.tags

    depends += qtcore qtgui qtwidgets
    diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
    index 2adb2e0..6f3d90a 100644
    --- a/src/opengl/opengl.pro
    +++ b/src/opengl/opengl.pro
    @@ -16,7 +16,6 @@ contains(QT_CONFIG, opengles2):CONFIG += opengles2
    contains(QT_CONFIG, egl):CONFIG += egl

    QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    HEADERS += qgl.h \
    qgl_p.h \
    diff --git a/src/plugins/platforms/windows/qwindows.qdocconf b/src/plugins/platforms/windows/qwindows.qdocconf
    index c5a1ee9..1684773 100644
    --- a/src/plugins/platforms/windows/qwindows.qdocconf
    +++ b/src/plugins/platforms/windows/qwindows.qdocconf
    @@ -12,8 +12,6 @@ showinternal = true
    headers.fileextensions = "*.h"
    sources.fileextensions = "*.cpp *.qdoc"

    -outputdir = doc
    -
    qhp.projects = QtLighthouseWindows
    qhp.QtLighthouseWindowsDev.file = qtlighthousewindows-dev.qhp
    qhp.QtLighthouseWindowsDev.namespace = com.nokia.qt.developer.lighthouse
    diff --git a/src/printsupport/doc/qtprintsupport.qdocconf b/src/printsupport/doc/qtprintsupport.qdocconf
    index bb5536c..45d8225 100644
    --- a/src/printsupport/doc/qtprintsupport.qdocconf
    +++ b/src/printsupport/doc/qtprintsupport.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtPrintSupport
    description = Qt Print Support Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtPrintSupport.subprojects.examples.title = Qt Print Support Examples
    qhp.QtPrintSupport.subprojects.examples.indexTitle = Qt Print Support Examples
    qhp.QtPrintSupport.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtprintsupport
    tagfile = ../../../doc/qtprintsupport/qtprintsupport.tags

    depends += qtcore qtgui qtwidgets
    diff --git a/src/printsupport/printsupport.pro b/src/printsupport/printsupport.pro
    index bbcbb02..3429dab 100644
    --- a/src/printsupport/printsupport.pro
    +++ b/src/printsupport/printsupport.pro
    @@ -8,7 +8,6 @@ DEFINES += QT_NO_USING_NAMESPACE
    load(qt_module)

    QMAKE_DOCS = $$PWD/doc/qtprintsupport.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    QMAKE_LIBS += $$QMAKE_LIBS_PRINTSUPPORT

    diff --git a/src/sql/doc/qtsql.qdocconf b/src/sql/doc/qtsql.qdocconf
    index dabe21a..185f506 100644
    --- a/src/sql/doc/qtsql.qdocconf
    +++ b/src/sql/doc/qtsql.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtSql
    description = Qt SQL Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtSql.subprojects.examples.title = Qt SQL Examples
    qhp.QtSql.subprojects.examples.indexTitle = Qt SQL Examples
    qhp.QtSql.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtsql
    tagfile = ../../../doc/qtsql/qtsql.tags

    depends += qtcore
    diff --git a/src/sql/sql.pro b/src/sql/sql.pro
    index abb5767..8516450 100644
    --- a/src/sql/sql.pro
    +++ b/src/sql/sql.pro
    @@ -13,7 +13,6 @@ PRECOMPILED_HEADER = ../corelib/global/qt_pch.h
    SQL_P = sql

    QMAKE_DOCS = $$PWD/doc/qtsql.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    include(kernel/kernel.pri)
    include(drivers/drivers.pri)
    diff --git a/src/testlib/doc/qttest.qdocconf b/src/testlib/doc/qttest.qdocconf
    index e965c96..fd9d6a8 100644
    --- a/src/testlib/doc/qttest.qdocconf
    +++ b/src/testlib/doc/qttest.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtTest
    description = Qt Test Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtTest.subprojects.examples.title = Qt Test Examples
    qhp.QtTest.subprojects.examples.indexTitle = Qt Test Examples
    qhp.QtTest.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qttest
    tagfile = ../../../doc/qttest/qttest.tags

    depends += qtcore
    diff --git a/src/testlib/testlib.pro b/src/testlib/testlib.pro
    index 4dc4c25..c14f6e0 100644
    --- a/src/testlib/testlib.pro
    +++ b/src/testlib/testlib.pro
    @@ -12,7 +12,6 @@ unix:!embedded:QMAKE_PKGCONFIG_DESCRIPTION = Qt \
    Library

    QMAKE_DOCS = $$PWD/doc/qttest.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    HEADERS = qbenchmark.h \
    qbenchmark_p.h \
    diff --git a/src/tools/qdoc/doc/config/qdoc-project.qdocconf b/src/tools/qdoc/doc/config/qdoc-project.qdocconf
    index d48e132..10cdfa4 100644
    --- a/src/tools/qdoc/doc/config/qdoc-project.qdocconf
    +++ b/src/tools/qdoc/doc/config/qdoc-project.qdocconf
    @@ -26,7 +26,6 @@ exampledirs = .. \
    imagedirs = ../../../doc/src/templates/images \
    images

    -outputdir = ../html
    tagfile = ../html/qdoc.tags

    qhp.projects = QDoc
    diff --git a/src/tools/qdoc/doc/files/qt.qdocconf b/src/tools/qdoc/doc/files/qt.qdocconf
    deleted file mode 100644
    index 377f0f1..0000000
    --- a/src/tools/qdoc/doc/files/qt.qdocconf
    +++ /dev/null
    @@ -1,115 +0,0 @@
    -include(compat.qdocconf)
    -include(macros.qdocconf)
    -include(qt-cpp-ignore.qdocconf)
    -include(qt-html-templates.qdocconf)
    -include(qt-defines.qdocconf)
    -
    -project = Qt
    -versionsym =
    -version = %VERSION%
    -description = Qt Reference Documentation
    -url = http://qt.nokia.com/doc/4.7
    -
    -edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \
    - QtXmlPatterns QtTest
    -edition.Desktop.modules = QtCore QtDBus QtGui QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg \
    - QtWebKit QtXml QtXmlPatterns Qt3Support QtHelp \
    - QtDesigner QtAssistant QAxContainer Phonon \
    - QAxServer QtUiTools QtTest QtDBus
    -edition.DesktopLight.modules = QtCore QtDBus QtGui Qt3SupportLight QtTest
    -edition.DesktopLight.groups = -graphicsview-api
    -
    -qhp.projects = Qt
    -
    -qhp.Qt.file = qt.qhp
    -qhp.Qt.namespace = com.trolltech.qt.474
    -qhp.Qt.virtualFolder = qdoc
    -qhp.Qt.indexTitle = Qt Reference Documentation
    -qhp.Qt.indexRoot =
    -
    -# Files not referenced in any qdoc file (last four are needed by qtdemo)
    -# See also extraimages.HTML
    -qhp.Qt.extraFiles = classic.css \
    - images/qt-logo.png \
    - images/taskmenuextension-example.png \
    - images/coloreditorfactoryimage.png \
    - images/dynamiclayouts-example.png \
    - images/stylesheet-coffee-plastique.png
    -
    -qhp.Qt.filterAttributes = qt 4.7.4 qtrefdoc
    -qhp.Qt.customFilters.Qt.name = Qt 4.7.4
    -qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.4
    -qhp.Qt.subprojects = classes overviews examples
    -qhp.Qt.subprojects.classes.title = Classes
    -qhp.Qt.subprojects.classes.indexTitle = Qt's Classes
    -qhp.Qt.subprojects.classes.selectors = class fake:headerfile
    -qhp.Qt.subprojects.classes.sortPages = true
    -qhp.Qt.subprojects.overviews.title = Overviews
    -qhp.Qt.subprojects.overviews.indexTitle = All Overviews and HOWTOs
    -qhp.Qt.subprojects.overviews.selectors = fake:page,group,module
    -qhp.Qt.subprojects.examples.title = Tutorials and Examples
    -qhp.Qt.subprojects.examples.indexTitle = Qt Examples
    -qhp.Qt.subprojects.examples.selectors = fake:example
    -
    -language = Cpp
    -
    -headerdirs = $QTDIR/src \
    - $QTDIR/extensions/activeqt \
    - $QTDIR/tools/assistant/lib \
    - $QTDIR/tools/assistant/compat/lib \
    - $QTDIR/tools/designer/src/uitools \
    - $QTDIR/tools/designer/src/lib/extension \
    - $QTDIR/tools/designer/src/lib/sdk \
    - $QTDIR/tools/designer/src/lib/uilib \
    - $QTDIR/tools/qtestlib/src \
    - $QTDIR/tools/qdbus/src
    -sourcedirs = $QTDIR/src \
    - $QTDIR/doc/src \
    - $QTDIR/extensions/activeqt \
    - $QTDIR/tools/assistant/lib \
    - $QTDIR/tools/assistant/compat/lib \
    - $QTDIR/tools/designer/src/uitools \
    - $QTDIR/tools/designer/src/lib/extension \
    - $QTDIR/tools/designer/src/lib/sdk \
    - $QTDIR/tools/designer/src/lib/uilib \
    - $QTDIR/tools/qtestlib/src \
    - $QTDIR/tools/qdbus
    -
    -excludedirs = $QTDIR/src/3rdparty/clucene \
    - $QTDIR/src/3rdparty/des \
    - $QTDIR/src/3rdparty/freetype \
    - $QTDIR/src/3rdparty/harfbuzz \
    - $QTDIR/src/3rdparty/kdebase \
    - $QTDIR/src/3rdparty/libjpeg \
    - $QTDIR/src/3rdparty/libmng \
    - $QTDIR/src/3rdparty/libpng \
    - $QTDIR/src/3rdparty/libtiff \
    - $QTDIR/src/3rdparty/md4 \
    - $QTDIR/src/3rdparty/md5 \
    - $QTDIR/src/3rdparty/patches \
    - $QTDIR/src/3rdparty/sha1 \
    - $QTDIR/src/3rdparty/sqlite \
    - $QTDIR/src/3rdparty/webkit/JavaScriptCore \
    - $QTDIR/src/3rdparty/webkit/WebCore \
    - $QTDIR/src/3rdparty/wintab \
    - $QTDIR/src/3rdparty/zlib \
    - $QTDIR/doc/src/snippets \
    - $QTDIR/src/3rdparty/phonon/gstreamer \
    - $QTDIR/src/3rdparty/phonon/ds9 \
    - $QTDIR/src/3rdparty/phonon/qt7 \
    - $QTDIR/src/3rdparty/phonon/waveout
    -
    -sources.fileextensions = "*.cpp *.qdoc *.mm"
    -examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp"
    -
    -exampledirs = $QTDIR/doc/src \
    - $QTDIR/examples \
    - $QTDIR/examples/tutorials \
    - $QTDIR \
    - $QTDIR/qmake/examples \
    - $QTDIR/src/3rdparty/webkit/WebKit/qt/docs
    -imagedirs = $QTDIR/doc/src/images \
    - $QTDIR/examples
    -outputdir = $QTDIR/doc/html
    -tagfile = $QTDIR/doc/html/qt.tags
    -base = file:$QTDIR/doc/html
    diff --git a/src/tools/qdoc/main.cpp b/src/tools/qdoc/main.cpp
    index ea42b3f..d99d043 100644
    --- a/src/tools/qdoc/main.cpp
    +++ b/src/tools/qdoc/main.cpp
    @@ -40,6 +40,7 @@
    ****************************************************************************/

    #include <qglobal.h>
    +#include <qlibraryinfo.h>
    #include <stdlib.h>
    #include "codemarker.h"
    #include "codeparser.h"
    @@ -168,6 +169,9 @@ static void processQdocconfFile(const QString &fileName)
    config.setStringList(CONFIG_SHOWINTERNAL, QStringList(showInternal ? "true" : "false"));
    config.setStringList(CONFIG_OBSOLETELINKS, QStringList(obsoleteLinks ? "true" : "false"));

    + // Set a few environment variables that can be used from the qdocconf file
    + setenv("QT_INSTALL_DOCS", QLibraryInfo::location(QLibraryInfo::DocumentationPath).toLatin1().constData(), 0);
    +
    /*
    With the default configuration values in place, load
    the qdoc configuration file. Note that the configuration
    @@ -252,6 +256,11 @@ static void processQdocconfFile(const QString &fileName)

    dependModules += config.getStringList(CONFIG_DEPENDS);

    + // Allow modules and third-party application/libraries to link to the Qt docs
    + QString qtDocs = QLibraryInfo::location(QLibraryInfo::DocumentationPath);
    + if (!indexDirs.contains(qtDocs))
    + indexDirs.append(qtDocs);
    +
    if (dependModules.size() > 0) {
    if (indexDirs.size() > 0) {
    for (int i = 0; i < indexDirs.size(); i++) {
    diff --git a/src/widgets/doc/qtwidgets.qdocconf b/src/widgets/doc/qtwidgets.qdocconf
    index 6a7815d..5487d1e 100644
    --- a/src/widgets/doc/qtwidgets.qdocconf
    +++ b/src/widgets/doc/qtwidgets.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtWidgets
    description = Qt Widgets Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtWidgets.subprojects.examples.title = Qt Widgets Examples
    qhp.QtWidgets.subprojects.examples.indexTitle = Qt Widgets Examples
    qhp.QtWidgets.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtwidgets
    tagfile = ../../../doc/qtwidgets/qtwidgets.tags

    depends += qtcore qtgui
    diff --git a/src/widgets/widgets.pro b/src/widgets/widgets.pro
    index bff86c1..f294934 100644
    --- a/src/widgets/widgets.pro
    +++ b/src/widgets/widgets.pro
    @@ -9,7 +9,6 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x65000000
    irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused

    QMAKE_DOCS = $$PWD/doc/qtwidgets.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    load(qt_module)

    diff --git a/src/xml/doc/qtxml.qdocconf b/src/xml/doc/qtxml.qdocconf
    index 8ad6c8b..1759112 100644
    --- a/src/xml/doc/qtxml.qdocconf
    +++ b/src/xml/doc/qtxml.qdocconf
    @@ -1,5 +1,5 @@
    -include(../../../doc/global/qt-html-templates-offline.qdocconf)
    -include(../../../doc/global/qt-module-defaults.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
    +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

    project = QtXml
    description = Qt XML Reference Documentation
    @@ -29,7 +29,6 @@ qhp.QtXml.subprojects.examples.title = Qt XML Examples
    qhp.QtXml.subprojects.examples.indexTitle = Qt XML Examples
    qhp.QtXml.subprojects.examples.selectors = fake:example

    -outputdir = ../../../doc/qtxml
    tagfile = ../../../doc/qtxml/qtxml.tags

    depends += qtcore
    diff --git a/src/xml/xml.pro b/src/xml/xml.pro
    index e6d5761..583df4d 100644
    --- a/src/xml/xml.pro
    +++ b/src/xml/xml.pro
    @@ -10,7 +10,6 @@ load(qt_module)

    HEADERS += qtxmlglobal.h
    QMAKE_DOCS = $$PWD/doc/qtxml.qdocconf
    -QMAKE_DOCS_INDEX = ../../doc

    PRECOMPILED_HEADER = ../corelib/global/qt_pch.h