summaryrefslogtreecommitdiffstats
path: root/win/kdelibs_global_win.h
blob: aa095857a6296e2d350451f050247f2b69200313 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
/* This file is part of the KDE project
   Copyright (C) 2003-2005 Jaroslaw Staniek <[email protected]>

   Global definitions for KDElibs/win32 (win32)

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this program; see the file COPYING.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.
*/

#include <qglobal.h>

/*! Bootstrap */
#define kdemain \
kde_start(int argc, char **argv); \
__declspec(dllimport) void kde_bootstrap(); \
__declspec(dllimport) void kde_destroy(); \
int main(int argc, char **argv) \
{ kde_bootstrap(); const int retcode = kde_start(argc, argv); kde_destroy(); return retcode; } \
int kde_start


#ifndef WIN32
# define WIN32
#endif

#ifndef HAVE_CONFIG_H
# define HAVE_CONFIG_H 1
#endif

#ifndef HAVE_STRING_H
# define HAVE_STRING_H 1
#endif

#ifndef HAVE_SYS_STAT_H
# define HAVE_SYS_STAT_H 1
#endif

#ifndef HAVE_SYS_PARAM_H
# define HAVE_SYS_PARAM_H 1
#endif

#define KDE_DISTRIBUTION_TEXT "KDE Libraries for MS Windows"
#define KDE_COMPILING_OS "win32"
#ifdef _MSC_VER
# if _MSC_VER < 1300
#  define KDE_COMPILER_VERSION "MSVC++ 6.0"
# elif _MSC_VER <= 1300
#  define KDE_COMPILER_VERSION "MSVC++ 7.0"
# elif _MSC_VER <= 1310
#  define KDE_COMPILER_VERSION "MSVC++ 7.1"
# elif _MSC_VER <= 1400
#  define KDE_COMPILER_VERSION "MSVC++ 8.0"
# else 1400
#  define KDE_COMPILER_VERSION "MSVC++ >8.0"
# endif
#endif

#ifndef M_PI
# define M_PI 3.14159265358979323846
#endif

#ifndef NULL
# define NULL 0
#endif

/*
#ifdef __cplusplus
#include <qstring.h>

# ifndef KDEDIR
#  define KDEDIR QString(KDEWIN32_DIR)
# endif
# ifndef __KDE_BINDIR 
#  define __KDE_BINDIR QString(KDEWIN32_DIR "/bin")
# endif
#endif
*/

# ifndef __pid_t_defined
  //typedef __pid_t pid_t;
  typedef unsigned int pid_t;
#  define __pid_t_defined
# endif

# ifndef __uid_t_defined
//typedef __uid_t uid_t;
  typedef unsigned int __uid_t;
  typedef __uid_t uid_t;
#  define __uid_t_defined
# endif

# ifndef __gid_t_defined
//typedef __uid_t uid_t;
  typedef unsigned int __gid_t;
  typedef __gid_t gid_t;
#  define __gid_t_defined
# endif

  typedef char* caddr_t;


#define snprintf _snprintf
#define vsnprintf _vsnprintf


/* should be in <sys/types.h> */
typedef int mode_t;

#if defined(_MSC_VER)

# if (_MSC_VER <= 1200)
 /* Force Conformance for For Loop Scope (/Zc:forScope) is only allowed for 
    MSVC++ version > 6.0
   -this option controls the scope of variables
  defined as part of the For loop control statement. Traditionally, Microsoft 
  extended the scope of loop control variables defined in the loop control statement 
  beyond the scope of the loop. Such behavior violates the ANSI C/C++ standard 
  and may cause compiler errors when compiling ANSI C/C++ code with Microsoft C++.
  Simple (dirty) macro trick to fix the compile problem for msvc6
  ( see http://q12.org/pipermail/ode/2003-January/002811.html
    and http://support.microsoft.com/default.aspx?scid=kb;EN-US;167748 )
 */
#  define for  if (0); else for
# endif

//operator (char*) caused errors
//#define QT_NO_ASCII_CAST

/* warning C4150: deletion of pointer to incomplete type 'type'; no destructor called

The delete operator was called to delete the given type, which was 
declared but not defined. The compiler was unable to find any destructors for the given type.
*/
#pragma warning( disable: 4150 )


/* warning C4521: qmultiple copy constructors specified
*/
#pragma warning( disable: 4521 )

/* warning C4251: 'identifier' : class 'type' needs to have dll-interface 
   to be used by clients of class 'type2'
*/
#pragma warning( disable: 4251 )

/* identifier was truncated to '255'.. */
# pragma warning(disable: 4786)

/* warning C4250: ...: inherits ... via dominanceidentifier */
# pragma warning(disable: 4250)

# pragma warning(disable: 4006) /*libxxx : warning LNK4006: 
         ".... already defined in kaction.obj; second definition ignored" */

/* disable C4100: unreferenced formal parameter */
# pragma warning(disable: 4100)

/* disable C4101: unreferenced local variable */
# pragma warning(disable: 4101)

/* disable C4189: local variable is initialized but not referenced */
# pragma warning(disable: 4189)

# if (_MSC_VER >= 1300)
/* disable C4288: nonstandard extension used : 'i' : loop control variable 
 declared in the for-loop is used outside the for-loop scope; 
 it conflicts with the declaration in the outer scope */
#  pragma warning(disable: 4288)

/* disable 4996: warnings for deprecated symbols */
#  pragma warning(disable: 4996)
# endif

#endif

/*#if (_MSC_VER >= 1300) && (WINVER < 0x0500)
#ifdef __cplusplus
extern "C" {
#endif
*/
/* VC7 or later, building with pre-VC7 runtime libraries */
/*extern "C"*/ long _ftol( double ); /* defined by VC6 C libs */
/*extern "C" KDEWIN32_EXPORT long _ftol2( double dblSource ); */
/*#ifdef __cplusplus
inline long _cdecl _ftol2( double dblSource ) { return _ftol( dblSource ); }
}
#endif*/