[Development] Frameworks on Mac?

Tor Arne Vestbø tor.arne.vestbo at digia.com
Fri Nov 23 14:20:31 CET 2012


Hi,

On 11/22/12 6:52 , Thiago Macieira wrote:
> That's the point: the conclusion was that the default on Mac is to *not* have
> frameworks anymore. It might have been the case in the past, but recently the
> trend has been to have regular libraries. Apple themselves are now preferring
> that way, by having a full system sysroot shipped with XCode, for each
> supported version of Mac OS X.

Hmm, I don't think we should move away from frameworks on Mac OS.

As Morten mentions, these sysroots [1] still contain Frameworks for any 
API provided by Apple:

> [whopper:/.../MacOSX10.8.sdk] $ ls System/Library/Frameworks
> AGL.framework                     DVDPlayback.framework             OpenAL.framework
> AVFoundation.framework            DirectoryService.framework        OpenCL.framework
> Accelerate.framework              DiscRecording.framework           OpenDirectory.framework
> Accounts.framework                DiscRecordingUI.framework         OpenGL.framework
> AddressBook.framework             DiskArbitration.framework         PCSC.framework
...

Plus ofc other system libs:

> [whopper:/.../MacOSX10.8.sdk] $ ls usr/lib
> bundle1.o                         libdtrace.dylib                   libnetsnmpmibs.dylib
> crt1.10.5.o                       libecpg.6.3.dylib                 libnetsnmptrapd.25.dylib
> crt1.10.6.o                       libecpg.6.dylib                   libnetsnmptrapd.dylib
> crt1.o                            libecpg.dylib                     libobjc.A.dylib
> dtrace                            libecpg_compat.3.3.dylib          libobjc.dylib
...

Regarding the installation path, /Library/Frameworks makes more sense 
than /usr/local/Qt to me. What's the benefit of switching that?

We might also investigate creating an overlay-SDK for mac, which appends 
the base SDK (sysroot). This can be used in Xcode through the 
ADDITIONAL_SDKS build setting, or directly as normal. The convention 
seems to be to install this into ~/Library/SDKs/Qt/$(PLATFORM_NAME).sdk, 
eg ~/Library/SDKs/Qt/macosx.sdk.

tor arne

[1] 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

>
> Though I confess I don't understand why the frameworks in
> /System/Library/Frameworks have headers inside.
>
> Besides, I'm told that deploying frameworks inside app bundles is harder than
> deploying simple shared libraries.
>
>
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
>



More information about the Development mailing list