buildsystem: split config.h into config.h and config-internal.h

Part of config.h was removed during the installation, we split config.h
so that part is in a separate file.

Additionally we add ECL_BUILD define during ECL build phase, so we can
distinguish whenever we build ECL or use it normally (because ecl.h has
to include config-internal.h at the build time).
This commit is contained in:
Daniel Kochmański 2016-10-07 12:49:55 +02:00
parent 8f5d92f59a
commit 2e6fd7e449
9 changed files with 925 additions and 288 deletions

View file

@ -163,7 +163,6 @@ install:
$(INSTALL_DATA) $$i $(DESTDIR)$(ecldir)/encodings; \
done \
fi
sed '/-CUT-/,$$d' ./ecl/config.h > ./ecl/config-install.h
$(mkinstalldirs) $(DESTDIR)$(includedir)/ecl
for i in `(cd ecl && find . -type d)`; do \
k="$(DESTDIR)$(includedir)/ecl/$$i"; \

View file

@ -12,7 +12,7 @@ VPATH = @srcdir@
#
CC = @CC@
TRUE_CC = $(CC)
CFLAGS = -Werror -Wno-error=shift-count-overflow -I. -I@true_builddir@ -I$(srcdir) -I../ecl/gc -DECL_API -DECL_NO_LEGACY @CPPFLAGS@ @CFLAGS@ @ECL_CFLAGS@ -c
CFLAGS = -Werror -Wno-error=shift-count-overflow -I. -I@true_builddir@ -I$(srcdir) -I../ecl/gc -DECL_BUILD -DECL_API -DECL_NO_LEGACY @CPPFLAGS@ @CFLAGS@ @ECL_CFLAGS@ -c
# The following flags could be added and used by GCC
# -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align \

View file

@ -80,6 +80,7 @@
#define DPP
#include <ecl/config.h>
#include <ecl/config-internal.h>
#include "symbols_list2.h"
/* #define POOLSIZE 2048 */

6
src/configure vendored
View file

@ -9689,9 +9689,9 @@ $as_echo "#define ECL_RELATIVE_PACKAGE_NAMES 1" >>confdefs.h
fi
ac_config_files="$ac_config_files bare.lsp lsp/load.lsp clos/load.lsp cmp/load.lsp ../Makefile Makefile c/Makefile doc/Makefile doc/ecl.man doc/ecl-config.man ecl/configpre.h:h/config.h.in bin/ecl-config.pre:util/ecl-config lsp/config.pre:lsp/config.lsp.in compile.pre:compile.lsp.in cmp/cmpdefs.pre:cmp/cmpdefs.lsp tests/config.lsp tests/Makefile"
ac_config_files="$ac_config_files bare.lsp lsp/load.lsp clos/load.lsp cmp/load.lsp ../Makefile Makefile c/Makefile doc/Makefile doc/ecl.man doc/ecl-config.man ecl/configpre.h:h/config.h.in ecl/configpre-int.h:h/config-internal.h.in bin/ecl-config.pre:util/ecl-config lsp/config.pre:lsp/config.lsp.in compile.pre:compile.lsp.in cmp/cmpdefs.pre:cmp/cmpdefs.lsp tests/config.lsp tests/Makefile"
ac_config_headers="$ac_config_headers ecl/config.h:ecl/configpre.h"
ac_config_headers="$ac_config_headers ecl/config.h:ecl/configpre.h ecl/config-internal.h:ecl/configpre-int.h"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@ -10395,6 +10395,7 @@ do
"doc/ecl.man") CONFIG_FILES="$CONFIG_FILES doc/ecl.man" ;;
"doc/ecl-config.man") CONFIG_FILES="$CONFIG_FILES doc/ecl-config.man" ;;
"ecl/configpre.h") CONFIG_FILES="$CONFIG_FILES ecl/configpre.h:h/config.h.in" ;;
"ecl/configpre-int.h") CONFIG_FILES="$CONFIG_FILES ecl/configpre-int.h:h/config-internal.h.in" ;;
"bin/ecl-config.pre") CONFIG_FILES="$CONFIG_FILES bin/ecl-config.pre:util/ecl-config" ;;
"lsp/config.pre") CONFIG_FILES="$CONFIG_FILES lsp/config.pre:lsp/config.lsp.in" ;;
"compile.pre") CONFIG_FILES="$CONFIG_FILES compile.pre:compile.lsp.in" ;;
@ -10402,6 +10403,7 @@ do
"tests/config.lsp") CONFIG_FILES="$CONFIG_FILES tests/config.lsp" ;;
"tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
"ecl/config.h") CONFIG_HEADERS="$CONFIG_HEADERS ecl/config.h:ecl/configpre.h" ;;
"ecl/config-internal.h") CONFIG_HEADERS="$CONFIG_HEADERS ecl/config-internal.h:ecl/configpre-int.h" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac

