Configure.h.in 4.61 KB
Newer Older
Brad King's avatar
Brad King committed
1
2
3
4
5
/*=========================================================================

  Program:   KWSys - Kitware System Library
  Module:    Configure.h.in

Brad King's avatar
Brad King committed
6
7
  Copyright (c) Kitware, Inc., Insight Consortium.  All rights reserved.
  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
Brad King's avatar
Brad King committed
8

Brad King's avatar
Brad King committed
9
10
     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Brad King's avatar
Brad King committed
11
12
13
14
15
16
     PURPOSE.  See the above copyright notices for more information.

=========================================================================*/
#ifndef @KWSYS_NAMESPACE@_Configure_h
#define @KWSYS_NAMESPACE@_Configure_h

17
18
19
20
21
22
23
24
/* If we are building a kwsys .c or .cxx file, let it use the kwsys
   namespace.  When not building a kwsys source file these macros are
   temporarily defined inside the headers that use them.  */
#if defined(KWSYS_NAMESPACE)
# define kwsys_ns(x) @KWSYS_NAMESPACE@##x
# define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT
#endif

25
26
27
/* If we are building a kwsys .c or .cxx file, suppress the Microsoft
   deprecation warnings.  */
#if defined(KWSYS_NAMESPACE)
28
29
30
31
32
33
34
35
36
# ifndef _CRT_NONSTDC_NO_DEPRECATE
#  define _CRT_NONSTDC_NO_DEPRECATE
# endif
# ifndef _CRT_SECURE_NO_DEPRECATE
#  define _CRT_SECURE_NO_DEPRECATE
# endif
# ifndef _SCL_SECURE_NO_DEPRECATE
#  define _SCL_SECURE_NO_DEPRECATE
# endif
37
38
#endif

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* Whether Large File Support is requested.  */
#define @KWSYS_NAMESPACE@_LFS_REQUESTED @KWSYS_LFS_REQUESTED@

/* Whether Large File Support is available.  */
#if @KWSYS_NAMESPACE@_LFS_REQUESTED
# define @KWSYS_NAMESPACE@_LFS_AVAILABLE @KWSYS_LFS_AVAILABLE@
#endif

/* Setup Large File Support if requested.  */
#if @KWSYS_NAMESPACE@_LFS_REQUESTED
  /* Since LFS is requested this header must be included before system
     headers whether or not LFS is available. */
# if 0 && (defined(_SYS_TYPES_H) || defined(_SYS_TYPES_INCLUDED))
#  error "@KWSYS_NAMESPACE@/Configure.h must be included before sys/types.h"
# endif
  /* Enable the large file API if it is available.  */
# if @KWSYS_NAMESPACE@_LFS_AVAILABLE && \
     !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINES)
#  if !defined(_LARGEFILE_SOURCE) && \
      !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINE_LARGEFILE_SOURCE)
#   define _LARGEFILE_SOURCE
60
#  endif
61
62
63
#  if !defined(_LARGEFILE64_SOURCE) && \
      !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINE_LARGEFILE64_SOURCE)
#   define _LARGEFILE64_SOURCE
64
#  endif
65
66
67
#  if !defined(_LARGE_FILES) && \
      !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINE_LARGE_FILES)
#   define _LARGE_FILES
68
#  endif
69
70
71
72
#  if !defined(_FILE_OFFSET_BITS) && \
      !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINE_FILE_OFFSET_BITS)
#   define _FILE_OFFSET_BITS 64
#  endif
73
#  if 0 && (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS < 64)
74
75
76
#   error "_FILE_OFFSET_BITS must be defined to at least 64"
#  endif
# endif
77
78
#endif

Brad King's avatar
Brad King committed
79
/* Setup the export macro.  */
Brad King's avatar
Brad King committed
80
81
82
83
#if defined(_WIN32) && @KWSYS_BUILD_SHARED@
# if defined(@KWSYS_NAMESPACE@_EXPORTS)
#  define @KWSYS_NAMESPACE@_EXPORT __declspec(dllexport)
# else
Brad King's avatar
Brad King committed
84
#  define @KWSYS_NAMESPACE@_EXPORT __declspec(dllimport)
Brad King's avatar
Brad King committed
85
86
87
88
89
# endif
#else
# define @KWSYS_NAMESPACE@_EXPORT
#endif

Brad King's avatar
Brad King committed
90
91
92
93
94
95
96
97
/* Enable warnings that are off by default but are useful.  */
#if !defined(@KWSYS_NAMESPACE@_NO_WARNING_ENABLE)
# if defined(_MSC_VER)
#  pragma warning ( default : 4263 ) /* no override, call convention differs */
# endif
#endif

/* Disable warnings that are on by default but occur in valid code.  */
Brad King's avatar
Brad King committed
98
99
#if !defined(@KWSYS_NAMESPACE@_NO_WARNING_DISABLE)
# if defined(_MSC_VER)
Brad King's avatar
Brad King committed
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#  pragma warning (disable: 4097) /* typedef is synonym for class */
#  pragma warning (disable: 4127) /* conditional expression is constant */
#  pragma warning (disable: 4244) /* possible loss in conversion */
#  pragma warning (disable: 4251) /* missing DLL-interface */
#  pragma warning (disable: 4305) /* truncation from type1 to type2 */
#  pragma warning (disable: 4309) /* truncation of constant value */
#  pragma warning (disable: 4514) /* unreferenced inline function */
#  pragma warning (disable: 4706) /* assignment in conditional expression */
#  pragma warning (disable: 4710) /* function not inlined */
#  pragma warning (disable: 4786) /* identifier truncated in debug info */
# endif
#endif

/* MSVC 6.0 in release mode will warn about code it produces with its
   optimizer.  Disable the warnings specifically for this
   configuration.  Real warnings will be revealed by a debug build or
   by other compilers.  */
#if !defined(@KWSYS_NAMESPACE@_NO_WARNING_DISABLE_BOGUS)
# if defined(_MSC_VER) && (_MSC_VER < 1300) && defined(NDEBUG)
#  pragma warning ( disable : 4701 ) /* Variable may be used uninitialized.  */
#  pragma warning ( disable : 4702 ) /* Unreachable code.  */
Brad King's avatar
Brad King committed
121
122
123
# endif
#endif

Brad King's avatar
Brad King committed
124
#endif