aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/DarwinGCC.qbs
Commit message (Collapse)AuthorAgeFilesLines
* Fix generation of the default Info.plist when building for iOSIvan Komissarov2019-05-161-3/+8
| | | | | | Task-number: QBS-1447 Change-Id: Icdd94b7731d1c84a225c53f780e339f9c7034320 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Rename PathProbe.pathPrefixes and PathProbe.platformPaths propertiesIvan Komissarov2018-12-101-1/+1
| | | | | | | | | The naming was misleading - prefixes had the same logical meaning as platformPaths, despite the fact completely different PathProbe.pathSuffixes property exists. Change-Id: Ie593b5e03d27de4f8aafed821a3b37cc1b3b0b9e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Report an error on unexpected output tagsChristian Kandeler2018-07-131-2/+4
| | | | | | | | | | The artifacts a dynamic rule produces need to be consistent with what it declares in its outputFileTags property. Somewhat suprisingly, such a check was missing so far, so we managed to make such mistakes in our very own modules. These are also fixed here. Change-Id: I9052a8c4b0423e8fd146c9fc67bf5c3ce752c638 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove the base module import from shared imports and modulesJoerg Bornemann2018-06-221-1/+0
| | | | | Change-Id: I5270e033dc41b5bd76a417099514c69cc073008b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Darwin: Fix lipo rulesChristian Kandeler2018-02-221-4/+5
| | | | | | | | | | - We must activate these rules only on the product that is the actual aggregator. - The lipo command must only consider artifacts of the multiplexed variants of the same product. Change-Id: I25dc42cb53d84d85786b2d7ff96297b7fd58a90d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Merge 1.10 into masterChristian Kandeler2017-12-151-0/+1
|\ | | | | | | Change-Id: Iab942ed25d06038cf8c172eb70dcd8e9a720e1c8
| * Fix GCC support for "bare metal" systems againChristian Kandeler2017-12-111-0/+1
| | | | | | | | | | | | | | | | | | This was fixed before in 8176a4d419 and broken again in 72eedbb0a4. Fix it for good this time using module priorities. Task-number: QBS-1263 Change-Id: Ib1702299ef6c51b19a9082da96485ef5387dc1bb Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Introduce cpp.rpathOriginJake Petroules2017-12-081-0/+1
| | | | | | | | | | | | | | | | [ChangeLog] Added property cpp.rpathOrigin which evaluates to @loader_path on Darwin and $ORIGIN on other Unix-like platforms. Change-Id: If5770a83ae32f29ee520fd00b07ed8f0caf6bd48 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Make Module.setup{Build,Run}Environment first-class citizensChristian Kandeler2017-11-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | They did not have the project and product variables available, and they accessed module properties in a way that made it look as if they were normal properties rather than scripts, which was misleading. Now everything works the same as in Rule scripts and JS commands. Task-number: QBS-744 Change-Id: I11d70876185d528282a56747747dd8310a77fbc4 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Rename the dynamiclibrary_copy tag to dynamiclibrary_symbolsJoerg Bornemann2017-10-241-1/+1
|/ | | | | | | | | | | | ...because that reflects the purpose of this artifact much better. For quite some time we do not create copies of shared objects anymore. The file tag is internal. Users are not negatively affected. Change-Id: I0df85587d9f8eb5f5f1c7f272ec57a66588dac29 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Introduce property cpp.variantSuffixChristian Kandeler2017-09-011-5/+7
| | | | | | | | | | | | This property existed already, but was only used for Darwin. It is now fully functional and has proper platform-specific default values. [ChangeLog] Debug variants of libraries now get a name suffix on Darwin and Windows when multiplexing over qbs.buildVariants. Overriding is possible via cpp.variantSuffix. Change-Id: I5763f9641ead4f6335ab1f1800b9929bf84279e3 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Merge 1.9 into masterChristian Kandeler2017-08-141-8/+8
|\ | | | | | | Change-Id: I6da76b0a53bf87105c4e7b48724d9760cb68e831
| * Don't set the *_DEPLOYMENT_TARGET environment variables to empty stringJake Petroules2017-08-141-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a partial revert of a7247ff1cde96864243eba3bf5d36d6b5bded2d6, which caused Qbs to set the *_DEPLOYMENT_TARGET environment variables to the empty string if no value was provided for the deployment target. The empty string causes problems for some tools like `strip`, which passes the empty string verbatim to the -*_version_min flag of an internal invocation of `ld`, which is not allowed. Presumably the original intent was to influence the target platform that the compiler would use, but this does not work (at least with current toolchains) if the value is the empty string. It also shouldn't matter since we use -target now, which explicitly states the platform. In that case, the compiler will choose a minimum version internally if one is not explicitly given. Change-Id: I7d9f12bb52bf3289c0c5e3353a928c8cb0be9531 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Automatically determine built-in compiler definesJake Petroules2017-08-111-1/+0
|/ | | | | | | | This provides users with access to the full list of macros defined by the MSVC, GCC, Clang, or MinGW compiler in use. Change-Id: I6e7f6841bbc18aed13958724b268283d97b17320 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Implement rpath-link for Darwin platformsJake Petroules2017-06-231-1/+4
| | | | | | | | | This is only needed when targeting 10.4 (and who needs that now?), but it's zero lines of code to implement this, versus > 0 lines of code to adapt the relevant autotests... so just do it. Change-Id: I5dc0cb5e4c49111a71ef9f7ececce97225e28d8d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Try harder to find lipoJake Petroules2017-06-211-0/+19
| | | | | | | Apple moved it around a lot in earlier versions of Xcode and macOS. Change-Id: I1ab300ddaf2c50ef2aa5e633ead64dbe8972d1bd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix tests with older versions of Apple ClangJake Petroules2017-06-211-2/+3
| | | | | | | Amends and fixes a regression introduced in 4551d11. Change-Id: I8014c8bfb82c389d4ae741f868be45e420e327ca Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.8 into masterChristian Kandeler2017-06-091-0/+1
|\ | | | | | | Change-Id: I2fcb2113a24c8807467aa03aa3e7590d53761706
| * Fix sysroot handling for GCC-like toolchainsJake Petroules2017-06-061-0/+1
| | | | | | | | | | | | | | | | | | Specifically, this fixes sysroot handling for older versions of the QCC toolchain (< 7) Task-number: QBS-1138 Change-Id: Ie983786439c2ce4656e8a6eebb7428c319054f49 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Determine Xcode architectures automatically if possibleJake Petroules2017-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | ...and provide the list via xcode.standardArchitectures. The current list of hardcoded architectures in common.qbs is based on the Xcode variable ARCHS_STANDARD, which can and does change. Currently we can't default to it because the qbs module cannot depend on the xcode module, but users could use the variable in their own projects. Change-Id: I4bf5bbe3abfdef0f0fdda68a2109169ee6ac877c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Implement basic support for multi-config products on Darwin and AndroidJake Petroules2017-05-231-0/+57
| | | | | | | | | | | | | | | | Task-number: QBS-13 Task-number: QBS-292 Change-Id: I63c2e0a4de5949c73ca33af7381c32606190a43a Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix rules with dependency on artifacts of type "qbs"Christian Kandeler2017-05-221-1/+1
|/ | | | | | | That was a crude workaround from the time when rules required inputs. Change-Id: I0f20636f237ca34874a4f8a31346f1e366576d7d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix assembler invocation with older XcodeJake Petroules2017-03-291-7/+7
| | | | | | | | | | Xcode prior to 7 uses GNU as, not the Apple clang-based driver which supports the -target option. Now: Clang as uses -target, GNU as uses -arch, no other options. Change-Id: I389a43cf7118f3b6330a2aea16d47d7f21dbb2e6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Introduce cpp.target[Assembler,Driver,Linker]FlagsJake Petroules2017-03-221-0/+19
| | | | | | | | | | These are internal properties that deduplicates architecture/vendor/system/abi related flags between the compiler invocation and compiler probe, and reduces tight coupling between gcc.js, GccProbe, and the individual cpp toolchain modules. Change-Id: I7ea57ea1dd4c5eb42fc8983e4c9c45aa01284521 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove some usage of product.modulePropertyJoerg Bornemann2017-03-161-1/+1
| | | | | | | | | | | Keep moduleProperty calls for cpp.{flags|platformFlags|usePrecompiledHeader}, because ModUtils.moduleProperty maps those to their language-specific properties (e.g. cxxflags). Change-Id: Id2280a42b26318b3a320d9df22801626336c72e6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Introduce cpp.useRPathLinkJoerg Bornemann2017-03-151-0/+1
| | | | | | | | | [ChangeLog] Added the cpp.useRPathLink property to control whether to use the -rpath-link linker option. Change-Id: I4f7ca342285fe51975fed5ff8cbf8d3f0d50fae9 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* cpp module: Use libc++ for Darwin targets when C++ >= 11 is enabledChristian Kandeler2016-11-251-0/+2
| | | | | | | The libstdc++ shipped on these platforms does not support C++11. Change-Id: I147643a2684eb75604289491ed4f32e807f92425 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Merge 1.5 into 1.6Jake Petroules2016-06-281-5/+5
|\ | | | | | | Change-Id: If1a2c368170d89d5e6e11b08a32b37901d51eb1d
| * Do the OS X to macOS rename.v1.5.2Jake Petroules2016-06-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog] The "osx" value in qbs.hostOS and qbs.targetOS has been replaced with "macos". For backwards compatibility, qbs.hostOS will still contain "osx" in addition to "macos", and an error will be printed if qbs.targetOS contains "osx" but not "macos". Specifying "macos" without "osx" is allowed. These checks are subject to be removed in a future version of qbs, so update your hostOS and targetOS checks accordingly. [ChangeLog] cpp.minimumOsxVersion has been deprecated and replaced with cpp.minimumMacosVersion. cpp.minimumOsxVersion is subject to be removed in a future version of qbs, so update your projects accordingly. Change-Id: I479891829dff6eb6750cb2a04e1395f085896f63 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Decouple image format from OS using new cpp.imageFormat property.Jake Petroules2016-06-211-0/+1
| | | | | | | | | | Change-Id: If95ab5693a105ed5d442d5d0250cdc8204238a53 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/1.5'Joerg Bornemann2016-06-081-1/+1
|\| | | | | | | | | | | | | | | Conflicts: doc/reference/items/transformer.qdoc share/qbs/modules/cpp/GenericGCC.qbs Change-Id: I45560834560019b18274c373c45651eb8aadd206
| * Replace 'the Qt build suite' with 'Qbs' in copyright notices.Jake Petroules2016-06-061-1/+1
| | | | | | | | | | | | Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/1.5'Joerg Bornemann2016-05-031-0/+29
|\| | | | | | | | | | | | | | | Conflicts: src/lib/corelib/jsextensions/environmentextension.cpp src/lib/corelib/language/scriptengine.h Change-Id: I77e4626218612656d0963d1bfc643d9f9e7f4edd
| * Aggregate the cpp module's Info.plist properties with the product's.Jake Petroules2016-05-021-0/+29
| | | | | | | | | | | | | | | | This was lost in translation by an earlier change. Task-number: QBS-970 Change-Id: Ia1ff38ae2f2ee5be54da05a412a7077b909763f3 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Remove items scheduled for removal in 1.6.Jake Petroules2016-04-221-2/+0
| | | | | | | | | | Change-Id: I4098b281ab9c1f5bc29fe23164dd3a3303759ce0 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Make xcode a required dependency of cpp if we're using that toolchain.Jake Petroules2016-04-181-1/+1
|/ | | | | | | | Invalid xcode properties should not let the dependency slide if we've explicitly requested it by specifying xcode in the toolchain list. Change-Id: Ib9694b24672164439f85804eca630a23d5ee11d4 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix handling of flat dSYM output and greatly expand test coverage.Jake Petroules2016-04-141-1/+2
| | | | | | | | | | | | | | If flat dSYM output was requested, the generated dwarf files would be placed next to the associated executable or bundle wrapper with a .dSYM extension appended. Now, the dwarf files will be placed next to the associated executable (which itself might be within a bundle) with a .dwarf extension. This follows the default behavior of dsymutil when no output file is explicitly specified. Change-Id: Iba71d4fe43b7415d33a244728ed8bce515270583 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Introduce Array.containsAll and Array.containsAny.Jake Petroules2016-03-251-2/+2
| | | | | | | Use where appropriate. Change-Id: Iaade46eab682e32d490dc718ec637930f4611c6c Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Deduplicate and centralize Apple platform and device info.Jake Petroules2016-03-211-4/+6
| | | | | Change-Id: Ib4f1c1e9577c5a4badf33135c5bca916bc083113 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Support soname prefixes on non-Apple Unix-like platforms.Jake Petroules2016-03-171-0/+2
| | | | | Change-Id: I48fb27137e9eafea021eff3cf0cf9c4087c0be89 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* Merge 1.4 into master.Jake Petroules2016-02-221-1/+1
|\ | | | | | | Change-Id: Ib35d02df2b4763200e85948681079edea3b76d94
| * Define __GNUC__ to 4, since this is what the compiler sets.Jake Petroules2016-02-161-1/+1
| | | | | | | | | | Change-Id: Iae5681deffb4f97e42adb7d3e228474499be7f1f Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Add some additional environment variables for Info.plist replacement.Jake Petroules2015-10-291-0/+1
| | | | | | | | | | Change-Id: I2bf5f77c11fc3d8d1976b4bab1e456843d999dd4 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Check for module presence BEFORE evaluating properties.Jake Petroules2015-10-281-21/+23
| | | | | | | | | | Change-Id: Iaef3f0b6a6ad051b71d3456eeafaa6a3dd81b86e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Fix "else assumptions" and other conditionals relating to Apple OSes.Jake Petroules2015-09-111-10/+22
| | | | | | | | | | Change-Id: I0d495d629919a19169a081abaa5a793b9dd251c6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Add skeleton tvOS support.Jake Petroules2015-09-111-0/+2
| | | | | | | | | | Change-Id: I234cec127b1644f1ef53fe5c287da7158152ac12 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Move platform targeting flags into compilerFlags.Jake Petroules2015-08-201-0/+4
| | | | | | | | | | | | | | ld does not support -target, -m32, -m64, or -m*-version-min. Change-Id: I92fae82bcebc236a50f2ae01c71f93b744da2356 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Follow the "undefined means default" methodology for Apple OS targets.Jake Petroules2015-08-171-6/+10
| | | | | | | | | | | | | | | | | | This avoids the need for several special cases. The resulting behavior is the same since the tools happen to default to the SDK version if no deployment target is specified. Change-Id: I7396b39c5bdbe65be5c82f9061d58a43e9444765 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Add generic handling of LLVM triples.Jake Petroules2015-08-031-0/+4
| | | | | | | | | | | | | | | | This improves support for cross compiling when using Clang compilers, and is required for Android NDK support. Change-Id: I5b2eb45aa23e3455ba266a7e9b0112efd91cdbe0 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Add skeleton Apple watchOS support.Jake Petroules2015-07-291-0/+2
| | | | | | | | | | Change-Id: I23569a50a5493e0535ae155925a688b9d5c0743f Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>