summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luapplib/src/ppconf.h
blob: 0211eb51e90cbd93a14a08da04907289dfd8f688 (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

#ifndef PP_CONF_H
#define PP_CONF_H

/*
Aux flags:
  PPDLL -- indicates a part of a shared library
  PPEXE -- indicates a host program using shared library functions
*/

#if defined(_WIN32) || defined(_WIN64)
#  ifdef PPDLL
#    define PPAPI __declspec(dllexport)
#    define PPDEF __declspec(dllexport)
#  else
#    ifdef PPEXE
#      define PPAPI __declspec(dllimport)
#      define PPDEF
#    else
#      define PPAPI
#      define PPDEF
#    endif
#  endif
#else
#  define PPAPI
#  define PPDEF
#endif

/* platform vs integers */

#if defined(_WIN32) || defined(WIN32)
#  ifdef _MSC_VER
#    if defined(_M_64) || defined(_WIN64)
#      define MSVC64
#    else
#      define MSVC32
#    endif
#  else
#    if defined(__MINGW64__)
#      define MINGW64
#    else
#      if defined(__MINGW32__)
#        define MINGW32
#      endif
#    endif
#  endif
#endif

#if defined(_WIN64) || defined(__MINGW32__)
#  define PPINT64F "%I64d"
#  define PPUINT64F "%I64u"
#else
#  define PPINT64F "%lld"
#  define PPUINT64F "%llu"
#endif

#if defined(MSVC64)
#  define PPINT(N) N##I64
#  define PPUINT(N) N##UI64
#  define PPINTF PPINT64F
#  define PPUINTF PPUINT64F
#elif defined(MINGW64)
#  define PPINT(N) N##LL
#  define PPUINT(N) N##ULL
#  define PPINTF PPINT64F
#  define PPUINTF PPUINT64F
#else // 32bit or sane 64bit (LP64, where long is long indeed)
#  define PPINT(N) N##L
#  define PPUINT(N) N##UL
#  define PPINTF "%ld"
#  define PPUINTF "%lu"
#endif

#define PPSIZEF PPUINTF

#endif