[dirty] bring to the stage when it builds (but doesn't run)

This commit is contained in:
Daniel Kochmański 2025-11-20 14:30:25 +01:00
parent bd64c52d7e
commit 2ecd664bbe
9 changed files with 1466 additions and 1105 deletions

42
INSTALL
View file

@ -29,16 +29,16 @@ If you do not have access to the online version, follow the following recipies.
export NDK_PATH=/opt/android-ndk export NDK_PATH=/opt/android-ndk
export ANDROID_API=23 export ANDROID_API=23
export TOOLCHAIN_PATH=${NDK_PATH}/toolchains/llvm/prebuilt/linux-x86_64 # use darwin instead of linux if compiling on Mac OS host export TOOLCHAIN_PATH=${NDK_PATH}/toolchains/llvm/prebuilt/linux-x86_64 # use darwin instead of linux if compiling on Mac OS host
export TARGET=armv7a-linux-androideabi export TARGET=armv7a-linux-androideabi
#+END_SRC #+END_SRC
2. Build and install the target library 2. Build and install the target library
#+BEGIN_SRC shell-script #+BEGIN_SRC shell-script
export CC="${TOOLCHAIN_PATH}/bin/clang --target=${TARGET}${ANDROID_API}" export CC="${TOOLCHAIN_PATH}/bin/clang --target=${TARGET}${ANDROID_API}"
export LD=${TOOLCHAIN_PATH}/bin/ld export LD=${TOOLCHAIN_PATH}/bin/ld
export AR=${TOOLCHAIN_PATH}/bin/llvm-ar export AR=${TOOLCHAIN_PATH}/bin/llvm-ar
export RANLIB=${TOOLCHAIN_PATH}/bin/llvm-ranlib export RANLIB=${TOOLCHAIN_PATH}/bin/llvm-ranlib
export ECL_TO_RUN=/usr/local/bin/ecl export ECL_TO_RUN=/usr/local/bin/ecl
./configure --host=${TARGET} \ ./configure --host=${TARGET} \
--prefix=`pwd`/ecl-android \ --prefix=`pwd`/ecl-android \
--disable-c99complex \ --disable-c99complex \
--with-cross-config=`pwd`/src/util/android-arm.cross_config --with-cross-config=`pwd`/src/util/android-arm.cross_config
@ -83,7 +83,7 @@ If you do not have access to the online version, follow the following recipies.
3. Library and assets in the ecl-iOS directory are ready to run on 3. Library and assets in the ecl-iOS directory are ready to run on
the iOS system. the iOS system.
* Cross-compile for the WASM platform (via emscripten) * Cross-compile for the WASM/Emscripten platform
Emscripten target is a little fickle so keep in mind that: Emscripten target is a little fickle so keep in mind that:
@ -171,6 +171,34 @@ imoprtant to specify a different size. For example:
emcc program.c -sSTACK_SIZE=1048576 lib/*.a -I./include -o program.o emcc program.c -sSTACK_SIZE=1048576 lib/*.a -I./include -o program.o
#+end_src #+end_src
* Cross-compile for the WASM/WASI platform
1. Configure the toolchain (see https://github.com/WebAssembly/wasi-sdk)
and export the necessary paths:
#+BEGIN_SRC sh
export WASI_SDK_PATH=/opt/wasi-sdk
export TARGET=wasm32-unknown-wasi
#+END_SRC
2. Build and install the target library
#+BEGIN_SRC sh
export CC="${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SDK_PATH}/share/wasi-sysroot"
export LD=${WASI_SDK_PATH}/bin/ld
export AR=${WASI_SDK_PATH}/bin/llvm-ar
export RANLIB=${WASI_SDK_PATH}/bin/llvm-ranlib
export ECL_TO_RUN=/usr/local/bin/ecl
./configure --host=${TARGET} \
--prefix=`pwd`/ecl-wasi \
--disable-c99complex \
--disable-shared \
--with-tcp=no \
--with-cmp=no \
--with-cross-config=`pwd`/src/util/wasm32-unknown-wasi.cross_config
make -j9
make install
#+END_SRC
3. Library and assets in the ecl-android directory are ready to run on
the Android system.
* Build using Cosmopolitan toolchain (experimental) * Build using Cosmopolitan toolchain (experimental)
Binaries built with cosmopolitan toolchain can be executed on numerous platforms Binaries built with cosmopolitan toolchain can be executed on numerous platforms

22
src/aclocal.m4 vendored
View file

@ -583,6 +583,28 @@ case "${host}" in
ECL_ADD_FEATURE(c-compatible-variadic-dispatch) ECL_ADD_FEATURE(c-compatible-variadic-dispatch)
ECL_ADD_FEATURE(emscripten) ECL_ADD_FEATURE(emscripten)
;; ;;
wasm32-unknown-wasi)
# Non-zero optimization levels seem to be slower in
# combination with the binaryen spill-pointers pass.
CFLAGS="${CFLAGS} -D_WASI_EMULATED_SIGNAL -D_WASI_EMULATED_PROCESS_CLOCKS -DECL_C_COMPATIBLE_VARIADIC_DISPATCH -O0 -mllvm -wasm-enable-sjlj"
clibs="-lwasi-emulated-signal -lwasi-emulated-process-clocks -lsetjmp ${clibs}"
# The default stack size is 64KB, that's too little
# for ECL. The spill-pointers pass is needed for the
# gc to find pointers on the stack.
#LDFLAGS="${LDFLAGS} -sSTACK_SIZE=1048576 -sBINARYEN_EXTRA_PASSES=--spill-pointers"
enable_threads='no'
enable_libffi='no'
enable_gmp='portable'
with_c_gmp=yes
with_tcp=no
shared="no"
dnl SHARED_LDFLAGS="-shared ${LDFLAGS}"
dnl BUNDLE_LDFLAGS="-shared ${LDFLAGS}"
INSTALL_TARGET='flatinstall'
AC_DEFINE([ECL_C_COMPATIBLE_VARIADIC_DISPATCH], [], [Do the fixed and optional arguments of a variadic function use a different calling convention?])
ECL_ADD_FEATURE(c-compatible-variadic-dispatch)
ECL_ADD_FEATURE(wasi)
;;
esac esac
if test "${INSTALL_TARGET}" = "flatinstall"; then if test "${INSTALL_TARGET}" = "flatinstall"; then

View file

@ -714,6 +714,14 @@ EXTERN_C_BEGIN
# define mach_type_known # define mach_type_known
# endif # endif
# if defined(__wasi__) || defined(WASI)
# ifndef WASI
# define WASI
# endif
# define I386
# define mach_type_known
# endif
/* Feel free to add more clauses here */ /* Feel free to add more clauses here */
/* Or manually define the machine type here. A machine type is */ /* Or manually define the machine type here. A machine type is */
@ -1444,6 +1452,20 @@ EXTERN_C_BEGIN
# error No threads support yet # error No threads support yet
# endif # endif
# endif # endif
# ifdef WASI
# define OS_TYPE "WASI"
# define DATASTART (ptr_t)ALIGNMENT
# define DATAEND (ptr_t)ALIGNMENT
/* Emscripten does emulate mmap and munmap, but those should */
/* not be used in the collector, since WebAssembly lacks the */
/* native support of memory mapping. Use sbrk() instead. */
# undef USE_MMAP
# undef USE_MUNMAP
# define STACK_GROWS_DOWN
# if defined(GC_THREADS) && !defined(CPPCHECK)
# error No threads support yet
# endif
# endif
# if defined(__QNX__) # if defined(__QNX__)
# define OS_TYPE "QNX" # define OS_TYPE "QNX"
# define SA_RESTART 0 # define SA_RESTART 0

View file

@ -1361,8 +1361,8 @@ GC_INNER size_t GC_page_size = 0;
} }
# elif defined(STACK_NOT_SCANNED) || defined(CPPCHECK) # elif defined(STACK_NOT_SCANNED) || defined(CPPCHECK)
result = NULL; result = NULL;
# else /* # else */
# error None of HEURISTIC* and *STACKBOTTOM defined! /* # error None of HEURISTIC* and *STACKBOTTOM defined! */
# endif # endif
# if defined(STACK_GROWS_DOWN) && !defined(CPPCHECK) # if defined(STACK_GROWS_DOWN) && !defined(CPPCHECK)
if (result == 0) if (result == 0)

