source: tspsg/src/os.h @ 85ad815b0b

0.1.3.145-beta1-symbian0.1.4.170-beta2-bb10appveyorimgbotreadme
Last change on this file since 85ad815b0b was 85ad815b0b, checked in by Oleksii Serdiuk, 15 years ago

Some documentation updates.

  • Property mode set to 100644
File size: 4.4 KB
RevLine 
[993d5af6f6]1/*
[430bd7f7e9]2 *  TSPSG: TSP Solver and Generator
[993d5af6f6]3 *  Copyright (C) 2007-2009 Lёppa <contacts[at]oleksii[dot]name>
4 *
5 *  $Id$
6 *  $URL$
7 *
8 *  This file is part of TSPSG.
9 *
10 *  TSPSG is free software: you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License as published by
12 *  the Free Software Foundation, either version 3 of the License, or
13 *  (at your option) any later version.
14 *
15 *  TSPSG is distributed in the hope that it will be useful,
16 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 *  GNU General Public License for more details.
19 *
20 *  You should have received a copy of the GNU General Public License
21 *  along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
22 */
23
24#ifndef OS_H
25#define OS_H
26
[85ad815b0b]27/*!
28 * \file os.h
29 * \brief This file contains TSPSG target CPU architecture and OS detection.
30 *
31 *  Arch detection works only for <b>GNU C</b>, <b>Visual Studio</b>, <b>Intel C/C++</b> and <b>MinGW32</b> compilers.
32 *
33 *  OS detection should work for any compiler.
34 */
35
[b5c9bcb585]36// Some target arch detection.
[bc1b8837b6]37/*!
38 * \def ARCH
39 * \brief The target CPU architecture TSPSG was built for.
[85ad815b0b]40 * \warning NOTE: Only for <b>GNU C</b>, <b>Visual Studio</b>, <b>Intel C/C++</b> and <b>MinGW32</b> compilers.
[bc1b8837b6]41 */
[b5c9bcb585]42#if defined(__amd64__) || defined(_M_X64)
43        #define ARCH " (AMD 64-bit)"
44#elif defined(__ia64__) || defined(_M_IA64)
45        #define ARCH " (Intel 64-bit)"
[b968056ce3]46#elif defined(__i386__) || defined(_M_IX86) || defined(_X86_)
[b5c9bcb585]47        #define ARCH " (Intel x86)"
48#elif defined(__powerpc__) || defined(_M_PPC)
49        #define ARCH " (PowerPC)"
50#elif defined(__arm__) || defined(_M_ARM)
51        #define ARCH " (ARM)"
52#elif defined(__mips__) || defined(_M_MRX000)
53        #define ARCH " (MIPS)"
[690f6939a7]54#else
[b5c9bcb585]55        #define ARCH ""
56#endif // ARCH
[690f6939a7]57
[85ad815b0b]58// Target OS detection. Done by Qt, so should work for any compiler.
[bc1b8837b6]59/*!
60 * \def OS
61 * \brief The target operating system TSPSG was built for.
62 */
63/*!
64 * \def OSID
65 * \brief The target operating system ID.
66 *
67 * This value is used in task file metadata.
68 */
[993d5af6f6]69#ifdef Q_OS_AIX
[b5c9bcb585]70        #define OS "AIX"ARCH
[993d5af6f6]71        #define OSID quint8(1)
72#elif defined Q_OS_BSD4
[b5c9bcb585]73        #define OS "BSD 4.4"ARCH
[993d5af6f6]74        #define OSID quint8(2)
75#elif defined Q_OS_BSDI
[b5c9bcb585]76        #define OS "BSD/OS"ARCH
[993d5af6f6]77        #define OSID quint8(3)
78#elif defined Q_OS_CYGWIN
[b5c9bcb585]79        #define OS "Cygwin"ARCH
[993d5af6f6]80        #define OSID quint8(4)
81#elif defined Q_OS_DARWIN
[b5c9bcb585]82        #define OS "Darwin OS"ARCH
[993d5af6f6]83        #define OSID quint8(5)
84#elif defined Q_OS_DGUX
[b5c9bcb585]85        #define OS "DG/UX"ARCH
[993d5af6f6]86        #define OSID quint8(6)
87#elif defined Q_OS_DYNIX
[b5c9bcb585]88        #define OS "DYNIX/ptx"ARCH
[993d5af6f6]89        #define OSID quint8(7)
90#elif defined Q_OS_FREEBSD
[b5c9bcb585]91        #define OS "FreeBSD"ARCH
[993d5af6f6]92        #define OSID quint8(8)
93#elif defined Q_OS_HPUX
[b5c9bcb585]94        #define OS "HP-UX"ARCH
[993d5af6f6]95        #define OSID quint8(9)
96#elif defined Q_OS_HURD
[b5c9bcb585]97        #define OS "GNU Hurd"ARCH
[993d5af6f6]98        #define OSID quint8(10)
99#elif defined Q_OS_IRIX
[b5c9bcb585]100        #define OS "SGI Irix"ARCH
[993d5af6f6]101        #define OSID quint8(11)
102#elif defined Q_OS_LINUX
[b5c9bcb585]103        #define OS "Linux"ARCH
[993d5af6f6]104        #define OSID quint8(12)
105#elif defined Q_OS_LYNX
[b5c9bcb585]106        #define OS "LynxOS"ARCH
[993d5af6f6]107        #define OSID quint8(13)
108#elif defined Q_OS_MSDOS
[b5c9bcb585]109        #define OS "MS-DOS"ARCH
[993d5af6f6]110        #define OSID quint8(14)
111#elif defined Q_OS_NETBSD
[b5c9bcb585]112        #define OS "NetBSD"ARCH
[993d5af6f6]113        #define OSID quint8(15)
114#elif defined Q_OS_OS2
[b5c9bcb585]115        #define OS "OS/2"ARCH
[993d5af6f6]116        #define OSID quint8(16)
117#elif defined Q_OS_OPENBSD
[b5c9bcb585]118        #define OS "OpenBSD"ARCH
[993d5af6f6]119        #define OSID quint8(17)
120#elif defined Q_OS_OS2EMX
[b5c9bcb585]121        #define OS "OS/2"ARCH
[993d5af6f6]122        #define OSID quint8(18)
123#elif defined Q_OS_OSF
[b5c9bcb585]124        #define OS "HP Tru64 UNIX"ARCH
[993d5af6f6]125        #define OSID quint8(19)
126#elif defined Q_OS_QNX6
[b5c9bcb585]127        #define OS "QNX RTP 6.1"ARCH
[993d5af6f6]128        #define OSID quint8(20)
129#elif defined Q_OS_QNX
[b5c9bcb585]130        #define OS "QNX"ARCH
[993d5af6f6]131        #define OSID quint8(21)
132#elif defined Q_OS_RELIANT
[b5c9bcb585]133        #define OS "Reliant UNIX"ARCH
[993d5af6f6]134        #define OSID quint8(22)
135#elif defined Q_OS_SCO
[b5c9bcb585]136        #define OS "SCO OpenServer 5"ARCH
[993d5af6f6]137        #define OSID quint8(23)
138#elif defined Q_OS_SOLARIS
[b5c9bcb585]139        #define OS "Sun Solaris"ARCH
[993d5af6f6]140        #define OSID quint8(24)
141#elif defined Q_OS_ULTRIX
[b5c9bcb585]142        #define OS "DEC Ultrix"ARCH
[993d5af6f6]143        #define OSID quint8(25)
144#elif defined Q_OS_UNIX
[b5c9bcb585]145        #define OS "UNIX BSD/SYSV"ARCH
[993d5af6f6]146        #define OSID quint8(26)
147#elif defined Q_OS_UNIXWARE
[b5c9bcb585]148        #define OS "UnixWare 7/Open UNIX 8"ARCH
[993d5af6f6]149        #define OSID quint8(27)
150#elif defined Q_OS_WIN32
[b5c9bcb585]151        #define OS "Windows"ARCH
[993d5af6f6]152        #define OSID quint8(28)
153#elif defined Q_OS_WINCE
[b5c9bcb585]154        #define OS "Windows CE"ARCH
[993d5af6f6]155        #define OSID quint8(29)
156#else
[b5c9bcb585]157        #define OS "Unknown"ARCH
[993d5af6f6]158        #define OSID quint8(255)
[690f6939a7]159#endif // OS
[993d5af6f6]160
161#endif // OS_H
Note: See TracBrowser for help on using the repository browser.