summaryrefslogtreecommitdiff
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* QDoc: Let build system discover and set LLVM_INSTALL_DIR variablePaul Wicking2018-09-201-0/+3
| | | | | | Task-number: QTBUG-67189 Change-Id: I9464103e619eccb6a10be9272cbbdb256c66e917 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-09-111-3/+13
|\ | | | | | | | | | | | | | | Conflicts: src/macdeployqt/shared/shared.h src/qdoc/sections.cpp Change-Id: I708a20d0061e82b99ecced7d24e7a2b8c475f706
| * Fix linking libclang with mingw when cross-compilingSimon Hausmann2018-08-221-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 4ec82667f632992e827299c96d3bfd2b221a029b moved the mingw: CLANG_LIBS += -ldl condition from a option(host_build) .pro file to qt_find_clang.prf which is evaluated in target scope. That means when cross-compiling, we can't use mingw anymore as a way to detect the host compiler. Instead, rely on MinGW being the only alternative to MSVC that we support as a host compiler when cross-compiling. The msvc part is dealt with earlier in the file. Also cleaned up the LLVM_INSTALL_DIR determination that suffers from the same symptom (commit ac6de68fe7d4fef251c101ef25812fe2198925f8), where the msvc bit needs a proper scope for the else to work correctly. Task-number: QTBUG-69793 Change-Id: Id544c7929b79fc3c8763d50e0bac4a3a689ade60 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix linking of qdoc against libclang when cross-compiling to QNX/AndroidSimon Hausmann2018-08-221-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cross-compiling to QNX, qt_find_clang.prf is evaluated against the target configuration, so the check for "mingw" to select the right LLVM_INSTALL_DIR variant does not work as that's the host configuration. So instead we must formulate the conditions differently and rely on the fact that we are either using MSVC where the same compiler is used for host and target architecture (even if the architectures differ) or otherwise minwg is the host compiler (while target may be something else). Task-number: QTBUG-69793 Change-Id: I31acc127c94e0a8570242d1c8ea0db873f9fd253 Reviewed-by: Simo Fält <simo.falt@qt.io>
* | qdoc: don’t hardcode homebrew/llvm path on macOSMorten Johan Sørvig2018-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Ask “brew” for the location instead. This is a follow-up to commit 5931a94d610. This will print “sh: brew: command not found” and “Set the LLVM_INSTALL_DIR ...” if homebrew is not installed. Change-Id: I66c209a6db48b253bf55e24715ccf05f5b203cd9 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-071-8/+11
|\ \ | |/ | | | | Change-Id: Ib748ab5563d69fa0e3a39a6234731becbc86b0d6
| * Prospective fix for linking qdoc against libclang with MinGWSimon Hausmann2018-07-021-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Pick the libclang installation from MinGW or MSVC specific directories on Windows for static linkage, as they cannot be mixed. And it turn out that we need the explicit static library linkage for MinGW as well (or just not for MSVC, as I guess the .lib there is self-contained). Task-number: QTBUG-68064 Change-Id: Ie20c8910e0a2776940dcd78a1b28e36f5ce30947 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* | qdoc: use homebrew llvm by defaultMorten Johan Sørvig2018-06-051-1/+6
|/ | | | | | | | | | | | | | | | | Thew installation instructions are now “brew install llvm” before building Qt. LLVM_INSTALL_DIR can still be set to override the llvm location. Task-number: QTBUG-65762 Task-number: QTBUG-66353 Change-Id: I9a17d0c280aa6b8a8b8117b8a5c7121dcfe906c6 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix logic for choosing static or dynamic libclang linkagev5.11.0-rc2v5.11.05.11.0Simon Hausmann2018-05-161-1/+1
| | | | | | | | Amends commit 36e7b1925e2ff2df167280eb3592b99697a1234d. Task-number: QTBUG-68178 Change-Id: Ie2f9ac98740b7cef325426da2efff469382444e7 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Allow to link qdoc dynamically to libclangJędrzej Nowacki2018-05-141-194/+205
| | | | | | | | | | | | | | | For releasing we want to link qdoc statically to libclang and ship a "fat" binary, which allows us to not distribute separate libclang. In the same time our users may want to link qdoc to an existing libclang binary. Both cases make sense, especially that the static build required some invasive patches in libclang. Partially reverts fddf7ee536e4fd0061d0ee933707881cebe54223 Task-number: QTBUG-68178 Change-Id: Iaeab59c40b881907f0fd5f3ccefb6700dcd2dded Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix disabling of qdoc build when cross-compiling with MinGW hostv5.11.0-rc1Simon Hausmann2018-05-031-1/+1
| | | | | Change-Id: I5a069821a0dd05328e98eca9ba201b44bedd6cbd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Disable QDoc on MinGWJędrzej Nowacki2018-05-031-0/+7
| | | | | | | | | | | | | | These two changes broke QDoc build on MinGW: "Link qdoc to static libclang" (fddf7ee536e4fd0061d0ee933707881cebe54) "Update clang version to 6.0" (c5ddbdb86b837fcdd406d12e66d8193c991bde) To get Qt 5.11.0 release out in time we need take a shortcut and disable the QDoc build. We agreed that qdoc binary will not be provided on mingw530. Task-number: QTBUG-66015 Change-Id: I25c6014754c58bc3202af645ef77ebc8bfaf1291 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Link qdoc to static libclangJędrzej Nowacki2018-04-291-3/+194
| | | | | | Done-with: Mikhail Svetkin <mikhail.svetkin@qt.io> Change-Id: Ifbd4e1b27f658f7d4f287a8a51f0cda54814e754 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Explain to the user that clang is required for qdoc to be builtMitch Curtis2018-01-181-1/+1
| | | | | Change-Id: Id2e588dcf6e0eb20005aae97ca00dcdc0e68426e Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Fix log output of qt_find_clangKai Koehne2018-01-091-2/+2
| | | | | | | | Properly escape the qmake variable names, and use clangInstallDir in case llvm/clang was autodetected on Linux. Change-Id: I6d53364fc15d2b1ac960bf05b94227ac4d76bf79 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix clang lib selection for cross-compilationsSamuli Piippo2017-12-191-1/+1
| | | | | | | | | | qdoc is built for host, so lib selection needs to match that. Task-number: QTBUG-64982 Change-Id: I6c86052b8dcb4966c3faa5bc43bcd373f093ccc4 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* Fix allow automatic selection of libclangHeikki Halmet2017-12-141-1/+1
| | | | | | | | | | QMAKE_HOST.arch need to be used to determine the architecture, because qdoc.pro operates in "host mode" Task-number: QTBUG-64982 Change-Id: I2d540ce42123a4ace8a40fa9c6caaba4ddaef417 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* qdoc: Allow automatic selection of libclang based on target architectureTopi Reinio2017-10-111-2/+5
| | | | | | | | | | Setting 'LLVM_INSTALL_DIR=/path/to/clang-_ARCH_' now searches for LLVM in /path/to/clang-64 or /path/to/clang-32, depending on the target architecture. Change-Id: I555b6f345731448f66a30947d1e7d4a965caae1c Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* qdoc: Use correct variable to find libclangMartin Smith2017-10-111-11/+11
| | | | | | | | This update changes CLANG__INSTALL_DIR to LLVM_INSTALL_DIR. Change-Id: Ie2b1dc41d06aa5dd2d82665f40c3e951c555a552 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* qdoc: Add "clangdefines" to Config classMartin Smith2017-08-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qdoc 'defines' config variable lists values that contain '*' to represent wildcards, but clang doesn't accept them. This change adds a new config variable called 'clangdefines' which explicitly lists all the defines that match the wildcards. It also lists several Qt defines for C++11 stuff, because when clangqdoc comes into use, all the supported compilers for Qt will support C++11 constructs. There might be a few defines listed in clangdefines that are unnecessary and maybe a few that we really should not include, but we can adjust the list as needed. Also included in this change: Tell clang never to fail (i.e. keep parsing no matter how many errors are found), and tell clang not to print parsing errors, because they obscure the qdoc errors in the output. clangqdoc should assume that the source files are correct, but some of the include files, especially system level stuff, will not be present. clangqdoc doesn't care about these missing files, because they aren't part of the documentation. Change-Id: I84e1cae24d961a82d16ee705333d6f36955d35de Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Use clang as a parser in qdocOlivier Goffart2017-08-101-0/+100
The file qt_find_clang.prf is inspired by qtcreator's clang_installation.pri. The code from the while loop in ClangVisitor::parseProperty contains code moved from CppCodeParser::matchProperty. The code in the for loop of ClangCodeParser::parseSourceFile (from the "Doc parses the comment"), is mostly moved from CppCodeParser::matchDocsAndStuff. In CppCodeParser, most of the code is removed since clang is used for parsing. We just need to leave enough to parse the declaration in the comments which still use the old parser (\fn, ...) Known issues: - When the parameter name is a comment, it is lost. (e.g. QObject::eventFilter(QObject * /* watched */, QEvent * /* event */) - I can't compute default parameters when they are expanded from a macro. (e.g. QObject::tr) - Instances of #ifndef Q_QDOC need to be reviewed Change-Id: I92d4ca4fc52810d9d3de433147a9953eea3a1802 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>