On Mar 25, 2013, at 5:11 AM, Sorvig Morten <[email protected]> wrote:

> On Mar 23, 2013, at 1:51 AM, Jake Thomas Petroules 
> <[email protected]> wrote:
> 
>> I'd like to suggest that we add a new Q_OS_ define.
>> 
>> Currently, for Apple platforms, we have:
>> 
>> Q_OS_DARWIN
>> Q_OS_DARWIN32
>> Q_OS_DARWIN64
>> Q_OS_IOS
>> Q_OS_MAC
>> Q_OS_MAC32
>> Q_OS_MAC64
>> Q_OS_MACX
>> 
>> The first three are very straightforward. Q_OS_DARWIN is defined for both 
>> Apple platforms, OS X and iOS, with specific defines for 32 and 64 bit. iOS 
>> -- also straightforward; means iOS.
>> 
>> Then we get confusing. You'd think Q_OS_MAC is defined for OS X only, but 
>> it's just a synonym for Darwin, which makes it mostly useless. Further 
>> confusing is Q_OS_MACX which even more strongly implies that  it refers to 
>> OS X, but again it's simply a synonym for Darwin.
>> 
>> This results in a ton of #if defined(Q_OS_MAC) && !defined(Q_OS_IOS), which 
>> is very counterproductive. I propose that we add a Q_OS_OSX define (and 
>> Q_OS_OSX32 / Q_OS_OSX64) which is only defined for OS X. This would be quite 
>> helpful, I think.
>> 
>> Any objections? If not, dev or stable?
> 
> My initial thoughts are that the current situation is manageable and that 
> "very counterproductive" is an overstatement. 
> 
> We recently started differentiating between "mac" and "macx" on the qmake 
> level (d28073d9). A quick grep shows that "Q_OS_MACX" is currently used in 
> two places in Qt (qsharedpointer.cpp and tst_qmlvisual.cpp). Re-purposing it 
> to mean "OS X" only should be doable.
> 
> Morten


That sounds reasonable. I didn't know we could change the meaning of an 
existing ifdef, but it makes sense to be in line with the corresponding changes 
to qmake.
-- 
Jake Petroules
Chief Technology Officer
Petroules Corporation ยท www.petroules.com
Email: [email protected]
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to