|
|
|
/* This file is part of the KDE project
|
|
|
|
Copyright (C) 2003-2005 Jaroslaw Staniek <js@iidea.pl>
|
|
|
|
|
|
|
|
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 <tqglobal.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 <tqstring.h>
|
|
|
|
|
|
|
|
# ifndef TDEDIR
|
|
|
|
# define TDEDIR TQString(KDEWIN32_DIR)
|
|
|
|
# endif
|
|
|
|
# ifndef __TDE_BINDIR
|
|
|
|
# define __TDE_BINDIR TQString(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 TQT_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 tdeaction.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*/
|
|
|
|
|