View file

@ -1261,11 +1261,13 @@ si_mkstemp(cl_object template)
# ifdef HAVE_MKSTEMP # ifdef HAVE_MKSTEMP
fd = mkstemp(ecl_filename_self(output)); fd = mkstemp(ecl_filename_self(output));
# else # else
# if 0
if (mktemp(ecl_filename_self(output))) { if (mktemp(ecl_filename_self(output))) {
fd = ecl_open(ecl_filename_self(output), O_CREAT|O_TRUNC, 0666); fd = ecl_open(ecl_filename_self(output), O_CREAT|O_TRUNC, 0666);
} else { } else {
fd = -1; fd = -1;
} }
# endif
# endif # endif
ecl_enable_interrupts(); ecl_enable_interrupts();

View file

@ -136,7 +136,7 @@ si_environ(void)
cl_object cl_object
si_getpid(void) si_getpid(void)
{ {
#if defined(NACL) #if defined(NACL) || defined(__wasi__)
FElibc_error("si_getpid not implemented",1); FElibc_error("si_getpid not implemented",1);
@(return ECL_NIL); @(return ECL_NIL);
#else #else
@ -149,6 +149,8 @@ si_getuid(void)
{ {
#if defined(ECL_MS_WINDOWS_HOST) #if defined(ECL_MS_WINDOWS_HOST)
@(return ecl_make_fixnum(0)); @(return ecl_make_fixnum(0));
#elif defined(__wasi__)
FElibc_error("si_getuid not implemented",1);
#else #else
@(return ecl_make_integer(getuid())); @(return ecl_make_integer(getuid()));
#endif #endif
@ -160,7 +162,7 @@ ecl_def_ct_base_string(fake_out_name, "PIPE-WRITE-ENDPOINT", 19, static, const);
cl_object cl_object
si_make_pipe() si_make_pipe()
{ {
#if defined(NACL) #if defined(NACL) || defined(__wasi__)
FElibc_error("si_make_pipe not implemented",1); FElibc_error("si_make_pipe not implemented",1);
@(return ECL_NIL); @(return ECL_NIL);
#else #else
@ -216,7 +218,7 @@ cl_object
si_waitpid(cl_object pid, cl_object wait) si_waitpid(cl_object pid, cl_object wait)
{ {
cl_object status, code; cl_object status, code;
#if defined(NACL) #if defined(NACL) || defined(__wasi__)
FElibc_error("si_waitpid not implemented",1); FElibc_error("si_waitpid not implemented",1);
@(return ECL_NIL); @(return ECL_NIL);
#elif defined(ECL_MS_WINDOWS_HOST) #elif defined(ECL_MS_WINDOWS_HOST)
@ -286,8 +288,13 @@ si_waitpid(cl_object pid, cl_object wait)
#if !defined(ECL_MS_WINDOWS_HOST) #if !defined(ECL_MS_WINDOWS_HOST)
cl_object cl_object
si_killpid(cl_object pid, cl_object signal) { si_killpid(cl_object pid, cl_object signal) {
#if defined(__wasi__)
FElibc_error("si_killpid not implemented",1);
return ECL_NIL;
#else
int ret = kill(ecl_fixnum(pid), ecl_fixnum(signal)); int ret = kill(ecl_fixnum(pid), ecl_fixnum(signal));
return ecl_make_fixnum(ret); return ecl_make_fixnum(ret);
#endif
} }
#endif #endif
@ -386,6 +393,12 @@ create_descriptor(cl_object stream, cl_object direction,
FEerror("Invalid ~S argument to EXT:RUN-PROGRAM.", 1, stream); FEerror("Invalid ~S argument to EXT:RUN-PROGRAM.", 1, stream);
} }
} }
#elif defined(__wasi__)
static void
create_descriptor(cl_object stream, cl_object direction,
int *child, int *parent) {
FElibc_error("si_getuid not implemented",1);
}
#else #else
static void static void
create_descriptor(cl_object stream, cl_object direction, create_descriptor(cl_object stream, cl_object direction,
@ -464,6 +477,14 @@ si_run_program_inner(cl_object command, cl_object argv, cl_object my_environ, cl
@(return stream_read exit_status pid) @(return stream_read exit_status pid)
} }
#if defined(__wasi__)
cl_object
si_spawn_subprocess(cl_object command, cl_object argv, cl_object my_environ,
cl_object input, cl_object output, cl_object error) {
FElibc_error("si_spawn_subprocess not implemented",1);
return ECL_NIL;
}
#else
cl_object cl_object
si_spawn_subprocess(cl_object command, cl_object argv, cl_object my_environ, si_spawn_subprocess(cl_object command, cl_object argv, cl_object my_environ,
cl_object input, cl_object output, cl_object error) { cl_object input, cl_object output, cl_object error) {
@ -634,3 +655,4 @@ si_spawn_subprocess(cl_object command, cl_object argv, cl_object my_environ,
ecl_make_fixnum(parent_read) ecl_make_fixnum(parent_read)
ecl_make_fixnum(parent_error)) ecl_make_fixnum(parent_error))
} }
#endif

2151
src/configure vendored

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
/* Define if building universal (internal helper macro) */ /* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD #undef AC_APPLE_UNIVERSAL_BUILD
/* Define to 1 if the `closedir' function returns void instead of int. */ /* Define to 1 if the 'closedir' function returns void instead of int. */
#undef CLOSEDIR_VOID #undef CLOSEDIR_VOID
/* ECL_AVOID_FPE_H */ /* ECL_AVOID_FPE_H */
@ -85,229 +85,229 @@
/* GBC_BOEHM_PRECISE */ /* GBC_BOEHM_PRECISE */
#undef GBC_BOEHM_PRECISE #undef GBC_BOEHM_PRECISE
/* Define to 1 if you have the `alarm' function. */ /* Define to 1 if you have the 'alarm' function. */
#undef HAVE_ALARM #undef HAVE_ALARM
/* Define to 1 if you have the `backtrace' function. */ /* Define to 1 if you have the 'backtrace' function. */
#undef HAVE_BACKTRACE #undef HAVE_BACKTRACE
/* Define to 1 if you have the `backtrace_symbols' function. */ /* Define to 1 if you have the 'backtrace_symbols' function. */
#undef HAVE_BACKTRACE_SYMBOLS #undef HAVE_BACKTRACE_SYMBOLS
/* Define to 1 if you have the `cabs' function. */ /* Define to 1 if you have the 'cabs' function. */
#undef HAVE_CABS #undef HAVE_CABS
/* Define to 1 if you have the `cabsf' function. */ /* Define to 1 if you have the 'cabsf' function. */
#undef HAVE_CABSF #undef HAVE_CABSF
/* Define to 1 if you have the `cabsl' function. */ /* Define to 1 if you have the 'cabsl' function. */
#undef HAVE_CABSL #undef HAVE_CABSL
/* Define to 1 if you have the `cacos' function. */ /* Define to 1 if you have the 'cacos' function. */
#undef HAVE_CACOS #undef HAVE_CACOS
/* Define to 1 if you have the `cacosf' function. */ /* Define to 1 if you have the 'cacosf' function. */
#undef HAVE_CACOSF #undef HAVE_CACOSF
/* Define to 1 if you have the `cacosh' function. */ /* Define to 1 if you have the 'cacosh' function. */
#undef HAVE_CACOSH #undef HAVE_CACOSH
/* Define to 1 if you have the `cacoshf' function. */ /* Define to 1 if you have the 'cacoshf' function. */
#undef HAVE_CACOSHF #undef HAVE_CACOSHF
/* Define to 1 if you have the `cacoshl' function. */ /* Define to 1 if you have the 'cacoshl' function. */
#undef HAVE_CACOSHL #undef HAVE_CACOSHL
/* Define to 1 if you have the `cacosl' function. */ /* Define to 1 if you have the 'cacosl' function. */
#undef HAVE_CACOSL #undef HAVE_CACOSL
/* Define to 1 if you have the `casin' function. */ /* Define to 1 if you have the 'casin' function. */
#undef HAVE_CASIN #undef HAVE_CASIN
/* Define to 1 if you have the `casinf' function. */ /* Define to 1 if you have the 'casinf' function. */
#undef HAVE_CASINF #undef HAVE_CASINF
/* Define to 1 if you have the `casinh' function. */ /* Define to 1 if you have the 'casinh' function. */
#undef HAVE_CASINH #undef HAVE_CASINH
/* Define to 1 if you have the `casinhf' function. */ /* Define to 1 if you have the 'casinhf' function. */
#undef HAVE_CASINHF #undef HAVE_CASINHF
/* Define to 1 if you have the `casinhl' function. */ /* Define to 1 if you have the 'casinhl' function. */
#undef HAVE_CASINHL #undef HAVE_CASINHL
/* Define to 1 if you have the `casinl' function. */ /* Define to 1 if you have the 'casinl' function. */
#undef HAVE_CASINL #undef HAVE_CASINL
/* Define to 1 if you have the `catan' function. */ /* Define to 1 if you have the 'catan' function. */
#undef HAVE_CATAN #undef HAVE_CATAN
/* Define to 1 if you have the `catanf' function. */ /* Define to 1 if you have the 'catanf' function. */
#undef HAVE_CATANF #undef HAVE_CATANF
/* Define to 1 if you have the `catanh' function. */ /* Define to 1 if you have the 'catanh' function. */
#undef HAVE_CATANH #undef HAVE_CATANH
/* Define to 1 if you have the `catanhf' function. */ /* Define to 1 if you have the 'catanhf' function. */
#undef HAVE_CATANHF #undef HAVE_CATANHF
/* Define to 1 if you have the `catanhl' function. */ /* Define to 1 if you have the 'catanhl' function. */
#undef HAVE_CATANHL #undef HAVE_CATANHL
/* Define to 1 if you have the `catanl' function. */ /* Define to 1 if you have the 'catanl' function. */
#undef HAVE_CATANL #undef HAVE_CATANL
/* Define to 1 if you have the `ccos' function. */ /* Define to 1 if you have the 'ccos' function. */
#undef HAVE_CCOS #undef HAVE_CCOS
/* Define to 1 if you have the `ccosf' function. */ /* Define to 1 if you have the 'ccosf' function. */
#undef HAVE_CCOSF #undef HAVE_CCOSF
/* Define to 1 if you have the `ccosh' function. */ /* Define to 1 if you have the 'ccosh' function. */
#undef HAVE_CCOSH #undef HAVE_CCOSH
/* Define to 1 if you have the `ccoshf' function. */ /* Define to 1 if you have the 'ccoshf' function. */
#undef HAVE_CCOSHF #undef HAVE_CCOSHF
/* Define to 1 if you have the `ccoshl' function. */ /* Define to 1 if you have the 'ccoshl' function. */
#undef HAVE_CCOSHL #undef HAVE_CCOSHL
/* Define to 1 if you have the `ccosl' function. */ /* Define to 1 if you have the 'ccosl' function. */
#undef HAVE_CCOSL #undef HAVE_CCOSL
/* Define to 1 if you have the `ceilf' function. */ /* Define to 1 if you have the 'ceilf' function. */
#undef HAVE_CEILF #undef HAVE_CEILF
/* Define to 1 if you have the `cexp' function. */ /* Define to 1 if you have the 'cexp' function. */
#undef HAVE_CEXP #undef HAVE_CEXP
/* Define to 1 if you have the `cexpf' function. */ /* Define to 1 if you have the 'cexpf' function. */
#undef HAVE_CEXPF #undef HAVE_CEXPF
/* Define to 1 if you have the `cexpl' function. */ /* Define to 1 if you have the 'cexpl' function. */
#undef HAVE_CEXPL #undef HAVE_CEXPL
/* Define to 1 if you have the `cimag' function. */ /* Define to 1 if you have the 'cimag' function. */
#undef HAVE_CIMAG #undef HAVE_CIMAG
/* Define to 1 if you have the `cimagf' function. */ /* Define to 1 if you have the 'cimagf' function. */
#undef HAVE_CIMAGF #undef HAVE_CIMAGF
/* Define to 1 if you have the `cimagl' function. */ /* Define to 1 if you have the 'cimagl' function. */
#undef HAVE_CIMAGL #undef HAVE_CIMAGL
/* Define to 1 if you have the `clock_gettime' function. */ /* Define to 1 if you have the 'clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME #undef HAVE_CLOCK_GETTIME
/* Define to 1 if you have the `clog' function. */ /* Define to 1 if you have the 'clog' function. */
#undef HAVE_CLOG #undef HAVE_CLOG
/* Define to 1 if you have the `clogf' function. */ /* Define to 1 if you have the 'clogf' function. */
#undef HAVE_CLOGF #undef HAVE_CLOGF
/* Define to 1 if you have the `clogl' function. */ /* Define to 1 if you have the 'clogl' function. */
#undef HAVE_CLOGL #undef HAVE_CLOGL
/* Define to 1 if you have the `conj' function. */ /* Define to 1 if you have the 'conj' function. */
#undef HAVE_CONJ #undef HAVE_CONJ
/* Define to 1 if you have the `conjf' function. */ /* Define to 1 if you have the 'conjf' function. */
#undef HAVE_CONJF #undef HAVE_CONJF
/* Define to 1 if you have the `conjl' function. */ /* Define to 1 if you have the 'conjl' function. */
#undef HAVE_CONJL #undef HAVE_CONJL
/* Define to 1 if you have the `copysign' function. */ /* Define to 1 if you have the 'copysign' function. */
#undef HAVE_COPYSIGN #undef HAVE_COPYSIGN
/* Define to 1 if you have the `cosf' function. */ /* Define to 1 if you have the 'cosf' function. */
#undef HAVE_COSF #undef HAVE_COSF
/* Define to 1 if you have the `coshf' function. */ /* Define to 1 if you have the 'coshf' function. */
#undef HAVE_COSHF #undef HAVE_COSHF
/* Define to 1 if you have the `cpow' function. */ /* Define to 1 if you have the 'cpow' function. */
#undef HAVE_CPOW #undef HAVE_CPOW
/* Define to 1 if you have the `cpowf' function. */ /* Define to 1 if you have the 'cpowf' function. */
#undef HAVE_CPOWF #undef HAVE_CPOWF
/* Define to 1 if you have the `cpowl' function. */ /* Define to 1 if you have the 'cpowl' function. */
#undef HAVE_CPOWL #undef HAVE_CPOWL
/* Define to 1 if you have the `creal' function. */ /* Define to 1 if you have the 'creal' function. */
#undef HAVE_CREAL #undef HAVE_CREAL
/* Define to 1 if you have the `crealf' function. */ /* Define to 1 if you have the 'crealf' function. */
#undef HAVE_CREALF #undef HAVE_CREALF
/* Define to 1 if you have the `creall' function. */ /* Define to 1 if you have the 'creall' function. */
#undef HAVE_CREALL #undef HAVE_CREALL
/* Define to 1 if you have the `csin' function. */ /* Define to 1 if you have the 'csin' function. */
#undef HAVE_CSIN #undef HAVE_CSIN
/* Define to 1 if you have the `csinf' function. */ /* Define to 1 if you have the 'csinf' function. */
#undef HAVE_CSINF #undef HAVE_CSINF
/* Define to 1 if you have the `csinh' function. */ /* Define to 1 if you have the 'csinh' function. */
#undef HAVE_CSINH #undef HAVE_CSINH
/* Define to 1 if you have the `csinhf' function. */ /* Define to 1 if you have the 'csinhf' function. */
#undef HAVE_CSINHF #undef HAVE_CSINHF
/* Define to 1 if you have the `csinhl' function. */ /* Define to 1 if you have the 'csinhl' function. */
#undef HAVE_CSINHL #undef HAVE_CSINHL
/* Define to 1 if you have the `csinl' function. */ /* Define to 1 if you have the 'csinl' function. */
#undef HAVE_CSINL #undef HAVE_CSINL
/* Define to 1 if you have the `csqrt' function. */ /* Define to 1 if you have the 'csqrt' function. */
#undef HAVE_CSQRT #undef HAVE_CSQRT
/* Define to 1 if you have the `csqrtf' function. */ /* Define to 1 if you have the 'csqrtf' function. */
#undef HAVE_CSQRTF #undef HAVE_CSQRTF
/* Define to 1 if you have the `csqrtl' function. */ /* Define to 1 if you have the 'csqrtl' function. */
#undef HAVE_CSQRTL #undef HAVE_CSQRTL
/* Define to 1 if you have the `ctan' function. */ /* Define to 1 if you have the 'ctan' function. */
#undef HAVE_CTAN #undef HAVE_CTAN
/* Define to 1 if you have the `ctanf' function. */ /* Define to 1 if you have the 'ctanf' function. */
#undef HAVE_CTANF #undef HAVE_CTANF
/* Define to 1 if you have the `ctanh' function. */ /* Define to 1 if you have the 'ctanh' function. */
#undef HAVE_CTANH #undef HAVE_CTANH
/* Define to 1 if you have the `ctanhf' function. */ /* Define to 1 if you have the 'ctanhf' function. */
#undef HAVE_CTANHF #undef HAVE_CTANHF
/* Define to 1 if you have the `ctanhl' function. */ /* Define to 1 if you have the 'ctanhl' function. */
#undef HAVE_CTANHL #undef HAVE_CTANHL
/* Define to 1 if you have the `ctanl' function. */ /* Define to 1 if you have the 'ctanl' function. */
#undef HAVE_CTANL #undef HAVE_CTANL
/* Define to 1 if you have the <dirent.h> header file. */ /* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H #undef HAVE_DIRENT_H
/* Define to 1 if you have the `dladdr' function. */ /* Define to 1 if you have the 'dladdr' function. */
#undef HAVE_DLADDR #undef HAVE_DLADDR
/* Define to 1 if you have the <dlfcn.h> header file. */ /* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H #undef HAVE_DLFCN_H
/* Define to 1 if the system has the type `double complex'. */ /* Define to 1 if the system has the type 'double complex'. */
#undef HAVE_DOUBLE_COMPLEX #undef HAVE_DOUBLE_COMPLEX
/* HAVE_ENVIRON */ /* HAVE_ENVIRON */
#undef HAVE_ENVIRON #undef HAVE_ENVIRON
/* Define to 1 if you have the `expf' function. */ /* Define to 1 if you have the 'expf' function. */
#undef HAVE_EXPF #undef HAVE_EXPF
/* Define to 1 if you have the `fabsf' function. */ /* Define to 1 if you have the 'fabsf' function. */
#undef HAVE_FABSF #undef HAVE_FABSF
/* Define to 1 if you have the <fcntl.h> header file. */ /* Define to 1 if you have the <fcntl.h> header file. */
@ -319,61 +319,61 @@
/* Define to 1 if you have the <fenv.h> header file. */ /* Define to 1 if you have the <fenv.h> header file. */
#undef HAVE_FENV_H #undef HAVE_FENV_H
/* Define to 1 if the system has the type `float complex'. */ /* Define to 1 if the system has the type 'float complex'. */
#undef HAVE_FLOAT_COMPLEX #undef HAVE_FLOAT_COMPLEX
/* Define to 1 if you have the <float.h> header file. */ /* Define to 1 if you have the <float.h> header file. */
#undef HAVE_FLOAT_H #undef HAVE_FLOAT_H
/* Define to 1 if you have the `floor' function. */ /* Define to 1 if you have the 'floor' function. */
#undef HAVE_FLOOR #undef HAVE_FLOOR
/* Define to 1 if you have the `floorf' function. */ /* Define to 1 if you have the 'floorf' function. */
#undef HAVE_FLOORF #undef HAVE_FLOORF
/* Define to 1 if you have the `fork' function. */ /* Define to 1 if you have the 'fork' function. */
#undef HAVE_FORK #undef HAVE_FORK
/* Define to 1 if you have the `frexpf' function. */ /* Define to 1 if you have the 'frexpf' function. */
#undef HAVE_FREXPF #undef HAVE_FREXPF
/* Define to 1 if you have the `fseeko' function. */ /* Define to 1 if you have the 'fseeko' function. */
#undef HAVE_FSEEKO #undef HAVE_FSEEKO
/* Define to 1 if you have the `getcwd' function. */ /* Define to 1 if you have the 'getcwd' function. */
#undef HAVE_GETCWD #undef HAVE_GETCWD
/* Define to 1 if you have the `gethostbyaddr' function. */ /* Define to 1 if you have the 'gethostbyaddr' function. */
#undef HAVE_GETHOSTBYADDR #undef HAVE_GETHOSTBYADDR
/* Define to 1 if you have the `gethostbyname' function. */ /* Define to 1 if you have the 'gethostbyname' function. */
#undef HAVE_GETHOSTBYNAME #undef HAVE_GETHOSTBYNAME
/* Define to 1 if you have the `getpagesize' function. */ /* Define to 1 if you have the 'getpagesize' function. */
#undef HAVE_GETPAGESIZE #undef HAVE_GETPAGESIZE
/* Define to 1 if you have the `getrusage' function. */ /* Define to 1 if you have the 'getrusage' function. */
#undef HAVE_GETRUSAGE #undef HAVE_GETRUSAGE
/* Define to 1 if you have the `gettimeofday' function. */ /* Define to 1 if you have the 'gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY #undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the <inttypes.h> header file. */ /* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H #undef HAVE_INTTYPES_H
/* Define to 1 if you have the `isatty' function. */ /* Define to 1 if you have the 'isatty' function. */
#undef HAVE_ISATTY #undef HAVE_ISATTY
/* Define to 1 if you have the `ldexpf' function. */ /* Define to 1 if you have the 'ldexpf' function. */
#undef HAVE_LDEXPF #undef HAVE_LDEXPF
/* HAVE_LIBFFI */ /* HAVE_LIBFFI */
#undef HAVE_LIBFFI #undef HAVE_LIBFFI
/* Define to 1 if you have the `gc' library (-lgc). */ /* Define to 1 if you have the 'gc' library (-lgc). */
#undef HAVE_LIBGC #undef HAVE_LIBGC
/* Define to 1 if you have the `sun' library (-lsun). */ /* Define to 1 if you have the 'sun' library (-lsun). */
#undef HAVE_LIBSUN #undef HAVE_LIBSUN
/* Define to 1 if you have the <limits.h> header file. */ /* Define to 1 if you have the <limits.h> header file. */
@ -382,50 +382,50 @@
/* Define to 1 if you have the <link.h> header file. */ /* Define to 1 if you have the <link.h> header file. */
#undef HAVE_LINK_H #undef HAVE_LINK_H
/* Define to 1 if you have the `log1p' function. */ /* Define to 1 if you have the 'log1p' function. */
#undef HAVE_LOG1P #undef HAVE_LOG1P
/* Define to 1 if you have the `log1pf' function. */ /* Define to 1 if you have the 'log1pf' function. */
#undef HAVE_LOG1PF #undef HAVE_LOG1PF
/* Define to 1 if you have the `log1pl' function. */ /* Define to 1 if you have the 'log1pl' function. */
#undef HAVE_LOG1PL #undef HAVE_LOG1PL
/* Define to 1 if you have the `logf' function. */ /* Define to 1 if you have the 'logf' function. */
#undef HAVE_LOGF #undef HAVE_LOGF
/* Define to 1 if the system has the type `long complex'. */ /* Define to 1 if the system has the type 'long complex'. */
#undef HAVE_LONG_COMPLEX #undef HAVE_LONG_COMPLEX
/* Define to 1 if you have the `lstat' function. */ /* Define to 1 if you have the 'lstat' function. */
#undef HAVE_LSTAT #undef HAVE_LSTAT
/* Define to 1 if you have the <mach-o/dyld.h> header file. */ /* Define to 1 if you have the <mach-o/dyld.h> header file. */
#undef HAVE_MACH_O_DYLD_H #undef HAVE_MACH_O_DYLD_H
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and /* Define to 1 if your system has a GNU libc compatible 'malloc' function, and
to 0 otherwise. */ to 0 otherwise. */
#undef HAVE_MALLOC #undef HAVE_MALLOC
/* Define to 1 if you have the `memmove' function. */ /* Define to 1 if you have the 'memmove' function. */
#undef HAVE_MEMMOVE #undef HAVE_MEMMOVE
/* Define to 1 if you have the `memset' function. */ /* Define to 1 if you have the 'memset' function. */
#undef HAVE_MEMSET #undef HAVE_MEMSET
/* Define to 1 if you have the `mkdir' function. */ /* Define to 1 if you have the 'mkdir' function. */
#undef HAVE_MKDIR #undef HAVE_MKDIR
/* Define to 1 if you have the `mkstemp' function. */ /* Define to 1 if you have the 'mkstemp' function. */
#undef HAVE_MKSTEMP #undef HAVE_MKSTEMP
/* Define to 1 if you have a working `mmap' system call. */ /* Define to 1 if you have a working 'mmap' system call. */
#undef HAVE_MMAP #undef HAVE_MMAP
/* Define to 1 if you have the `nanosleep' function. */ /* Define to 1 if you have the 'nanosleep' function. */
#undef HAVE_NANOSLEEP #undef HAVE_NANOSLEEP
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ /* Define to 1 if you have the <ndir.h> header file, and it defines 'DIR'. */
#undef HAVE_NDIR_H #undef HAVE_NDIR_H
/* Define to 1 if you have the <netdb.h> header file. */ /* Define to 1 if you have the <netdb.h> header file. */
@ -437,62 +437,62 @@
/* HAVE_POSIX_RWLOCK */ /* HAVE_POSIX_RWLOCK */
#undef HAVE_POSIX_RWLOCK #undef HAVE_POSIX_RWLOCK
/* Define to 1 if you have the `powf' function. */ /* Define to 1 if you have the 'powf' function. */
#undef HAVE_POWF #undef HAVE_POWF
/* Define to 1 if you have the `pthread_condattr_setclock' function. */ /* Define to 1 if you have the 'pthread_condattr_setclock' function. */
#undef HAVE_PTHREAD_CONDATTR_SETCLOCK #undef HAVE_PTHREAD_CONDATTR_SETCLOCK
/* Define to 1 if you have the `pthread_mutex_timedlock' function. */ /* Define to 1 if you have the 'pthread_mutex_timedlock' function. */
#undef HAVE_PTHREAD_MUTEX_TIMEDLOCK #undef HAVE_PTHREAD_MUTEX_TIMEDLOCK
/* Define to 1 if the system has the type `pthread_rwlock_t'. */ /* Define to 1 if the system has the type 'pthread_rwlock_t'. */
#undef HAVE_PTHREAD_RWLOCK_T #undef HAVE_PTHREAD_RWLOCK_T
/* Define to 1 if the system has the type `ptrdiff_t'. */ /* Define to 1 if the system has the type 'ptrdiff_t'. */
#undef HAVE_PTRDIFF_T #undef HAVE_PTRDIFF_T
/* Define to 1 if you have the `putenv' function. */ /* Define to 1 if you have the 'putenv' function. */
#undef HAVE_PUTENV #undef HAVE_PUTENV
/* Define to 1 if you have the <pwd.h> header file. */ /* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H #undef HAVE_PWD_H
/* Define to 1 if your system has a GNU libc compatible `realloc' function, /* Define to 1 if your system has a GNU libc compatible 'realloc' function,
and to 0 otherwise. */ and to 0 otherwise. */
#undef HAVE_REALLOC #undef HAVE_REALLOC
/* Define to 1 if you have the <sched.h> header file. */ /* Define to 1 if you have the <sched.h> header file. */
#undef HAVE_SCHED_H #undef HAVE_SCHED_H
/* Define to 1 if you have the `sched_yield' function. */ /* Define to 1 if you have the 'sched_yield' function. */
#undef HAVE_SCHED_YIELD #undef HAVE_SCHED_YIELD
/* Define to 1 if you have the `select' function. */ /* Define to 1 if you have the 'select' function. */
#undef HAVE_SELECT #undef HAVE_SELECT
/* Define to 1 if you have the `setenv' function. */ /* Define to 1 if you have the 'setenv' function. */
#undef HAVE_SETENV #undef HAVE_SETENV
/* Define to 1 if you have the `sigprocmask' function. */ /* Define to 1 if you have the 'sigprocmask' function. */
#undef HAVE_SIGPROCMASK #undef HAVE_SIGPROCMASK
/* Define to 1 if you have the `sinf' function. */ /* Define to 1 if you have the 'sinf' function. */
#undef HAVE_SINF #undef HAVE_SINF
/* Define to 1 if you have the `sinhf' function. */ /* Define to 1 if you have the 'sinhf' function. */
#undef HAVE_SINHF #undef HAVE_SINHF
/* Define to 1 if you have the `socket' function. */ /* Define to 1 if you have the 'socket' function. */
#undef HAVE_SOCKET #undef HAVE_SOCKET
/* Define to 1 if you have the `sqrt' function. */ /* Define to 1 if you have the 'sqrt' function. */
#undef HAVE_SQRT #undef HAVE_SQRT
/* Define to 1 if you have the `sqrtf' function. */ /* Define to 1 if you have the 'sqrtf' function. */
#undef HAVE_SQRTF #undef HAVE_SQRTF
/* Define to 1 if `stat' has the bug that it succeeds when given the /* Define to 1 if 'stat' has the bug that it succeeds when given the
zero-length file name argument. */ zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG #undef HAVE_STAT_EMPTY_STRING_BUG
@ -511,13 +511,13 @@
/* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H #undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */ /* Define to 1 if you have the 'strcasecmp' function. */
#undef HAVE_STRCASECMP #undef HAVE_STRCASECMP
/* Define to 1 if you have the `strchr' function. */ /* Define to 1 if you have the 'strchr' function. */
#undef HAVE_STRCHR #undef HAVE_STRCHR
/* Define to 1 if you have the `strerror' function. */ /* Define to 1 if you have the 'strerror' function. */
#undef HAVE_STRERROR #undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */
@ -526,13 +526,13 @@
/* Define to 1 if you have the <string.h> header file. */ /* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H #undef HAVE_STRING_H
/* Define to 1 if you have the `strtol' function. */ /* Define to 1 if you have the 'strtol' function. */
#undef HAVE_STRTOL #undef HAVE_STRTOL
/* Define to 1 if you have the `system' function. */ /* Define to 1 if you have the 'system' function. */
#undef HAVE_SYSTEM #undef HAVE_SYSTEM
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. /* Define to 1 if you have the <sys/dir.h> header file, and it defines 'DIR'.
*/ */
#undef HAVE_SYS_DIR_H #undef HAVE_SYS_DIR_H
@ -542,7 +542,7 @@
/* HAVE_SYS_MMAN_H */ /* HAVE_SYS_MMAN_H */
#undef 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'. /* Define to 1 if you have the <sys/ndir.h> header file, and it defines 'DIR'.
*/ */
#undef HAVE_SYS_NDIR_H #undef HAVE_SYS_NDIR_H
@ -573,28 +573,28 @@
/* Define to 1 if you have the <sys/wait.h> header file. */ /* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H #undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `tanf' function. */ /* Define to 1 if you have the 'tanf' function. */
#undef HAVE_TANF #undef HAVE_TANF
/* Define to 1 if you have the `tanhf' function. */ /* Define to 1 if you have the 'tanhf' function. */
#undef HAVE_TANHF #undef HAVE_TANHF
/* Define to 1 if you have the `times' function. */ /* Define to 1 if you have the 'times' function. */
#undef HAVE_TIMES #undef HAVE_TIMES
/* Define to 1 if you have the `tzset' function. */ /* Define to 1 if you have the 'tzset' function. */
#undef HAVE_TZSET #undef HAVE_TZSET
/* Define to 1 if you have the <ulimit.h> header file. */ /* Define to 1 if you have the <ulimit.h> header file. */
#undef HAVE_ULIMIT_H #undef HAVE_ULIMIT_H
/* Define to 1 if you have the `uname' function. */ /* Define to 1 if you have the 'uname' function. */
#undef HAVE_UNAME #undef HAVE_UNAME
/* Define to 1 if you have the <unistd.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H #undef HAVE_UNISTD_H
/* Define to 1 if you have the `vfork' function. */ /* Define to 1 if you have the 'vfork' function. */
#undef HAVE_VFORK #undef HAVE_VFORK
/* Define to 1 if you have the <vfork.h> header file. */ /* Define to 1 if you have the <vfork.h> header file. */
@ -603,16 +603,16 @@
/* Define to 1 if you have the <wchar.h> header file. */ /* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H #undef HAVE_WCHAR_H
/* Define to 1 if `fork' works. */ /* Define to 1 if 'fork' works. */
#undef HAVE_WORKING_FORK #undef HAVE_WORKING_FORK
/* Define to 1 if `vfork' works. */ /* Define to 1 if 'vfork' works. */
#undef HAVE_WORKING_VFORK #undef HAVE_WORKING_VFORK
/* Define to 1 if the system has the type `_Bool'. */ /* Define to 1 if the system has the type '_Bool'. */
#undef HAVE__BOOL #undef HAVE__BOOL
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing /* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
slash. */ slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
@ -634,19 +634,19 @@
/* Define to the version of this package. */ /* Define to the version of this package. */
#undef PACKAGE_VERSION #undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */ /* Define as the return type of signal handlers ('int' or 'void'). */
#undef RETSIGTYPE #undef RETSIGTYPE
/* Define to the type of arg 1 for `select'. */ /* Define to the type of arg 1 for 'select'. */
#undef SELECT_TYPE_ARG1 #undef SELECT_TYPE_ARG1
/* Define to the type of args 2, 3 and 4 for `select'. */ /* Define to the type of args 2, 3 and 4 for 'select'. */
#undef SELECT_TYPE_ARG234 #undef SELECT_TYPE_ARG234
/* Define to the type of arg 5 for `select'. */ /* Define to the type of arg 5 for 'select'. */
#undef SELECT_TYPE_ARG5 #undef SELECT_TYPE_ARG5
/* Define to 1 if all of the C90 standard headers exist (not just the ones /* Define to 1 if all of the C89 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */ backward compatibility; new code need not use it. */
#undef STDC_HEADERS #undef STDC_HEADERS
@ -655,7 +655,7 @@
macro is obsolete. */ macro is obsolete. */
#undef TIME_WITH_SYS_TIME #undef TIME_WITH_SYS_TIME
/* Define to 1 if your <sys/time.h> declares `struct tm'. */ /* Define to 1 if your <sys/time.h> declares 'struct tm'. */
#undef TM_IN_SYS_TIME #undef TM_IN_SYS_TIME
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
@ -685,7 +685,7 @@
#define below would cause a syntax error. */ #define below would cause a syntax error. */
#undef _UINT8_T #undef _UINT8_T
/* Define to empty if `const' does not conform to ANSI C. */ /* Define to empty if 'const' does not conform to ANSI C. */
#undef const #undef const
/* ecl_int16_t */ /* ecl_int16_t */
@ -718,7 +718,7 @@
/* compiler understands long long */ /* compiler understands long long */
#undef ecl_ulong_long_t #undef ecl_ulong_long_t
/* Define to `__inline__' or `__inline' if that's what the C compiler /* 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. */ calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus #ifndef __cplusplus
#undef inline #undef inline
@ -749,7 +749,7 @@
/* Define to rpl_realloc if the replacement function should be used. */ /* Define to rpl_realloc if the replacement function should be used. */
#undef realloc #undef realloc
/* Define to `unsigned int' if <sys/types.h> does not define. */ /* Define as 'unsigned int' if <stddef.h> doesn't define. */
#undef size_t #undef size_t
/* Define to the type of an unsigned integer type of width exactly 16 bits if /* Define to the type of an unsigned integer type of width exactly 16 bits if
@ -768,9 +768,9 @@
such a type exists and the standard includes do not define it. */ such a type exists and the standard includes do not define it. */
#undef uint8_t #undef uint8_t
/* Define as `fork' if `vfork' does not work. */ /* Define as 'fork' if 'vfork' does not work. */
#undef vfork #undef vfork
/* Define to empty if the keyword `volatile' does not work. Warning: valid /* Define to empty if the keyword 'volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */ code using 'volatile' can become incorrect without. Disable with care. */
#undef volatile #undef volatile

View file

@ -39,7 +39,7 @@ MA 02110-1301, USA. */
/* Incidentally, kill is not available on mingw, but that's ok, it has raise /* Incidentally, kill is not available on mingw, but that's ok, it has raise
and we'll be using that. */ and we'll be using that. */
#if ! HAVE_RAISE #if ! HAVE_RAISE
#define raise(sig) kill (getpid(), sig) #define raise(sig) /* kill (getpid(), sig) */
#endif #endif