View file

@ -891,13 +891,28 @@ if test "${enable_hpack}" = "yes"; then
fi
AC_CONFIG_FILES([
bare.lsp lsp/load.lsp clos/load.lsp cmp/load.lsp
../Makefile Makefile c/Makefile doc/Makefile doc/ecl.man doc/ecl-config.man
ecl/configpre.h:h/config.h.in bin/ecl-config.pre:util/ecl-config
lsp/config.pre:lsp/config.lsp.in compile.pre:compile.lsp.in
bare.lsp
lsp/load.lsp
clos/load.lsp
cmp/load.lsp
../Makefile
Makefile
c/Makefile
doc/Makefile
doc/ecl.man
doc/ecl-config.man
ecl/configpre.h:h/config.h.in
ecl/configpre-int.h:h/config-internal.h.in
bin/ecl-config.pre:util/ecl-config
lsp/config.pre:lsp/config.lsp.in
compile.pre:compile.lsp.in
cmp/cmpdefs.pre:cmp/cmpdefs.lsp
tests/config.lsp tests/Makefile
tests/config.lsp
tests/Makefile
])
AC_CONFIG_HEADERS([ecl/config.h:ecl/configpre.h])
AC_CONFIG_HEADERS([
ecl/config.h:ecl/configpre.h
ecl/config-internal.h:ecl/configpre-int.h
])
AC_OUTPUT
for i in $srcdir/c/*/; do mkdir -p c/`basename $i`; done

605
src/ecl/configpre-int.h Normal file
View file

@ -0,0 +1,605 @@
/* ecl/configpre-int.h
. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Define to 1 if the `closedir' function returns void instead of `int'. */
#undef CLOSEDIR_VOID
/* ECL_AVOID_FPE_H */
#undef ECL_AVOID_FPE_H
/* Allow STREAM operations to work on arbitrary objects */
#undef ECL_CLOS_STREAMS
/* Use CMU Common-Lisp's FORMAT routine */
#undef ECL_CMU_FORMAT
/* Stack grows downwards */
#undef ECL_DOWN_STACK
/* ECL_IEEE_FP */
#undef ECL_IEEE_FP
/* ECL_LIBATOMIC_OPS_H */
#undef ECL_LIBATOMIC_OPS_H
/* ECL_LONG_FLOAT */
#undef ECL_LONG_FLOAT
/* ECL_LOING_LONG_BITS */
#undef ECL_LONG_LONG_BITS
/* Define if your newline is CR */
#undef ECL_NEWLINE_IS_CR
/* Define if your newline is CRLF */
#undef ECL_NEWLINE_IS_CRLF
/* Hierarchical package names */
#undef ECL_RELATIVE_PACKAGE_NAMES
/* ECL_RWLOCK */
#undef ECL_RWLOCK
/* ECL_SIGNED_ZERO */
#undef ECL_SIGNED_ZERO
/* Bytecodes and arguments are 8 and 16 bits large, respectively */
#undef ECL_SMALL_BYTECODES
/* ECL_SMALL_CONS */
#undef ECL_SMALL_CONS
/* ECL_SSE2 */
#undef ECL_SSE2
/* Userland threads? */
#undef ECL_THREADS
/* Support for Unicode */
#undef ECL_UNICODE
/* Link in the database of Unicode names */
#undef ECL_UNICODE_NAMES
/* ECL_USE_MPROTECT */
#undef ECL_USE_MPROTECT
/* Allow loading dynamically linked code */
#undef ENABLE_DLOPEN
/* Use Boehm's garbage collector */
#undef GBC_BOEHM
/* GBC_BOEHM_GENGC */
#undef GBC_BOEHM_GENGC
/* GBC_BOEHM_PRECISE */
#undef GBC_BOEHM_PRECISE
/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM
/* Define to 1 if you have the `backtrace' function. */
#undef HAVE_BACKTRACE
/* Define to 1 if you have the `backtrace_symbols' function. */
#undef HAVE_BACKTRACE_SYMBOLS
/* Define to 1 if you have the `ceilf' function. */
#undef HAVE_CEILF
/* Define to 1 if you have the `copysign' function. */
#undef HAVE_COPYSIGN
/* Define to 1 if you have the `cosf' function. */
#undef HAVE_COSF
/* Define to 1 if you have the `coshf' function. */
#undef HAVE_COSHF
/* Define to 1 if you have the `cosl' function. */
#undef HAVE_COSL
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define to 1 if you have the `dladdr' function. */
#undef HAVE_DLADDR
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if the system has the type `double complex'. */
#undef HAVE_DOUBLE_COMPLEX
/* HAVE_ENVIRON */
#undef HAVE_ENVIRON
/* Define to 1 if you have the `expf' function. */
#undef HAVE_EXPF
/* Define to 1 if you have the `expl' function. */
#undef HAVE_EXPL
/* Define to 1 if you have the `fabsf' function. */
#undef HAVE_FABSF
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `feenableexcept' function. */
#undef HAVE_FEENABLEEXCEPT
/* Define to 1 if you have the <fenv.h> header file. */
#undef HAVE_FENV_H
/* Define to 1 if the system has the type `float complex'. */
#undef HAVE_FLOAT_COMPLEX
/* Define to 1 if you have the <float.h> header file. */
#undef HAVE_FLOAT_H
/* Define to 1 if you have the `floor' function. */
#undef HAVE_FLOOR
/* Define to 1 if you have the `floorf' function. */
#undef HAVE_FLOORF
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
/* Define to 1 if you have the `frexpf' function. */
#undef HAVE_FREXPF
/* Define to 1 if you have the `frexpl' function. */
#undef HAVE_FREXPL
/* Define to 1 if you have the `fseeko' function. */
#undef HAVE_FSEEKO
/* HAVE_GC_SET_START_CALLBACK */
#undef HAVE_GC_SET_START_CALLBACK
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `gethostbyaddr' function. */
#undef HAVE_GETHOSTBYADDR
/* Define to 1 if you have the `gethostbyname' function. */
#undef HAVE_GETHOSTBYNAME
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `isatty' function. */
#undef HAVE_ISATTY
/* Define to 1 if you have the `ldexpf' function. */
#undef HAVE_LDEXPF
/* Define to 1 if you have the `ldexpl' function. */
#undef HAVE_LDEXPL
/* HAVE_LIBFFI */
#undef HAVE_LIBFFI
/* Define to 1 if you have the `gc' library (-lgc). */
#undef HAVE_LIBGC
/* Define to 1 if you have the `sun' library (-lsun). */
#undef HAVE_LIBSUN
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <link.h> header file. */
#undef HAVE_LINK_H
/* Define to 1 if you have the `log1p' function. */
#undef HAVE_LOG1P
/* Define to 1 if you have the `log1pf' function. */
#undef HAVE_LOG1PF
/* Define to 1 if you have the `log1pl' function. */
#undef HAVE_LOG1PL
/* Define to 1 if you have the `logf' function. */
#undef HAVE_LOGF
/* Define to 1 if you have the `logl' function. */
#undef HAVE_LOGL
/* Define to 1 if the system has the type `long double'. */
#undef HAVE_LONG_DOUBLE
/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT
/* Define to 1 if you have the <mach-o/dyld.h> header file. */
#undef HAVE_MACH_O_DYLD_H
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
to 0 otherwise. */
#undef HAVE_MALLOC
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the `mkdir' function. */
#undef HAVE_MKDIR
/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define to 1 if you have the `nanosleep' function. */
#undef HAVE_NANOSLEEP
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* HAVE_POSIX_RWLOCK */
#undef HAVE_POSIX_RWLOCK
/* Define to 1 if the system has the type `pthread_rwlock_t'. */
#undef HAVE_PTHREAD_RWLOCK_T
/* Define to 1 if the system has the type `ptrdiff_t'. */
#undef HAVE_PTRDIFF_T
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
/* Define to 1 if your system has a GNU libc compatible `realloc' function,
and to 0 otherwise. */
#undef HAVE_REALLOC
/* Define to 1 if you have the <sched.h> header file. */
#undef HAVE_SCHED_H
/* Define to 1 if you have the `sched_yield' function. */
#undef HAVE_SCHED_YIELD
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the <semaphore.h> header file. */
#undef HAVE_SEMAPHORE_H
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the `sigprocmask' function. */
#undef HAVE_SIGPROCMASK
/* Define to 1 if you have the `sinf' function. */
#undef HAVE_SINF
/* Define to 1 if you have the `sinhf' function. */
#undef HAVE_SINHF
/* Define to 1 if you have the `sinl' function. */
#undef HAVE_SINL
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the `sqrt' function. */
#undef HAVE_SQRT
/* Define to 1 if you have the `sqrtf' function. */
#undef HAVE_SQRTF
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG
/* Define to 1 if stdbool.h conforms to C99. */
#undef HAVE_STDBOOL_H
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
/* HAVE_SYS_MMAN_H */
#undef HAVE_SYS_MMAN_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <sys/utsname.h> header file. */
#undef HAVE_SYS_UTSNAME_H
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `tanf' function. */
#undef HAVE_TANF
/* Define to 1 if you have the `tanhf' function. */
#undef HAVE_TANHF
/* Define to 1 if you have the `tanl' function. */
#undef HAVE_TANL
/* Define to 1 if you have the `times' function. */
#undef HAVE_TIMES
/* Define to 1 if you have the `tzset' function. */
#undef HAVE_TZSET
/* Define to 1 if you have the <ulimit.h> header file. */
#undef HAVE_ULIMIT_H
/* Define to 1 if you have the `uname' function. */
#undef HAVE_UNAME
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK
/* Define to 1 if you have the <vfork.h> header file. */
#undef HAVE_VFORK_H
/* Define to 1 if `fork' works. */
#undef HAVE_WORKING_FORK
/* Define to 1 if `vfork' works. */
#undef HAVE_WORKING_VFORK
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
/* HAVE___BUILTIN_RETURN_ADDRESS */
#undef HAVE___BUILTIN_RETURN_ADDRESS
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* Define to the type of arg 1 for `select'. */
#undef SELECT_TYPE_ARG1
/* Define to the type of args 2, 3 and 4 for `select'. */
#undef SELECT_TYPE_ARG234
/* Define to the type of arg 5 for `select'. */
#undef SELECT_TYPE_ARG5
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Network streams */
#undef TCP
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* __thread thread-local variables? */
#undef WITH___THREAD
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT32_T
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT64_T
/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT8_T
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* ecl_int16_t */
#undef ecl_int16_t
/* ecl_int32_t */
#undef ecl_int32_t
/* ecl_int64_t */
#undef ecl_int64_t
/* ecl_int8_t */
#undef ecl_int8_t
/* compiler understands long long */
#undef ecl_long_long_t
/* ecl_uint16_t */
#undef ecl_uint16_t
/* ecl_uint32_t */
#undef ecl_uint32_t
/* ecl_uint64_t */
#undef ecl_uint64_t
/* ecl_uint8_t */
#undef ecl_uint8_t
/* compiler understands long long */
#undef ecl_ulong_long_t
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to the type of a signed integer type of width exactly 16 bits if
such a type exists and the standard includes do not define it. */
#undef int16_t
/* Define to the type of a signed integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef int32_t
/* Define to the type of a signed integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef int64_t
/* Define to the type of a signed integer type of width exactly 8 bits if such
a type exists and the standard includes do not define it. */
#undef int8_t
/* Define to rpl_malloc if the replacement function should be used. */
#undef malloc
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to rpl_realloc if the replacement function should be used. */
#undef realloc
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Define to the type of an unsigned integer type of width exactly 16 bits if
such a type exists and the standard includes do not define it. */
#undef uint16_t
/* Define to the type of an unsigned integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef uint32_t
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef uint64_t
/* Define to the type of an unsigned integer type of width exactly 8 bits if
such a type exists and the standard includes do not define it. */
#undef uint8_t
/* Define as `fork' if `vfork' does not work. */
#undef vfork
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile

