248 lines
7.3 KiB
C
248 lines
7.3 KiB
C
/****************************************************************************
|
|
**
|
|
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
|
** Contact: http://www.qt-project.org/legal
|
|
**
|
|
** This file is part of the QtCore module of the Qt Toolkit.
|
|
**
|
|
** $QT_BEGIN_LICENSE:LGPL$
|
|
** Commercial License Usage
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
** accordance with the commercial license agreement provided with the
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
** a written agreement between you and Digia. For licensing terms and
|
|
** conditions see http://qt.digia.com/licensing. For further information
|
|
** use the contact form at http://qt.digia.com/contact-us.
|
|
**
|
|
** GNU Lesser General Public License Usage
|
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
** General Public License version 2.1 as published by the Free Software
|
|
** Foundation and appearing in the file LICENSE.LGPL included in the
|
|
** packaging of this file. Please review the following information to
|
|
** ensure the GNU Lesser General Public License version 2.1 requirements
|
|
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
**
|
|
** In addition, as a special exception, Digia gives you certain additional
|
|
** rights. These rights are described in the Digia Qt LGPL Exception
|
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
**
|
|
** GNU General Public License Usage
|
|
** Alternatively, this file may be used under the terms of the GNU
|
|
** General Public License version 3.0 as published by the Free Software
|
|
** Foundation and appearing in the file LICENSE.GPL included in the
|
|
** packaging of this file. Please review the following information to
|
|
** ensure the GNU General Public License version 3.0 requirements will be
|
|
** met: http://www.gnu.org/copyleft/gpl.html.
|
|
**
|
|
**
|
|
** $QT_END_LICENSE$
|
|
**
|
|
****************************************************************************/
|
|
|
|
#ifndef QGLOBAL_H
|
|
# include <QtCore/qglobal.h>
|
|
#endif
|
|
|
|
#ifndef QSYSTEMDETECTION_H
|
|
#define QSYSTEMDETECTION_H
|
|
|
|
/*
|
|
The operating system, must be one of: (Q_OS_x)
|
|
|
|
DARWIN - Darwin OS (synonym for Q_OS_MAC)
|
|
MAC - OS X or iOS (synonym for Q_OS_DARWIN)
|
|
MACX - OS X
|
|
IOS - iOS
|
|
MSDOS - MS-DOS and Windows
|
|
OS2 - OS/2
|
|
OS2EMX - XFree86 on OS/2 (not PM)
|
|
WIN32 - Win32 (Windows 2000/XP/Vista/7 and Windows Server 2003/2008)
|
|
WINCE - WinCE (Windows CE 5.0)
|
|
CYGWIN - Cygwin
|
|
SOLARIS - Sun Solaris
|
|
HPUX - HP-UX
|
|
ULTRIX - DEC Ultrix
|
|
LINUX - Linux
|
|
FREEBSD - FreeBSD
|
|
NETBSD - NetBSD
|
|
OPENBSD - OpenBSD
|
|
BSDI - BSD/OS
|
|
IRIX - SGI Irix
|
|
OSF - HP Tru64 UNIX
|
|
SCO - SCO OpenServer 5
|
|
UNIXWARE - UnixWare 7, Open UNIX 8
|
|
AIX - AIX
|
|
HURD - GNU Hurd
|
|
DGUX - DG/UX
|
|
RELIANT - Reliant UNIX
|
|
DYNIX - DYNIX/ptx
|
|
QNX - QNX
|
|
QNX6 - QNX RTP 6.1
|
|
LYNX - LynxOS
|
|
BSD4 - Any BSD 4.4 system
|
|
UNIX - Any UNIX BSD/SYSV system
|
|
ANDROID - Android platform
|
|
*/
|
|
|
|
#if defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__))
|
|
# define Q_OS_DARWIN
|
|
# define Q_OS_BSD4
|
|
# ifdef __LP64__
|
|
# define Q_OS_DARWIN64
|
|
# else
|
|
# define Q_OS_DARWIN32
|
|
# endif
|
|
#elif defined(ANDROID)
|
|
# define Q_OS_ANDROID
|
|
# define Q_OS_LINUX
|
|
#elif defined(__CYGWIN__)
|
|
# define Q_OS_CYGWIN
|
|
#elif !defined(SAG_COM) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))
|
|
# define Q_OS_WIN32
|
|
# define Q_OS_WIN64
|
|
#elif !defined(SAG_COM) && (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
|
|
# if defined(WINCE) || defined(_WIN32_WCE)
|
|
# define Q_OS_WINCE
|
|
# else
|
|
# define Q_OS_WIN32
|
|
# endif
|
|
#elif defined(__sun) || defined(sun)
|
|
# define Q_OS_SOLARIS
|
|
#elif defined(hpux) || defined(__hpux)
|
|
# define Q_OS_HPUX
|
|
#elif defined(__ultrix) || defined(ultrix)
|
|
# define Q_OS_ULTRIX
|
|
#elif defined(sinix)
|
|
# define Q_OS_RELIANT
|
|
#elif defined(__native_client__)
|
|
# define Q_OS_NACL
|
|
#elif defined(__linux__) || defined(__linux)
|
|
# define Q_OS_LINUX
|
|
#elif defined(__FreeBSD__) || defined(__DragonFly__)
|
|
# define Q_OS_FREEBSD
|
|
# define Q_OS_BSD4
|
|
#elif defined(__NetBSD__)
|
|
# define Q_OS_NETBSD
|
|
# define Q_OS_BSD4
|
|
#elif defined(__OpenBSD__)
|
|
# define Q_OS_OPENBSD
|
|
# define Q_OS_BSD4
|
|
#elif defined(__bsdi__)
|
|
# define Q_OS_BSDI
|
|
# define Q_OS_BSD4
|
|
#elif defined(__sgi)
|
|
# define Q_OS_IRIX
|
|
#elif defined(__osf__)
|
|
# define Q_OS_OSF
|
|
#elif defined(_AIX)
|
|
# define Q_OS_AIX
|
|
#elif defined(__Lynx__)
|
|
# define Q_OS_LYNX
|
|
#elif defined(__GNU__)
|
|
# define Q_OS_HURD
|
|
#elif defined(__DGUX__)
|
|
# define Q_OS_DGUX
|
|
#elif defined(__QNXNTO__)
|
|
# define Q_OS_QNX
|
|
#elif defined(_SEQUENT_)
|
|
# define Q_OS_DYNIX
|
|
#elif defined(_SCO_DS) /* SCO OpenServer 5 + GCC */
|
|
# define Q_OS_SCO
|
|
#elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */
|
|
# define Q_OS_UNIXWARE
|
|
#elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */
|
|
# define Q_OS_UNIXWARE
|
|
#elif defined(__INTEGRITY)
|
|
# define Q_OS_INTEGRITY
|
|
#elif defined(VXWORKS) /* there is no "real" VxWorks define - this has to be set in the mkspec! */
|
|
# define Q_OS_VXWORKS
|
|
#elif defined(__MAKEDEPEND__)
|
|
#else
|
|
# error "Qt has not been ported to this OS - see http://www.qt-project.org/"
|
|
#endif
|
|
|
|
#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64) || defined(Q_OS_WINCE)
|
|
# define Q_OS_WIN
|
|
#endif
|
|
|
|
#if defined(Q_OS_DARWIN)
|
|
# define Q_OS_MAC
|
|
# if defined(Q_OS_DARWIN64)
|
|
# define Q_OS_MAC64
|
|
# elif defined(Q_OS_DARWIN32)
|
|
# define Q_OS_MAC32
|
|
# endif
|
|
# include <TargetConditionals.h>
|
|
# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
|
|
# define Q_OS_IOS
|
|
# else
|
|
# define Q_OS_MACX
|
|
# endif
|
|
#endif
|
|
|
|
#if defined(Q_OS_WIN)
|
|
# undef Q_OS_UNIX
|
|
#elif !defined(Q_OS_UNIX)
|
|
# define Q_OS_UNIX
|
|
#endif
|
|
|
|
#ifdef Q_OS_DARWIN
|
|
# include <Availability.h>
|
|
# if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6
|
|
# undef __MAC_OS_X_VERSION_MIN_REQUIRED
|
|
# define __MAC_OS_X_VERSION_MIN_REQUIRED __MAC_10_6
|
|
# endif
|
|
# include <AvailabilityMacros.h>
|
|
# if !defined(MAC_OS_X_VERSION_MIN_REQUIRED) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
|
|
# undef MAC_OS_X_VERSION_MIN_REQUIRED
|
|
# define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_6
|
|
# endif
|
|
#
|
|
# // Numerical checks are preferred to named checks, but to be safe
|
|
# // we define the missing version names in case Qt uses them.
|
|
#
|
|
# if !defined(__MAC_10_7)
|
|
# define __MAC_10_7 1070
|
|
# endif
|
|
# if !defined(__MAC_10_8)
|
|
# define __MAC_10_8 1080
|
|
# endif
|
|
# if !defined(MAC_OS_X_VERSION_10_7)
|
|
# define MAC_OS_X_VERSION_10_7 1070
|
|
# endif
|
|
# if !defined(MAC_OS_X_VERSION_10_8)
|
|
# define MAC_OS_X_VERSION_10_8 1080
|
|
# endif
|
|
#
|
|
# if !defined(__IPHONE_4_3)
|
|
# define __IPHONE_4_3 40300
|
|
# endif
|
|
# if !defined(__IPHONE_5_0)
|
|
# define __IPHONE_5_0 50000
|
|
# endif
|
|
# if !defined(__IPHONE_5_1)
|
|
# define __IPHONE_5_1 50100
|
|
# endif
|
|
# if !defined(__IPHONE_6_0)
|
|
# define __IPHONE_6_0 60000
|
|
# endif
|
|
# if !defined(__IPHONE_6_1)
|
|
# define __IPHONE_6_1 60100
|
|
# endif
|
|
#
|
|
# if (__MAC_OS_X_VERSION_MAX_ALLOWED > __MAC_10_8)
|
|
# warning "This version of Mac OS X is unsupported"
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef __LSB_VERSION__
|
|
# if __LSB_VERSION__ < 40
|
|
# error "This version of the Linux Standard Base is unsupported"
|
|
# endif
|
|
#ifndef QT_LINUXBASE
|
|
# define QT_LINUXBASE
|
|
#endif
|
|
#endif
|
|
|
|
#endif // QSYSTEMDETECTION_H
|