~ubuntu-branches/ubuntu/wily/opencollada/wily-proposed

« back to all changes in this revision

Viewing changes to Externals/LibXML/include/win32config.h

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2015-05-14 17:23:27 UTC
  • Revision ID: package-import@ubuntu.com-20150514172327-f862u8envms01fra
Tags: upstream-0.1.0~20140703.ddf8f47+dfsg1
ImportĀ upstreamĀ versionĀ 0.1.0~20140703.ddf8f47+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef __LIBXML_WIN32_CONFIG__
 
2
#define __LIBXML_WIN32_CONFIG__
 
3
 
 
4
#define HAVE_CTYPE_H
 
5
#define HAVE_STDARG_H
 
6
#define HAVE_MALLOC_H
 
7
#define HAVE_ERRNO_H
 
8
 
 
9
#if defined(_WIN32_WCE)
 
10
#undef HAVE_ERRNO_H
 
11
#include <windows.h>
 
12
#include "wincecompat.h"
 
13
#else
 
14
#define HAVE_SYS_STAT_H
 
15
#define HAVE__STAT
 
16
#define HAVE_STAT
 
17
#define HAVE_STDLIB_H
 
18
#define HAVE_TIME_H
 
19
#define HAVE_FCNTL_H
 
20
#include <io.h>
 
21
#include <direct.h>
 
22
#endif
 
23
 
 
24
#include <libxml/xmlversion.h>
 
25
 
 
26
#ifndef ICONV_CONST
 
27
#define ICONV_CONST const
 
28
#endif
 
29
 
 
30
#ifdef NEED_SOCKETS
 
31
#include <wsockcompat.h>
 
32
#endif
 
33
 
 
34
/*
 
35
 * Windows platforms may define except 
 
36
 */
 
37
#undef except
 
38
 
 
39
#define HAVE_ISINF
 
40
#define HAVE_ISNAN
 
41
#include <math.h>
 
42
#if defined(_MSC_VER) || defined(__BORLANDC__)
 
43
/* MS C-runtime has functions which can be used in order to determine if
 
44
   a given floating-point variable contains NaN, (+-)INF. These are 
 
45
   preferred, because floating-point technology is considered propriatary
 
46
   by MS and we can assume that their functions know more about their 
 
47
   oddities than we do. */
 
48
#include <float.h>
 
49
/* Bjorn Reese figured a quite nice construct for isinf() using the _fpclass
 
50
   function. */
 
51
#ifndef isinf
 
52
#define isinf(d) ((_fpclass(d) == _FPCLASS_PINF) ? 1 \
 
53
        : ((_fpclass(d) == _FPCLASS_NINF) ? -1 : 0))
 
54
#endif
 
55
/* _isnan(x) returns nonzero if (x == NaN) and zero otherwise. */
 
56
#ifndef isnan
 
57
#define isnan(d) (_isnan(d))
 
58
#endif
 
59
#else /* _MSC_VER */
 
60
#ifndef isinf
 
61
static int isinf (double d) {
 
62
    int expon = 0;
 
63
    double val = frexp (d, &expon);
 
64
    if (expon == 1025) {
 
65
        if (val == 0.5) {
 
66
            return 1;
 
67
        } else if (val == -0.5) {
 
68
            return -1;
 
69
        } else {
 
70
            return 0;
 
71
        }
 
72
    } else {
 
73
        return 0;
 
74
    }
 
75
}
 
76
#endif
 
77
#ifndef isnan
 
78
static int isnan (double d) {
 
79
    int expon = 0;
 
80
    double val = frexp (d, &expon);
 
81
    if (expon == 1025) {
 
82
        if (val == 0.5) {
 
83
            return 0;
 
84
        } else if (val == -0.5) {
 
85
            return 0;
 
86
        } else {
 
87
            return 1;
 
88
        }
 
89
    } else {
 
90
        return 0;
 
91
    }
 
92
}
 
93
#endif
 
94
#endif /* _MSC_VER */
 
95
 
 
96
#if defined(_MSC_VER)
 
97
#define mkdir(p,m) _mkdir(p)
 
98
#define snprintf _snprintf
 
99
#if _MSC_VER < 1500
 
100
#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
 
101
#endif
 
102
#elif defined(__MINGW32__)
 
103
#define mkdir(p,m) _mkdir(p)
 
104
#endif
 
105
 
 
106
/* Threading API to use should be specified here for compatibility reasons.
 
107
   This is however best specified on the compiler's command-line. */
 
108
#if defined(LIBXML_THREAD_ENABLED)
 
109
#if !defined(HAVE_PTHREAD_H) && !defined(HAVE_WIN32_THREADS) && !defined(_WIN32_WCE)
 
110
#define HAVE_WIN32_THREADS
 
111
#endif
 
112
#endif
 
113
 
 
114
/* Some third-party libraries far from our control assume the following
 
115
   is defined, which it is not if we don't include windows.h. */
 
116
#if !defined(FALSE)
 
117
#define FALSE 0
 
118
#endif
 
119
#if !defined(TRUE)
 
120
#define TRUE (!(FALSE))
 
121
#endif
 
122
 
 
123
#endif /* __LIBXML_WIN32_CONFIG__ */
 
124