Hello Tim! > So how about setting the spec option if there is only one toolchain available > for the corresponding arch? That would at least fix the most common use case.
What we want the user to do is to easily switch between different tool chains. I have a patch pending review at this time that has the following commit message (Note the USE CASE sections are not part of the commit message of course;-): ABI: Improve tool chain selection for Qt projects * Set a null-ABI for toolchains where detection of ABI failed: This allows the user to select any tool chain. * Warn if ABI detection fails by showing a message in the Qt version setup dialog * Do not override the mkspec if the Qt version has a null ABI only: We (have to) trust the user to know what he is doing in that case. USE CASE (for all three bullet points so far): Creator fails completely to detect the tool chain. Andre had this happen to him since he did not have a QtCore library installed with the qmake he wanted to use. * GCC: Add version information to GCC tool chain and use it to select the mkspec on Mac. USE CASE: Apple users seem to need to use older versions of GCC at times. This should properly fix e.g. the Issue Volker reported in QTCREATORBUG-5756 * GCC: Do not override mkspec if we do a cross-compile (and actually detect that). USE CASE: cross compiling. Note that this might fail when cross compiling to some device that ends up having the same ABI as the host PC. We need a way for the user to tell us that a Qt version/Tool chain is actually used to cross compile, but that is for another commit. * GCC: Leave out -32 or -64 from mkspec if the compiler binaries ABI matches the target ABI. USE CASE: One report that claimed that he ran into trouble due to his gcc variant not supporting -m32. * Linux-generic is compatible with all other linuxes (both ways) The targets themselves do additional filtering and will remove anything that does not work for them anyway. USE CASE: Hand-crafted cross compiled Qt versions that we misdetect. I have another patch that actually adds a warning message to the qmake step if the mkspec used by the qmake step differs from what the tool chain suggested. So there is at least a chance for novices to notice that the wrong compiler is used;-) That is QTCREATORBUG-5854 for those interested. Note that these changes only effect the desktop target. The others are already pretty smart about the tool chains and Qt versions they support and override the default selection mechanismns. Did I miss any important use cases? Best Regards, Tobias -- Tobias Hunger Software Engineer Nokia, Qt Development Frameworks Nokia gate5 GmbH Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B Umsatzsteueridentifikationsnummer: DE 812 845 193 Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori _______________________________________________ Qt-creator mailing list Qt-creator@qt.nokia.com http://lists.qt.nokia.com/mailman/listinfo/qt-creator