summaryrefslogtreecommitdiff
path: root/mkspecs/solaris-cc/qplatformdefs.h
Unidiff
Diffstat (limited to 'mkspecs/solaris-cc/qplatformdefs.h') (more/less context) (show whitespace changes)
-rw-r--r--mkspecs/solaris-cc/qplatformdefs.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/mkspecs/solaris-cc/qplatformdefs.h b/mkspecs/solaris-cc/qplatformdefs.h
index f9480a9..9506b3c 100644
--- a/mkspecs/solaris-cc/qplatformdefs.h
+++ b/mkspecs/solaris-cc/qplatformdefs.h
@@ -1,32 +1,33 @@
1#ifndef QPLATFORMDEFS_H 1#ifndef QPLATFORMDEFS_H
2#define QPLATFORMDEFS_H 2#define QPLATFORMDEFS_H
3 3
4// Get Qt defines/settings 4// Get Qt defines/settings
5 5
6#include "qglobal.h" 6#include "qglobal.h"
7 7
8// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs 8// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
9#define _POSIX_PTHREAD_SEMANTICS
9 10
10#include <unistd.h> 11#include <unistd.h>
11 12
12 13
13// We are hot - unistd.h should have turned on the specific APIs we requested 14// We are hot - unistd.h should have turned on the specific APIs we requested
14 15
15 16
16#ifdef QT_THREAD_SUPPORT 17#ifdef QT_THREAD_SUPPORT
17#include <pthread.h> 18#include <pthread.h>
18#endif 19#endif
19 20
20#include <dirent.h> 21#include <dirent.h>
21#include <fcntl.h> 22#include <fcntl.h>
22#include <grp.h> 23#include <grp.h>
23#include <pwd.h> 24#include <pwd.h>
24#include <signal.h> 25#include <signal.h>
25#include <dlfcn.h> 26#include <dlfcn.h>
26 27
27#include <sys/types.h> 28#include <sys/types.h>
28#include <sys/ioctl.h> 29#include <sys/ioctl.h>
29#include <sys/filio.h> 30#include <sys/filio.h>
30#include <sys/ipc.h> 31#include <sys/ipc.h>
31#include <sys/time.h> 32#include <sys/time.h>
32#include <sys/shm.h> 33#include <sys/shm.h>
@@ -56,55 +57,58 @@
56 #define QT_FILENO fileno 57 #define QT_FILENO fileno
57 #define QT_OPEN ::open 58 #define QT_OPEN ::open
58 #define QT_CLOSE ::close 59 #define QT_CLOSE ::close
59 #define QT_LSEEK ::lseek 60 #define QT_LSEEK ::lseek
60 #define QT_READ ::read 61 #define QT_READ ::read
61 #define QT_WRITE ::write 62 #define QT_WRITE ::write
62 #define QT_ACCESS ::access 63 #define QT_ACCESS ::access
63 #define QT_GETCWD ::getcwd 64 #define QT_GETCWD ::getcwd
64 #define QT_CHDIR ::chdir 65 #define QT_CHDIR ::chdir
65 #define QT_MKDIR ::mkdir 66 #define QT_MKDIR ::mkdir
66 #define QT_RMDIR ::rmdir 67 #define QT_RMDIR ::rmdir
67 #define QT_OPEN_RDONLY O_RDONLY 68 #define QT_OPEN_RDONLY O_RDONLY
68 #define QT_OPEN_WRONLY O_WRONLY 69 #define QT_OPEN_WRONLY O_WRONLY
69 #define QT_OPEN_RDWR O_RDWR 70 #define QT_OPEN_RDWR O_RDWR
70 #define QT_OPEN_CREAT O_CREAT 71 #define QT_OPEN_CREAT O_CREAT
71 #define QT_OPEN_TRUNC O_TRUNC 72 #define QT_OPEN_TRUNC O_TRUNC
72 #define QT_OPEN_APPEND O_APPEND 73 #define QT_OPEN_APPEND O_APPEND
73#endif 74#endif
74 75
75 #define QT_SIGNAL_RETTYPEvoid 76 #define QT_SIGNAL_RETTYPEvoid
76 #define QT_SIGNAL_ARGS int 77 #define QT_SIGNAL_ARGS int
77 #define QT_SIGNAL_IGNORESIG_IGN 78 #define QT_SIGNAL_IGNORESIG_IGN
78 79
79#if !defined(_XOPEN_UNIX) 80#if !defined(_XOPEN_UNIX)
80// Function usleep() is in C library but not in header files on Solaris 2.5.1. 81// Function usleep() is defined in C library but not declared in header files
81// Not really a surprise, usleep() is specified by XPG4v2 and XPG4v2 is only 82// on Solaris 2.5.1. Not really a surprise, usleep() is specified by XPG4v2
82// supported by Solaris 2.6 and better. 83// and XPG4v2 is only supported by Solaris 2.6 and better.
84// Function gethostname() is defined in C library but not declared in <unistd.h>
85// on Solaris 2.5.1.
83// So we are trying to detect Solaris 2.5.1 using macro _XOPEN_UNIX which is 86// So we are trying to detect Solaris 2.5.1 using macro _XOPEN_UNIX which is
84// not defined by <unistd.h> when XPG4v2 is not supported. 87// not defined by <unistd.h> when XPG4v2 is not supported.
85typedef unsigned int useconds_t; 88typedef unsigned int useconds_t;
86extern "C" int usleep(useconds_t); 89extern "C" int usleep(useconds_t);
90extern "C" int gethostname(char *, int);
87#endif 91#endif
88 92
89#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) && (_XOPEN_VERSION-0 >= 500) 93#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) && (_XOPEN_VERSION-0 >= 500)
90// on Solaris 7 and better with specific feature test macros 94// on Solaris 7 and better with specific feature test macros
91 #define QT_SOCKLEN_T socklen_t 95 #define QT_SOCKLEN_T socklen_t
92#elif defined(_XOPEN_SOURCE_EXTENDED) && (_XOPEN_VERSION-0 >= 4) 96#elif defined(_XOPEN_SOURCE_EXTENDED) && (_XOPEN_VERSION-0 >= 4)
93// on Solaris 2.6 and better with specific feature test macros 97// on Solaris 2.6 and better with specific feature test macros
94 #define QT_SOCKLEN_T size_t 98 #define QT_SOCKLEN_T size_t
95#else 99#else
96// always this case in practice 100// always this case in practice
97 #define QT_SOCKLEN_T int 101 #define QT_SOCKLEN_T int
98#endif 102#endif
99 103
100#if defined(_XOPEN_UNIX) 104#if defined(_XOPEN_UNIX)
101// Supported by Solaris 2.6 and better. XPG4v2 and XPG4v2 is also supported 105// Supported by Solaris 2.6 and better. XPG4v2 and XPG4v2 is also supported
102// by Solaris 2.6 and better. So we are trying to detect Solaris 2.6 using 106// by Solaris 2.6 and better. So we are trying to detect Solaris 2.6 using
103// macro _XOPEN_UNIX which is not defined by <unistd.h> when XPG4v2 is not 107// macro _XOPEN_UNIX which is not defined by <unistd.h> when XPG4v2 is not
104// supported. 108// supported.
105 #define QT_SNPRINTF ::snprintf 109 #define QT_SNPRINTF ::snprintf
106 #define QT_VSNPRINTF ::vsnprintf 110 #define QT_VSNPRINTF ::vsnprintf
107#endif 111#endif
108 112
109 113
110#endif // QPLATFORMDEFS_H 114#endif // QPLATFORMDEFS_H