source: tspsg-svn/trunk/src/os.h @ 40

Last change on this file since 40 was 40, checked in by laleppa, 15 years ago

Better target OS "bitness" detection...

  • Property svn:keywords set to Id URL
File size: 3.4 KB
Line 
1/*
2 *  TSPSG - TSP Solver and Generator
3 *  Copyright (C) 2007-2009 Lёppa <contacts[at]oleksii[dot]name>
4 *
5 *  $Id: os.h 40 2009-07-20 23:13:29Z laleppa $
6 *  $URL: https://tspsg.svn.sourceforge.net/svnroot/tspsg/trunk/src/os.h $
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
27#if defined(__amd64__) || defined(_M_X64) || defined(__ia64__) || defined(_M_IA64)
28        #define BITS " (64-bit)"
29#elif defined(__i386__) || defined(_M_IX86) || defined(_X86_)
30        #define BITS " (32-bit)"
31#else
32        #define BITS ""
33#endif // BITS
34
35#ifdef Q_OS_AIX
36        #define OS "AIX"BITS
37        #define OSID quint8(1)
38#elif defined Q_OS_BSD4
39        #define OS "BSD 4.4"BITS
40        #define OSID quint8(2)
41#elif defined Q_OS_BSDI
42        #define OS "BSD/OS"BITS
43        #define OSID quint8(3)
44#elif defined Q_OS_CYGWIN
45        #define OS "Cygwin"BITS
46        #define OSID quint8(4)
47#elif defined Q_OS_DARWIN
48        #define OS "Darwin OS"BITS
49        #define OSID quint8(5)
50#elif defined Q_OS_DGUX
51        #define OS "DG/UX"BITS
52        #define OSID quint8(6)
53#elif defined Q_OS_DYNIX
54        #define OS "DYNIX/ptx"BITS
55        #define OSID quint8(7)
56#elif defined Q_OS_FREEBSD
57        #define OS "FreeBSD"BITS
58        #define OSID quint8(8)
59#elif defined Q_OS_HPUX
60        #define OS "HP-UX"BITS
61        #define OSID quint8(9)
62#elif defined Q_OS_HURD
63        #define OS "GNU Hurd"BITS
64        #define OSID quint8(10)
65#elif defined Q_OS_IRIX
66        #define OS "SGI Irix"BITS
67        #define OSID quint8(11)
68#elif defined Q_OS_LINUX
69        #define OS "Linux"BITS
70        #define OSID quint8(12)
71#elif defined Q_OS_LYNX
72        #define OS "LynxOS"BITS
73        #define OSID quint8(13)
74#elif defined Q_OS_MSDOS
75        #define OS "MS-DOS"BITS
76        #define OSID quint8(14)
77#elif defined Q_OS_NETBSD
78        #define OS "NetBSD"BITS
79        #define OSID quint8(15)
80#elif defined Q_OS_OS2
81        #define OS "OS/2"BITS
82        #define OSID quint8(16)
83#elif defined Q_OS_OPENBSD
84        #define OS "OpenBSD"BITS
85        #define OSID quint8(17)
86#elif defined Q_OS_OS2EMX
87        #define OS "OS/2"BITS
88        #define OSID quint8(18)
89#elif defined Q_OS_OSF
90        #define OS "HP Tru64 UNIX"BITS
91        #define OSID quint8(19)
92#elif defined Q_OS_QNX6
93        #define OS "QNX RTP 6.1"BITS
94        #define OSID quint8(20)
95#elif defined Q_OS_QNX
96        #define OS "QNX"BITS
97        #define OSID quint8(21)
98#elif defined Q_OS_RELIANT
99        #define OS "Reliant UNIX"BITS
100        #define OSID quint8(22)
101#elif defined Q_OS_SCO
102        #define OS "SCO OpenServer 5"BITS
103        #define OSID quint8(23)
104#elif defined Q_OS_SOLARIS
105        #define OS "Sun Solaris"BITS
106        #define OSID quint8(24)
107#elif defined Q_OS_ULTRIX
108        #define OS "DEC Ultrix"BITS
109        #define OSID quint8(25)
110#elif defined Q_OS_UNIX
111        #define OS "UNIX BSD/SYSV"BITS
112        #define OSID quint8(26)
113#elif defined Q_OS_UNIXWARE
114        #define OS "UnixWare 7/Open UNIX 8"BITS
115        #define OSID quint8(27)
116#elif defined Q_OS_WIN32
117        #define OS "Windows"BITS
118        #define OSID quint8(28)
119#elif defined Q_OS_WINCE
120        #define OS "Windows CE"
121        #define OSID quint8(29)
122#else
123        #define OS "Unknown"BITS
124        #define OSID quint8(255)
125#endif // OS
126
127#endif // OS_H
Note: See TracBrowser for help on using the repository browser.