From b981d49ae40992b18f1ad6156f382f45cec610b0 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Fri, 23 May 2008 21:10:48 +0000 Subject: [PATCH] add windows header files git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8548 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/xmlrpc-c/Windows/transport_config.h | 13 ++ libs/xmlrpc-c/Windows/xmlrpc-c/config.h | 38 ++++++ libs/xmlrpc-c/Windows/xmlrpc_config.h | 158 +++++++++++++++++++++++ 3 files changed, 209 insertions(+) create mode 100644 libs/xmlrpc-c/Windows/transport_config.h create mode 100644 libs/xmlrpc-c/Windows/xmlrpc-c/config.h create mode 100644 libs/xmlrpc-c/Windows/xmlrpc_config.h diff --git a/libs/xmlrpc-c/Windows/transport_config.h b/libs/xmlrpc-c/Windows/transport_config.h new file mode 100644 index 0000000000..264216805c --- /dev/null +++ b/libs/xmlrpc-c/Windows/transport_config.h @@ -0,0 +1,13 @@ +/* Win32 version of transport_config.h. + + For other platforms, this is generated automatically, but for Windows, + someone generates it manually. Nonetheless, we keep it looking as much + as possible like the automatically generated one to make it easier to + maintain (e.g. you can compare the two and see why something builds + differently for Windows that for some other platform). +*/ +#define MUST_BUILD_WININET_CLIENT 1 +#define MUST_BUILD_CURL_CLIENT 0 +#define MUST_BUILD_LIBWWW_CLIENT 0 +static const char * const XMLRPC_DEFAULT_TRANSPORT = +"wininet"; diff --git a/libs/xmlrpc-c/Windows/xmlrpc-c/config.h b/libs/xmlrpc-c/Windows/xmlrpc-c/config.h new file mode 100644 index 0000000000..aabf9c27fb --- /dev/null +++ b/libs/xmlrpc-c/Windows/xmlrpc-c/config.h @@ -0,0 +1,38 @@ +#ifndef XMLRPC_C_CONFIG_H_INCLUDED +#define XMLRPC_C_CONFIG_H_INCLUDED + +/* This file, part of XML-RPC For C/C++, is meant to + define characteristics of this particular installation + that the other header files need in + order to compile correctly when #included in Xmlrpc-c + user code. + + Those header files #include this one. + + This file was created by a make rule. +*/ +#define XMLRPC_HAVE_WCHAR 1 +#ifdef WIN32 + /* SOCKET is a type defined by . Anyone who + uses XMLRPC_SOCKET on a WIN32 system must #include + + */ + #define XMLRPC_SOCKET SOCKET + #define XMLRPC_HAVE_TIMEVAL 0 + #define XMLRPC_HAVE_TIMESPEC 0 +#else + #define XMLRPC_SOCKET int + #define XMLRPC_HAVE_TIMEVAL 1 + #define XMLRPC_HAVE_TIMESPEC 1 +#endif + +#if defined(_MSC_VER) + /* Newer MSVC has long long, but MSVC 6 does not */ + #define XMLRPC_INT64 __int64 + #define XMLRPC_INT32 __int32 +#else + #define XMLRPC_INT64 long long + #define XMLRPC_INT32 int +#endif +#endif + diff --git a/libs/xmlrpc-c/Windows/xmlrpc_config.h b/libs/xmlrpc-c/Windows/xmlrpc_config.h new file mode 100644 index 0000000000..319dc2a953 --- /dev/null +++ b/libs/xmlrpc-c/Windows/xmlrpc_config.h @@ -0,0 +1,158 @@ +/* Win32 version of xmlrpc_config.h. + + For other platforms, this is generated automatically, but for Windows, + someone generates it manually. Nonetheless, we keep it looking as much + as possible like the automatically generated one to make it easier to + maintain (e.g. you can compare the two and see why something builds + differently for Windows than for some other platform). + + The purpose of this file is to define stuff particular to the build + environment being used to build Xmlrpc-c. Xmlrpc-c source files can + #include this file and have build-environment-independent source code. + + A major goal of this file is to reduce conditional compilation in + the other source files as much as possible. Even more, we want to avoid + having to generate source code particular to a build environment + except in this file. + + This file is NOT meant to be used by any code outside of the + Xmlrpc-c source tree. There is a similar file that gets installed + as that performs the same function for Xmlrpc-c + interface header files that get compiled as part of a user's program. + + Logical macros are 0 or 1 instead of the more traditional defined and + undefined. That's so we can distinguish when compiling code between + "false" and some problem with the code. +*/ + +#ifndef XMLRPC_CONFIG_H_INCLUDED +#define XMLRPC_CONFIG_H_INCLUDED + +/* From xmlrpc_amconfig.h */ + +#define HAVE__STRICMP 1 +/* Name of package */ +#define PACKAGE "xmlrpc-c" +/*----------------------------------*/ + +#ifndef HAVE_SETGROUPS +#define HAVE_SETGROUPS 0 +#endif +#ifndef HAVE_ASPRINTF +#define HAVE_ASPRINTF 0 +#endif +#ifndef HAVE_SETENV +#define HAVE_SETENV 0 +#endif +#ifndef HAVE_PSELECT +#define HAVE_PSELECT 0 +#endif +#ifndef HAVE_WCSNCMP +#define HAVE_WCSNCMP 1 +#endif +#ifndef HAVE_GETTIMEOFDAY +#define HAVE_GETTIMEOFDAY 0 +#endif +#ifndef HAVE_LOCALTIME_R +#define HAVE_LOCALTIME_R 0 +#endif +#ifndef HAVE_GMTIME_R +#define HAVE_GMTIME_R 0 +#endif +#ifndef HAVE_STRCASECMP +#define HAVE_STRCASECMP 0 +#endif +#ifndef HAVE_STRICMP +#define HAVE_STRICMP 0 +#endif +#ifndef HAVE__STRICMP +#define HAVE__STRICMP 0 +#endif + +#define HAVE_WCHAR_H 1 +#define HAVE_SYS_FILIO_H 0 +#define HAVE_SYS_IOCTL_H 0 + +#define VA_LIST_IS_ARRAY 0 + +#define HAVE_LIBWWW_SSL 0 + +/* Used to mark an unused function parameter */ +#define ATTR_UNUSED + +#define DIRECTORY_SEPARATOR "\\" + +#define HAVE_UNICODE_WCHAR 1 + +/* Xmlrpc-c code uses __inline__ to declare functions that should + be compiled as inline code. GNU C recognizes the __inline__ keyword. + Others recognize 'inline' or '__inline' or nothing at all to say + a function should be inlined. + + We could make 'configure' simply do a trial compile to figure out + which one, but for now, this approximation is easier: +*/ +#if (!defined(__GNUC__)) + #if (!defined(__inline__)) + #if (defined(__sgi) || defined(_AIX) || defined(_MSC_VER)) + #define __inline__ __inline + #else + #define __inline__ + #endif + #endif +#endif + +/* MSVCRT means we're using the Microsoft Visual C++ runtime library */ + +#ifdef _MSC_VER +/* The compiler is Microsoft Visual C++. */ + #define MSVCRT _MSC_VER +#else + #define MSVCRT 0 +#endif + +#if MSVCRT + /* The MSVC runtime library _does_ have a 'struct timeval', but it is + part of the Winsock interface (along with select(), which is probably + its intended use), so isn't intended for use for general timekeeping. + */ + #define HAVE_TIMEVAL 0 + #define HAVE_TIMESPEC 0 +#else + #define HAVE_TIMEVAL 1 + /* timespec is Posix.1b. If we need to work on a non-Posix.1b non-Windows + system, we'll have to figure out how to make Configure determine this. + */ + #define HAVE_TIMESPEC 1 +#endif + +#if MSVCRT + #define XMLRPC_VSNPRINTF _vsnprintf +#else + #define XMLRPC_VSNPRINTF vsnprintf +#endif + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) +/* Starting with MSVC 8, the runtime library defines various POSIX functions + such as strdup() whose names violate the ISO C standard (the standard + says the strXXX names are reserved for the standard), but warns you of + the standards violation. That warning is 4996, along with other warnings + that tell you you're using a function that Microsoft thinks you + shouldn't. + + Well, POSIX is more important than that element of ISO C, so we disable + that warning. + + FYI, msvcrt also defines _strdup(), etc, which doesn't violate the + naming standard. But since other environments don't define _strdup(), + we can't use it in portable code. +*/ +#pragma warning(disable:4996) +#endif + +#define snprintf _snprintf +#define popen _popen +#define strtoll _strtoui64 +#define strtoull _strtoui64 + +#endif