1 |
/* Let's tell EMACS what language this is: -*- C -*- */ |
/* -*- C -*- */ |
2 |
|
|
3 |
/* Used by separable libraries to enable PSPP-specific features. */ |
/* Used by separable libraries to enable PSPP-specific features. */ |
4 |
#define PSPP 1 |
#define PSPP 1 |
23 |
/* Define these if DEBUGGING is off and you want to make certain |
/* Define these if DEBUGGING is off and you want to make certain |
24 |
additional optimizations. */ |
additional optimizations. */ |
25 |
#if !DEBUGGING |
#if !DEBUGGING |
|
/* #define PRODUCTION 1 */ /* disable extra function calls */ |
|
26 |
/* #define NDEBUG 1 */ /* disable assert() sanity checks */ |
/* #define NDEBUG 1 */ /* disable assert() sanity checks */ |
27 |
#endif |
#endif |
28 |
|
|
29 |
/* Compilers. */ |
/* Compilers. */ |
30 |
|
|
31 |
/* Make sure to use the proper keywords. */ |
/* Use proper keywords. */ |
32 |
#if __GNUC__ > 1 && !defined (inline) |
#if __GNUC__ > 1 && !defined (inline) |
33 |
#define inline __inline__ |
#define inline __inline__ |
34 |
#endif |
#endif |
46 |
#define NO_RETURN ATTRIBUTE ((noreturn)) |
#define NO_RETURN ATTRIBUTE ((noreturn)) |
47 |
#define PRINTF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (printf, FMT, FIRST))) |
#define PRINTF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (printf, FMT, FIRST))) |
48 |
#define SCANF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (scanf, FMT, FIRST))) |
#define SCANF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (scanf, FMT, FIRST))) |
|
|
|
|
/* CPUs. */ |
|
49 |
|
|
50 |
#if SIZEOF_DOUBLE == 8 |
/* This attribute was added late in the GCC 2.x cycle. */ |
51 |
#define second_lowest_flt64 second_lowest_value |
#if __GNUC__ > 2 |
52 |
|
#define MALLOC_LIKE ATTRIBUTE ((malloc)) |
53 |
#else |
#else |
54 |
#error Must define second_lowest_flt64 for your architecture. |
#define MALLOC_LIKE |
|
#endif |
|
|
|
|
|
/* Figure out which integer type on this system is a signed 32-bit |
|
|
integer. */ |
|
|
#if SIZEOF_SHORT==4 |
|
|
#define int32 short |
|
|
#elif SIZEOF_INT==4 |
|
|
#define int32 int |
|
|
#elif SIZEOF_LONG==4 |
|
|
#define int32 long |
|
|
#else |
|
|
#error Which one of your basic types is 32-bit signed integer? |
|
|
#endif |
|
|
|
|
|
#if SIZEOF_FLOAT==8 |
|
|
#define flt64 float |
|
|
#define FLT64_MAX FLT_MAX |
|
|
#elif SIZEOF_DOUBLE==8 |
|
|
#define flt64 double |
|
|
#define FLT64_MAX DBL_MAX |
|
|
#elif SIZEOF_LONG_DOUBLE==8 |
|
|
#define flt64 long double |
|
|
#define FLT64_MAX LDBL_MAX |
|
|
#else |
|
|
#error Which one of your basic types is 64-bit floating point? |
|
|
#define flt64 double |
|
|
#define FLT64_MAX DBL_MAX |
|
55 |
#endif |
#endif |
56 |
|
|
|
/* Environments. */ |
|
|
|
|
57 |
/* Internationalization. */ |
/* Internationalization. */ |
58 |
#include <libintl.h> |
#include <libintl.h> |
59 |
|
|
60 |
#if !ENABLE_NLS |
#if !ENABLE_NLS |
61 |
/* If we don't do this then gettext() still monkeys with the string, |
/* If we don't do this then gettext() still monkeys with the |
62 |
which causes gcc not to do its checking on printf() format |
string, keeping gcc from checking printf() format types. */ |
|
types. */ |
|
63 |
#undef gettext |
#undef gettext |
64 |
#define gettext(STRING) STRING |
#define gettext(STRING) STRING |
65 |
#endif |
#endif |
69 |
|
|
70 |
/* Filesystems. */ |
/* Filesystems. */ |
71 |
|
|
72 |
/* Directory separator character for this OS, if applicable. */ |
/* Directory separator and path delimiter for this OS. */ |
73 |
#ifndef __MSDOS__ |
#ifndef __MSDOS__ |
74 |
#define DIR_SEPARATOR '/' |
#define DIR_SEPARATOR '/' |
|
#else |
|
|
#define DIR_SEPARATOR '\\' |
|
|
#endif |
|
|
|
|
|
/* Path delimiter character. */ |
|
|
#ifndef __MSDOS__ |
|
75 |
#define PATH_DELIMITER ':' |
#define PATH_DELIMITER ':' |
76 |
#else |
#else |
77 |
|
#define DIR_SEPARATOR '\\' |
78 |
#define PATH_DELIMITER ';' |
#define PATH_DELIMITER ';' |
79 |
#endif |
#endif |
80 |
|
|
92 |
file. */ |
file. */ |
93 |
#define MAX_HISTORY 500 |
#define MAX_HISTORY 500 |
94 |
|
|
|
/* Output drivers. */ |
|
|
|
|
|
/* Define to exclude the HTML output driver. */ |
|
|
/* #define NO_HTML 1 */ |
|
|
|
|
|
/* Define to exclude the PostScript and Encapsulated PostScript |
|
|
driver. */ |
|
|
/* #define NO_POSTSCRIPT 1 */ |
|
|
|
|
95 |
/* Non ansi compilers may set this */ |
/* Non ansi compilers may set this */ |
96 |
#ifndef P_tmpdir |
#ifndef P_tmpdir |
97 |
#define P_tmpdir "/tmp" |
#define P_tmpdir "/tmp" |