289
src/h/config-internal.h.in Normal file
View file

@ -0,0 +1,289 @@
/* -*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*- */
/* vim: set filetype=c tabstop=8 shiftwidth=4 expandtab: */
/*
config-internal.h.in -- Template configuration file (not exported options).
Copyright (c) 1990, Giuseppe Attardi.
Copyright (c) 2001, Juan Jose Garcia Ripoll.
See top-level file 'LICENSE' for license details.
*/
/* -------------------------------------------------------------------- *
* BUILD OPTIONS WHICH NEED NOT BE EXPORTED *
* -------------------------------------------------------------------- */
/*
* FEATURES LINKED IN:
*/
/* Define this if you want a runtime version only without compiler */
#undef RUNTIME
/* Profile tool */
#undef PROFILE
/* Program Development Environment */
#undef PDE
/* Allow loading dynamically linked code */
#undef ENABLE_DLOPEN
/* Undefine this if you do not want ECL to check for circular lists */
#define ECL_SAFE
/* Bytecodes and arguments are 8 and 16 bits large, respectively */
#undef ECL_SMALL_BYTECODES
/* Assembler implementation of APPLY and friends */
#undef ECL_ASM_APPLY
/* Activate Boehm-Weiser incremental garbage collector */
#undef GBC_BOEHM_GENGC
/* Activate Boehm-Weiser precise garbage collector */
#undef GBC_BOEHM_PRECISE
/* Weak hash tables need the garbage collector and weak pointers */
#ifdef GBC_BOEHM
#define ECL_WEAK_HASH
#endif
/* GC_set_start_callback */
#undef HAVE_GC_SET_START_CALLBACK
/*
* SYSTEM FEATURES:
*/
/* Argument list can be access as an array */
#undef ECL_USE_VARARG_AS_POINTER
/* Most significant byte first */
#undef WORDS_BIGENDIAN
/* Has <sys/resource.h> */
#undef HAVE_SYS_RESOURCE_H
#undef HAVE_ULIMIT_H
/* High precision timer */
#undef HAVE_NANOSLEEP
/* Float version if isnan() */
#undef HAVE_ISNANF
/* float.h for epsilons, maximum real numbers, etc */
#undef HAVE_FLOAT_H
/* select() */
#ifndef NACL
#undef HAVE_SELECT
#endif
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_IOCTL_H
/* putenv() or setenv() */
#undef HAVE_SETENV
#undef HAVE_PUTENV
/* times() and sys/times.h */
#ifndef NACL
#undef HAVE_TIMES
#endif
/* gettimeofday() and sys/time.h */
#undef HAVE_GETTIMEOFDAY
/* getrusage() and sys/resource.h */
#ifndef NACL
#undef HAVE_GETRUSAGE
#endif
/* user home directory, user name, etc... */
#undef HAVE_PW_H
/* symbolic links and checking their existence */
#ifndef NACL
#undef HAVE_LSTAT
#endif
/* safe creation of temporary files */
#undef HAVE_MKSTEMP
/* timer for userland threads */
#undef HAVE_ALARM
/* filesytem */
#undef HAVE_DIRENT_H
/* dynamic linking of libraries */
#undef HAVE_DLFCN_H
#undef HAVE_LINK_H
#undef HAVE_MACH_O_DYLD_H
/* POSIX signals */
#ifndef NACL
#undef HAVE_SIGPROCMASK
#endif
/* isatty() checks whether a file is connected to a */
#undef HAVE_ISATTY
/* can manipulate floating point environment */
#undef HAVE_FENV_H
/* can activate individual traps in floating point environment */
/* this flag has to be deactivated for the Itanium architecture, where */
/* the GNU libc functions are broken */
#if !defined(__ia64__) && !defined(PPC)
#undef HAVE_FEENABLEEXCEPT
#endif
/* do we want to deactivate all support for floating point exceptions */
#undef ECL_AVOID_FPE_H
/* do we want to have signed zeros */
#undef ECL_SIGNED_ZERO
/* do we want NaNs and Infs */
#undef ECL_IEEE_FP
/* has support for large files */
#undef HAVE_FSEEKO
/* the tzset() function gets the current time zone */
#undef HAVE_TZSET
/* several floating point functions (ISO C99) */
#if 0
#undef HAVE_EXPF
#undef HAVE_LOGF
#undef HAVE_SQRTF
#undef HAVE_COSF
#undef HAVE_SINF
#undef HAVE_TANF
#undef HAVE_SINHF
#undef HAVE_COSHF
#undef HAVE_TANHF
#endif
#undef HAVE_FLOORF
#undef HAVE_CEILF
#undef HAVE_FABSF
#undef HAVE_FREXPF
#undef HAVE_LDEXPF
#undef HAVE_LOG1P
#undef HAVE_LOG1PF
#undef HAVE_LOG1PL
#undef HAVE_COPYSIGNF
#undef HAVE_COPYSIGN
#undef HAVE_COPYSIGNL
/* whether we have sched_yield() that gives priority to other threads */
#undef HAVE_SCHED_YIELD
/* whether we have a working sem_init() */
#undef HAVE_SEM_INIT
/* whether we have read/write locks */
#undef HAVE_POSIX_RWLOCK
/* uname() for system identification */
#undef HAVE_UNAME
#undef HAVE_UNISTD_H
#undef HAVE_SYS_WAIT_H
#undef HAVE_SYS_MMAN_H
/* size of long long */
#undef ECL_LONG_LONG_BITS
/* existence of char **environ */
#undef HAVE_ENVIRON
/* existence of pointer -> function name functions */
#undef HAVE_DLADDR
#undef HAVE_BACKTRACE
#undef HAVE_BACKTRACE_SYMBOLS
#undef HAVE___BUILTIN_RETURN_ADDRESS
#undef HAVE_SCHED_H
/*
* we do not manage to get proper signal handling of floating point
* arithmetics in the Alpha chips.
*/
#if defined(__alpha__)
# ifdef HAVE_FENV_H
# undef HAVE_FENV_H
# endif
# ifdef HAVE_FEENABLEEXCEPT
# undef HAVE_FEENABLEEXCEPT
# endif
#endif
/* what characters are used to mark beginning of new line */
#undef ECL_NEWLINE_IS_CRLF
#undef ECL_NEWLINE_IS_LFCR
/*
* PARAMETERS:
*/
/*
* Memory limits for the old garbage collector.
*/
#define LISP_PAGESIZE 2048 /* Page size in bytes */
#define MAXPAGE 65536 /* Maximum Memory Size */
/* We allocate a number of strings in a pool which is used to speed up reading */
#define ECL_MAX_STRING_POOL_SIZE 10
#define ECL_BUFFER_STRING_SIZE 4192
/*
* Macros that depend on these system features.
*/
#if defined(sparc) || defined(i386) || defined(mips)
# define stack_align(n) (((n) + 0x7) & ~0x7)
#else
# define stack_align(n) (((n) + 03) & ~03)
#endif
#undef FILE_CNT
#if @ECL_FILE_CNT@ == 1
# define FILE_CNT(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
#endif
#if @ECL_FILE_CNT@ == 2
# define FILE_CNT(fp) ((fp)->_r)
#endif
#if @ECL_FILE_CNT@ == 3
# define FILE_CNT(fp) ((fp)->_cnt)
#endif
#if defined(cygwin) || defined(ECL_MS_WINDOWS_HOST)
# define IS_DIR_SEPARATOR(x) ((x=='/')||(x=='\\'))
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ';'
#else
# define IS_DIR_SEPARATOR(x) (x=='/')
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
#endif
#define ECL_ARCHITECTURE "@ARCHITECTURE@"
#ifdef ECL_AVOID_FPE_H
# define ecl_detect_fpe()
#else
# include "@ECL_FPE_CODE@"
#endif
#ifdef ECL_INCLUDE_MATH_H
# include <math.h>
# ifdef _MSC_VER
# undef complex
# define signbit(x) (copysign(1.0,(x)))
# endif
# ifndef isfinite
# ifdef __sun__
# ifndef ECL_LONG_FLOAT
# include <ieeefp.h>
# define isfinite(x) finite(x)
# else
# error "Function isfinite() is missing"
# endif
# else
# define isfinite(x) finite(x)
# endif
# endif
# ifndef signbit
# ifndef ECL_SIGNED_ZERO
# define signbit(x) ((x) < 0)
# else
# ifdef HAVE_COPYSIGN
# define signbit(x) (copysign(1.0,(x)) < 0)
# else
/* Fall back to no signed zero */
# undef \
ECL_SIGNED_ZERO
# define signbit(x) ((x) < 0)
# endif
# endif
# endif
/*
* GCC fails to compile the following code
* if (f == 0.0) { if (signbit(f)) ... }
*/
# if defined(__sun__) && defined(__GNUC__)
# undef \
signbit /* Avoid autoconf removing this */
# define signbit(x) (copysign(1.0,(x)) < 0)
# endif
#endif
#if defined(HAVE_LIBFFI) && defined(ECL_INCLUDE_FFI_H)
#include "@ECL_LIBFFI_HEADER@"
#endif

