summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix
Commit message (Collapse)AuthorAgeFilesLines
* de-duplicate code for writing dummy makefilesOswald Buddenhagen2013-08-271-12/+1
| | | | | | | | | | as a side effect, this fixes the generators that were more bitrotted (nmake and even more mingw). Task-number: QTBUG-30644 #close Change-Id: Iefa3f07125884412d091aa12b44935e5b1fb858a Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix SONAME handling on androidStephen Kelly2013-08-131-0/+3
| | | | | | | | | | Set the SONAME to the library name without the major version number appended, as android does not have the versioned symlinks. Change-Id: I41c504869019a393a3f112b2f7fc81c7ad5afa1c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* don't install mac bundles atomicallyOswald Buddenhagen2013-07-222-26/+59
| | | | | | | | | | | | | | | ... as that causes debug+release installs to overwrite each other's postprocessed files. introduces CONFIG+=sliced_bundle, which instructs qmake to create file-by-file install commands. we don't know whether people are not putting files outside qmake's knowledge into the bundle build dir, so this mode is not necessarily backwards-compatible, and thus off by default. Task-number: QTBUG-28336 Change-Id: I23e90985ccd3311f0237ed61aadca6d7ed8325b7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* mac frameworks: link target alias to Current versionOswald Buddenhagen2013-07-221-3/+2
| | | | | | | | | | | by convention, $target.framework/$target links to Versions/Current/$target, not Versions/$version/$target. Versions/Current already links to $version. so this adds one indirection, but is otherwise the same. Change-Id: If3d1a3713712f4221ec31883977e50bce6f91764 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix target strip-ing inside mac bundlesOswald Buddenhagen2013-07-221-8/+13
| | | | | | | | this went unnoticed so far, because the mac qmakespecs don't define a strip command to start with. Change-Id: Iac3e7ffa6f400373552134a44b9713aaf5f44589 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* escape paths coming from prl filesOswald Buddenhagen2013-07-221-1/+1
| | | | | | | | | | | qmake has the rather bizarre logic that QMAKE_LIBS* is escaped rather early (instead of right before being written out the the Makefile). consequently, we need to explicitly escape the paths from the prl files as well. Task-number: QTBUG-32326 Change-Id: Ieaf81113d3ca3cf5d8a1ef87c83c5721d6b473ee Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* merge string literalsOswald Buddenhagen2013-07-041-70/+70
| | | | | | | | makes for less visual noise and a tiny bit more efficient code. Change-Id: I587707fa4e2dc9bead9435bf5caf3a98ab680725 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Change two scopes to mac instead of macxTor Arne Vestbø2013-07-021-2/+2
| | | | | | | As they apply to both OSX and iOS. Change-Id: I6ea9c80f9cf3fd593723ae449f16d7905f68545e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Android: Backslash workarounds for Unix Makefile generatorRay Donnelly2013-04-101-10/+14
| | | | | | | | | | | | | | | If mingw32-make.exe encounters a backslash as the last character on a line it interprets this as signifying line continuation. When building Android Qt on Windows via cmd.exe, this happens as backslashes are used on Windows as directory separators. The workarounds are to make sure that a comment appears directly after the definition of DESTDIR and that a space ends such $(MOVE) command lines. Change-Id: I7f93b655e004edaadac41d0d96bca23e1ba3a85c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Android: Split Unix Makefile generator's $(MOVE) commands upRay Donnelly2013-04-081-2/+6
| | | | | | | | Split $(MOVE) commands up into one per file so that cmd.exe's builtin move command can be used. Change-Id: Ife8d7449a2d7718a67082e2d78954964033ce07d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Introduce QMAKE_CC_O_FLAGLaszlo Papp2013-03-251-2/+2
| | | | | | | This makes it possible to properly parametrize alternative compilers. Change-Id: Iaf0961c47875ee16d815356f36acf5652577cdca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add an initial TI linker support for the unix qmake generatorLaszlo Papp2013-03-191-0/+3
| | | | | | Task-number: QTBUG-30215 Change-Id: Ica283e6b7f67563504ed81f4db1c2218fe5e8b8c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* make depend_prl more thorough; introduce fast_depend_prlOswald Buddenhagen2013-03-161-3/+8
| | | | | | | | | | | | | | | depend_prl would so far only ensure that the dependency existed, not that it would be up to date. this is of only limited value, so make sure that the dependencies are always updated. as this is somewhat expensive (every dependency's makefile will be entered as many times as it is used, plus one), provide an opt-out by adding fast_depend_prl. Task-number: QTBUG-29486 Change-Id: Ifa2e100bc4c269a403ab620927bfe5c7efe9a435 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make .prl file generation work for iOS again.Morten Johan Sørvig2013-03-061-8/+8
| | | | | | | | | | | | | d28073d9 creates a distinction between "mac" and "macx". The latter is not set on iOS, which caused MakefileGenerator::target_mode to be set to TARG_UNIX_MODE. Check for the "mac" active config instead of "macx". Rename TARG_MACX_MODE -> TARG_MAC_MODE. Change-Id: I7192788c33f5723034ba76da2492379dd454f0ab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* introduce QMAKE_LINK_O_FLAGOswald Buddenhagen2013-03-021-4/+4
| | | | | | | this makes it possible to properly parametrize alternative linkers. Change-Id: Ia9cf574544a0259975470366d278b6c5dc747906 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* qmake: Resolve QMAKE_INFO_PLIST against current working dirTor Arne Vestbø2013-02-261-1/+1
| | | | | | | | | We're not in the output directory yet, so resolving using vanilla fileFixify will end up failing when we check if the file exists, since QFileInfo resolves relative paths against the current directory. Change-Id: I414c6a2e83b49e3fb30e6153a49f7a90a8e528a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* consolidate generation of metafile install targetsMark Brand2013-01-251-20/+3
| | | | | | | | | Metafiles such as .prl and .pc files contain paths that have to be adjusted during installation. The same code is used for unix and windows so move it into the base class. Change-Id: I82db89ec83820a4fa0214ba15e7cd63438f6dc91 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-183-3/+3
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* don't overquote deps on .pc and .la filesOswald Buddenhagen2013-01-081-6/+2
| | | | | | Change-Id: I00c268b1c0316b6deb0c4e1b2a0c7428e312c682 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* introduce QMAKE_RPATHLINKDIR (and QMAKE_LFLAGS_RPATHLINK)Oswald Buddenhagen2012-12-031-0/+7
| | | | | | | | | complementary to QMAKE_RPATHDIR. this avoids that we need to sprinkle linux/gcc specific code all over the place. Task-number: QTBUG-27427 Change-Id: Iebafd1749d1a0d803704902473df8c743f074ddc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-223-72/+72
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Use QStringList::join(QChar) overload where applicable [qmake]Marc Mutz2012-09-211-6/+6
| | | | | | | | | | This is an automated change performing the following replacements: join\("(.)"\) -> join('\1') join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1')) join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1')) Change-Id: I9c9964703dedfdab6e7bfac80be22bd5570e2e49 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* replace qmake_version() with a simple string literalOswald Buddenhagen2012-09-131-1/+1
| | | | | | Change-Id: I12e715aab23e01267e8a1434a3a965276c1a6182 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix c string comparisonOswald Buddenhagen2012-09-071-1/+1
| | | | | | | Change-Id: If9cc96e240047cfe301804d57a33b937afadef72 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* introduce qmake variable abstractionsOswald Buddenhagen2012-09-073-189/+194
| | | | | | | | this is preparation for adapting to a new evaluator. Change-Id: I6fc59f5525735754a00afa6629fbfe257e84db97 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* restore support for QMAKE_LIBDIR_FLAGSOswald Buddenhagen2012-09-051-5/+7
| | | | | | | | unexpectedly, this internal variable is documented. grumble. Change-Id: I272c1f553b56f253d2f59f875de78d5bc279186a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* make QMakeMetaInfo a little less inefficient with libtool .la filesOswald Buddenhagen2012-09-051-1/+1
| | | | | | | | | don't read the spec from scratch for every library just to get QMAKE_LFLAGS_RPATH. we can perfectly use our current project for that purpose. Change-Id: I4e408b3fd5de81652181df032aa53cd8f2f8f806 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove handling of QMAKE_FILETAGSOswald Buddenhagen2012-09-031-7/+0
| | | | | | | | it was unused for a decade. and broken, of course. Change-Id: I9713d595d95c5b074ef96dfe9b1c314b9198bd7e Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* micro-optimize: use POD-initializable lists of variable namesOswald Buddenhagen2012-08-282-12/+12
| | | | | Change-Id: I3732fef509b358949ef90002dbfc1960360afef8 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* remove dead variable assignmentsOswald Buddenhagen2012-08-281-1/+0
| | | | | | Change-Id: I032e9116ca1b7250497f56ea26103f2173f0fc09 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* beautify "aux" targetOswald Buddenhagen2012-08-171-8/+10
| | | | | | | it works better when it castrates the app template, rather than staticlib Change-Id: If52960fb48d770e8ec096c66b579539512b8d299 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* findLibraries(): don't remove -L options for system pathsOswald Buddenhagen2012-08-041-1/+2
| | | | | | | | | the paths may be explicitly added before some other paths, so it would be wrong to remove them. Change-Id: I68ae93fd307afe14a07a0f24de952783950b5bea Reviewed-by: Holger Freyther <holger+qt@freyther.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Remove references to Borland and bmakeAndy Shaw2012-08-011-2/+1
| | | | | | | | | Remove references to an old compiler that has not been supported for a long time. Also remove Borland specific configuration flags which have no meaning elsewhere. Change-Id: I3634a52b78f737ea972073e14c2b6669dcd0ae63 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* run processPrlFiles() over QMAKE_LIBS_PRIVATE as wellOswald Buddenhagen2012-07-311-1/+1
| | | | | | | | | | | | there is no reason why private libs should not have prls resolved. the two variables are resolved independently, so it's possible that (even more) libraries will appear duplicated on the linker command line, but that seems easiest for the time being. Change-Id: I9070ba53808a0661fa72949db8111106b7aca487 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make the windows prl processing more like the unix variantOswald Buddenhagen2012-07-312-10/+0
| | | | | | | | it's more elegant, and more similar code is better. Change-Id: I2b8b036cb70a932fd171e23cf7d3389188401924 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* do not look for frameworks in library pathOswald Buddenhagen2012-07-281-3/+2
| | | | | | | it's just wrong Change-Id: Ia21e9fb7e67623d6c4f70eab1f76360624ba314b Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* insert explicit library search paths before system search pathsOswald Buddenhagen2012-07-281-4/+6
| | | | | | | | ... as the linker does. Change-Id: I4a030d9e2f281b892b78ba25b11f6df6b0893712 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* look into /Library/Frameworks as well in processPrlFiles()Oswald Buddenhagen2012-07-281-0/+1
| | | | | | Change-Id: I445b9d1d3cd349eb7981b1aec824e6878b0c16e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* unify default search paths between findLibraries() & processPrlFiles()Oswald Buddenhagen2012-07-281-0/+2
| | | | | | | | i see no reason why they should deviate Change-Id: Iaa0445b79a95d348f51df74a74c7c89216c468ec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix lookup of libraries with a full path but without extensionOswald Buddenhagen2012-07-281-2/+3
| | | | | | | | | given that nobody noticed so far how broken this was, this doesn't appear to be a particularly common path. but anyway ... Change-Id: Ic17b239d724a4d69ff414a24be2e8588732bc8dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* don't actually resolve frameworks in findLibraries()Oswald Buddenhagen2012-07-281-16/+4
| | | | | | | | | | | the code wouldn't actually *do* anything with them, because it was completely broken. didn't seem to hurt, so just remove it. we still need to parse -framework, though, so we don't do funny things with its possible argument. Change-Id: Ia3266538612d3314a72f4965ee9c1ea2d3046ac9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* dispose of QMAKE_LIBDIR_FLAGS, "demote" QMAKE_FRAMEWORKPATH_FLAGSOswald Buddenhagen2012-07-272-6/+9
| | | | | | | | | | | merge their content as early as possible into QMAKE_LIBS. that's where they ultimately end up anyway, and this approach is way simpler. QMAKE_FRAMEWORKPATH_FLAGS is also used for the compiler flags, so it remains as such in this second function. Change-Id: Idc3ba4a9b2569fce3252d5f5ddc3f6ebf93650cf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove duplicate -L flags in findLibraries()Oswald Buddenhagen2012-07-271-3/+7
| | | | | | | | unlike duplicated -l options, duplicated -L options are really redundant. Change-Id: I4fa42d8ee2f10c6e6263457d9bb97291e13685ef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* unify handling of non-standard linker -L flagsOswald Buddenhagen2012-07-271-11/+16
| | | | | | | | | findLibraries() now consistently expands to the linker-specific syntax, and processPrlFiles() expects that syntax. Change-Id: Ifd7b51d01378c91d6f2b132aca33629f21ca72f9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* do not run findLibraries() over QMAKE_LFLAGSOswald Buddenhagen2012-07-241-2/+2
| | | | | | | | libraries and related flags have no business in that variable, by definition. Change-Id: Ic958a3e082a498945ab56bc12ec05d4083ee43a5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* remove another symbian remnant: QMAKE_RVCT_LINKSTYLEOswald Buddenhagen2012-07-121-7/+2
| | | | | Change-Id: Ibac060ecae061c72d4c7076b2d61a5cdd6247420 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make the prl lookup search in standard locationsOswald Buddenhagen2012-07-121-0/+2
| | | | | | | | | | | | qtAddModule() skips adding standard library paths to LIBS. however, as processPrlFiles() didn't know anything about that, it would not find the prl files of qt libraries in these paths. so centralize the definition of these default paths (we should actually ask the linker for them) and use it in both places. do the same for the include paths for symmetry. Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* const correctness for values() callsOswald Buddenhagen2012-06-272-14/+16
| | | | | Change-Id: I1476ae8d3fb7364686398c5650729dee94a8e933 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* revamp handling of qmake target modeOswald Buddenhagen2012-06-271-10/+9
| | | | | | | | | | | the project evaluator becomes oblivious of the target mode. the mode is set up in spec_post.prf according to the spec. $$QMAKE_TARGET contains the feature suffixes to search, and is also contained in $$CONFIG. the target_mode variable itself becomes private to the Makefile class. Change-Id: I3c06d9dab536b753343cec6c5c491d3203e50bd8 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* make 'qmake' target of SUBDIRS projects non-recursiveOswald Buddenhagen2012-06-191-2/+0
| | | | | | | | | that's consistent with other projects. 'qmake_all' can be used for recursion. Change-Id: Ie6d620f7a3e0e28d3f2f82f01ca94c2f46137c68 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>