summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* Win32: define _HAS_EXCEPTIONS as 0 when exceptions are off.Erik Verbruggen2014-03-043-3/+3
| | | | | | | | | When this macro is not defined, a number of inline methods in the MSVC stl will throw exceptions. This in turn generates a warning when exceptions are not enabled on the compiler command-line. Change-Id: I5a57ec544bda0c75f04fdea9412b03107f9ff531 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* automate handling of generated headers some moreOswald Buddenhagen2014-02-281-0/+14
| | | | | | | | | | | | | | let the syncqt + qt_module_header.prf pair handle generation of forwarding headers. in qtbase this is ineffective to some degree, as the need to create QtCore's forwarding headers early for QtBootstrap requires qtbase.pro already doing the real work, but at least we get the verification that nothing breaks. Other Modules (TM) will need the full functionality. Change-Id: Ifd3dfa05c4c8a91698a365160edb6dabc84e553f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* WinRT package_manifest: Remove comment about manifest overwriteAndrew Knight2014-02-203-3/+3
| | | | | | | | This comment is wrong and should be removed. The manifest is always generated. Change-Id: I281737dd6a358380fb557063eadae88909f5078b Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-1724-46/+18
|\ | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h Change-Id: I03d8b6e07135056baaa1d97c3c63fbe8b25583d9
| * Remove automated generation of dwarf indexhjk2014-02-1624-46/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The index is only helpful if the version of GDB to create it uses the same version as the GDB version that consumes it. Outside the "local development" scenario this happens only by conincidence, still we add ~3.6% to the debug library size and face maintenance issues like QTBUG-34950. We also don't see the same performance benefit anymore with recent versions as we did when the feature was added, so it's best to not create the index anymore. People who need it, still can add it manually, or by the 'gdb-add-index' tool that comes with recent versions of GDB, or trust their distributors to set up indexes matching their runtime environment. Task-number: QTBUG-34950 Change-Id: Id4c79fa51fea9622b0891bd9b9b395b948ecb157 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Initial support for the Intel Compiler 14.0 on OS XThiago Macieira2014-02-162-16/+29
| | | | | | | | | | | | | | | | | | | | | | ICC 8 and 9 are positively ancient. I doubt anyone is using them for Qt, let alone Qt 5. ICC 11 through 13 haven't supported OS X. ICC now masquerades as Clang, so we need to let qmake and qcompilerdetection.h know about it. Change-Id: If0d2bd8b6a4a45250c15c9472c062effc76f17de Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Force alignment for SSE2 to not crash with mingwKonstantin Ritt2014-02-141-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-36807 Change-Id: I946f96f663a63e7102c86a8bbc728ad5bf48d839 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | Dynamic GL switch on WindowsLaszlo Agocs2014-02-147-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch introduces a new build configuration on Windows which can be requested by passing -opengl dynamic to configure. Platforms other than Windows (including WinRT) are not affected. The existing Angle and desktop configurations are not affected. These continue to function as before and Angle remains the default. In the future, when all modules have added support for the dynamic path, as described below, the default configuration could be changed to be the dynamic one. This would allow providing a single set of binaries in the official builds instead of the current two. When requesting dynamic GL, Angle is built but QT_OPENGL_ES[_2] are never defined. Instead, the code path that has traditionally been desktop GL only becomes the dynamic path that has to do runtime checks. Qt modules and applications are not linked to opengl32.dll or libegl/glesv2.dll in this case. Instead, QtGui exports all necessary egl/egl/gl functions which will, under the hood, forward all requests to a dynamically loaded EGL/WGL/GL implementation. Porting guide (better said, changes needed to prepare your code to work with dynamic GL builds when the fallback to Angle is utilized): 1. In !QT_OPENGL_ES[_2] code branches use QOpenGLFunctions::isES() to differentiate between desktop and ES where needed. Keep in mind that it is the desktop GL header (plus qopenglext.h) that is included, not the GLES one. QtGui's proxy will handle some differences, for example calling glClearDepth will route to glClearDepthf when needed. The built-in eglGetProcAddress is able to retrieve pointers for standard GLES2 functions too so code resolving OpenGL 2 functions will function in any case. 2. QT_CONFIG will contain "opengl" and "dynamicgl" in dynamic builds, but never "angle" or "opengles2". 3. The preprocessor define QT_OPENGL_DYNAMIC is also available in dynamic builds. The usage of this is strongly discouraged and should not be needed anywhere except for QtGui and the platform plugin. 4. Code in need of the library handle can use QOpenGLFunctions::platformGLHandle(). The decision on which library to load is currently based on a simple test that creates a dummy window/context and tries to resolve an OpenGL 2 function. If this fails, it goes for Angle. This seems to work well on Win7 PCs for example that do not have proper graphics drivers providing OpenGL installed but are D3D9 capable using the default drivers. Setting QT_OPENGL to desktop or angle skips the test and forces usage of the given GL. There are also two new application attributes that could be used for the same purpose. If Angle is requested but the libraries are not present, desktop is tried. If desktop is requested, or if angle is requested but nothing works, the EGL/WGL functions will still be callable but will return 0. This conveniently means that eglInitialize() and such will report a failure. Debug messages can be enabled by setting QT_OPENGLPROXY_DEBUG. This will tell which implementation is chosen. The textures example application is ported to OpenGL 2, the GL 1 code path is removed. [ChangeLog][QtGui] Qt builds on Windows can now be configured for dynamic loading of the OpenGL implementation. This can be requested by passing -opengl dynamic to configure. In this mode no modules will link to opengl32.dll or Angle's libegl/libglesv2. Instead, QtGui will dynamically choose between desktop and Angle during the first GL/EGL/WGL call. This allows deploying applications with a single set of Qt libraries with the ability of transparently falling back to Angle in case the opengl32.dll is not suitable, due to missing graphics drivers for example. Task-number: QTBUG-36483 Change-Id: I716fdebbf60b355b7d9ef57d1e069eef366b4ab9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-121-1/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qimage.cpp src/gui/text/qtextengine.cpp src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp src/printsupport/kernel/qprintengine_win.cpp Change-Id: I09ce991a57f39bc7b1ad6978d0e0d858df0cd444
| * Disable disabling exceptions with ICCThiago Macieira2014-02-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | There's a bug found in ICC 14.0 that causes the compiler to assert when compiling QtDeclarative. Let's leave this here until at least one year after the fix is released. Intel task: DPD200253124 Task-number: QTBUG-36577 Change-Id: I76d4b41da7e60397dac65862a3a6ec024b840744 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-02-112-4/+8
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-072-4/+8
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformintegration.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/android/qandroidplatformopenglcontext.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/sql/doc/src/sql-driver.qdoc src/widgets/widgets/qtoolbararealayout.cpp Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
| | * Do not limit clang generated debug info to dwarf-2 on mac.Erik Verbruggen2014-01-211-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dwarf-2 is treated as deprecated (at best) by llvm, and does not support a lot of C++ language features. Most notably, it does not support namespaces and template parameters. By not specifying the dwarf version, the compiler can decide which version to use. Change-Id: Ic32f9101c4db0f06a8ace8f5e04af9236d01598e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Suppress unsafe warnings of MSVCKurt Pattyn2014-01-211-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a define to suppress MSVC warning “C4996: This function or variable may be unsafe.” If the code is really "unsafe" then it is unsafe on other platforms as well; so fixing these warnings just for MSVC builds, would clutter the code and wouldn't help in fixing issues that might exist on other platforms. Using the same functions across all supported platforms keeps the code clean and helps in writing code that is safe across all platforms. Change-Id: I470072eda4f8174bb911567ef3f061a3582ba449 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | qmake: Provide feature for windeployqtAndrew Knight2014-02-111-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | windeployqt is a tool that aids in the deployment of Qt libraries and other files on Windows. This feature (CONFIG+=windeployqt) adds automatic invocation of windeployqt for qmake projects as a post-link action. For Visual Studio projects, windeployqt is added as a custom target which runs after linking, automatically adding the output as deployment items. Task-number: QTBUG-35630 Change-Id: I4cdcb1a7f70cedccb4a4e17be5eb9f5de35a4d66 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | Fix compilation when including files created in shadow dirsThiago Macieira2014-02-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For normal #includes, moc simply ignores the missing file, but it could generate problems later. It's a problem when the file being sought is the FILE from plugin metadata. A very good example of this is Qt Creator: coreplugin.h:49: Error: Plugin Metadata file "Core.json" does not exist. Change-Id: I16af04b477f52c6bd53c14147ec777b358dfdf50 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | Automatically link printsupport plugins to static applications.Friedemann Kleint2014-02-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the required printsupport plugins to the QTPLUGIN variable as is done for the QPA plugin. [ChangeLog][QtPrintSupport] Made the Qt buildsystem automatically include the necessary plugins so that static applications can print. Task-number: QTBUG-29663 Change-Id: I0e2e3b0f25dd5714bd187711c85893926b0c4e85 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | WinRT: Use correct architecture values in manifests and vsOliver Wolff2014-02-077-3/+9
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the same architecture value in VC Project and manifest files only makes sense for x64. Instead of doing magic we just set the correct values inside the mkspecs. VCPROJ_ARCH is used for Visual Studio, while the manifests use WINRT_MANIFEST.architecture. WINRT_MANIFEST.architecture was added to x64 mkspecs for consistency and phone mkspecs do not use WINRT_MANIFEST.architecture so it does not have to be set there. Change-Id: I009473104875b4add8c0530dc6f51177919e997b Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* | Update the macro that MSVC 2013 defines for AVX code generationThiago Macieira2014-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.120).aspx says: __AVX__ Defined when /arch:AVX is specified. Now we know what flag it is, we don't need to use our _M_AVX flag anymore. We're also now assuming that Microsoft will follow the same pattern for AVX2 (i.e., __AVX2__), so this commit also removes the check for _M_AVX2. The other defines that were defined alongside AVX2 are removed because they have no use currently in Qt. Change-Id: I64a026b2206dbd0d2dffa7c803bee969c9b94a94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | resolve include paths against source dirOswald Buddenhagen2014-01-291-1/+4
| | | | | | | | | | | | | | | | | | this hasn't happened yet at this point of processing, so we'd pass bogus paths when shadow-building. Change-Id: I9f9633c0dbc2aadeff1eb555a8e598ddb0837e37 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | shell-quote include paths when not using a response fileOswald Buddenhagen2014-01-291-1/+3
| | | | | | | | | | | | Change-Id: I7557480dcd8ba1e0b5ecf88318c53cdfb3519f92 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | use the response file also for the default incdirsOswald Buddenhagen2014-01-291-2/+2
| | | | | | | | | | | | Change-Id: I328cdd32d43f263992af206c66b502564e954d53 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | use write_file() to create the response file with the includesOswald Buddenhagen2014-01-291-36/+11
| | | | | | | | | | | | | | | | it's much shorter and faster. Change-Id: I6a37e9ece4ac550d1887fa53523b85046d398c8c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Explicitly use libstdc++ for non-C++11 static buildsTor Arne Vestbø2014-01-282-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the compiler may choose libc++ based on the deployment target, and we'll end up with broken builds due to the mismatch between the two libraries, eg: Undefined symbols for architecture x86_64: "std::ios_base::Init::Init()", referenced from: __GLOBAL__I_a in libQt5Qml.a(qv4object.o) ... "std::ios_base::Init::~Init()", referenced from: __GLOBAL__I_a in libQt5Qml.a(qv4object.o) ... "std::__throw_length_error(char const*)", referenced from: ... This problem is not iOS specific, which is why the logic is moved to the more generic mac/default_post.prf. Change-Id: I28b94e614f9167fc0db84bbf1c88dd97d5629938 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Ensure C++11 support matches between Qt and user projects for static buildsTor Arne Vestbø2014-01-281-2/+11
| | | | | | | | | | | | Change-Id: Id529fb7fc52d2da312bcf17612e47c74939a617f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | iOS: Disable tests for all other modules than qtbaseTor Arne Vestbø2014-01-251-0/+5
| | | | | | | | | | | | | | | | | | Instead of sprinkling '!ios' all around the various modules. This is a bit more fine grained than the CFG_NOBUILD_PARTS += "tests" that we had in configure. Change-Id: I6ca2e5df118dfc0bb5d7b8495a3543f51dc0fa30 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | eglfs: Remove unused variable on raspiLaszlo Agocs2014-01-241-6/+0
| | | | | | | | | | Change-Id: I34749533e4279d151c8954f29a4fc7635e007b19 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | WinRT: Provide qmake feature for generating a package manifestAndrew Knight2014-01-2420-1/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature (package_manifest) generates a basic application manifest from a template provided by the mkspec or the developer. It is meant to deliver an out-of-the-box build experience without attempting to exhaustively cover all manifest options. It is meant to be a starting point which allows the developer to customize the manifest further. It also becomes the default package manifest generator for Windows Phone, replacing autogen_wmappmanifest. Common variables, such as the target executable, are populated by qmake in the newly created manifest. Default icons are also created if needed, as the build will fail without them. The input manifest can be set by assigning a file name to WINRT_MANIFEST. Additional options are documented in the .prf file. If an existing (non-generated) manifest is already in the directory, it will not be overwritten. Task-number: QTBUG-35328 Change-Id: I57576a17ff9d2b564c0828f815949cb26d276bfd Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Add freebsd-clang mkspecGabriel de Dietrich2014-01-222-0/+80
| | | | | | | | | | | | | | | | | | | | clang is the default compiler on FreeBSD 10 (if not earlier). Let's keep it unsupported for now. Can be promoted later. Change-Id: I909953c986a3da09ce19d8f9f9ee2cc22c417abd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | iOS: Enable building of basic testsTor Arne Vestbø2014-01-221-1/+1
| | | | | | | | | | | | | | Allows us to sanity check the iOS build in the CI. Change-Id: I16f9bfafef3988dcab6efd3155503ca0d0b4d1d8 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-01-214-2/+16
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-204-2/+16
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qstring.cpp src/gui/image/image.pri src/gui/image/qimage.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/qeglfshooks_stub.cpp tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
| | * clear OBJECTIVE_SOURCES as wellOswald Buddenhagen2014-01-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the newly added mac examples use it, so it needs to be grounded. a more generic solution would be clearing out QMAKE_EXTRA_COMPILERS, but many prf files will be loaded after us, possibly nullifying our effort. Task-number: QTBUG-35680 Change-Id: I3aba7595898baac14bd41e9fae2ff24507187c6a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * eglfs: Allow using a different framebuffer deviceLaszlo Agocs2014-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now /dev/fb0 is hardcoded. This is not ideal. Therefore QT_QPA_EGLFS_FB is introduced. This environment variable can be set to a different framebuffer device. Once it is set, eglfs will use the specific device. This is similar to linuxfb's fb=... plugin parameter. The actual behavior depends on the board-specific implementations. For now only iMX6 has real support. It extracts the index from the device name as bind the EGL display to the corresponding framebuffer using the vendor-specific fbGetDisplayByIndex(). Other hooks can follow suit later on. With this patch eglfs is at least on par with linuxfb, meaning that, if the board supports it, different apps can run on different screens. Task-number: QTBUG-36113 Change-Id: Ia3c88bd06e108bc668433e3c5c3fce34a5a0e73d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| | * REG: Fix make install on library projects on AndroidEskil Abrahamsen Blomfeldt2014-01-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a partial revert of 39e04b022227c52c9e6aac1942919f68247e1394. The original change moved the special make install target path logic into the logic for the app template to make it possible to remove the condition that excluded builds inside the Qt directory. This was to make it possible to build examples in the Qt directory for Android without moving them. However, this broke user library projects, specifically when they were part of a subdirs project and should have been automatically installed into the Android package. This patch brings back the logic but only enables it for library projects, meaning that the only examples inside Qt which cannot be built correctly are library projects (which didn't work anyway). [ChangeLog][Android] Fixed regression in "make install" on library projects on Android so they can be used inside subdirs projects again. Task-number: QTBUG-34781 Change-Id: Iabf53ed68845b2ddd4ae66656e1372c96185660e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
| | * MIPS DSP build system fix and additional optimizations.lpapuga2014-01-141-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed MIPS DSP portion of the mkspecs/features/simd.prf file in order to fix the corrupted build system for MIPS platforms. List of the additionally optimized functions from file src/gui/painting/qdrawhelper.cpp: - qt_blend_rgb16_on_rgb16 - qt_fetchUntransformed_888 - qt_fetchUntransformed_444 - qt_fetchUntransformed_argb8565 from file src/gui/image/qimage.cpp: - convert_ARGB_to_ARGB_PM_inplace from file src/corelib/qstring.cpp: - ucstrncmp - toLatin1_helper - fromLatin1_helper Change-Id: I5c47a69784917eee29a8dbd2718828a390b27c93 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Fix eglfs compilation on raspiLaszlo Agocs2014-01-201-1/+0
|/ / | | | | | | | | | | | | | | | | For some reason the Raspberry Pi hook includes qeglfscursor.h even though it is not necessary. Remove this because the file got moved to eglconvenience. Change-Id: Ia65f5a8366d750f93eacee49004219e664b52af2 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | introduce qlalr featureOswald Buddenhagen2014-01-201-0/+49
| | | | | | | | | | | | | | | | this makes it possible to compile grammars at build time. Change-Id: Ia74383c4f29873ee7324bd5f14d72ef14faef460 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add support for using -isystem in qmakeThiago Macieira2014-01-204-1/+5
| | | | | | | | | | | | | | | | | | This commit will make qmake use -isystem automatically for any compilers that declare support for it for any paths that are listed in QMAKE_DEFAULT_INCDIRS. Change-Id: I36fefc6d5bba61671f65669f0ea42704b3c3cf31 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | iOS: Fix simulator build by enabling SSE2 code pathsTor Arne Vestbø2014-01-182-9/+12
| | | | | | | | | | | | | | | | | | | | | | Commit 3c375a76a13e151496ccfea0a2b3ff9fdc75784f enabled SSE2 in Qt, but we failed to build the files that implemented the SSE2 specific drawhelpers and image functions. Since we know what the iOS simulator supports and the platforms it runs on we can safely enable this ourselves without it being based on a configure test. Change-Id: I0cfc43de80068b89aa47c34ffa84ee1c1734886c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Don't pass -mfpmath=sse to Clang < 3.4, it's not supportedTor Arne Vestbø2014-01-181-1/+11
| | | | | | | | | | Change-Id: I875f72802d8745488d34f836818b21aafe69dcff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Replace win32-g++ with mingw scopeKai Koehne2014-01-176-7/+7
| | | | | | | | | | | | | | | | Commit 773dd01 introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | iOS: Prevent trying to use both libc++ and libstdc++Tor Arne Vestbø2014-01-161-1/+1
| | | | | | | | | | | | | | | | Static builds of Qt will automatically enable C++11 for all projects, but this happens in mac/default_post which is after our check. Change-Id: I22a01e5d876242263fa31f8a404a65905c6c1877 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Ensure that the mkspec and source dirs are passed to moc on WindowsThiago Macieira2014-01-161-3/+3
| | | | | | | | | | | | | | | | | | Those paths need not be in INCLUDEPATH: qmake always adds them to the compiler command-line and we should match the behavior if we expand INCLUDEPATH here. Change-Id: I89508d15ac534b54ae873a42c4ad9764408042b5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Automatically turn on SSE2 code generation throughout QtThiago Macieira2014-01-161-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...unless the user passed the -no-sse2 option to the compiler. [ChangeLog][Important Behavior Changes] Qt now automatically generates code for processors supporting SSE2 on i386 platforms. To disable this, pass the -no-sse2 option during Qt configuration. Since this feature has been present on CPUs for 10 years and since Qt no longer checks for runtime support for SSE2, we strongly encourage users to leave the default setting on for best performance. - For Linux distributions that must retain support for CPUs without SSE2, we recommend doing two builds of Qt and installing the SSE2-enabled libraries in the LIBDIR/sse2 directory. Tools, plugins, and examples are not affected. - See discussion on the Qt development mailing list: http://lists.qt-project.org/pipermail/development/2013-November/014085.html Change-Id: I7f9b1f58a9f66b6e5fe295bac15f87d34343695e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Remove runtime detection of Neon on ARM CPUsThiago Macieira2014-01-161-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Now the only way to enable Neon support is to change the mkspec. [ChangeLog][Important Behavior Changes] Qt no longer checks for support for the Neon FPU on ARM platforms at runtime. Code optimized for Neon must be enabled unconditionally at compile time by ensuring the compiler supports Neon. You may need to edit your mkspec for that. Task-number: QTBUG-30440 Change-Id: I4df9b2bf3cd022f8ed70f02f16878cb2cb3fe6fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Let Apple Clang 5.0 also have -Werror supportThiago Macieira2014-01-141-2/+2
| | | | | | | | | | | | Change-Id: I3abc83617c8f3426e4f5920052281fe13e4e3edc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Fix build with precompile headersAllan Sandfeld Jensen2014-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | Get the CXX compiler using $$QMAKE_CXX instead of ${QMAKE_VAR_QMAKE_CXX} which causes shell syntax errors when combined with the silent flag. Task-number: QTBUG-36159 Change-Id: I26cdbe788a20bd2df1aa3563694648e41c082a2c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | expand tabs and related whitespace fixes in *.{cpp,h,qdoc}Oswald Buddenhagen2014-01-1335-255/+255
| | | | | | | | | | | | | | | | the diff -w for this commit is empty. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I77bb84e71c63ce75e0709e5b94bee18e3ce6ab9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Use the QMAKE_CXXFLAGS_WARN_ON variable for setting -WerrorThiago Macieira2014-01-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This would mean we don't pass -Werror when under CONFIG += warn_off. However, that's not the main goal. The main goal of this change is to have -Werror appear *after* -Wall -Wextra. With some compilers, like Clang, this is necessary to have the -Wno-error=foo options work properly. For example, if the -Wfoo warning gets enabled by -Wall, Clang will treat it as an error if the arguments appear in the following order: -Werror -Wno-error=foo -Wall But not if they appear in this order: -Wall -Werror -Wno-error=foo Change-Id: I38c820bffc8277d909391e9bf557db5347836b9c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>