View file

@ -258,281 +258,3 @@ typedef unsigned char ecl_base_char;
#if defined(__SSE2__) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2)
#undef ECL_SSE2
#endif
/* -CUT-: Everything below this mark will not be installed */
/* -------------------------------------------------------------------- *
* BUILD OPTIONS WHICH NEED NOT BE EXPORTED *
* -------------------------------------------------------------------- */
/*
* FEATURES LINKED IN:
*/
/* Define this if you want a runtime version only without compiler */
#undef RUNTIME
/* Profile tool */
#undef PROFILE
/* Program Development Environment */
#undef PDE
/* Allow loading dynamically linked code */
#undef ENABLE_DLOPEN
/* Undefine this if you do not want ECL to check for circular lists */
#define ECL_SAFE
/* Bytecodes and arguments are 8 and 16 bits large, respectively */
#undef ECL_SMALL_BYTECODES
/* Assembler implementation of APPLY and friends */
#undef ECL_ASM_APPLY
/* Activate Boehm-Weiser incremental garbage collector */
#undef GBC_BOEHM_GENGC
/* Activate Boehm-Weiser precise garbage collector */
#undef GBC_BOEHM_PRECISE
/* Weak hash tables need the garbage collector and weak pointers */
#ifdef GBC_BOEHM
#define ECL_WEAK_HASH
#endif
/* GC_set_start_callback */
#undef HAVE_GC_SET_START_CALLBACK
/*
* SYSTEM FEATURES:
*/
/* Argument list can be access as an array */
#undef ECL_USE_VARARG_AS_POINTER
/* Most significant byte first */
#undef WORDS_BIGENDIAN
/* Has <sys/resource.h> */
#undef HAVE_SYS_RESOURCE_H
#undef HAVE_ULIMIT_H
/* High precision timer */
#undef HAVE_NANOSLEEP
/* Float version if isnan() */
#undef HAVE_ISNANF
/* float.h for epsilons, maximum real numbers, etc */
#undef HAVE_FLOAT_H
/* select() */
#ifndef NACL
#undef HAVE_SELECT
#endif
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_IOCTL_H
/* putenv() or setenv() */
#undef HAVE_SETENV
#undef HAVE_PUTENV
/* times() and sys/times.h */
#ifndef NACL
#undef HAVE_TIMES
#endif
/* gettimeofday() and sys/time.h */
#undef HAVE_GETTIMEOFDAY
/* getrusage() and sys/resource.h */
#ifndef NACL
#undef HAVE_GETRUSAGE
#endif
/* user home directory, user name, etc... */
#undef HAVE_PW_H
/* symbolic links and checking their existence */
#ifndef NACL
#undef HAVE_LSTAT
#endif
/* safe creation of temporary files */
#undef HAVE_MKSTEMP
/* timer for userland threads */
#undef HAVE_ALARM
/* filesytem */
#undef HAVE_DIRENT_H
/* dynamic linking of libraries */
#undef HAVE_DLFCN_H
#undef HAVE_LINK_H
#undef HAVE_MACH_O_DYLD_H
/* POSIX signals */
#ifndef NACL
#undef HAVE_SIGPROCMASK
#endif
/* isatty() checks whether a file is connected to a */
#undef HAVE_ISATTY
/* can manipulate floating point environment */
#undef HAVE_FENV_H
/* can activate individual traps in floating point environment */
/* this flag has to be deactivated for the Itanium architecture, where */
/* the GNU libc functions are broken */
#if !defined(__ia64__) && !defined(PPC)
#undef HAVE_FEENABLEEXCEPT
#endif
/* do we want to deactivate all support for floating point exceptions */
#undef ECL_AVOID_FPE_H
/* do we want to have signed zeros */
#undef ECL_SIGNED_ZERO
/* do we want NaNs and Infs */
#undef ECL_IEEE_FP
/* has support for large files */
#undef HAVE_FSEEKO
/* the tzset() function gets the current time zone */
#undef HAVE_TZSET
/* several floating point functions (ISO C99) */
#if 0
#undef HAVE_EXPF
#undef HAVE_LOGF
#undef HAVE_SQRTF
#undef HAVE_COSF
#undef HAVE_SINF
#undef HAVE_TANF
#undef HAVE_SINHF
#undef HAVE_COSHF
#undef HAVE_TANHF
#endif
#undef HAVE_FLOORF
#undef HAVE_CEILF
#undef HAVE_FABSF
#undef HAVE_FREXPF
#undef HAVE_LDEXPF
#undef HAVE_LOG1P
#undef HAVE_LOG1PF
#undef HAVE_LOG1PL
#undef HAVE_COPYSIGNF
#undef HAVE_COPYSIGN
#undef HAVE_COPYSIGNL
/* whether we have sched_yield() that gives priority to other threads */
#undef HAVE_SCHED_YIELD
/* whether we have a working sem_init() */
#undef HAVE_SEM_INIT
/* whether we have read/write locks */
#undef HAVE_POSIX_RWLOCK
/* uname() for system identification */
#undef HAVE_UNAME
#undef HAVE_UNISTD_H
#undef HAVE_SYS_WAIT_H
#undef HAVE_SYS_MMAN_H
/* size of long long */
#undef ECL_LONG_LONG_BITS
/* existence of char **environ */
#undef HAVE_ENVIRON
/* existence of pointer -> function name functions */
#undef HAVE_DLADDR
#undef HAVE_BACKTRACE
#undef HAVE_BACKTRACE_SYMBOLS
#undef HAVE___BUILTIN_RETURN_ADDRESS
#undef HAVE_SCHED_H
/*
* we do not manage to get proper signal handling of floating point
* arithmetics in the Alpha chips.
*/
#if defined(__alpha__)
# ifdef HAVE_FENV_H
# undef HAVE_FENV_H
# endif
# ifdef HAVE_FEENABLEEXCEPT
# undef HAVE_FEENABLEEXCEPT
# endif
#endif
/* what characters are used to mark beginning of new line */
#undef ECL_NEWLINE_IS_CRLF
#undef ECL_NEWLINE_IS_LFCR
/*
* PARAMETERS:
*/
/*
* Memory limits for the old garbage collector.
*/
#define LISP_PAGESIZE 2048 /* Page size in bytes */
#define MAXPAGE 65536 /* Maximum Memory Size */
/* We allocate a number of strings in a pool which is used to speed up reading */
#define ECL_MAX_STRING_POOL_SIZE 10
#define ECL_BUFFER_STRING_SIZE 4192
/*
* Macros that depend on these system features.
*/
#if defined(sparc) || defined(i386) || defined(mips)
# define stack_align(n) (((n) + 0x7) & ~0x7)
#else
# define stack_align(n) (((n) + 03) & ~03)
#endif
#undef FILE_CNT
#if @ECL_FILE_CNT@ == 1
# define FILE_CNT(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
#endif
#if @ECL_FILE_CNT@ == 2
# define FILE_CNT(fp) ((fp)->_r)
#endif
#if @ECL_FILE_CNT@ == 3
# define FILE_CNT(fp) ((fp)->_cnt)
#endif
#if defined(cygwin) || defined(ECL_MS_WINDOWS_HOST)
# define IS_DIR_SEPARATOR(x) ((x=='/')||(x=='\\'))
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ';'
#else
# define IS_DIR_SEPARATOR(x) (x=='/')
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
#endif
#define ECL_ARCHITECTURE "@ARCHITECTURE@"
#ifdef ECL_AVOID_FPE_H
# define ecl_detect_fpe()
#else
# include "@ECL_FPE_CODE@"
#endif
#ifdef ECL_INCLUDE_MATH_H
# include <math.h>
# ifdef _MSC_VER
# undef complex
# define signbit(x) (copysign(1.0,(x)))
# endif
# ifndef isfinite
# ifdef __sun__
# ifndef ECL_LONG_FLOAT
# include <ieeefp.h>
# define isfinite(x) finite(x)
# else
# error "Function isfinite() is missing"
# endif
# else
# define isfinite(x) finite(x)
# endif
# endif
# ifndef signbit
# ifndef ECL_SIGNED_ZERO
# define signbit(x) ((x) < 0)
# else
# ifdef HAVE_COPYSIGN
# define signbit(x) (copysign(1.0,(x)) < 0)
# else
/* Fall back to no signed zero */
# undef \
ECL_SIGNED_ZERO
# define signbit(x) ((x) < 0)
# endif
# endif
# endif
/*
* GCC fails to compile the following code
* if (f == 0.0) { if (signbit(f)) ... }
*/
# if defined(__sun__) && defined(__GNUC__)
# undef \
signbit /* Avoid autoconf removing this */
# define signbit(x) (copysign(1.0,(x)) < 0)
# endif
#endif
#if defined(HAVE_LIBFFI) && defined(ECL_INCLUDE_FFI_H)
#include "@ECL_LIBFFI_HEADER@"
#endif

View file

@ -37,6 +37,10 @@
#include <ecl/config.h>
#endif
#ifdef ECL_BUILD
#include <ecl/config-internal.h>
#endif
/*
* The Boehm-Demers-Weiser garbage collector contains wrappers for
* dlopen and similar functions. These wrappers explicitely deactivate