Skip to content

Commit ba3dc5f

Browse files
Bradley T. HughesQt by Nokia
authored andcommitted
Move operating system detection from qglobal.h to a separate header
qsystemdetection.h is included from qglobal.h, and does all Q_OS_* detection A side-effect of this change is that QT_BEGIN_HEADER and QT_END_HEADER started being defined on Mac OS X, which ends up breaking the build in some cases. Since QT_BEGIN_HEADER and QT_END_HEADER have been defined to nothing in the past, even on Mac OS X, change these 2 to be unconditionally defined to nothing. Change-Id: Ibc8a0aa2207664741c25627d7621e006c2ce80d3 Reviewed-by: Thiago Macieira <[email protected]>
1 parent 3282b06 commit ba3dc5f

File tree

3 files changed

+225
-168
lines changed

3 files changed

+225
-168
lines changed

src/corelib/global/global.pri

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
HEADERS += \
44
global/qglobal.h \
5+
global/qsystemdetection.h \
56
global/qnamespace.h \
67
global/qendian.h \
78
global/qnumeric_p.h \

src/corelib/global/qglobal.h

Lines changed: 2 additions & 168 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
#include <QtCore/qconfig.h>
6363
#endif
6464

65+
#include <QtCore/qsystemdetection.h>
66+
6567
#ifdef __cplusplus
6668

6769
#ifndef QT_NO_STL
@@ -140,181 +142,13 @@ namespace QT_NAMESPACE {}
140142

141143
#endif /* __cplusplus */
142144

143-
#if defined(Q_OS_MAC) && !defined(Q_CC_INTEL)
144-
#define QT_BEGIN_HEADER extern "C++" {
145-
#define QT_END_HEADER }
146-
#else
147145
#define QT_BEGIN_HEADER
148146
#define QT_END_HEADER
149-
#endif
150-
151-
/*
152-
The operating system, must be one of: (Q_OS_x)
153-
154-
DARWIN - Darwin OS (synonym for Q_OS_MAC)
155-
MSDOS - MS-DOS and Windows
156-
OS2 - OS/2
157-
OS2EMX - XFree86 on OS/2 (not PM)
158-
WIN32 - Win32 (Windows 2000/XP/Vista/7 and Windows Server 2003/2008)
159-
WINCE - WinCE (Windows CE 5.0)
160-
CYGWIN - Cygwin
161-
SOLARIS - Sun Solaris
162-
HPUX - HP-UX
163-
ULTRIX - DEC Ultrix
164-
LINUX - Linux
165-
FREEBSD - FreeBSD
166-
NETBSD - NetBSD
167-
OPENBSD - OpenBSD
168-
BSDI - BSD/OS
169-
IRIX - SGI Irix
170-
OSF - HP Tru64 UNIX
171-
SCO - SCO OpenServer 5
172-
UNIXWARE - UnixWare 7, Open UNIX 8
173-
AIX - AIX
174-
HURD - GNU Hurd
175-
DGUX - DG/UX
176-
RELIANT - Reliant UNIX
177-
DYNIX - DYNIX/ptx
178-
QNX - QNX
179-
QNX6 - QNX RTP 6.1
180-
LYNX - LynxOS
181-
BSD4 - Any BSD 4.4 system
182-
UNIX - Any UNIX BSD/SYSV system
183-
*/
184-
185-
#if defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__))
186-
# define Q_OS_DARWIN
187-
# define Q_OS_BSD4
188-
# ifdef __LP64__
189-
# define Q_OS_DARWIN64
190-
# else
191-
# define Q_OS_DARWIN32
192-
# endif
193-
#elif defined(__CYGWIN__)
194-
# define Q_OS_CYGWIN
195-
#elif !defined(SAG_COM) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))
196-
# define Q_OS_WIN32
197-
# define Q_OS_WIN64
198-
#elif !defined(SAG_COM) && (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
199-
# if defined(WINCE) || defined(_WIN32_WCE)
200-
# define Q_OS_WINCE
201-
# else
202-
# define Q_OS_WIN32
203-
# endif
204-
#elif defined(__sun) || defined(sun)
205-
# define Q_OS_SOLARIS
206-
#elif defined(hpux) || defined(__hpux)
207-
# define Q_OS_HPUX
208-
#elif defined(__ultrix) || defined(ultrix)
209-
# define Q_OS_ULTRIX
210-
#elif defined(sinix)
211-
# define Q_OS_RELIANT
212-
#elif defined(__native_client__)
213-
# define Q_OS_NACL
214-
#elif defined(__linux__) || defined(__linux)
215-
# define Q_OS_LINUX
216-
#elif defined(__FreeBSD__) || defined(__DragonFly__)
217-
# define Q_OS_FREEBSD
218-
# define Q_OS_BSD4
219-
#elif defined(__NetBSD__)
220-
# define Q_OS_NETBSD
221-
# define Q_OS_BSD4
222-
#elif defined(__OpenBSD__)
223-
# define Q_OS_OPENBSD
224-
# define Q_OS_BSD4
225-
#elif defined(__bsdi__)
226-
# define Q_OS_BSDI
227-
# define Q_OS_BSD4
228-
#elif defined(__sgi)
229-
# define Q_OS_IRIX
230-
#elif defined(__osf__)
231-
# define Q_OS_OSF
232-
#elif defined(_AIX)
233-
# define Q_OS_AIX
234-
#elif defined(__Lynx__)
235-
# define Q_OS_LYNX
236-
#elif defined(__GNU__)
237-
# define Q_OS_HURD
238-
#elif defined(__DGUX__)
239-
# define Q_OS_DGUX
240-
#elif defined(__QNXNTO__)
241-
# define Q_OS_QNX
242-
#elif defined(_SEQUENT_)
243-
# define Q_OS_DYNIX
244-
#elif defined(_SCO_DS) /* SCO OpenServer 5 + GCC */
245-
# define Q_OS_SCO
246-
#elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */
247-
# define Q_OS_UNIXWARE
248-
#elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */
249-
# define Q_OS_UNIXWARE
250-
#elif defined(__INTEGRITY)
251-
# define Q_OS_INTEGRITY
252-
#elif defined(VXWORKS) /* there is no "real" VxWorks define - this has to be set in the mkspec! */
253-
# define Q_OS_VXWORKS
254-
#elif defined(__MAKEDEPEND__)
255-
#else
256-
# error "Qt has not been ported to this OS - see http://www.qt-project.org/"
257-
#endif
258-
259-
#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64) || defined(Q_OS_WINCE)
260-
# define Q_OS_WIN
261-
#endif
262-
263-
#if defined(Q_OS_DARWIN)
264-
# define Q_OS_MAC
265-
# define Q_OS_MACX /* Q_OS_MACX is only for compatibility.*/
266-
# if defined(Q_OS_DARWIN64)
267-
# define Q_OS_MAC64
268-
# elif defined(Q_OS_DARWIN32)
269-
# define Q_OS_MAC32
270-
# endif
271-
#endif
272-
273-
#if defined(Q_OS_WIN)
274-
# undef Q_OS_UNIX
275-
#elif !defined(Q_OS_UNIX)
276-
# define Q_OS_UNIX
277-
#endif
278147

