[Development] Breaking up QtPlatformSupport

Thiago Macieira thiago.macieira at intel.com
Mon Mar 12 14:56:02 CET 2012


On segunda-feira, 12 de março de 2012 11.50.17, morten.sorvig at Nokia.com wrote:
> On Mar 12, 2012, at 11:24 AM, ext Thiago Macieira wrote:
> > Anyway, either way this library will be gone. The most likely solution is
> > that we will break it up into many smaller .a libraries.
>
> One other thing I've noticed is that linking agains an .a library breaks
> incremental builds: touch qfontengine_coretext.mm, and the following
> top-level build will not re-link the cocoa platform plugin.

That's not just Mac. It happens on all platforms.

qmake does not add a dependency on the .a file, so the other target doesn't get 
relinked.

> The best way to fix this seems to just include the relevant platform support
> .pri files directly in the cocoa plugin (see
> http://codereview.qt-project.org/#change,16107).

Which is what I'd prefer, but Jørgen is strongly against.

> Since nobody seems to want multiple .a files, what if we compromise and
> allow both approaches? In-source platform plugins can use the .pri files
> directly while out-of-source plugins link against libplatformsuppport.

It doesn't solve my problem. Those out-of-source plugins would not link 
properly.

The way I see it, our options are:

1) do nothing (not an option, just for comparison)
	=> no plugins link properly
	=> relinking broken

2) add the missing LIBS to platformsupport
	=> plugins link to libs they don't need
	=> relinking broken

3) break platformsupport into smaller libs
	=> lots of work
	=> links properly
	=> relinking still broken

4) remove the libs completely
	=> links properly
	=> relinking fixed
	=> plugins outside of qtbase cannot use platformsupport

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
     Intel Sweden AB - Registration Number: 556189-6027
     Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120312/4cca0712/attachment.sig>


More information about the Development mailing list