[Development] renaming qmake for everyone (was: Re: Co-installation & library naming rules=)

Ziller Eike Eike.Ziller at digia.com
Fri Oct 19 10:33:28 CEST 2012


On 18 Oct 2012, at 20:26, Thiago Macieira <thiago.macieira at intel.com> wrote:

> On quinta-feira, 18 de outubro de 2012 18.05.31, Ziller Eike wrote:
>> I'd throw Mac out of sentences that have Linux in them in this discussion:
>> There are no "Mac" distributions/distributors that package Qt
> 
> There's MacPorts.

We really don't have to set standards for MacPorts/Homebrew.

>> On Mac, Qt will either be self-compiled (you are on your own which is fine),
>> or installed through our binary installers - which will install different
>> Qt versions (version + tool chain specific) into different directories
>> (http://qt-project.org/wiki/Qt5_beta2_component_tree) so there is no
>> conflict either. Same situation like on Windows, except that Windows has
>> the environment set up thingies.
> 
> That's the SDK hierarchy. The Libraries Only install does a global install 
> with frameworks, but frameworks suffers from not being renameable.

Do we have a libraries-only install for Qt5? I have only heard of SDK installers yet. We had something in that direction for Qt4, but actually I think it's a bad idea, as I already outlined in previous discussions (even Xcode doesn't do a global install anymore, except if you really really really force it, then you can install the command line tools globally (only one version simultaneously), but not the SDKs).

Frameworks are not renameable, but solve the "major version" problem anyhow, so why rename them.

>> Developers who distribute their Qt application on Windows and Mac usually
>> ship a private Qt copy with their application --> no conflict. But even if
>> they install Qt systemwide, we are using frameworks on Mac which
>> automatically do versioning for major versions if done right, and we are
>> adding the major version to dlls on Windows already.
> 
> Yup.
> 
> What I haven't understood yet is how you select a different version besides 
> "Current" in Mac frameworks.

You don't  select different versions besides "Current".
1) Runtime linking is done against a specific version "QtGui.framework/Versions/4/QtGui" anyhow, so at runtime the right version is taken
2) You just don't use a global framework install for development. Or if you do, you live with developing against "Current" (which is linked into the binaries as a specific version). The globally installed framework is a real exception on Mac: I have a total of 9 frameworks in /Library/Frameworks, 6 of them start with "iLife" or "iTunes". There are basically no globally installed dylibs on Mac besides the system ones, and there's no standard for putting them anywhere either.

Point is: We don't need to optimize for the uncommon case, while making everything more obscure for the common case.

>> The only thing that would be solved is how Linux distributors can install
>> multiple (major) versions of Qt simultaneously.
> 
> Right.

-- 
Eike Ziller, Senior Software Engineer - Digia, Qt
 
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B




More information about the Development mailing list