279148
#if defined(Q_OS_DARWIN) && !defined(QT_LARGEFILE_SUPPORT)
280149
# define QT_LARGEFILE_SUPPORT 64
281150
#endif
282151

283-
#ifdef Q_OS_DARWIN
284-
# ifdef MAC_OS_X_VERSION_MIN_REQUIRED
285-
# undef MAC_OS_X_VERSION_MIN_REQUIRED
286-
# endif
287-
# define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_4
288-
# include <AvailabilityMacros.h>
289-
# if !defined(MAC_OS_X_VERSION_10_3)
290-
# define MAC_OS_X_VERSION_10_3 MAC_OS_X_VERSION_10_2 + 1
291-
# endif
292-
# if !defined(MAC_OS_X_VERSION_10_4)
293-
# define MAC_OS_X_VERSION_10_4 MAC_OS_X_VERSION_10_3 + 1
294-
# endif
295-
# if !defined(MAC_OS_X_VERSION_10_5)
296-
# define MAC_OS_X_VERSION_10_5 MAC_OS_X_VERSION_10_4 + 1
297-
# endif
298-
# if !defined(MAC_OS_X_VERSION_10_6)
299-
# define MAC_OS_X_VERSION_10_6 MAC_OS_X_VERSION_10_5 + 1
300-
# endif
301-
# if !defined(MAC_OS_X_VERSION_10_7)
302-
# define MAC_OS_X_VERSION_10_7 MAC_OS_X_VERSION_10_6 + 1
303-
# endif
304-
# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_7)
305-
# warning "This version of Mac OS X is unsupported"
306-
# endif
307-
#endif
308-
309-
#ifdef __LSB_VERSION__
310-
# if __LSB_VERSION__ < 40
311-
# error "This version of the Linux Standard Base is unsupported"
312-
# endif
313-
#ifndef QT_LINUXBASE
314-
# define QT_LINUXBASE
315-
#endif
316-
#endif
317-
318152
/*
319153
The compiler, must be one of: (Q_CC_x)
320154

0 commit comments

Comments
 (0)