-// Defines CPU and compiler dependent macros
+#ifndef _CL_CONFIG_PUBLIC_H
+#define _CL_CONFIG_PUBLIC_H
-#ifndef _CL_CONFIG_H
-#define _CL_CONFIG_H
+#include "cln/host_cpu.h"
+#include "cln/version.h"
-/* These definitions are adjusted by `configure' automatically. */
-
-
-/* release version */
-
-#undef CL_VERSION_MAJOR
-#undef CL_VERSION_MINOR
-#undef CL_VERSION_PATCHLEVEL
-#undef CL_VERSION
-
-
-/* CPU */
-#ifndef __i386__
-#undef __i386__
-#endif
-
-#ifndef __x86_64__
-#undef __x86_64__
-#endif
-
-#ifndef __m68k__
-#undef __m68k__
-#endif
-
-// NB: GCC def's __mips__ both on big-endian and little-endian systems.
-#ifndef __mips__
-#undef __mips__
-#endif
-
-#ifndef __mipsel__
-#undef __mipsel__
-#endif
-
-#ifndef __mips64__
-#undef __mips64__
-#endif
-
-#ifndef __sparc__
-#undef __sparc__
-#endif
-
-#ifndef __sparc64__
-#undef __sparc64__
-#endif
-
-#ifndef __alpha__
-#undef __alpha__
-#endif
-
-#ifndef __hppa__
-#undef __hppa__
-#endif
-
-#ifndef __arm__
-#undef __arm__
-#endif
-
-#ifndef __rs6000__
-#undef __rs6000__
-#endif
-
-#ifndef __powerpc64__
-#undef __powerpc64__
-#endif
-
-#ifndef __m88k__
-#undef __m88k__
-#endif
-
-#ifndef __convex__
-#undef __convex__
-#endif
-
-#ifndef __ia64__
-#undef __ia64__
-#endif
-
-#ifndef __s390__
-#undef __s390__
-#endif
-
-
-/* assembler syntax */
-
-/* CL_AS_UNDERSCORE */
-/* Define if C symbols are prefixed by an underscore in assembly language. */
-#undef ASM_UNDERSCORE
-
-
-/* compiler characteristics */
-
-/* CL_LONGLONG */
-/* Define if your compiler supports the `long long' type. */
+/*
+ * FIXME: this should not be exposed to user. Or at least it should be
+ * renamed to CL_HAVE_LONGLONG or something like that.
+ */
+/* compiler supports the `long long' type */
#undef HAVE_LONGLONG
-/* CL_LONGDOUBLE */
-/* Define if your compiler supports the `long double' type. */
-#undef HAVE_LONGDOUBLE
-
-
-/* header files */
-
-/* CL_UNISTD_H */
-/* Define if you have <unistd.h>. */
-#undef HAVE_UNISTD_H
-
-/* CL_GMP_SET_UINTD */
-/* Define one of the following so sizeof(uintD) matches sizeof(mp_limb_t). */
-#undef GMP_DEMANDS_UINTD_LONG_LONG
-#undef GMP_DEMANDS_UINTD_LONG
+/*
+ * Numbers in the heap are stored as "digit" (or "limb" in GMP speak)
+ * sequences. A digit is an unsigned int with sizeof(void *)*CHAR_BIT bits.
+ * It should be 8 or 16 or 32 or 64 bits. If CLN is sitting on top of GMP
+ * it should match mp_limb_t
+ */
#undef GMP_DEMANDS_UINTD_INT
+#undef GMP_DEMANDS_UINTD_LONG
-/* functions and declarations */
-
-/* CL_ALLOCA */
-/* Define if you have <alloca.h> and it should be used (not Ultrix). */
-#undef HAVE_ALLOCA_H
-/* Define if you need to link with an external alloca.o when using alloca(). */
-#undef NO_ALLOCA
-
-
-/* compiler characteristics */
-
-/* CL_GLOBAL_CONSTRUCTORS */
-/* Define as the prefix of the name of a module's global constructor function,
- cf. macro FILE_FUNCTION_FORMAT in gcc/tree.c. */
-#ifndef CL_GLOBAL_CONSTRUCTOR_PREFIX
-#undef CL_GLOBAL_CONSTRUCTOR_PREFIX
-#endif
-/* Define as the prefix of the name of a module's global destructor function,
- cf. macro FILE_FUNCTION_FORMAT in gcc/tree.c. */
-#ifndef CL_GLOBAL_DESTRUCTOR_PREFIX
-#undef CL_GLOBAL_DESTRUCTOR_PREFIX
-#endif
-/* Define if a module's global constructor function and global destructor
- function need to be exported in order to be accessible from other modules. */
-#undef CL_NEED_GLOBALIZE_CTORDTOR
-
-/* CL_CHAR_UNSIGNED */
-#ifndef __CHAR_UNSIGNED__
-#undef __CHAR_UNSIGNED__
-#endif
-
-/* CL_MACHINE */
-/* see cl_intparam.h */
-/* see cl_floatparam.h */
-
+#undef GMP_DEMANDS_UINTD_LONG_LONG
-#endif /* _CL_CONFIG_H */
+#endif /* _CL_CONFIG_PUBLIC_H */