summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* WinRT: Add qmake support for Windows 10Maurice Kalinowski2015-05-264-6/+43
| | | | | | | | | | | | | | | | | | This allows creation of applications for - x86 - x64 - arm While the arm build theoretically also allows to launch on a mobile, it currently asserts on runtime. Either we will create a new mkspec for Windows 10 Mobile in the future, or do runtime checks for the environment. That also depends on whether there will be a separate SDK by Microsoft. Change-Id: I510bfc88410a5b5a1eb7c37f7f43888d1e5dda0d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* remove vestiges of -prebind magicOswald Buddenhagen2015-05-221-4/+1
| | | | | | | | | | | | | | | | | | | | since commit 22edeb3f4 (private; anno 2002), the generator would extract -prebind and translate it into a PREBINDING property in the pbx file. the writeout to the pbx file got lost in the rewrite for Xcode 3.2 (commit 66f6e5b1; anno 2012). this isn't particularly bad, as prebinding is obsolete since OS X 10.3.4. we now go the last mile and remove the handling of the flag. that means that remaining projects which still use it (meaninglessly) will get a warning from Xcode, which is kinda what we want. QMAKE_LFLAGS should have never been part of the library iteration loop. it was added there in the prebind handling commit, so we can get rid of it again now. Change-Id: Id7dee2b1e248bb2bd7aa7a3e66f82057921afffd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* fix quoting of qmake parameters in 'qmake' targetOswald Buddenhagen2015-05-221-1/+1
| | | | | | | | we need to do full shell quoting, not the limited whitespace quoting. Task-number: QTBUG-46224 Change-Id: I41bc9aee556ca680dce0875b58159a31db962452 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* move symlinking loop into the symlink container emptiness conditionalOswald Buddenhagen2015-05-201-10/+11
| | | | | | | | it obviously makes no sense to set up the loop if the container is empty. as we now have that conditional anyway ... Change-Id: I6d95c0102734852443c188012bfcb076d879581e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* bundles: create Versions/Current only if versioned resources are presentOswald Buddenhagen2015-05-201-1/+1
| | | | | | | | | | | | QMAKE_FRAMEWORK_VERSION has a fallback to VER_MAJ (which derives from VERSION), so it's pretty much always set, thus defeating the previous check. amends 6cb495de. Task-number: QTBUG-46215 Change-Id: I2c5560c469617ebeab978e4de78df00baf38d49d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* add qmake evaluator testOswald Buddenhagen2015-05-201-0/+1
| | | | | Change-Id: I31b95daede5edef245dd1ba447f2937a0db34232 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* move get{,Hash}Str from QMakeEvaluator to ProFileOswald Buddenhagen2015-05-204-28/+32
| | | | | | | this makes it possible to use these functions without an evaluator. Change-Id: I23e4ec141b427f4c3c8b647305532be179058c07 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove bogus parens from error messagesOswald Buddenhagen2015-05-201-2/+2
| | | | | Change-Id: I2683a4fb19a7251dc537e3265db3ba28079eb4b8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* trim whitespace from windows error messagesOswald Buddenhagen2015-05-201-1/+1
| | | | | | | the messages contain a trailing CRLF, which is not helpful. Change-Id: I4a27115a191dc416a62e28a41f2a9c5893bdc64b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove trailing dots from some error messagesOswald Buddenhagen2015-05-201-3/+3
| | | | | | | | the i/o functions are not very consistent about having the dot already in the message. the windows api does, and qt passes this on. Change-Id: I2d1a213965e15478985d6eff205689ea44aa2a03 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make defined() error message tell about "var" typeOswald Buddenhagen2015-05-201-1/+1
| | | | | Change-Id: I21d994ebaee2db0d9b114812a8f89bb680ca311e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make infinite loop protection work even without an iterator variableOswald Buddenhagen2015-05-201-2/+2
| | | | | | | ... (which is the usual case). Change-Id: I464b6b284f963df45c7340ed079d540b528136f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix quote nesting in split_value_list()Oswald Buddenhagen2015-05-201-1/+2
| | | | | | | a single quote must not disrupt a double quoted string and vice-versa. Change-Id: Ibb277bc1c930a7dbe9199ca572507ababbcfae4c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* add autotest for ProStringOswald Buddenhagen2015-05-201-0/+12
| | | | | | | also adds documentation, which is kind of a sanity test. ehm. Change-Id: I6b520e8b505a2bfbb1e376fa72be0f140227a3a4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* xcode generator: don't change output_dir when opening a pbx file directlyRichard Moe Gustavsen2015-05-151-4/+7
| | | | | | | | | | | | | | | | | | | | | | | ProjectBuilderMakefileGenerator::openOutput should only change back Option::output_dir when creating a pbx file inside an Xcode project. Since the pbx file will be placed inside a different directory than output_dir when creating an Xcode project, MakefileGenerator::openOutput() will redirect output_dir to be inside the Xcode project as well. Since we don't want this redirection, we change output_dir back to what it was once the call returns. But we should only do this when creating the whole Xcode project, since only then we create a pbx file that is different from output_dir in the first place. A bug with this is seen when making qt_makeqmake.mak (which is a helper makefile inside the Xcode project). That file will only regenerate the pbx file (and not the whole Xcode project), which means that we don't enter the fileName.isEmpty() section, which means that output_dir should stay as it is. Task-number: QTBUG-45826 Change-Id: I03d5c3dec395ff4768f9272fd1981c6fd35efb1e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* fix wrong path separators in extra compiler commandsOswald Buddenhagen2015-05-081-1/+1
| | | | | Change-Id: I19a2c53c301becbbe5b70e47067f9a3355f7b04a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* fix (un-)installation for TEMPLATE = auxOswald Buddenhagen2015-05-082-11/+15
| | | | | | | | don't try to install the primary target, as it obviously doesn't exist. however, we must not disarm bundle installation. Change-Id: I3074150f749220d77c1210a4978e71aff9c9a3a9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make QMAKE_FRAMEWORK_VERSION work independently of TEMPLATEOswald Buddenhagen2015-04-271-7/+13
| | | | | | | | | QMAKE_BUNDLE_DATA itself does as well, and it can refer to versioned resources. Change-Id: I3d9bf23c2ff81dbb1cd929f3f0e0ce1e67f3258a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* remove superfluous method re-implementationJoerg Bornemann2015-04-271-3/+1
| | | | | | | | | | Remove a superfluous implementation of VcprojGenerator::replaceExtraCompilerVariables. The implementation in the base class is exactly the same. Use that instead. Change-Id: Ie7d995be1b0d55fbefd15ae6b7a992237d97839c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* fix distclean targetsOswald Buddenhagen2015-04-232-1/+5
| | | | | | | | | | this makes the distclean targets work throughout qt. the dreaded confclean target is aliased to distclean. Task-number: QTBUG-8202 Task-number: QTBUG-20566 Change-Id: I7ac8e3b5b0110825dc93e4fa885281db91c6cf83 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* automatically distclean internally generated artifactsOswald Buddenhagen2015-04-232-3/+11
| | | | | | | specifically, .prl, .pc, and .la files, and QMAKE_SUBSTITUTES outputs. Change-Id: I27685125668f0ec2aa81a8f003d3605accf2ab36 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix distclean target for plugins under unixOswald Buddenhagen2015-04-231-2/+2
| | | | | Change-Id: I5ebaba8575dfac9597e1ead92d42955ff626e1b1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't fail to fix path separators in extra compilers' clean targetsOswald Buddenhagen2015-04-231-2/+4
| | | | | | | | this affects only files explicitly listed via the .clean member without placeholders, so more or less a corner case. Change-Id: I7bd55948130aaee116d1a4bebbad0c445b76197b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* untangle handling extra compiler .clean member, take 2Oswald Buddenhagen2015-04-231-5/+4
| | | | | | | | | | fixes clean targets of (most) extra compilers being empty. amends commit 0812b5b3188. Task-number: QTBUG-45132 Change-Id: I069bca124587df261597a4f8183a4695cd834e29 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix {ALL,CLEAN,DISTCLEAN}_DEPS writeout to makefileOswald Buddenhagen2015-04-231-3/+3
| | | | | | | | it helps enormously to put spaces between target names ... Task-number: QTBUG-45533 Change-Id: Ic41f8287c6c37761b1be3ad7c383b5c7fb714b12 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make diff between aux and app TEMPLATEs smallerOswald Buddenhagen2015-04-231-5/+4
| | | | | | | | people may use extra compilers which refer to CXXFLAGS & co., so set them up "as normal". Change-Id: I858ca63370a7aed66e04f5417da078b896feefc4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix extra compilers with indirect outputs in VS projectsJoerg Bornemann2015-04-232-2/+21
| | | | | | | | | | | Evaluate the .output variable of the extra compiler to determine the file extension of its output. The VS project generator needs it to determine the filter that will contain the output file. Change-Id: Iab1e154a712342401e17421c08975fad13967a5b Task-number: QTBUG-45717 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* make fileFixify() calling convention somewhat saneOswald Buddenhagen2015-04-219-65/+72
| | | | | | | | | | instead of allowing arbitrary input and output base paths, restrict them to the project input and output dirs (in any permutation), which are the only cases ever used anyway. this permits much clearer call sites, and allows later optimizations. Change-Id: I48d149a4417af5c858e66ec57c476a5bc6b17f17 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* unhack Xcode shadow buildingOswald Buddenhagen2015-04-211-34/+26
| | | | | | | | | explicitly use the correct directories instead of temporarily changing into the output dir. this makes the code less obfuscated. Change-Id: Ia935987f486151ae556910703cc20945c7610ffc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Revert "Use relative path for QMAKE_BUNDLE_DATA"Oswald Buddenhagen2015-04-211-1/+1
| | | | | | | | | | | | | turns out that a relative path makes some versions of Xcode crash. so use an absolute path again. fileFixify() has been fixed for shadow builds to make this possible. This reverts commit 6ccf0a326ef415b7c9c8d80e9ede0da85e2fb52b. Task-number: QTBUG-45424 Change-Id: Ica87c6c29f990f56e42c399b6d9b1c7eacdd13a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* make fileFixify(FileFixifyAbsolute) pay attention to in_dirOswald Buddenhagen2015-04-211-1/+6
| | | | | | | | ... instead of sheepishly assuming qmake_pwd(). it also canonicalizes consistently with the relative output path now. Change-Id: I86231f7259179020643405f3c0e696a74031aa4e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fileFixify(): remove bizarre canonicalizationOswald Buddenhagen2015-04-211-3/+0
| | | | | | | | | | | | it would trigger only if the input file name was already absolute, matched the native path separator, and some (likely) other conditions. as this behavior was almost unpredictable, it would be not very useful. so save ourselves the headache and just remove it. Change-Id: Ic457f487f6d0ce9f7a5f192859c9efa9c2de2b63 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* remove pointless argument to build_args()Oswald Buddenhagen2015-04-212-3/+3
| | | | | | | it's always empty. Change-Id: Icd97b5ac5b77c119174fdce2671f69c88c607428 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix incorrect pass by value.Bjoern Breitmeyer2015-04-212-2/+2
| | | | | | | Make sure we don't pass by value, but by const reference. Change-Id: Ia432e881d2b8116f22a30dfa31186479784ee4a1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Add QMake support for WEC2013 SDKsBjoern Breitmeyer2015-04-213-9/+267
| | | | | | | | | CESDKHandler now retrieves available WEC2013 SDKs from the registry and assembles a working build environment. Change-Id: Ifa70f53aca9d1bf2fadf178a331f46c1efca90ff Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Adding qmake doc details for generating rc filesM. Moellney2015-04-152-33/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | The qmake documentation was missing details about when rc files are autogenerated under Windows. A new section about windows rc files is added in "Platform Notes". Some hints are added in section VERSION. Link to new "Platform Notes" section is added. The VERSION example is extended, too. Link to new "Platform Notes" section is added to RC_ICONS as this is a rc file generator trigger, too. The section "Building an Application" gets a link to the "Platform Notes" and the system variable list was shortened by all entries relevant to windows only rc files. Many links to VERSION were not resolved by qdoc. Adds explicit linkage. Change-Id: Iacbc34d53a6bafa6e7658aaee8c751f32e978177 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* WinPhone: Re-invoke windeployqt in the MSIL directoryMaurice Kalinowski2015-04-091-3/+23
| | | | | | | | | | | | | Visual Studio copies all files to be deployed into the MSIL directory and then invokes MDILXapCompile on it, which checks for managed code and translates it into native code. The problem is that all entries of the package will be copied into the MSIL directly, losing the subdirectory structure (for instance for plugins). Hence we recreate the directory structure manually by invoking windeployqt a second time. Task-number: QTBUG-41753 Change-Id: I3d99cbc531bbe883f87b45de37ba71d93472c042 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Fix qmake generating bizarre msvc /VERSION valuesM. Moellney2015-04-084-14/+36
| | | | | | | | | | | | | | | | | | | | The msvc_nmake and msvc_vcproj generators deduced the exe/dll header version number from the VERSION variable in a "bizarre" way: VERSION=1.2.3.4567 was converted to /VERSION:1.234567. But a minor number beyond 65535 is not accepted by the linker. This fix deduces the major and minor from the major and minor of VERSION: VERSION=1.2.3.4567 leads to /VERSION:1.2. In addition, a new variable is introduced: VERSION_PE_HEADER. With this variable, legacy pro files that rely on the bizarre behavior can re-create it: VERSION=1.2.3.45 and VERSION_PE_HEADER=1.2345 lead to the old result: /VERSION:1.2345 by just taking the VERSION_PE_HEADER to overrule the new behavior. Task-number: QTBUG-44823 Change-Id: Ie093ade83290c098fe2b2a429ce5d6ed6dc750ea Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: Rework dll deploymentOliver Wolff2015-04-071-20/+32
| | | | | | | | | | | | QT_INSTALL_LIBS is not the right place to check for Qt dlls, as they cannot be found there in a non-developer build. In order to be able to find the dlls and make adding dll locations easier for the user, QMAKE_DLLS_PATHS was added. On Windows, the variable points to Qt's bin directory by default. Task-number: QTBUG-44960 Change-Id: Ie4e5beeaadee798a055599387e842d7c0502c27a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-312-6/+7
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * WinRT: Fix documentation for manifest capability descriptionMaurice Kalinowski2015-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | 0c7241cc contains the wrong identifier for device capabilities. This has been updated in a previous commit, but documentation was not properly updated. Task-number: QTBUG-45098 Change-Id: I300a2ea19ebdf8a1aaed492a1bdf24b9af2bd60a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Andrew Knight <qt@panimo.net>
| * Fix QMAKE_INFO_PLIST regression with relative pathsJohn Brooks2015-03-131-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In de5553aa, qmake was fixed to resolve QMAKE_INFO_PLIST based on the current pwd to fix QTBUG-21267. This fix was lost as part of 8c138054 in 5.4. This fixes the error: "WARNING: Could not resolve Info.plist ..." when using qmake for shadow builds on OS X. [ChangeLog][qmake][OS X/iOS] Fixed QMAKE_INFO_PLIST path resolution for shadow builds Change-Id: Icb42b2b3a44856f9b9a86a008081a3353951640d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Add XCTest logger backend to QtTestLibTor Arne Vestbø2015-03-271-0/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Will be active when running test apps through Xcode's 'test' action, and reports QtTestLib test objects and functions to Xcode as XCTest cases. This allows running tests on both iOS Simulator and iOS devices from the command line, through xcodebuild, without relying on any 3rd party tools. It also integrates Qt test failures and passes into the Xcode IDE, which may be useful for closer investigation of test failures. The feature is limited to Xcode 6.x. Change-Id: I33d39edbabdbaebef48d2d0eb7e08a1ffb72c397 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | add DISTFILES support for Visual Studio projectsJoerg Bornemann2015-03-275-0/+23
| | | | | | | | | | | | | | | | | | | | Files in DISTFILES are placed into a "Distribution Files" folder under the project node. Task-number: QTBUG-43162 Change-Id: Ib75aacf1010d9ea63af89d4a9cc92275d714b3cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Xcode: Completely filter out environment variables in build logTor Arne Vestbø2015-03-161-0/+2
| | | | | | | | | | | | | | | | 17d690952b missed a few instances that should have showEnvVarsInLog = 0. Change-Id: I8f1106426447670b0057aeb421efc09bf117e969 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Remove MSVC created lib file for shared library in distclean targetJoni Poikelin2015-03-121-0/+1
| | | | | | | | | | | | | | | | | | MSVC creates .lib file when ever dll with exports is built. Remove this file too in distclean target. Task-number: QTBUG-44685 Change-Id: I84ecb57626926b5bce06a200ff2b705fd2117686 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | iOS: Use Xcode project to filter out environment variables instead of shellTor Arne Vestbø2015-03-091-0/+4
| | | | | | | | | | | | | | | | | | Xcode has a setting for script phases to filter out the environment variables, so we don't need to use grep. Change-Id: Ica1c64321385ab3e3b47cf6f8f4d4191bd963540 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* | centralize setup of shell-related variables in spec_post.prfOswald Buddenhagen2015-03-065-49/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it makes no sense to let every spec do that separately, as it's fixed by the generator+shell. putting it into a file which is loaded regardless of the spec also allows us to remove the hardcoded fallbacks from qmake. if somebody overrode the values in their spec for some weird reasons, they'll need to override spec_post.prf. shell-{unix,win32}.conf are now dummies and print warnings. Task-number: QTBUG-37269 Change-Id: I66c24fb4072ce4d63fdbfc57618daa2a48fa1d80 Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Xcode: Generate scheme manually, instead of letting Xcode do itTor Arne Vestbø2015-03-061-0/+46
| | | | | | | | | | | | | | | | | | | | | | A scheme is required to be able to run tests through Xcode, even from the command line, but Xcode doesn't auto-generate the schemes until launched as an application. Xcode also auto-generates schemes for all our targets, but we only need one for the primary application target. Change-Id: Ia42f3825aba3ffde3be93be55e165d6284434853 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | WinRT: Update documentation on icon handlingMaurice Kalinowski2015-03-051-6/+53
| | | | | | | | | | | | | | | | | | ecf6e34efefcedbff0a457ed4b5e0f4e5d096b37 introduced new values to specify icons in the manifest. Change-Id: I8f0cc9790ffd2f50ed2008bc8bab053b3db4965e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>