summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/clang-mac.conf
Commit message (Collapse)AuthorAgeFilesLines
* Fix LTCG linker flags for macOS with separate debug infoJoerg Bornemann2019-11-081-0/+1
| | | | | | | | | | | | | | | The linker must not throw away the lto.o file. We now instruct the linker to create a non-temporary lto.o, dependent on the target name. In order to do that we introduce a new mkspec variable QMAKE_LFLAGS_LTCG_SEPARATE_DEBUG_INFO. This variable can contain single-$ variable references that get evaluated when loading ltcg.prf. Fixes: QTBUG-72846 Change-Id: I0ea882628d63e5406ba0ee68c7435af597364b0f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Move Apple-specific -fapplication-extensions option to the mkspecThiago Macieira2017-04-121-0/+2
| | | | | | | The Intel compiler does not know about it. Change-Id: I523b0abacd5148b2bf08fffd14b4748c3b33c8fb Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Darwin: Fix clang LTO buildsErik Verbruggen2016-08-181-0/+1
| | | | | | | | llvm-ar is not shipped as part of Xcode. Use libtool instead, just like Xcode does. Change-Id: Ic9c5e16c826c0d42979556f78d2cf6415542ef93 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Distinguish between Objective-C and Objective-C++ sourcesTor Arne Vestbø2015-10-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of lumping both Objective-C (.m) and Objective-C++ (.mm) sources into the same pile, passing them on to the same compiler as for C++ (CXX), with the C++ flags (CXXFLAGS), we follow Apple's lead and treat them as variants of the C and C++ languages separately, so that Objective-C sources are built with CC and with CFLAGS, and Objective-C++ sources with CXX, and CXXFLAGS. This lets us remove a lot of duplicated flags and definitions from the QMAKE_OBJECTIVE_CFLAGS variable, which in 99% of the cases just matched the C++ equivalent. The remaining Objective-C/C++ flags are added to CFLAGS/CXXFLAGS, as the compiler will just ignore them when running in C/C++ mode. This matches Xcode, which also doesn't have a separate build setting for Objective-C/C++ flags. The Makefile qmake generator has been rewritten to support Objective-C/C++ fully, by not assuming that we're just iterating over the C and C++ extensions when dealing with compilation rules, precompiled headers, etc. There's some duplicated logic in this code, as inherent by qmake's already duplicated code paths, but this can be cleaned up when C++11 support is mandatory and we can use lambda functions. Task-number: QTBUG-36575 Change-Id: I4f06576d5f49e939333a2e03d965da54119e5e31 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Require more of the C++11 Standard LibraryThiago Macieira2015-08-061-4/+3
| | | | | | | | | | | | | | | Since libstdc++ builds on OS X and QNX 6.5 are no longer supported, simply require <initializer_list> and std::move in order to claim C++11 support works. The minimum OS X versions need to be fixed elsewhere. Change-Id: Ib056b47dde3341ef9a52ffff13ef1d2ac3923f5c Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Make CONFIG += c++11 by default not disable GNU extensionsThiago Macieira2015-07-171-0/+2
| | | | | | | | | | | | | | | | | | | Prefer -std=gnu++11 unless strict_c++11 is defined. You can enable strict C++11/C++14 mode by using CONFIG += strict_c++ That is enabled for Qt's own code, so we we don't accidentally use GNU extensions in portable code. There's no support for strict C++98 mode (that is, the -ansi option). [ChangeLog][qmake] By default, GNU extensions are now enabled with Clang, GCC and ICC even in C++11 and C++14 modes. To disable the GNU extensions, add to your .pro file: CONFIG += strict_c++. Change-Id: Ib056b47dde3341ef9a52ffff13ef14de2169bef5 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Enable C++11 on OSX when using ClangTor Arne Vestbø2013-04-051-0/+3
| | | | | | | | | | | | | | This means we have to bump the deployment target to Lion (10.7), as the LLVM 'libc++' C++ standard library does not support Snow Leopard (10.6). For iOS the deployment target has to be bumped from 4.3 to 5.0, but we don't enable C++11 by default yet as it's not tested enough on iOS. Users who wish to deploy to 10.6 need to build their own Qt, passing -no-c++11 to configure. Change-Id: I7b5d20ab002db889d1091a4b7ff600f62caa7f06 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* qmake: Update Xcode generator to produce project files similar to XcodeTor Arne Vestbø2013-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | There was quite a bit of cruft left over from older Xcode version. We now produce Xcode 3.2 compatible files, similar to what Xcode would do when asked to upgrade one of our generated files. In particular: - Removed refType - Set more lastKnownFileTypes - Renamed defaultConfigurationIsName to defaultConfigurationName - Add runOnlyForDeploymentPostprocessing = 0 to build phases - Don't put buildSettings directly into PBXNativeTarget - Don't write productSettingsXML - Don't write startupPath - Don't write name when path is the exact same - Write empty buildSetting lists as empty string - Don't write empty PBXBuildFile settings - Don't write generated/neede filenames for PBXShellScriptBuildPhase - Use PBXFileReference instad of PBXFrameworkReference - Prune deprecated buildSetting variables - Remove deprecated PBXBuildStyle sections - Resolve correct CC/CPLUSPLUS/LDPLUSPLUS - Write IPHONEOS_DEPLOYMENT_TARGET Change-Id: Ia2365c2623fe898878bd10636c3b85145c1cff04 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Add mkspecs for 32-bit Mac OS X builds.Morten Johan Sorvig2012-05-041-0/+5
Add mkspecs/macx-clang-32 Add mkspecs/macx-g++-32 Add mkspecs/common/clang-mac.conf Skip the rest of the Mac mkspecs (icc, llvm, g++40, g++42, builder, Xcode, xlc) pending a cleanup where we determine which ones to keep. Change-Id: I00ceddfcbdb5119cb132433bad43e4aed016eab2 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>