#include <stdio.h>
#include <string.h>
+#include <uniconv.h>
#define pf printf
#ifdef STDC_HEADERS
pf ("#define SCM_HAVE_STDC_HEADERS 1 /* 0 or 1 */\n");
pf ("#include <stdlib.h>\n");
-# if HAVE_SYS_TYPES_H
+# ifdef HAVE_SYS_TYPES_H
pf ("#include <sys/types.h>\n");
# endif
-# if HAVE_SYS_STDTYPES_H
+# ifdef HAVE_SYS_STDTYPES_H
pf ("#include <sys/stdtypes.h>\n");
# endif
pf ("#include <stddef.h>\n");
pf ("#define SCM_SIZEOF_LONG_LONG %d\n", SIZEOF_LONG_LONG);
pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %d\n", SIZEOF_UNSIGNED_LONG_LONG);
- pf("\n");
- pf("/* handling for the deprecated long_long and ulong_long types */\n");
- pf("/* If anything suitable is available, it'll be defined here. */\n");
- pf("#if (SCM_ENABLE_DEPRECATED == 1)\n");
- if (SIZEOF_LONG_LONG != 0)
- pf ("typedef long long long_long;\n");
- else if (SIZEOF___INT64 != 0)
- pf ("typedef __int64 long_long;\n");
-
- if (SIZEOF_UNSIGNED_LONG_LONG != 0)
- pf ("typedef unsigned long long ulong_long;\n");
- else if (SIZEOF_UNSIGNED___INT64 != 0)
- pf ("typedef unsigned __int64 ulong_long;\n");
- pf("#endif /* SCM_ENABLE_DEPRECATED == 1 */\n");
-
pf ("\n");
pf ("/* These are always defined. */\n");
pf ("typedef %s scm_t_int8;\n", SCM_I_GSC_T_INT8);
pf ("typedef %s scm_t_uint32;\n", SCM_I_GSC_T_UINT32);
pf ("typedef %s scm_t_intmax;\n", SCM_I_GSC_T_INTMAX);
pf ("typedef %s scm_t_uintmax;\n", SCM_I_GSC_T_UINTMAX);
+ pf ("typedef %s scm_t_intptr;\n", SCM_I_GSC_T_INTPTR);
+ pf ("typedef %s scm_t_uintptr;\n", SCM_I_GSC_T_UINTPTR);
if (0 == strcmp ("intmax_t", SCM_I_GSC_T_INTMAX))
pf ("#define SCM_SIZEOF_INTMAX %d\n", SIZEOF_INTMAX_T);
pf ("typedef long int scm_t_off;\n");
#endif
-#if USE_DLL_IMPORT
+ pf ("/* Define to 1 if the compiler supports the "
+ "`__thread' storage class. */\n");
+ if (SCM_I_GSC_HAVE_THREAD_STORAGE_CLASS)
+ pf ("#define SCM_HAVE_THREAD_STORAGE_CLASS\n");
+ else
+ pf ("/* #undef SCM_HAVE_THREAD_STORAGE_CLASS */\n");
+
+#ifdef USE_DLL_IMPORT
pf ("\n");
pf ("/* Define some additional CPP macros on Win32 platforms. */\n");
pf ("# define __REGEX_IMPORT__ 1\n");
pf ("#define SCM_HAVE_ARRAYS 1 /* always true now */\n");
+ pf ("\n");
+ pf ("/* Constants from uniconv.h. */\n");
+ pf ("#define SCM_ICONVEH_ERROR %d\n", (int) iconveh_error);
+ pf ("#define SCM_ICONVEH_QUESTION_MARK %d\n",
+ (int) iconveh_question_mark);
+ pf ("#define SCM_ICONVEH_ESCAPE_SEQUENCE %d\n",
+ (int) iconveh_escape_sequence);
+
printf ("#endif\n");
return 0;