Skip to content

Instantly share code, notes, and snippets.

@musteresel
Created August 25, 2016 18:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save musteresel/ee87db0a79e4eb22cfdd2d85afe45bff to your computer and use it in GitHub Desktop.
Save musteresel/ee87db0a79e4eb22cfdd2d85afe45bff to your computer and use it in GitHub Desktop.
WIP changes for autotoolizing CLISP
# HG changeset patch
# User Daniel Jour <daniel.oertwig@gmail.com>
# Date 1472150146 -7200
# Thu Aug 25 20:35:46 2016 +0200
# Node ID 62249532accb9fb9f7df2687cb86532193d953e0
# Parent f51a5bd170dcff8977bfb55af7f1e39a6d5a3d2f
WIP: autotoolizing the build system and configuration
diff -r f51a5bd170dc -r 62249532accb Makefile.am
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.am Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,9 @@
+# This toplevel makefile is mainly used to call the makefiles of the
+# subdirectories. Order matters a lot here, because src cannot be
+# built without either utils or gnulib.
+SUBDIRS = utils gnulib src tests
+
+# gnulib related; tell the location of gnulib's m4 files and add the
+# gnulib cache to the list of distributed files.
+ACLOCAL_AMFLAGS = -I gnulib/m4
+EXTRA_DIST = gnulib/m4/gnulib-cache.m4
diff -r f51a5bd170dc -r 62249532accb ax/ax_c_float_words_bigendian.m4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ax/ax_c_float_words_bigendian.m4 Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,83 @@
+# ==============================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html
+# ==============================================================================
+#
+# SYNOPSIS
+#
+# AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
+#
+# DESCRIPTION
+#
+# Checks the ordering of words within a multi-word float. This check is
+# necessary because on some systems (e.g. certain ARM systems), the float
+# word ordering can be different from the byte ordering. In a multi-word
+# float context, "big-endian" implies that the word containing the sign
+# bit is found in the memory location with the lowest address. This
+# implemenation was inspired by the AC_C_BIGENDIAN macro in autoconf.
+#
+# The endianess is detected by first compiling C code that contains a
+# special double float value, then grepping the resulting object file for
+# certain strings of ASCII values. The double is specially crafted to have
+# a binary representation that corresponds with a simple string. In this
+# implementation, the string "noonsees" was selected because the
+# individual word values ("noon" and "sees") are palindromes, thus making
+# this test byte-order agnostic. If grep finds the string "noonsees" in
+# the object file, the target platform stores float words in big-endian
+# order. If grep finds "seesnoon", float words are in little-endian order.
+# If neither value is found, the user is instructed to specify the
+# ordering.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Daniel Amelang <dan@amelang.net>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 7
+
+AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
+ [AC_CACHE_CHECK(whether float word ordering is bigendian,
+ ax_cv_c_float_words_bigendian, [
+
+ax_cv_c_float_words_bigendian=unknown
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+
+double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
+
+]])], [
+
+if grep noonsees conftest.$ac_objext >/dev/null ; then
+ ax_cv_c_float_words_bigendian=yes
+fi
+if grep seesnoon conftest.$ac_objext >/dev/null ; then
+ if test "$ax_cv_c_float_words_bigendian" = unknown; then
+ ax_cv_c_float_words_bigendian=no
+ else
+ ax_cv_c_float_words_bigendian=unknown
+ fi
+fi
+
+])])
+
+case $ax_cv_c_float_words_bigendian in
+ yes)
+ m4_default([$1],
+ [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
+ [Define to 1 if your system stores words within floats
+ with the most significant word first])]) ;;
+ no)
+ $2 ;;
+ *)
+ m4_default([$3],
+ [AC_MSG_ERROR([
+
+Unknown float word ordering. You need to manually preset
+ax_cv_c_float_words_bigendian=no (or yes) according to your system.
+
+ ])]) ;;
+esac
+
+])# AX_C_FLOAT_WORDS_BIGENDIAN
diff -r f51a5bd170dc -r 62249532accb ax/ax_prog_cc_for_build.m4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ax/ax_prog_cc_for_build.m4 Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,125 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PROG_CC_FOR_BUILD
+#
+# DESCRIPTION
+#
+# This macro searches for a C compiler that generates native executables,
+# that is a C compiler that surely is not a cross-compiler. This can be
+# useful if you have to generate source code at compile-time like for
+# example GCC does.
+#
+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
+# The value of these variables can be overridden by the user by specifying
+# a compiler with an environment variable (like you do for standard CC).
+#
+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
+# substituted in the Makefile.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 8
+
+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_CPP])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+dnl Use the standard macros, but make them use other variable names
+dnl
+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
+pushdef([ac_exeext], ac_build_exeext)dnl
+pushdef([ac_objext], ac_build_objext)dnl
+pushdef([CC], CC_FOR_BUILD)dnl
+pushdef([CPP], CPP_FOR_BUILD)dnl
+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
+pushdef([host], build)dnl
+pushdef([host_alias], build_alias)dnl
+pushdef([host_cpu], build_cpu)dnl
+pushdef([host_vendor], build_vendor)dnl
+pushdef([host_os], build_os)dnl
+pushdef([ac_cv_host], ac_cv_build)dnl
+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
+pushdef([ac_cpp], ac_build_cpp)dnl
+pushdef([ac_compile], ac_build_compile)dnl
+pushdef([ac_link], ac_build_link)dnl
+
+save_cross_compiling=$cross_compiling
+save_ac_tool_prefix=$ac_tool_prefix
+cross_compiling=no
+ac_tool_prefix=
+
+AC_PROG_CC
+AC_PROG_CPP
+AC_EXEEXT
+
+ac_tool_prefix=$save_ac_tool_prefix
+cross_compiling=$save_cross_compiling
+
+dnl Restore the old definitions
+dnl
+popdef([ac_link])dnl
+popdef([ac_compile])dnl
+popdef([ac_cpp])dnl
+popdef([ac_cv_host_os])dnl
+popdef([ac_cv_host_vendor])dnl
+popdef([ac_cv_host_cpu])dnl
+popdef([ac_cv_host_alias])dnl
+popdef([ac_cv_host])dnl
+popdef([host_os])dnl
+popdef([host_vendor])dnl
+popdef([host_cpu])dnl
+popdef([host_alias])dnl
+popdef([host])dnl
+popdef([LDFLAGS])dnl
+popdef([CPPFLAGS])dnl
+popdef([CFLAGS])dnl
+popdef([CPP])dnl
+popdef([CC])dnl
+popdef([ac_objext])dnl
+popdef([ac_exeext])dnl
+popdef([ac_cv_objext])dnl
+popdef([ac_cv_exeext])dnl
+popdef([ac_cv_prog_cc_g])dnl
+popdef([ac_cv_prog_cc_cross])dnl
+popdef([ac_cv_prog_cc_works])dnl
+popdef([ac_cv_prog_gcc])dnl
+popdef([ac_cv_prog_CPP])dnl
+
+dnl Finally, set Makefile variables
+dnl
+BUILD_EXEEXT=$ac_build_exeext
+BUILD_OBJEXT=$ac_build_objext
+AC_SUBST(BUILD_EXEEXT)dnl
+AC_SUBST(BUILD_OBJEXT)dnl
+AC_SUBST([CFLAGS_FOR_BUILD])dnl
+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
+])
diff -r f51a5bd170dc -r 62249532accb ax/cl_shared_lib_ext.m4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ax/cl_shared_lib_ext.m4 Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,25 @@
+AC_DEFUN([CL_SHARED_LIB_EXT],
+ [AC_CACHE_CHECK([for the filename extension of shared libraries],
+ [cl_cv_shared_lib_ext], [
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ case $host_os in
+ linux*|*BSD*|*mingw*|msys)
+ cl_cv_shared_lib_ext=.so
+ ;;
+ darwin*)
+ cl_cv_shared_lib_ext=.dylib
+ ;;
+ win*)
+ cl_cv_shared_lib_ext=.dll
+ ;;
+ *)
+ cl_cv_shared_lib_ext=unknown
+ ;;
+ esac
+ ])
+ if test "$cl_cv_shared_lib_ext" = "unknown"; then
+ AC_MSG_WARN([Assuming .so shared library filename extension])
+ cl_cv_shared_lib_ext=.so
+ fi
+ AC_SUBST([SHREXT], [$cl_cv_shared_lib_ext])
+ ])
diff -r f51a5bd170dc -r 62249532accb ax/cl_type_sizes.m4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ax/cl_type_sizes.m4 Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,25 @@
+AC_DEFUN([CL_TYPE_SIZES],
+ [AC_CHECK_SIZEOF([char])
+ AC_CHECK_SIZEOF([short])
+ AC_CHECK_SIZEOF([int])
+ AC_CHECK_SIZEOF([long])
+ AC_CHECK_SIZEOF([long long])
+ AC_CHECK_SIZEOF([float])
+ AC_CHECK_SIZEOF([double])
+ AC_CHECK_SIZEOF([long double])
+ AC_CHECK_ALIGNOF([char])
+ AC_CHECK_ALIGNOF([short])
+ AC_CHECK_ALIGNOF([int])
+ AC_CHECK_ALIGNOF([long])
+ AC_CHECK_ALIGNOF([long long])
+ AC_CHECK_ALIGNOF([float])
+ AC_CHECK_ALIGNOF([double])
+ AC_CHECK_ALIGNOF([long double])
+
+ AC_MSG_CHECKING([size of char * (number of bits)])
+ AC_COMPUTE_INT([pointer_bitsize], [sizeof(char *) * CHAR_BIT], [
+#include <limits.h>
+ ])
+ AC_MSG_RESULT([$pointer_bitsize])
+ AC_DEFINE_UNQUOTED([POINTER_BITSIZE], [$pointer_bitsize], [Size of pointer to char])
+ ])
diff -r f51a5bd170dc -r 62249532accb ax/cl_unicode.m4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ax/cl_unicode.m4 Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,9 @@
+AC_DEFUN([CL_UNICODE], [
+ AC_ARG_ENABLE([unicode],
+ [AS_HELP_STRING([--disable-unicode],
+ [disable unicode support])],
+ []
+ [enable_unicode=yes])
+ AS_IF([test "x$enable_unicode" != xno], [
+ AC_DEFINE([ENABLE_UNICODE], [1], [enable unicode support])])
+ ])
diff -r f51a5bd170dc -r 62249532accb configure
--- a/configure Wed Jun 22 10:30:11 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,752 +0,0 @@
-#! /bin/sh
-# Usage: configure [options] [dirname [cc]]
-# Examples:
-# configure obj
-# CC=gcc configure make.gcc
-# CC=cc configure make.cc
-# configure make.gcc gcc (deprecated)
-# configure make.cc cc (deprecated)
-
-# we source config.cache, therefore this file must be executed by the
-# same shell as executes sub-configures.
-# this is a real problem on such systems as Solaris if CONFIG_SHELL is
-# bash whose config.cache cannot be loaded by /bin/sh
-if test -n "${CONFIG_SHELL}"; then
- # ensure that CONFIG_SHELL is compatible with /bin/sh:
- # if CONFIG_SHELL is bash, but /bin/sh is not, restart with bash
- if test -n "`${CONFIG_SHELL} --version 2>/dev/null | grep bash 2>/dev/null`"
- then # CONFIG_SHELL is bash
- test -n "${BASH_VERSION}" || exec ${CONFIG_SHELL} $0 $*
- fi
-else CONFIG_SHELL=/bin/sh
-fi
-
-fail () { echo "$*" >&2; exit 1; }
-
-info_help () {
-cat << \EOP
-Usage: configure [options] [dirname]
-dirname: Name of directory in which to build CLISP. This allows you to build
- CLISP with different compilers on the same machine or for different
- architectures in the same filesystem, sharing the same source.
- Default is "src".
-options: The following options are recognized:
- --help print this message and exit
- --version print the CLISP version and exit
- --config unix/INSTALL step 3: configuration only
- --cbc unix/INSTALL steps 3-8: Configure, Build, Check
- The following options set installation parameters:
- --srcdir=SRCDIR sets the source directory to SRCDIR
- The following options are passed to subordinate `configure' scripts:
- --quiet, --silent do not print `checking...' messages
- Installation directories:
- --prefix=PREFIX base directory for files to be installed
- --exec-prefix=PREFIX base directory for architecture-dependent
- files to be installed
- --fsstnd=STYLE specify file system standard for installation
- Fine tuning of the installation directories:
- --bindir=DIR user executables
- --libdir=DIR object code libraries
- --includedir=DIR C header files
- --datarootdir=DIR read-only arch.-independent data root
- --datadir=DIR read-only architecture-independent data
- --localedir=DIR locale-dependent data
- --mandir=DIR man documentation
- --infodir=DIR info documentation
- --docdir=DIR documentation root
- --htmldir=DIR html documentation
- --dvidir=DIR TeX DVI documentation
- --pdfdir=DIR PDF documentation
- --psdir=DIR PostScript documentation
- --elispdir=DIR Emacs Lisp files
- --vimdir=DIR VIM files
- --aclocaldir=DIR autoconf files
- Enable and disable specific packages
- --with-PACKAGE use PACKAGE
- --without-PACKAGE do not use PACKAGE
- PACKAGEs available (the default is the opposite of the following):
- --without-ffcall do not support Foreign Function Interface
- the default is to support it when available
- --without-dynamic-modules no Dynamic Modules support
- --without-unicode no Unicode support: character=8bit
- --without-readline do not link with GNU readline
- --with-threads=FLAVOR support multiple threads in one CLISP image
- via OS threads [highly experimental - use at your own risk]
- FLAVOR: POSIX_THREADS SOLARIS_THREADS WIN32_THREADS
- --with-jitc=FLAVOR use a given Just-In-Time Compiler.
- The only flavor at this time is lightning
- (GNU lightning must be installed in the standard place).
- --with-module=MODULE build with add-on MODULE
- --help-modules list the modules included in the distribution
- and information on building them
- --hyperspec=URL the path to the Common Lisp HyperSpec (the default is
- http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/
- or the value of the environment variable CLHSROOT, if set)
- --with-debug passed to makemake (CFLAGS+=g &c)
- --with-gmalloc use the GNU malloc instead of of the libc one
- (needed on HP-UX and OpenBSD)
- --edit-config edit config.lisp with ${EDITOR:-vi} before make
- (useful with --cbc)
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-
- You can specify the location of dependencies using
-EOP
-
-`dirname $0`/src/configure --help | grep 'with.*prefix'
-
-cat << \EOP
- See also the --help-modules option.
-
-Example:
- configure --cbc built-with-gcc
- su bin
- cd built-with-gcc
- make install
- exit
-Specifying the C compiler:
- If you wish to specify the C compiler that will get used to build
- CLISP, set the environment variables CC, CFLAGS, LIBS.
- Put compiler flags that have to be passed to the preprocessor
- into the CC variable, not the CFLAGS variable.
- For example, if you want to use gcc in ANSI C mode,
- execute the following before calling `configure':
- setenv CC "gcc -ansi" if using csh
- export CC="gcc -ansi" if using bash or ksh
- CC="gcc -ansi"; export CC if using sh
-If you have headers in a nonstandard directory <include dir>
- set CPPFLAGS to "-I<include dir>"
-If you have libraries in a nonstandard directory <lib dir>
- set LDFLAGS to "-L<lib dir>"
-Using GNU libiconv (only needed if you do not have GNU LIBC 2.2 or better):
- If you want to use GNU libiconv which is not installed system-wide,
- you may supply a --with-libiconv-prefix argument
- (type './src/configure --help' for details).
- The same goes for non-standard locations of libintl and libsigsegv.
-EOP
-}
-
-# Abort in case something fails.
-set -e
-
-# Nuisances.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-srcdir=''
-# http://www.gnu.org/software/autoconf/manual/html_node/Option-Checking.html
-subdir_configure_args='--disable-option-checking'
-makemake_args=''
-do_config=''
-do_cbc=''
-argcount=0
-edit_config=''
-
-prev=''
-passnext=''
-do_ffi='default'
-target=''
-ignore_absence_of_libsigsegv=''
-
-prefix="/usr/local"
-exec_prefix=${prefix}
-
-getarg(){ echo "$1" | sed 's,^[-_a-zA-Z0-9]*=,,'; }
-
-all_modules=''
-note_module(){
- all_modules=${all_modules}" $1"
- makemake_args=${makemake_args}" --with-module=$1"
-}
-
-for arg # in "$@"
-do
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- # If the previous option needs an argument for subdir configures or
- # makemake, pass it, otherwise set the variable
- case "$passnext" in
- configure) subdir_configure_args="$subdir_configure_args $arg" ;;
- makemake) makemake_args="$makemake_args$arg" ;;
- both) makemake_args="$makemake_args$arg"
- subdir_configure_args="$subdir_configure_args $arg" ;;
- with-module) note_module $arg ;;
- *) eval "$prev=\$arg" ;;
- esac
- passnext=''
- prev=''
- else
-
- case "$arg" in
-
- --cbc | --cb)
- do_config=1
- do_cbc=1 ;;
-
- --config | --confi | --conf | --con | --co)
- do_config=1 ;;
-
- --edit-config | --edit-confi | --edit-conf | --edit-con | --edit-co | \
- --edit-c | --edit- | --edit | --edi | --ed)
- edit_config=1 ;;
-
- --help | --hel | --he)
- info_help
- exit 0 ;;
-
- --version | --versio | --versi | --vers | --ver | --ve | --v)
- ./src/configure --version
- exit 0 ;;
-
- --help-modules | --help-module | --help-modul | --help-modu | --help-mod | --help-mo | --help-m)
- set +e
- MODDIR=modules
- echo "module sets found in the directory '${MODDIR}':"
- MODLIST=`find ${MODDIR} -name link.sh -o -name link.sh.in | sed -e 's,^${MODDIR}/,,' -e 's,/[^/]*$,,' | sort`
- for m in ${MODLIST}; do echo " "${m}; done
- echo "to specify the location of external software:"
- for m in src ${MODLIST}; do
- CFG=./${m}/configure
- if [ -x ${CFG} ]; then
- tmp=${CFG}.with
- ${CFG} --help | grep ' --with-[a-zA-Z0-8]*-prefix' > ${tmp}
- if test -s ${tmp}; then
- echo "* ${m} (try also '${CFG} --help')"
- cat ${tmp}
- fi
- rm -f ${tmp}
- fi
- done
- exit 0 ;;
-
- --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=`getarg "$arg"` ;;
-
- --srcdir | --srcdi | --srcd | --src | --sr)
- prev=srcdir
- passnext=configure ;;
-
- --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=*)
- subdir_configure_args="$subdir_configure_args $arg"
- prefix=`getarg "$arg"`
- makemake_args="$makemake_args --prefix=${prefix}" ;;
-
- --prefix | --prefi | --pref | --pre | --pr)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --prefix="
- prev=prefix
- passnext=both ;;
-
- --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | -exec=* | --exe=* | --ex=*)
- subdir_configure_args="$subdir_configure_args $arg"
- exec_prefix=`getarg "$arg"`
- makemake_args="$makemake_args --exec-prefix="${exec_prefix} ;;
-
- --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | -exec | --exe | --ex)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --exec-prefix="
- prev=exec_prefix
- passnext=both ;;
-
- --fsstnd=* | --fsstn=* | --fsst=* | --fss=* | --fs=* | --f=*)
- makemake_args="$makemake_args --fsstnd="`getarg "$arg"` ;;
-
- --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --bindir="`getarg "$arg"` ;;
-
- --bindir | --bindi | --bind | --bin | --bi)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --bindir="
- prev=bindir
- passnext=both ;;
-
- --libdir=* | --libdi=* | --libd=* | --lib=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --libdir="`getarg "$arg"` ;;
-
- --libdir | --libdi | --libd | --lib)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --libdir="
- prev=libdir
- passnext=both ;;
-
- --includedir=* | --includedi=* | --included=* | --include=* | --includ=* | --inclu=* | --incl=* | --inc=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --includedir="`getarg "$arg"` ;;
-
- --includedir | --includedi | --included | --include | --includ | --inclu | --incl | --inc)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --includedir="
- prev=includedir
- passnext=both ;;
-
- --datarootdir=* | --datarootdi=* | --datarootd=* | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --datarootdir="`getarg "$arg"` ;;
-
- --datarootdir | --datarootdi | --datarootd | --dataroot | --dataroo | --dataro | --datar)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --datarootdir="
- prev=datarootdir
- passnext=both ;;
-
- --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* | --da=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --datadir="`getarg "$arg"` ;;
-
- --datadir | --datadi | --datad | --data | --dat | --da)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --datadir="
- prev=datadir
- passnext=both ;;
-
- --localedir=* | --localedi=* | --localed=* | --locale=* | --local=* | --loca=* | --loc=* | --lo=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --localedir="`getarg "$arg"` ;;
-
- --localedir | --localedi | --localed | --locale | --local | --loca | --loc | --lo)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --localedir="
- prev=localedir
- passnext=both ;;
-
- --docdir=* | --docdi=* | --docd=* | --doc=* | --do=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --docdir="`getarg "$arg"` ;;
-
- --docdir | --docdi | --docd | --doc | --do)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --docdir="
- prev=docdir
- passnext=both ;;
-
- --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --mandir="`getarg "$arg"` ;;
-
- --mandir | --mandi | --mand | --man | --ma | --m)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --mandir="
- prev=mandir
- passnext=both ;;
-
- --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --infodir="`getarg "$arg"` ;;
-
- --infodir | --infodi | --infod | --info | --inf)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --infodir="
- prev=infodir
- passnext=both ;;
-
- --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* | --ht=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --htmldir="`getarg "$arg"` ;;
-
- --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --htmldir="
- prev=htmldir
- passnext=both ;;
-
- --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --dvidir="`getarg "$arg"` ;;
-
- --dvidir | --dvidi | --dvid | --dvi | --dv)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --dvidir="
- prev=dvidir
- passnext=both ;;
-
- --psdir=* | --psdi=* | --psd=* | --ps=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --psdir="`getarg "$arg"` ;;
-
- --psdir | --psdi | --psd | --ps)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --psdir="
- prev=psdir
- passnext=both ;;
-
- --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --pdfdir="`getarg "$arg"` ;;
-
- --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --pdfdir="
- prev=pdfdir
- passnext=both ;;
-
- --elispdir=* | --elispdi=* | --elispd=* | --elisp=* | --elis=* | --eli=* | --el=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --elispdir="`getarg "$arg"` ;;
-
- --elispdir | --elispdi | --elispd | --elisp | --elis | --eli | --el)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --elispdir="
- prev=elispdir
- passnext=both ;;
-
- --vimdir=* | --vimdi=* | --vimd=* | --vim=* | --vi=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --vimdir="`getarg "$arg"` ;;
-
- --vimdir | --vimdi | --vimd | --vim | --vi)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --vimdir="
- prev=vimdir
- passnext=both ;;
-
- --aclocaldir=* | --aclocaldi=* | --aclocald=* | --aclocal=*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --aclocaldir="`getarg "$arg"` ;;
-
- --aclocaldir | --aclocaldi | --aclocald | --aclocal)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args --aclocaldir="
- prev=aclocaldir
- passnext=both ;;
-
- --hyperspec=* | --hyperspe=* | --hypersp=* | --hypers=* | --hs=* | --hy=*)
- makemake_args="$makemake_args --hyperspec="`getarg "$arg"` ;;
-
- --quiet | --quie | --qui | --qu | --q | \
- --silent | --silen | --sile | --sil | --si)
- subdir_configure_args="$subdir_configure_args $arg" ;;
-
- --host=* | --hos=* | --ho=*)
- target=cross
- subdir_configure_args="$subdir_configure_args $arg" ;;
-
- --host | --hos | --ho)
- target=cross
- subdir_configure_args="$subdir_configure_args $arg"
- prev=host
- passnext=configure ;;
-
- --build=* | --buil=* | --bui=* | --bu=*)
- target=cross
- subdir_configure_args="$subdir_configure_args $arg" ;;
-
- --build | --buil | --bui | --bu)
- target=cross
- subdir_configure_args="$subdir_configure_args $arg"
- prev=host
- passnext=configure ;;
-
- --with-debug)
- makemake_args="--verbose=yes --with-debug $makemake_args" ;;
-
- --without-ffcall | --with-ffcall=no | --with-no-ffcall)
- subdir_configure_args="$subdir_configure_args $arg"
- do_ffi="no" ;;
-
- --with-ffcall | --with-ffcall=yes)
- subdir_configure_args="$subdir_configure_args $arg"
- do_ffi="yes" ;;
-
- --without-dynamic-modules | --with-dynamic-modules=no)
- makemake_args="--with-dynamic-modules=no ${makemake_args}" ;;
-
- --with-mingw | --with-no-cygwin | --without-cygwin | --with-cygwin=no)
- echo "$0: $arg is deprecated; use --build= or CC=... instead"
- CC="${CC:-gcc} -mno-cygwin"; export CC;
- makemake_args="$makemake_args --win32gcc" ;;
-
- --with-module=*) note_module `getarg $arg` ;;
-
- --with-module)
- prev=with-module
- passnext=with-module ;;
-
- --with-* | --without-*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args $arg" ;;
-
- --enable-* | --disable-*)
- subdir_configure_args="$subdir_configure_args $arg"
- makemake_args="$makemake_args $arg" ;;
-
- --ignore-absence-of-libsigsegv)
- ignore_absence_of_libsigsegv=yes ;;
-
- -*)
- fail "$0: invalid argument $arg
-$0: Try \`$0 --help'" ;;
-
- *=*) # set a variable
- var=`echo $arg | sed 's/\([^=]*\)=.*/\1/'`
- val=`echo $arg | sed 's/[^=]*=\(.*\)/\1/'`
- eval "$var='$val'"
- export $var ;;
-
- *) # Everything else counts as a positional argument
- argcount=`expr $argcount + 1`
- eval "POSARG$argcount=\$arg" ;;
-
- esac
-
- fi
-done
-test -n "$prev" && fail "$0: missing argument to $prev
-$0: Try \`$0 --help'"
-
-DIRNAME=$POSARG1
-COMPILER=$POSARG2 # deprecated
-
-if test -z "$do_config" -a -z "$do_cbc"; then
- # Default is --config
- do_config=1
-fi
-
-# checking how to copy files
-echo "blabla" > conftest.x
-err=`/bin/sh -c "cp -p conftest.x conftest.y 2>&1 ; exit 0"`
-if test -z "$err"; then
- CP='cp -p'
-else
- CP='cp'
-fi
-rm -f conftest*
-
-# get the absolute pathname from a possibly relative one
-abs_pwd () { cd "$1" > /dev/null; pwd; }
-
-# link FILE1 FILE2 is like `ln', but chooses the cheapest alternative:
-# hard link if FILE1 and FILE2 on the same disk, else symbolic link if the
-# system supports that, else file copy.
-link () {
-rm -f "$2";
-# Note: With some versions of "ln" this does not work if FILE2 is a symlink.
-if ln "$1" "$2" 2>/dev/null; then
- :
-else
- srcfile_dirname=`echo "$1" | sed -e 's,/[^/]*$,,'`
- test -n "$srcfile_dirname" || srcfile_dirname='/'
- srcfile_basename=`echo "$1" | sed -e 's,^.*/,,'`
- srcfile_absdirname=`abs_pwd "$srcfile_dirname"`
- if ln -s "$srcfile_absdirname/$srcfile_basename" "$2" 2>/dev/null; then
- :
- else
- $CP "$1" "$2"
- fi
-fi
-}
-
-# Note that we would need to call `/bin/pwd` if we wanted to compare two
-# directories for equality. But here we only need to get _some_ absolute
-# pathnames, hence `pwd` is enough.
-
-if test -f /bin/pwd ; then
- ABSPATHPWD=/bin/pwd
-else
- ABSPATHPWD=pwd
-fi
-
-abs_path_pwd () { cd "$1" > /dev/null; ${ABSPATHPWD}; }
-
-INPLACE=''
-if test -n "$srcdir" ; then
- test -d "$srcdir" || fail "$0: srcdir: ($srcdir) nonexistent"
- ABS_SRCDIR=`abs_pwd "$srcdir"`;
- if [ "$DIRNAME" = "" ] ; then
- DIRNAME='.'
- fi
- mkdir -p "${DIRNAME}";
- REL_SRCDIR="$ABS_SRCDIR"
-else
- if test -f ./ANNOUNCE -a -f ./SUMMARY; then
- srcdir='.'
- ABS_SRCDIR=`abs_pwd "$srcdir"`
- if [ "$DIRNAME" = "" ] ; then
- DIRNAME=src
- fi
- else
- test -f ../ANNOUNCE -a -f ../SUMMARY || \
- fail "$0: source directory not found, use --srcdir option"
- srcdir='..'
- ABS_SRCDIR=`abs_pwd "$srcdir"`
- if [ "$DIRNAME" = "" ] ; then
- DIRNAME='.'
- fi
- fi
- mkdir -p "${DIRNAME}";
- if test `abs_path_pwd "$DIRNAME"/..` = `abs_path_pwd "$srcdir"` ; then
- REL_SRCDIR='..'
- else
- REL_SRCDIR="$ABS_SRCDIR"
- fi
-fi
-ABS_DIRNAME="`abs_pwd "$DIRNAME"`";
-if test "`abs_path_pwd "$DIRNAME"`" = "`abs_path_pwd "$srcdir"/src`" ; then
- INPLACE=yes
-fi
-case "$REL_SRCDIR" in
- /*) RREL_SRCDIR="$REL_SRCDIR";;
- *) RREL_SRCDIR="../$REL_SRCDIR";;
-esac
-
-# srcdir top level source directory
-# (i.e. this script is $srcdir/configure)
-# ABS_SRCDIR absolute srcdir
-# REL_SRCDIR srcdir, relative to $DIRNAME
-# RREL_SRCDIR srcdir, relative to $DIRNAME/anysubdir
-# DIRNAME directory in which to build
-# ABS_DIRNAME absolute DIRNAME
-# INPLACE set if DIRNAME is the source directory, hence no links needed
-
-if test -n "$do_config"; then
-
- cd "$ABS_SRCDIR"
-
- if [ "$COMPILER" != "" ] ; then
- CC="$COMPILER"
- export CC
- fi
- if test -n "$CC"; then
- # cygwin comes with a true cross-compiler, i.e. one does
- # ./configure CC=i686-w64-mingw32-gcc ...
- # instead of ./configure --with-mingw
- CC_machine=`($CC -dumpmachine) 2>/dev/null`
- case "$CC_machine" in
- *mingw32* )
- echo "cross-compiling for mingw"
- subdir_configure_args="${subdir_configure_args} --build=$CC_machine" ;;
- esac
- fi
- cd "${ABS_DIRNAME}"
- echo "executing $REL_SRCDIR/src/configure $*"
- ${CONFIG_SHELL} $REL_SRCDIR/src/configure \
- $subdir_configure_args --cache-file=config.cache
-fi
-
-. "${ABS_DIRNAME}/config.cache"
-
-test -n "${target}" && target="${target} ${ac_cv_host} ${ac_cv_prog_CC}"
-makemake_args="${makemake_args} ${target}";
-case ${ac_cv_host} in # mingw/msys
- *mingw32*)
- makemake_args="${makemake_args} --with-dynamic-modules=no --win32gcc" ;;
-esac
-
-test -n "${cl_cv_have_ffcall}" || cl_cv_have_ffcall=notchecked
-cat <<EOF
-Configure findings:
- FFI: ${cl_cv_have_ffcall} (user requested: ${do_ffi})
- readline: ${ac_cv_have_readline} (user requested: ${ac_cv_use_readline})
- libsigsegv: ${gl_cv_lib_sigsegv}
-EOF
-
-# are any FFI modules requested?
-ffi_modules=''
-for module in ${all_modules}; do
- mdir=${ABS_SRCDIR}/modules/${module}
- test -d ${mdir} || fail "$0: ${mdir} is not an exisiting directory"
- if test -r ${mdir}/configure.in; then
- grep 'CL_MODULE_COMMON_CHECKS.*ffi' ${mdir}/configure.in > /dev/null 2>&1 && \
- ffi_modules=${ffi_modules}" ${module}"
- elif grep '.*\.c.*\.fas.*:\|.*\.fas.*\.c.*:' ${mdir}/Makefile > /dev/null 2>&1 ; then
- ffi_modules=${ffi_modules}" ${module}"
- elif grep ':use.*"FFI"' ${mdir}/*.lisp > /dev/null 2>&1; then
- ffi_modules=${ffi_modules}" ${module}"
- fi
-done
-if test -n "${ffi_modules}"; then
- test ${do_ffi} = no && \
- fail "$0: --without-ffcall is incompatible with requested module(s):${ffi_modules}"
- test ${cl_cv_have_ffcall} = no && \
- fail "$0: modules${ffi_modules} require FFI"
-fi
-if [ ${do_ffi} != no -a ${cl_cv_have_ffcall} = yes ]; then
- makemake_args="--with-dynamic-ffi ${makemake_args}"
-fi
-
-if [ "${gl_cv_lib_sigsegv}" != "yes" ]; then
- if [ "${ignore_absence_of_libsigsegv}" = "yes" ]; then
- echo "As you requested, we will proceed without libsigsegv..."
- else
- if [ "$ac_cv_build" = "$ac_cv_host" ]; then host_arg="";
- else host_arg=" --host=$ac_cv_host --build=$ac_cv_build";
- fi
- SIGSEGV=libsigsegv-2.10
- cat <<EOF 1>&2
-$0: libsigsegv was not detected, thus some features, such as
- generational garbage collection and
- stack overflow detection in interpreted Lisp code
-cannot be provided.
-Please install libsigsegv like this:
-EOF
- if [ "${CC+set}" = "set" ]; then
- echo " CC='$CC'; export CC" 1>&2
- fi
- cat <<EOF 1>&2
- mkdir tools; cd tools; prefix=\`pwd\`/${ac_cv_host}
- wget http://ftp.gnu.org/gnu/libsigsegv/${SIGSEGV}.tar.gz
- tar xfz ${SIGSEGV}.tar.gz
- cd ${SIGSEGV}
- ./configure${host_arg} --prefix=\${prefix} && make && make check && make install
- cd ../..
- rm -f ${DIRNAME}/config.cache
- ./configure --with-libsigsegv-prefix=\${prefix} $*
-If you insist on building without libsigsegv, please pass
- --ignore-absence-of-libsigsegv
-to this script:
- ./configure --ignore-absence-of-libsigsegv $*
-If you have installed libsigsegv, but clisp does not detect it,
-you might have installed it incorrectly, see section 2 in in unix/INSTALL.
-EOF
- exit 1;
- fi
-fi
-
-# CLISP needs a lot of stack space for bootstrapping,
-# and insufficient stack space manifests itself via arbitrary GC errors.
-# it was believed that 8192 is enough until power5 came along:
-# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=166347
-STACK_LIMIT=16384
-stacksizelimit=`ulimit -s 2>/dev/null || :` # cygwin /bin/sh ulimit is broken
-# need 3 separate test calls because of "integer expression expected" errors
-# when $stacksizelimit is "" or "unlimited" (no short-circuiting!)
-set +e;
-test -z "$stacksizelimit" || { test "$stacksizelimit" != unlimited && test "$stacksizelimit" -lt ${STACK_LIMIT}; }
-STACK_TOO_SMALL=$? # 0=true => need to reset; 1=false => big enough
-set -e
-
-cd "$ABS_DIRNAME"
-echo "./makemake $makemake_args > Makefile"
-./makemake $makemake_args > Makefile
-make config.lisp
-
-if test -z "$do_cbc"; then
- echo
- echo "To continue building CLISP, the following commands are recommended"
- echo " (cf. unix/INSTALL step 4 ff):"
- if test "$DIRNAME" != "."; then
- echo " cd $DIRNAME"
- fi
- echo " ${EDITOR:-vi} config.lisp"
- if [ "${STACK_TOO_SMALL}" = 0 ]; then
- cat <<EOF
-# The default stack size on your platform is insufficient
-# and must be increased to at least ${STACK_LIMIT}. You must do either
-# 'ulimit -s ${STACK_LIMIT}' (for Bourne shell derivatives, e.g., bash and zsh)
-# or 'limit stacksize ${STACK_LIMIT}' (for C shell derivarives, e.g., tcsh)
-EOF
- fi
- echo " make"
- echo " make check"
-else
- if [ -n "${edit_config}" ]; then
- make config.lisp;
- ${EDITOR:-vi} config.lisp;
- fi
- if [ "${STACK_TOO_SMALL}" = 0 ]; then
- set +e; ulimit -s ${STACK_LIMIT} 2>/dev/null; set -e;
- fi
- make
- make check
-fi
diff -r f51a5bd170dc -r 62249532accb configure.ac
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/configure.ac Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,67 @@
+AC_PREREQ([2.69])
+AC_INIT([clisp], [3.0alpha], [clisp-list])
+AC_CONFIG_MACRO_DIRS([ax])
+
+# Canonicalize target and host information, this must be placed early
+# to avoid warnings (and potential issues with program name mangling)
+AC_CANONICAL_HOST
+AC_DEFINE_UNQUOTED([HOST_OS], [$host_os], [Canonical name of the host os])
+AC_DEFINE_UNQUOTED([HOST_CPU], [$host_cpu], [Canonical name of the host cpu])
+case $host_os in
+ linux*|*BSD*|darwin*)
+ AC_DEFINE([UNIX], [1], [Set to 1 when running on a UNIX like system])
+ lispcfgfile=cfgunix.lisp
+ ;;
+ mingw*|msys)
+ AC_DEFINE([WIN32], [1], [Set to 1 when running on a Windows system])
+ AC_DEFINE([WIN32_NATIVE], [1], [Set when on a Windows system])
+ lispcfgfile=cfgwin32.lisp
+ ;;
+esac
+
+# This is a GNU project but currently we do not satisfy automake's
+# requirements in that respect.
+# TODO: fix
+AM_INIT_AUTOMAKE([foreign -Wall])
+
+AC_PROG_CC
+AC_PROG_CC_C99
+AC_PROG_CC_FOR_BUILD
+
+# gnulib requests that this macro should be placed shortly after
+# AC_PROG_CC
+gl_EARLY
+
+# Some test cases should be run twice (compiled and interpreted). To
+# convince automake that this makes sense we make links of the test
+# case files. See tests/Makefile.am.
+AC_PROG_LN_S
+
+# Checking for the presence of long long int. This is most surely a
+# relict of former times, C99 requires this.
+# TODO: Remove
+AC_CHECK_TYPES([long long int])
+
+# Checking the endianness of the host system. This must be done both
+# for integer and floating point types because the later could depend
+# on an FPU with a different endianness.
+AC_C_BIGENDIAN
+AX_C_FLOAT_WORDS_BIGENDIAN
+
+# Make SIZE_OF_TYPE and ALIGNOF_TYPE preprocessor macros available,
+# for the "standard types".
+CL_TYPE_SIZES
+
+CL_UNICODE
+
+CL_SHARED_LIB_EXT
+
+gl_INIT
+
+
+AC_CONFIG_HEADERS([src/config.h])
+AC_CONFIG_FILES([Makefile utils/Makefile src/Makefile gnulib/Makefile
+ gnulib/lib/Makefile tests/Makefile src/clisp-link])
+AC_CONFIG_LINKS([src/config.lisp:src/$lispcfgfile])
+
+AC_OUTPUT
diff -r f51a5bd170dc -r 62249532accb gnulib/m4/gnulib-cache.m4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gnulib/m4/gnulib-cache.m4 Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,61 @@
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+#
+# This file represents the specification of how gnulib-tool is used.
+# It acts as a cache: It is written and read by gnulib-tool.
+# In projects that use version control, this file is meant to be put under
+# version control, like the configure.ac and various Makefile.am files.
+
+
+# Specification in the form of a command-line invocation:
+# gnulib-tool --import --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=gnulib/doc --tests-base=gnulib/tests --aux-dir=. --avoid=xalloc-die --no-conditional-dependencies --no-libtool --macro-prefix=gl alloca environ errno float iconv largefile libsigsegv localcharset lseek readline sys_types uniname/uniname unitypes uniwidth/width waitpid
+
+# Specification in the form of a few gnulib-tool.m4 macro invocations:
+gl_LOCAL_DIR([])
+gl_MODULES([
+ alloca
+ environ
+ errno
+ float
+ iconv
+ largefile
+ libsigsegv
+ localcharset
+ lseek
+ readline
+ sys_types
+ uniname/uniname
+ unitypes
+ uniwidth/width
+ waitpid
+])
+gl_AVOID([xalloc-die])
+gl_SOURCE_BASE([gnulib/lib])
+gl_M4_BASE([gnulib/m4])
+gl_PO_BASE([])
+gl_DOC_BASE([gnulib/doc])
+gl_TESTS_BASE([gnulib/tests])
+gl_LIB([libgnu])
+gl_MAKEFILE_NAME([])
+gl_MACRO_PREFIX([gl])
+gl_PO_DOMAIN([])
+gl_WITNESS_C_MACRO([])
diff -r f51a5bd170dc -r 62249532accb src/Makefile.am
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Makefile.am Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,153 @@
+
+
+
+# Converting .d files to .c files. This assumes the build utils have been built
+# successfully.
+.d.c:
+ cat $< | ../utils/gctrigger$(BUILD_EXEEXT) | ../utils/varbrace$(BUILD_EXEEXT) > $@
+
+# lispbibl.d needs to be stripped off lines that contain directives for
+# genclisph (these lines start with "%% ").
+lispbibl.c: lispbibl.d
+ sed -e 's/^\(%% .*\)//' $< | ../utils/gctrigger$(BUILD_EXEEXT) | ../utils/varbrace$(BUILD_EXEEXT) > $@
+
+libexec_PROGRAMS = lisp
+
+
+# Source files that form distinct translation units. Note that a lot
+# of CLISP's source code resides in files that will be included into
+# one (or more) of the files mentioned here. These files cannot be put
+# into _SOURCES because otherwise they'd be treated as translation
+# units of their own (which would fail horribly).
+lisp_SOURCES = lisparit.d hashtabl.d array.d list.d record.d sequence.d \
+ symbol.d error.d unixaux.d spvw.d spvwtabs.d spvwtabo.d \
+ spvwtabf.d control.d eval.d modules.c funarg.d io.d predtype.d \
+ debug.d charstrg.d time.d stream.d socket.d weak.d misc.d \
+ foreign.d encoding.d package.d pathname.d i18n.d built.d \
+ intparam.h floatparam.h
+
+# Source files that are - without special preprocessing - included
+# from one (or more) of the files listed in the _SOURCES
+# variable. Listing them here adds them to the distributed files, but
+# does not result in any Makefile (compilation) rules being generated.
+EXTRA_lisp_SOURCES = spvw_calendar.c uni_upcase.c uni_downcase.c \
+ uni_attribute.c nls_ascii.c nls_cp1250.c nls_cp1251.c nls_cp1252.c \
+ nls_cp1253.c nls_cp1254.c nls_cp1256.c nls_cp1257.c nls_cp437_ibm.c \
+ nls_cp437_ms.c nls_cp737.c nls_cp775.c nls_cp850.c nls_cp852_ibm.c \
+ nls_cp852_ms.c nls_cp855.c nls_cp857.c nls_cp860_ibm.c \
+ nls_cp860_ms.c nls_cp861_ibm.c nls_cp861_ms.c nls_cp862_ibm.c \
+ nls_cp862_ms.c nls_cp863_ibm.c nls_cp863_ms.c nls_cp864_ibm.c \
+ nls_cp864_ms.c nls_cp865_ibm.c nls_cp865_ms.c nls_cp866.c \
+ nls_cp869_ibm.c nls_cp869_ms.c nls_cp874_ibm.c nls_cp874_ms.c \
+ nls_hp_roman8.c nls_iso8859_10.c nls_iso8859_13.c nls_iso8859_14.c \
+ nls_iso8859_15.c nls_iso8859_16.c nls_iso8859_1.c nls_iso8859_2.c \
+ nls_iso8859_3.c nls_iso8859_4.c nls_iso8859_5.c nls_iso8859_6.c \
+ nls_iso8859_7.c nls_iso8859_8.c nls_iso8859_9.c nls_jisx0201.c \
+ nls_koi8_r.c nls_koi8_u.c nls_mac_arabic.c nls_mac_centraleurope.c \
+ nls_mac_croatian.c nls_mac_cyrillic.c nls_mac_dingbat.c \
+ nls_mac_greek.c nls_mac_hebrew.c nls_mac_iceland.c nls_mac_roman.c \
+ nls_mac_romania.c nls_mac_symbol.c nls_mac_thai.c nls_mac_turkish.c \
+ nls_mac_ukraine.c execname.c
+
+lisp_CPPFLAGS = -I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib \
+ -DNO_CLISP_H -DHAVE_GETHOSTBYNAME -DHAVE_GETHOSTNAME \
+ -DHAVE_TERMIOS_H -DHAVE_TCGETATTR -DHAVE_TCSAFLUSH \
+ -DDYNAMIC_FFI
+
+lisp_LDADD = -lncurses -lavcall -lcallback \
+ $(top_builddir)/gnulib/lib/libgnu.a $(LIBREADLINE) $(LIBSIGSEGV)
+
+spvw_includes = spvw_module.c spvw_debug.c spvw_alloca.c spvw_page.c \
+ spvw_heap.c spvw_global.c spvw_gcstat.c spvw_space.c \
+ spvw_mark.c spvw_objsize.c spvw_update.c spvw_sigsegv.c \
+ spvw_sigcld.c spvw_sigpipe.c spvw_sigint.c spvw_sigwinch.c \
+ spvw_sigterm.c spvw_garcol.c spvw_genera1.c spvw_gcmark.c \
+ spvw_genera2.c spvw_genera3.c spvw_allocate.c spvw_weak.c \
+ spvw_typealloc.c spvw_circ.c spvw_walk.c spvw_ctype.c \
+ spvw_language.c constpack.c spvw_memfile.c sort.c avl.c
+eval_includes = bytecode.c
+
+
+included_source_files = $(spvw_includes) $(eval_includes) \
+ lispbibl.c unix.c fsubr.c subr.c pseudofun.c \
+ constsym.c constobj.c constobj_tl.c aridecl.c \
+ arilev0.c arilev1.c arilev1i.c intelem.c intlog.c \
+ intplus.c intcomp.c intbyte.c intmal.c intdiv.c \
+ intgcd.c int2adic.c intsqrt.c intprint.c intread.c \
+ intserial.c rational.c sfloat.c ffloat.c dfloat.c \
+ lfloat.c flo_konv.c flo_rest.c realelem.c realrand.c \
+ realtran.c compelem.c comptran.c errunix.c
+
+modules.h:
+ touch $@
+
+CLEANFILES = $(included_source_files) modules.h
+BUILT_SOURCES = $(included_source_files) modules.h
+
+# The "bootstrap" memory image which contains only interpreted code.
+# TODO: Add dependencies for all loaded lisp files!x
+interpreted.mem: lisp$(EXEEXT) init.lisp
+ ./lisp$(EXEEXT) -B . -N locale -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -m 2MW -lp $(srcdir)/ -x '(and (load "$(srcdir)/init.lisp") (sys::%saveinitmem) (ext::exit)) (ext::exit t)'
+ mv lispimag.mem $@
+
+# To compile the compiler we cannot use the default memory image (as
+# it has not yet been created: in order to create it we need the
+# compiled compiler ...). Therefore we use the "bootstrap" memory
+# image which contains only interpreted code (and is thus slow).
+compiler.fas: mem_image=interpreted.mem
+compiler.fas: interpreted.mem
+
+# This "halfcompiled" memory image contains mostly interpreted code,
+# the exception being the compiler.
+halfcompiled.mem: lisp$(EXEEXT) compiler.fas
+ ./lisp$(EXEEXT) -B . -N locale -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -m 2MW -lp $(srcdir)/ -x '(and (load "$(srcdir)/init.lisp") (sys::%saveinitmem) (ext::exit)) (ext::exit t)'
+ mv lispimag.mem $@
+
+# The default memory image used to compile lisp files
+mem_image = halfcompiled.mem
+
+# Rule to compile a lisp file to a fas file, running the compiler with
+# the given $(mem_image)
+.lisp.fas:
+ ./lisp$(EXEEXT) -B . -N locale -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -m 2MW -M $(mem_image) -q -c $< -o $@
+
+
+lispinit.mem: $(fas_files) config.fas
+ ./lisp$(EXEEXT) -B . -N locale -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -x '(and (load "init.fas") (ext::saveinitmem) (ext::exit)) (ext::exit t)'
+
+
+fas_files = \
+ init.fas defseq.fas backquote.fas defmacro.fas macros1.fas macros2.fas \
+ defs1.fas lambdalist.fas places.fas floatprint.fas defpackage.fas type.fas \
+ subtypep.fas clos-package.fas clos-macros.fas clos-class0.fas \
+ clos-metaobject1.fas clos-slotdef1.fas clos-stablehash1.fas \
+ clos-specializer1.fas clos-class1.fas clos-class2.fas clos-class3.fas \
+ defstruct.fas format.fas international.fas savemem.fas functions.fas \
+ trace.fas cmacros.fas defs2.fas loop.fas clos.fas clos-stablehash2.fas \
+ clos-specializer2.fas clos-specializer3.fas clos-class4.fas clos-class5.fas \
+ clos-class6.fas clos-slotdef2.fas clos-slotdef3.fas clos-slots1.fas \
+ clos-slots2.fas clos-method1.fas clos-method2.fas clos-method3.fas \
+ clos-method4.fas clos-methcomb1.fas clos-methcomb2.fas clos-methcomb3.fas \
+ clos-methcomb4.fas clos-genfun1.fas clos-genfun2a.fas clos-genfun2b.fas \
+ clos-genfun3.fas clos-genfun4.fas clos-genfun5.fas clos-dependent.fas \
+ clos-print.fas clos-custom.fas documentation.fas fill-out.fas disassem.fas \
+ condition.fas loadform.fas gstream.fas xcharin.fas keyboard.fas screen.fas \
+ runprog.fas query.fas reploop.fas dribble.fas complete.fas pprint.fas \
+ describe.fas room.fas edit.fas macros3.fas clhs.fas inspect.fas gray.fas \
+ case-sensitive.fas foreign1.fas exporting.fas german.fas french.fas \
+ spanish.fas russian.fas danish.fas dutch.fas deprecated.fas
+
+CLEANFILES += $(fas_files) config.fas halfcompiled.mem interpreted.mem lispinit.mem compiler.fas
+
+$(fas_files) config.fas : halfcompiled.mem
+
+EXTRA_DIST = $(fas_files:.fas=.lisp) compiler.lisp $(included_source_files:.c=.d) \
+ cfgunix.lisp cfgwin32.lisp
+
+all-local: lispinit.mem
+
+
+bin_PROGRAMS = clisp
+clisp_SOURCES = _clisp.c
+clisp_CPPFLAGS = -DLISPLIBDIR=\"$(libexecdir)/clisp\" \
+ -DLOCALEDIR=\"$(localedir)\" -DEXEEXT=\"$(EXEEXT)\"
diff -r f51a5bd170dc -r 62249532accb src/_clisp.c
--- a/src/_clisp.c Wed Jun 22 10:30:11 2016 +0200
+++ b/src/_clisp.c Thu Aug 25 20:35:46 2016 +0200
@@ -14,33 +14,11 @@
/*
* Macros passed during compilation:
- * LISPLIBDIR string containing the directory with lisp.run and lispinit.mem
+ * LISPLIBDIR string containing the directory where linkingsets are
* LOCALEDIR string containing the locale directory
+ * EXEEXT string with filename extension for executables
*/
-#if 0
-/*
- * Note: This file is preprocessed. Only the #if's and #include's with
- * no space after the # are resolved. The other ones are preserved by
- * the preprocessing.
- * This double pre-processing (once by txt2c on the build system
- * and once by cpp on the target system) is necessary because
- * the _distmakefile has this command:
- * $(CC) $(CFLAGS) -DLISPLIBDIR='"$(lisplibdir)"' -DLOCALEDIR='"$(localedir)"' src/clisp.c -o $(bindir)/clisp
- * So, _clisp.c is preprocessed for a first time on the system that
- * builds a binary distribution,
- * then preprocessed a second time while being compiled on the target system,
- * therefore we cannot not just include lispbibl.c and be done with it:
- * lispbibl.c contains #ifs that you cannot transport from one system to
- * another (e.g. from Solaris 9 to Solaris 10).
- * This is preferred over the 'hardcode' command, because that command
- * violates all abstraction, by assuming special things about object
- * files and executables.
- * (E.g. if some day encrypted or signed executables appear, the
- * 'hardcode' program will not work any more.)
- */
-#endif
-
#include "config.h"
/* Declare strlen(), strcpy(), strcat(). */
@@ -57,28 +35,8 @@
# include <stdlib.h> /* getenv, abort */
#if defined(UNIX)
-/* needed for execname.c to work */
-# include <sys/types.h> /* stat */
-# include <sys/stat.h> /* stat */
# include <unistd.h> /* access */
# include <errno.h> /* ENOMEM, ENOENT, errno */
-# include <sys/param.h> /* MAXPATHLEN */
-#endif
-int find_executable (const char * program_name);
-#include <execname.c>
-
-#if defined(UNIX_BINARY_DISTRIB)
-# if !ENABLE_RELOCATABLE
-
-char room_for_lisplibdir[10240] = "%MAGIC%LISPLIBDIR=" LISPLIBDIR;
-# undef LISPLIBDIR
-# define LISPLIBDIR &room_for_lisplibdir[7 + strlen("LISPLIBDIR") + 1]
-
-char room_for_localedir[10240] = "%MAGIC%LOCALEDIR=" LOCALEDIR;
-# undef LOCALEDIR
-# define LOCALEDIR &room_for_localedir[7 + strlen("LOCALEDIR") + 1]
-
-# endif
#endif
static int usage (char *program_name, char *option) {
@@ -109,54 +67,9 @@
* know about all of clisp's options.
*/
program_name = argv[0];
- /*
- * The program_name may be absolute or relative if "clisp" is called
- * directly. (For example, "sh /usr/local/bin/clisp ..." will make it
- * absolute, "time clisp ..." will make it relative.)
- * If "clisp" is used as a script interpreter, program_name will be
- * - the full absolute pathname, on SunOS 4, Solaris, HP-UX, IRIX,
- * - only the basename, on Linux, AIX, OSF/1.
- * It follows that we cannot tell whether we have been called as
- * script interpreter or directly.
- */
-# if ENABLE_RELOCATABLE
- /* Put this executable's absolute path into executable_name. */
- if (find_executable(program_name) < 0) {
- fprintf(stderr,"%s: cannot figure out the absolute executable path\n",
- program_name);
- return 1;
- }
- /* Figure out lisplibdir and localedir. */
- {
- unsigned int libdir_len;
- const char *p;
- char *mem;
- /* The libdir is determined as `dirname $executable_name`. */
- for (p = executable_name + strlen(executable_name);; p--) {
- if (p == executable_name) abort();
- if (*p == '/') break;
-#ifdef WIN32_NATIVE
- if (*p == '\\') break;
-#endif
- }
- libdir_len = p - executable_name;
- mem = (char*)malloc((libdir_len+1)+(libdir_len+7+1));
- if (mem == NULL) goto oom;
- lisplibdir = mem;
- localedir = mem + (libdir_len+1);
- /* Compute lisplibdir from it. */
- memcpy(lisplibdir,executable_name,libdir_len);
- lisplibdir[libdir_len] = '\0';
- /* Compute localedir from it. */
- memcpy(localedir,executable_name,libdir_len);
- localedir[libdir_len] = *p; /* directory separator */
- memcpy(localedir+libdir_len+1,"locale",6);
- localedir[libdir_len+7] = '\0';
- }
-# else
+
lisplibdir = LISPLIBDIR;
localedir = LOCALEDIR;
-# endif
/*
* Script execution on Unix is implemented like this:
* - The basename/fullname of the interpreter is put into argv[0].
@@ -327,11 +240,7 @@
strcat(linkingsetdir, argv_linkingset);
}
{ /* Compute executable's name. */
-#if defined(WIN32_NATIVE) || defined(UNIX_CYGWIN32)
- const char* execname = "lisp.exe";
-#else
- const char* execname = "lisp.run";
-#endif
+ const char* execname = "lisp" EXEEXT;
executable = (char*)malloc(strlen(linkingsetdir)+1+strlen(execname)+1);
if (!executable) goto oom;
strcpy(executable, linkingsetdir);
diff -r f51a5bd170dc -r 62249532accb src/built.d
--- a/src/built.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/built.d Thu Aug 25 20:35:46 2016 +0200
@@ -6,6 +6,10 @@
#include "lispbibl.c"
+global object built_flags (void) { return ascii_to_string("DUMMY"); }
+#warning built_flags dummied out!!! CHANGE!!
+
+#if 0
#include "cflags.h"
#if defined(GNU_READLINE)
@@ -100,3 +104,5 @@
#endif
return count == 1 ? (object)popSTACK() : string_concat(count);
}
+
+#endif
\ No newline at end of file
diff -r f51a5bd170dc -r 62249532accb src/clisp-link.in
--- a/src/clisp-link.in Wed Jun 22 10:30:11 2016 +0200
+++ b/src/clisp-link.in Thu Aug 25 20:35:46 2016 +0200
@@ -72,7 +72,7 @@
mkdir "$1"
}
-LISPRUN="lisp@LEXE@"
+LISPRUN="lisp@EXEEXT@"
# ensure that "$1" contains a CLISP linking set
check_linkset () {
test -r "$1"/lisp.a -a -x "$1"/${LISPRUN} -a -r "$1"/lispinit.mem \
diff -r f51a5bd170dc -r 62249532accb src/config.h.in
--- a/src/config.h.in Wed Jun 22 10:30:11 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1997 +0,0 @@
-/* config.h.in. Generated from configure.in by autoheader. */
-
-/* CPU and C ABI indicator */
-#ifndef __i386__
-#undef __i386__
-#endif
-#ifndef __x86_64__
-#undef __x86_64__
-#endif
-#ifndef __alpha__
-#undef __alpha__
-#endif
-#ifndef __arm__
-#undef __arm__
-#endif
-#ifndef __armel__
-#undef __armel__
-#endif
-#ifndef __hppa__
-#undef __hppa__
-#endif
-#ifndef __hppa64__
-#undef __hppa64__
-#endif
-#ifndef __ia64__
-#undef __ia64__
-#endif
-#ifndef __m68k__
-#undef __m68k__
-#endif
-#ifndef __mips__
-#undef __mips__
-#endif
-#ifndef __mipsn32__
-#undef __mipsn32__
-#endif
-#ifndef __mips64__
-#undef __mips64__
-#endif
-#ifndef __powerpc__
-#undef __powerpc__
-#endif
-#ifndef __powerpc64__
-#undef __powerpc64__
-#endif
-#ifndef __s390__
-#undef __s390__
-#endif
-#ifndef __s390x__
-#undef __s390x__
-#endif
-#ifndef __sh__
-#undef __sh__
-#endif
-#ifndef __sparc__
-#undef __sparc__
-#endif
-#ifndef __sparc64__
-#undef __sparc64__
-#endif
-
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* symbols are prefixed by an underscore in assembly language */
-#undef ASM_UNDERSCORE
-
-/* Define to the number of bits in type 'ptrdiff_t'. */
-#undef BITSIZEOF_PTRDIFF_T
-
-/* Define to the number of bits in type 'sig_atomic_t'. */
-#undef BITSIZEOF_SIG_ATOMIC_T
-
-/* Define to the number of bits in type 'size_t'. */
-#undef BITSIZEOF_SIZE_T
-
-/* Define to the number of bits in type 'wchar_t'. */
-#undef BITSIZEOF_WCHAR_T
-
-/* Define to the number of bits in type 'wint_t'. */
-#undef BITSIZEOF_WINT_T
-
-/* what is your caddr_t type? */
-#undef CADDR_T
-
-/* address range of program code (text+data+bss) */
-#undef CODE_ADDRESS_RANGE
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
-#undef DGUX
-
-/* Define to 1 if 'double' division by zero raises an exception. */
-#undef DOUBLE_DIV0_EXCEPTION
-
-/* Define to 1 if a 'double' inexact operation raises an exception. */
-#undef DOUBLE_INEXACT_EXCEPTION
-
-/* Define to 1 if 'double' overflow raises an exception. */
-#undef DOUBLE_OVERFLOW_EXCEPTION
-
-/* Define to 1 if 'double' underflow raises an exception. */
-#undef DOUBLE_UNDERFLOW_EXCEPTION
-
-/* the real value of ELOOP even if it is hidden in <errno.h> */
-#undef ELOOP_VALUE
-
-/* Define to 1 if translation of program messages to the user's native
- language is requested. */
-#undef ENABLE_NLS
-
-/* Define to 1 if 'float' division by zero raises an exception. */
-#undef FLOAT_DIV0_EXCEPTION
-
-/* Define to 1 if a 'float' inexact operation raises an exception. */
-#undef FLOAT_INEXACT_EXCEPTION
-
-/* Define to 1 if 'float' overflow raises an exception. */
-#undef FLOAT_OVERFLOW_EXCEPTION
-
-/* Define to 1 if 'float' underflow raises an exception. */
-#undef FLOAT_UNDERFLOW_EXCEPTION
-
-/* Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string. */
-#undef FUNC_NL_LANGINFO_YESEXPR_WORKS
-
-/* Define if gettimeofday clobbers the localtime buffer. */
-#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME
-
-/* Define this to 'void' or 'struct timezone' to match the system's
- declaration of the second argument to gettimeofday. */
-#undef GETTIMEOFDAY_TIMEZONE
-
-/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
- whether the gnulib module malloc-gnu shall be considered present. */
-#undef GNULIB_MALLOC_GNU
-
-/* Define to 1 when the gnulib module accept should be tested. */
-#undef GNULIB_TEST_ACCEPT
-
-/* Define to 1 when the gnulib module bind should be tested. */
-#undef GNULIB_TEST_BIND
-
-/* Define to 1 when the gnulib module btowc should be tested. */
-#undef GNULIB_TEST_BTOWC
-
-/* Define to 1 when the gnulib module close should be tested. */
-#undef GNULIB_TEST_CLOSE
-
-/* Define to 1 when the gnulib module connect should be tested. */
-#undef GNULIB_TEST_CONNECT
-
-/* Define to 1 when the gnulib module environ should be tested. */
-#undef GNULIB_TEST_ENVIRON
-
-/* Define to 1 when the gnulib module gethostname should be tested. */
-#undef GNULIB_TEST_GETHOSTNAME
-
-/* Define to 1 when the gnulib module getloadavg should be tested. */
-#undef GNULIB_TEST_GETLOADAVG
-
-/* Define to 1 when the gnulib module getpagesize should be tested. */
-#undef GNULIB_TEST_GETPAGESIZE
-
-/* Define to 1 when the gnulib module getpeername should be tested. */
-#undef GNULIB_TEST_GETPEERNAME
-
-/* Define to 1 when the gnulib module getsockname should be tested. */
-#undef GNULIB_TEST_GETSOCKNAME
-
-/* Define to 1 when the gnulib module getsockopt should be tested. */
-#undef GNULIB_TEST_GETSOCKOPT
-
-/* Define to 1 when the gnulib module gettimeofday should be tested. */
-#undef GNULIB_TEST_GETTIMEOFDAY
-
-/* Define to 1 when the gnulib module ioctl should be tested. */
-#undef GNULIB_TEST_IOCTL
-
-/* Define to 1 when the gnulib module listen should be tested. */
-#undef GNULIB_TEST_LISTEN
-
-/* Define to 1 when the gnulib module lstat should be tested. */
-#undef GNULIB_TEST_LSTAT
-
-/* Define to 1 when the gnulib module malloc-posix should be tested. */
-#undef GNULIB_TEST_MALLOC_POSIX
-
-/* Define to 1 when the gnulib module mbrtowc should be tested. */
-#undef GNULIB_TEST_MBRTOWC
-
-/* Define to 1 when the gnulib module mbsinit should be tested. */
-#undef GNULIB_TEST_MBSINIT
-
-/* Define to 1 when the gnulib module mbsrtowcs should be tested. */
-#undef GNULIB_TEST_MBSRTOWCS
-
-/* Define to 1 when the gnulib module mbtowc should be tested. */
-#undef GNULIB_TEST_MBTOWC
-
-/* Define to 1 when the gnulib module memchr should be tested. */
-#undef GNULIB_TEST_MEMCHR
-
-/* Define to 1 when the gnulib module mkdtemp should be tested. */
-#undef GNULIB_TEST_MKDTEMP
-
-/* Define to 1 when the gnulib module mkfifo should be tested. */
-#undef GNULIB_TEST_MKFIFO
-
-/* Define to 1 when the gnulib module mknod should be tested. */
-#undef GNULIB_TEST_MKNOD
-
-/* Define to 1 when the gnulib module mkstemp should be tested. */
-#undef GNULIB_TEST_MKSTEMP
-
-/* Define to 1 when the gnulib module mktime should be tested. */
-#undef GNULIB_TEST_MKTIME
-
-/* Define to 1 when the gnulib module nl_langinfo should be tested. */
-#undef GNULIB_TEST_NL_LANGINFO
-
-/* Define to 1 when the gnulib module readlink should be tested. */
-#undef GNULIB_TEST_READLINK
-
-/* Define to 1 when the gnulib module recv should be tested. */
-#undef GNULIB_TEST_RECV
-
-/* Define to 1 when the gnulib module recvfrom should be tested. */
-#undef GNULIB_TEST_RECVFROM
-
-/* Define to 1 when the gnulib module select should be tested. */
-#undef GNULIB_TEST_SELECT
-
-/* Define to 1 when the gnulib module send should be tested. */
-#undef GNULIB_TEST_SEND
-
-/* Define to 1 when the gnulib module sendto should be tested. */
-#undef GNULIB_TEST_SENDTO
-
-/* Define to 1 when the gnulib module setenv should be tested. */
-#undef GNULIB_TEST_SETENV
-
-/* Define to 1 when the gnulib module setsockopt should be tested. */
-#undef GNULIB_TEST_SETSOCKOPT
-
-/* Define to 1 when the gnulib module shutdown should be tested. */
-#undef GNULIB_TEST_SHUTDOWN
-
-/* Define to 1 when the gnulib module socket should be tested. */
-#undef GNULIB_TEST_SOCKET
-
-/* Define to 1 when the gnulib module stat should be tested. */
-#undef GNULIB_TEST_STAT
-
-/* Define to 1 when the gnulib module strerror_r should be tested. */
-#undef GNULIB_TEST_STRERROR_R
-
-/* Define to 1 when the gnulib module strptime should be tested. */
-#undef GNULIB_TEST_STRPTIME
-
-/* Define to 1 when the gnulib module strverscmp should be tested. */
-#undef GNULIB_TEST_STRVERSCMP
-
-/* Define to 1 when the gnulib module time_r should be tested. */
-#undef GNULIB_TEST_TIME_R
-
-/* Define to 1 when the gnulib module unsetenv should be tested. */
-#undef GNULIB_TEST_UNSETENV
-
-/* Define to 1 when the gnulib module wcrtomb should be tested. */
-#undef GNULIB_TEST_WCRTOMB
-
-/* Define to 1 if you have the `alarm' function. */
-#undef HAVE_ALARM
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define to 1 if you have the <avcall.h> header file. */
-#undef HAVE_AVCALL_H
-
-/* Define to 1 if you have the <bp-sym.h> header file. */
-#undef HAVE_BP_SYM_H
-
-/* Define to 1 if you have the `btowc' function. */
-#undef HAVE_BTOWC
-
-/* __builtin_strlen() is compiled inline (not a call to strlen()) */
-#undef HAVE_BUILTIN_STRLEN
-
-/* Define to 1 if you have the <callback.h> header file. */
-#undef HAVE_CALLBACK_H
-
-/* Define to 1 if you have the `catgets' function. */
-#undef HAVE_CATGETS
-
-/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
- CoreFoundation framework. */
-#undef HAVE_CFLOCALECOPYCURRENT
-
-/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
- the CoreFoundation framework. */
-#undef HAVE_CFPREFERENCESCOPYAPPVALUE
-
-/* Define if the GNU dcgettext() function is already present or preinstalled.
- */
-#undef HAVE_DCGETTEXT
-
-/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
- don't. */
-#undef HAVE_DECL_GETC_UNLOCKED
-
-/* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you
- don't. */
-#undef HAVE_DECL_INET_NTOP
-
-/* Define to 1 if you have the declaration of `inet_pton', and to 0 if you
- don't. */
-#undef HAVE_DECL_INET_PTON
-
-/* Define to 1 if you have the declaration of `isblank', and to 0 if you
- don't. */
-#undef HAVE_DECL_ISBLANK
-
-/* Define to 1 if you have the declaration of `localtime_r', and to 0 if you
- don't. */
-#undef HAVE_DECL_LOCALTIME_R
-
-/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you
- don't. */
-#undef HAVE_DECL_MBRTOWC
-
-/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you
- don't. */
-#undef HAVE_DECL_MBSINIT
-
-/* Define to 1 if you have the declaration of `mbsrtowcs', and to 0 if you
- don't. */
-#undef HAVE_DECL_MBSRTOWCS
-
-/* Define to 1 if you have the declaration of `rl_already_prompted', and to 0
- if you don't. */
-#undef HAVE_DECL_RL_ALREADY_PROMPTED
-
-/* Define to 1 if you have the declaration of `rl_deprep_term_function', and
- to 0 if you don't. */
-#undef HAVE_DECL_RL_DEPREP_TERM_FUNCTION
-
-/* Define to 1 if you have the declaration of `rl_gnu_readline_p', and to 0 if
- you don't. */
-#undef HAVE_DECL_RL_GNU_READLINE_P
-
-/* Define to 1 if you have the declaration of `rl_readline_name', and to 0 if
- you don't. */
-#undef HAVE_DECL_RL_READLINE_NAME
-
-/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't.
- */
-#undef HAVE_DECL_SETENV
-
-/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRERROR_R
-
-/* Define to 1 if you have the declaration of `towlower', and to 0 if you
- don't. */
-#undef HAVE_DECL_TOWLOWER
-
-/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
- */
-#undef HAVE_DECL_TZNAME
-
-/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you
- don't. */
-#undef HAVE_DECL_UNSETENV
-
-/* Define to 1 if you have the declaration of `wcrtomb', and to 0 if you
- don't. */
-#undef HAVE_DECL_WCRTOMB
-
-/* Define to 1 if you have the `dladdr' function. */
-#undef HAVE_DLADDR
-
-/* Define to 1 if you have the `dlclose' function. */
-#undef HAVE_DLCLOSE
-
-/* Define to 1 if you have the `dlerror' function. */
-#undef HAVE_DLERROR
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the `dlopen' function. */
-#undef HAVE_DLOPEN
-
-/* Define to 1 if you have the `dlsym' function. */
-#undef HAVE_DLSYM
-
-/* Define to 1 if you have the `dlvsym' function. */
-#undef HAVE_DLVSYM
-
-/* Define if you have the declaration of environ. */
-#undef HAVE_ENVIRON_DECL
-
-/* Define to 1 if you have the `fchmod' function. */
-#undef HAVE_FCHMOD
-
-/* Define to 1 if you have the <features.h> header file. */
-#undef HAVE_FEATURES_H
-
-/* have the FIONREAD ioctl() */
-#undef HAVE_FIONREAD
-
-/* Define to 1 if you have the `flock' function. */
-#undef HAVE_FLOCK
-
-/* Define to 1 if you have the `fork' function. */
-#undef HAVE_FORK
-
-/* Define to 1 if you have the `fsync' function. */
-#undef HAVE_FSYNC
-
-/* Define to 1 if you have the `ftime' function. */
-#undef HAVE_FTIME
-
-/* Define to 1 if you have the `getcwd' function. */
-#undef HAVE_GETCWD
-
-/* Define to 1 if you have the `getdtablesize' function. */
-#undef HAVE_GETDTABLESIZE
-
-/* have gethostbyname() */
-#undef HAVE_GETHOSTBYNAME
-
-/* Define to 1 if you have the `gethostent' function. */
-#undef HAVE_GETHOSTENT
-
-/* Define to 1 if you have the `gethostname' function. */
-#undef HAVE_GETHOSTNAME
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define to 1 if you have the `getresgid' function. */
-#undef HAVE_GETRESGID
-
-/* Define to 1 if you have the `getresuid' function. */
-#undef HAVE_GETRESUID
-
-/* Define to 1 if you have the `getrlimit' function. */
-#undef HAVE_GETRLIMIT
-
-/* have <sys/time.h>, the getrusage() function, the struct rusage type, and
- <sys/resource.h> defines RUSAGE_SELF */
-#undef HAVE_GETRUSAGE
-
-/* Define to 1 if you have the `getsockopt' function. */
-#undef HAVE_GETSOCKOPT
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-#undef HAVE_GETTEXT
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define if you have the iconv() function and it works. */
-#undef HAVE_ICONV
-
-/* Define to 1 if you have the `inet_ntop' function. */
-#undef HAVE_INET_NTOP
-
-/* Define to 1 if you have the `inet_pton' function. */
-#undef HAVE_INET_PTON
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `ioctl' function. */
-#undef HAVE_IOCTL
-
-/* <sys/socket.h> defines AF_INET */
-#undef HAVE_IPV4
-
-/* <sys/socket.h> defines AF_INET6 */
-#undef HAVE_IPV6
-
-/* Define to 1 if you have the `isblank' function. */
-#undef HAVE_ISBLANK
-
-/* Define to 1 if you have the `iswcntrl' function. */
-#undef HAVE_ISWCNTRL
-
-/* Define to 1 if you have the `iswctype' function. */
-#undef HAVE_ISWCTYPE
-
-/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#undef HAVE_LANGINFO_CODESET
-
-/* Define to 1 if you have the <langinfo.h> header file. */
-#undef HAVE_LANGINFO_H
-
-/* Define to 1 if you have the `dgc' library (-ldgc). */
-#undef HAVE_LIBDGC
-
-/* Define to 1 if you have the <libintl.h> header file. */
-#undef HAVE_LIBINTL_H
-
-/* Define to 1 if you have the `kstat' library (-lkstat). */
-#undef HAVE_LIBKSTAT
-
-/* Define to 1 if you have the `perfstat' library (-lperfstat). */
-#undef HAVE_LIBPERFSTAT
-
-/* Define if you have the libsigsegv library. */
-#undef HAVE_LIBSIGSEGV
-
-/* Define to 1 if you have the <lightning.h> header file. */
-#undef HAVE_LIGHTNING_H
-
-/* Define to 1 if you have the `localtime_r' function. */
-#undef HAVE_LOCALTIME_R
-
-/* Define to 1 if the system has the type `long long int'. */
-#undef HAVE_LONG_LONG_INT
-
-/* Define to 1 if you have the `lstat' function. */
-#undef HAVE_LSTAT
-
-/* Define to 1 if you have the <mach/mach.h> header file. */
-#undef HAVE_MACH_MACH_H
-
-/* have vm_allocate() and task_self() functions */
-#undef HAVE_MACH_VM
-
-/* Define to 1 if your system has a GNU libc compatible 'malloc' function, and
- to 0 otherwise. */
-#undef HAVE_MALLOC_GNU
-
-/* Define if the 'malloc' function is POSIX compliant. */
-#undef HAVE_MALLOC_POSIX
-
-/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
- config.h and <sys/mman.h>. */
-#undef HAVE_MAP_ANONYMOUS
-
-/* Define to 1 if you have the `mbrtowc' function. */
-#undef HAVE_MBRTOWC
-
-/* Define to 1 if you have the `mbsinit' function. */
-#undef HAVE_MBSINIT
-
-/* Define to 1 if you have the `mbsrtowcs' function. */
-#undef HAVE_MBSRTOWCS
-
-/* Define to 1 if <wchar.h> declares mbstate_t. */
-#undef HAVE_MBSTATE_T
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mempcpy' function. */
-#undef HAVE_MEMPCPY
-
-/* Define to 1 if you have the `memset' function. */
-#undef HAVE_MEMSET
-
-/* Define to 1 if you have the `mkdtemp' function. */
-#undef HAVE_MKDTEMP
-
-/* Define to 1 if you have the `mkfifo' function. */
-#undef HAVE_MKFIFO
-
-/* Define to 1 if you have the `mknod' function. */
-#undef HAVE_MKNOD
-
-/* Define to 1 if you have the `mkstemp' function. */
-#undef HAVE_MKSTEMP
-
-/* have <sys/mmap.h> and the mmap() function */
-#undef HAVE_MMAP
-
-/* <sys/mman.h> defines MAP_ANON and mmaping with MAP_ANON works */
-#undef HAVE_MMAP_ANON
-
-/* <sys/mman.h> defines MAP_ANONYMOUS and mmaping with MAP_ANONYMOUS works */
-#undef HAVE_MMAP_ANONYMOUS
-
-/* mmaping of the special device /dev/zero works */
-#undef HAVE_MMAP_DEVZERO
-
-/* mmaping of the special device /dev/zero works, but only on addresses < 2^29
- */
-#undef HAVE_MMAP_DEVZERO_SUN4_29
-
-/* Define to 1 if you have the `mprotect' function. */
-#undef HAVE_MPROTECT
-
-/* Define to 1 if you have the `msync' function. */
-#undef HAVE_MSYNC
-
-/* Define to 1 if you have the `munmap' function. */
-#undef HAVE_MUNMAP
-
-/* 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
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-#undef HAVE_NETINET_TCP_H
-
-/* Define to 1 if you have the `nice' function. */
-#undef HAVE_NICE
-
-/* Define to 1 if you have the <nlist.h> header file. */
-#undef HAVE_NLIST_H
-
-/* Define to 1 if you have the `nl_langinfo' function. */
-#undef HAVE_NL_LANGINFO
-
-/* Define to 1 if you have the <OS.h> header file. */
-#undef HAVE_OS_H
-
-/* Define to 1 if you have the 'poll' function and it works. */
-#undef HAVE_POLL
-
-/* Define to 1 if you have the `pstat_getdynamic' function. */
-#undef HAVE_PSTAT_GETDYNAMIC
-
-/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
-#undef HAVE_PTHREAD_MUTEX_RECURSIVE
-
-/* Define if the POSIX multithreading library has read/write locks. */
-#undef HAVE_PTHREAD_RWLOCK
-
-/* Define to 1 if you have the `rand_r' function. */
-#undef HAVE_RAND_R
-
-/* Define to 1 if accept is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ACCEPT
-
-/* Define to 1 if accept4 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ACCEPT4
-
-/* Define to 1 if atoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ATOLL
-
-/* Define to 1 if bind is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_BIND
-
-/* Define to 1 if btowc is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_BTOWC
-
-/* Define to 1 if canonicalize_file_name is declared even after undefining
- macros. */
-#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
-
-/* Define to 1 if chown is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_CHOWN
-
-/* Define to 1 if connect is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_CONNECT
-
-/* Define to 1 if dup2 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP2
-
-/* Define to 1 if dup3 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP3
-
-/* Define to 1 if endusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ENDUSERSHELL
-
-/* Define to 1 if environ is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ENVIRON
-
-/* Define to 1 if euidaccess is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_EUIDACCESS
-
-/* Define to 1 if faccessat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FACCESSAT
-
-/* Define to 1 if fchdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHDIR
-
-/* Define to 1 if fchmodat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHMODAT
-
-/* Define to 1 if fchownat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHOWNAT
-
-/* Define to 1 if ffsl is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFSL
-
-/* Define to 1 if ffsll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFSLL
-
-/* Define to 1 if fstatat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSTATAT
-
-/* Define to 1 if fsync is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSYNC
-
-/* Define to 1 if ftruncate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FTRUNCATE
-
-/* Define to 1 if futimens is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FUTIMENS
-
-/* Define to 1 if getcwd is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETCWD
-
-/* Define to 1 if getdomainname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDOMAINNAME
-
-/* Define to 1 if getdtablesize is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDTABLESIZE
-
-/* Define to 1 if getgroups is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETGROUPS
-
-/* Define to 1 if gethostname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETHOSTNAME
-
-/* Define to 1 if getloadavg is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOADAVG
-
-/* Define to 1 if getlogin is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOGIN
-
-/* Define to 1 if getlogin_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOGIN_R
-
-/* Define to 1 if getpagesize is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETPAGESIZE
-
-/* Define to 1 if getpeername is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETPEERNAME
-
-/* Define to 1 if getsockname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETSOCKNAME
-
-/* Define to 1 if getsockopt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETSOCKOPT
-
-/* Define to 1 if getsubopt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETSUBOPT
-
-/* Define to 1 if gettimeofday is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETTIMEOFDAY
-
-/* Define to 1 if getusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETUSERSHELL
-
-/* Define to 1 if grantpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GRANTPT
-
-/* Define to 1 if group_member is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GROUP_MEMBER
-
-/* Define to 1 if inet_ntop is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_INET_NTOP
-
-/* Define to 1 if inet_pton is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_INET_PTON
-
-/* Define to 1 if initstat_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_INITSTAT_R
-
-/* Define to 1 if ioctl is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_IOCTL
-
-/* Define to 1 if iswctype is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ISWCTYPE
-
-/* Define to 1 if lchmod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LCHMOD
-
-/* Define to 1 if lchown is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LCHOWN
-
-/* Define to 1 if link is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LINK
-
-/* Define to 1 if linkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LINKAT
-
-/* Define to 1 if listen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LISTEN
-
-/* Define to 1 if lseek is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LSEEK
-
-/* Define to 1 if lstat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LSTAT
-
-/* Define to 1 if mbrlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBRLEN
-
-/* Define to 1 if mbrtowc is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBRTOWC
-
-/* Define to 1 if mbsinit is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSINIT
-
-/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSNRTOWCS
-
-/* Define to 1 if mbsrtowcs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSRTOWCS
-
-/* Define to 1 if memmem is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMMEM
-
-/* Define to 1 if mempcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMPCPY
-
-/* Define to 1 if memrchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMRCHR
-
-/* Define to 1 if mkdirat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKDIRAT
-
-/* Define to 1 if mkdtemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKDTEMP
-
-/* Define to 1 if mkfifo is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKFIFO
-
-/* Define to 1 if mkfifoat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKFIFOAT
-
-/* Define to 1 if mknod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKNOD
-
-/* Define to 1 if mknodat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKNODAT
-
-/* Define to 1 if mkostemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKOSTEMP
-
-/* Define to 1 if mkostemps is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKOSTEMPS
-
-/* Define to 1 if mkstemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKSTEMP
-
-/* Define to 1 if mkstemps is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKSTEMPS
-
-/* Define to 1 if nl_langinfo is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_NL_LANGINFO
-
-/* Define to 1 if pipe is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PIPE
-
-/* Define to 1 if pipe2 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PIPE2
-
-/* Define to 1 if pread is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PREAD
-
-/* Define to 1 if pselect is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PSELECT
-
-/* Define to 1 if pthread_sigmask is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PTHREAD_SIGMASK
-
-/* Define to 1 if ptsname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PTSNAME
-
-/* Define to 1 if pwrite is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PWRITE
-
-/* Define to 1 if random_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RANDOM_R
-
-/* Define to 1 if rawmemchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RAWMEMCHR
-
-/* Define to 1 if readlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READLINK
-
-/* Define to 1 if readlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READLINKAT
-
-/* Define to 1 if realpath is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_REALPATH
-
-/* Define to 1 if recv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RECV
-
-/* Define to 1 if recvfrom is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RECVFROM
-
-/* Define to 1 if rmdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RMDIR
-
-/* Define to 1 if rpmatch is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RPMATCH
-
-/* Define to 1 if select is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SELECT
-
-/* Define to 1 if send is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SEND
-
-/* Define to 1 if sendto is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SENDTO
-
-/* Define to 1 if setenv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETENV
-
-/* Define to 1 if setsockopt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETSOCKOPT
-
-/* Define to 1 if setstate_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETSTATE_R
-
-/* Define to 1 if setusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETUSERSHELL
-
-/* Define to 1 if shutdown is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SHUTDOWN
-
-/* Define to 1 if sigaction is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGACTION
-
-/* Define to 1 if sigaddset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGADDSET
-
-/* Define to 1 if sigdelset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGDELSET
-
-/* Define to 1 if sigemptyset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGEMPTYSET
-
-/* Define to 1 if sigfillset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGFILLSET
-
-/* Define to 1 if sigismember is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGISMEMBER
-
-/* Define to 1 if sigpending is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGPENDING
-
-/* Define to 1 if sigprocmask is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGPROCMASK
-
-/* Define to 1 if sleep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SLEEP
-
-/* Define to 1 if socket is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SOCKET
-
-/* Define to 1 if srandom_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SRANDOM_R
-
-/* Define to 1 if stat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STAT
-
-/* Define to 1 if stpcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STPCPY
-
-/* Define to 1 if stpncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STPNCPY
-
-/* Define to 1 if strcasestr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCASESTR
-
-/* Define to 1 if strchrnul is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCHRNUL
-
-/* Define to 1 if strdup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRDUP
-
-/* Define to 1 if strerror_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRERROR_R
-
-/* Define to 1 if strncat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNCAT
-
-/* Define to 1 if strndup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNDUP
-
-/* Define to 1 if strnlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNLEN
-
-/* Define to 1 if strpbrk is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRPBRK
-
-/* Define to 1 if strsep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRSEP
-
-/* Define to 1 if strsignal is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRSIGNAL
-
-/* Define to 1 if strtod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOD
-
-/* Define to 1 if strtok_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOK_R
-
-/* Define to 1 if strtoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOLL
-
-/* Define to 1 if strtoull is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOULL
-
-/* Define to 1 if strverscmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRVERSCMP
-
-/* Define to 1 if symlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SYMLINK
-
-/* Define to 1 if symlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SYMLINKAT
-
-/* Define to 1 if towctrans is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TOWCTRANS
-
-/* Define to 1 if ttyname_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TTYNAME_R
-
-/* Define to 1 if uname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNAME
-
-/* Define to 1 if unlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLINK
-
-/* Define to 1 if unlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLINKAT
-
-/* Define to 1 if unlockpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLOCKPT
-
-/* Define to 1 if unsetenv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNSETENV
-
-/* Define to 1 if usleep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_USLEEP
-
-/* Define to 1 if utimensat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UTIMENSAT
-
-/* Define to 1 if waitpid is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WAITPID
-
-/* Define to 1 if wcpcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCPCPY
-
-/* Define to 1 if wcpncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCPNCPY
-
-/* Define to 1 if wcrtomb is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCRTOMB
-
-/* Define to 1 if wcscasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCASECMP
-
-/* Define to 1 if wcscat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCAT
-
-/* Define to 1 if wcschr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCHR
-
-/* Define to 1 if wcscmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCMP
-
-/* Define to 1 if wcscoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCOLL
-
-/* Define to 1 if wcscpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCPY
-
-/* Define to 1 if wcscspn is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCSPN
-
-/* Define to 1 if wcsdup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSDUP
-
-/* Define to 1 if wcslen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSLEN
-
-/* Define to 1 if wcsncasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCASECMP
-
-/* Define to 1 if wcsncat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCAT
-
-/* Define to 1 if wcsncmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCMP
-
-/* Define to 1 if wcsncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCPY
-
-/* Define to 1 if wcsnlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNLEN
-
-/* Define to 1 if wcsnrtombs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNRTOMBS
-
-/* Define to 1 if wcspbrk is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSPBRK
-
-/* Define to 1 if wcsrchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSRCHR
-
-/* Define to 1 if wcsrtombs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSRTOMBS
-
-/* Define to 1 if wcsspn is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSSPN
-
-/* Define to 1 if wcsstr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSSTR
-
-/* Define to 1 if wcstok is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSTOK
-
-/* Define to 1 if wcswidth is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSWIDTH
-
-/* Define to 1 if wcsxfrm is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSXFRM
-
-/* Define to 1 if wctob is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTOB
-
-/* Define to 1 if wctrans is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTRANS
-
-/* Define to 1 if wctype is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTYPE
-
-/* Define to 1 if wcwidth is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCWIDTH
-
-/* Define to 1 if wmemchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCHR
-
-/* Define to 1 if wmemcmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCMP
-
-/* Define to 1 if wmemcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCPY
-
-/* Define to 1 if wmemmove is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMMOVE
-
-/* Define to 1 if wmemset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMSET
-
-/* Define to 1 if _Exit is declared even after undefining macros. */
-#undef HAVE_RAW_DECL__EXIT
-
-/* Define to 1 if you have the `readdir_r' function. */
-#undef HAVE_READDIR_R
-
-/* have a working modern GNU readline */
-#undef HAVE_READLINE
-
-/* Define to 1 if you have the <readline/readline.h> header file. */
-#undef HAVE_READLINE_READLINE_H
-
-/* Define to 1 if you have the `readlink' function. */
-#undef HAVE_READLINK
-
-/* Define to 1 if you have the `realpath' function. */
-#undef HAVE_REALPATH
-
-/* have the FIONREAD ioctl() and it works reliably on files */
-#undef HAVE_RELIABLE_FIONREAD
-
-/* have poll() and it works reliably on files */
-#undef HAVE_RELIABLE_POLL
-
-/* have select() and it works reliably on files */
-#undef HAVE_RELIABLE_SELECT
-
-/* Define to 1 if you have the `rl_filename_completion_function' function. */
-#undef HAVE_RL_FILENAME_COMPLETION_FUNCTION
-
-/* Define to 1 if the system has the type `sa_family_t'. */
-#undef HAVE_SA_FAMILY_T
-
-/* Define to 1 if you have the <search.h> header file. */
-#undef HAVE_SEARCH_H
-
-/* Define if you have the select() function. */
-#undef HAVE_SELECT
-
-/* Define to 1 if you have the `setenv' function. */
-#undef HAVE_SETENV
-
-/* Define to 1 if you have the `setitimer' function. */
-#undef HAVE_SETITIMER
-
-/* Define to 1 if you have the `setpgid' function. */
-#undef HAVE_SETPGID
-
-/* Define to 1 if you have the `setregid' function. */
-#undef HAVE_SETREGID
-
-/* Define to 1 if you have the `setresgid' function. */
-#undef HAVE_SETRESGID
-
-/* Define to 1 if you have the `setresuid' function. */
-#undef HAVE_SETRESUID
-
-/* Define to 1 if you have the `setreuid' function. */
-#undef HAVE_SETREUID
-
-/* Define to 1 if you have the `setrlimit' function. */
-#undef HAVE_SETRLIMIT
-
-/* Define to 1 if you have the `setsid' function. */
-#undef HAVE_SETSID
-
-/* Define to 1 if you have the `setsockopt' function. */
-#undef HAVE_SETSOCKOPT
-
-/* Define to 1 if you have the <sgtty.h> header file. */
-#undef HAVE_SGTTY_H
-
-/* have <sys/shm.h> and <sys/ipc.h> and shared memory works */
-#undef HAVE_SHM
-
-/* Define to 1 if you have the `shutdown' function. */
-#undef HAVE_SHUTDOWN
-
-/* Define to 1 if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define to 1 if you have the `siginterrupt' function. */
-#undef HAVE_SIGINTERRUPT
-
-/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
-#undef HAVE_SIGNED_SIG_ATOMIC_T
-
-/* Define to 1 if 'wchar_t' is a signed integer type. */
-#undef HAVE_SIGNED_WCHAR_T
-
-/* Define to 1 if 'wint_t' is a signed integer type. */
-#undef HAVE_SIGNED_WINT_T
-
-/* Define to 1 if the system has the type `sigset_t'. */
-#undef HAVE_SIGSET_T
-
-/* `struct sockaddr_un' from <sys/un.h> has a `sun_len' field */
-#undef HAVE_SOCKADDR_UN_LEN
-
-/* 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 `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the `strerror_r' function. */
-#undef HAVE_STRERROR_R
-
-/* 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 `strptime' function. */
-#undef HAVE_STRPTIME
-
-/* Define to 1 if `d_namlen' is a member of `struct dirent'. */
-#undef HAVE_STRUCT_DIRENT_D_NAMLEN
-
-/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */
-#undef HAVE_STRUCT_NLIST_N_UN_N_NAME
-
-/* Define to 1 if the system has the type `struct sockaddr_storage'. */
-#undef HAVE_STRUCT_SOCKADDR_STORAGE
-
-/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
-#undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
-
-/* Define to 1 if `tm_zone' is a member of `struct tm'. */
-#undef HAVE_STRUCT_TM_TM_ZONE
-
-/* Define to 1 if the system has the type `struct utsname'. */
-#undef HAVE_STRUCT_UTSNAME
-
-/* Define to 1 if you have the `strverscmp' function. */
-#undef HAVE_STRVERSCMP
-
-/* Define to 1 if you have the `sysconf' function. */
-#undef HAVE_SYSCONF
-
-/* Define to 1 if you have the <sys/bitypes.h> header file. */
-#undef HAVE_SYS_BITYPES_H
-
-/* Define to 1 if you have the <sys/inttypes.h> header file. */
-#undef HAVE_SYS_INTTYPES_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/ipc.h> header file. */
-#undef HAVE_SYS_IPC_H
-
-/* Define to 1 if you have the <sys/loadavg.h> header file. */
-#undef HAVE_SYS_LOADAVG_H
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_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
-
-/* have <sys/select.h>? */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/shm.h> header file. */
-#undef HAVE_SYS_SHM_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/sysmacros.h> header file. */
-#undef HAVE_SYS_SYSMACROS_H
-
-/* Define to 1 if you have the <sys/termio.h> header file. */
-#undef HAVE_SYS_TERMIO_H
-
-/* Define to 1 if you have the <sys/timeb.h> header file. */
-#undef HAVE_SYS_TIMEB_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/uio.h> header file. */
-#undef HAVE_SYS_UIO_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#undef HAVE_SYS_UN_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
-
-/* have tcgetattr(), either as a function or as a macro defined by <termios.h>
- */
-#undef HAVE_TCGETATTR
-
-/* <termios.h> defines TCSAFLUSH */
-#undef HAVE_TCSAFLUSH
-
-/* Define to 1 if you have the <termios.h> header file. */
-#undef HAVE_TERMIOS_H
-
-/* Define to 1 if you have the <termio.h> header file. */
-#undef HAVE_TERMIO_H
-
-/* Define if struct tm has the tm_gmtoff member. */
-#undef HAVE_TM_GMTOFF
-
-/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
- `HAVE_STRUCT_TM_TM_ZONE' instead. */
-#undef HAVE_TM_ZONE
-
-/* Define to 1 if you have the `towlower' function. */
-#undef HAVE_TOWLOWER
-
-/* Define to 1 if you have the `tsearch' function. */
-#undef HAVE_TSEARCH
-
-/* Define to 1 if you don't have `tm_zone' but do have the external array
- `tzname'. */
-#undef HAVE_TZNAME
-
-/* Define to 1 if you have the `tzset' function. */
-#undef HAVE_TZSET
-
-/* Define to 1 if you have the `ualarm' function. */
-#undef HAVE_UALARM
-
-/* 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 `unsetenv' function. */
-#undef HAVE_UNSETENV
-
-/* Define to 1 if the system has the type `unsigned long long int'. */
-#undef HAVE_UNSIGNED_LONG_LONG_INT
-
-/* Define to 1 if you have the `usleep' function. */
-#undef HAVE_USLEEP
-
-/* have the vadvise() system call */
-#undef HAVE_VADVISE
-
-/* 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 you have the <wchar.h> header file. */
-#undef HAVE_WCHAR_H
-
-/* Define if you have the 'wchar_t' type. */
-#undef HAVE_WCHAR_T
-
-/* Define to 1 if you have the `wcrtomb' function. */
-#undef HAVE_WCRTOMB
-
-/* Define to 1 if you have the `wcscoll' function. */
-#undef HAVE_WCSCOLL
-
-/* Define to 1 if you have the <wctype.h> header file. */
-#undef HAVE_WCTYPE_H
-
-/* Define to 1 if you have the <winsock2.h> header file. */
-#undef HAVE_WINSOCK2_H
-
-/* Define if you have the 'wint_t' type. */
-#undef HAVE_WINT_T
-
-/* Define to 1 if you have the `wmemchr' function. */
-#undef HAVE_WMEMCHR
-
-/* Define to 1 if you have the `wmemcpy' function. */
-#undef HAVE_WMEMCPY
-
-/* Define to 1 if you have the `wmempcpy' function. */
-#undef HAVE_WMEMPCPY
-
-/* Define to 1 if `fork' works. */
-#undef HAVE_WORKING_FORK
-
-/* have a working mprotect() function */
-#undef HAVE_WORKING_MPROTECT
-
-/* Define to 1 if O_NOATIME works. */
-#undef HAVE_WORKING_O_NOATIME
-
-/* Define to 1 if O_NOFOLLOW works. */
-#undef HAVE_WORKING_O_NOFOLLOW
-
-/* Define to 1 if `vfork' works. */
-#undef HAVE_WORKING_VFORK
-
-/* Define to 1 if you have the <ws2tcpip.h> header file. */
-#undef HAVE_WS2TCPIP_H
-
-/* Define to 1 if the system has the type `_Bool'. */
-#undef HAVE__BOOL
-
-/* Define to 1 if you have the `_ftime' function. */
-#undef HAVE__FTIME
-
-/* have _setjmp() and _longjmp() */
-#undef HAVE__JMP
-
-/* Define to 1 if you have the `__xpg_strerror_r' function. */
-#undef HAVE___XPG_STRERROR_R
-
-/* Define HOST_NAME_MAX when <limits.h> does not define it. */
-#undef HOST_NAME_MAX
-
-/* Define as const if the declaration of iconv() needs const. */
-#undef ICONV_CONST
-
-/* type of `argument' in ioctl() declaration, if not superseded by dots */
-#undef IOCTL_ARGUMENT_T
-
-/* declaration of ioctl() needs dots */
-#undef IOCTL_DOTS
-
-/* type of `request' in ioctl() declaration */
-#undef IOCTL_REQUEST_T
-
-/* need <linux/in6.h> for the in6_addr and sockaddr_in6 types */
-#undef IPV6_NEED_LINUX_IN6_H
-
-/* Define to 1 if `link(2)' dereferences symbolic links, 0 if it creates hard
- links to symlinks, -1 if it depends on the variable __xpg4, and -2 if
- unknown. */
-#undef LINK_FOLLOWS_SYMLINKS
-
-/* longjmp() may return */
-#undef LONGJMP_RETURNS
-
-/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
- slash. */
-#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
-#undef LT_OBJDIR
-
-/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
-#undef MALLOC_0_IS_NONNULL
-
-/* address range of malloc() memory */
-#undef MALLOC_ADDRESS_RANGE
-
-/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
-#undef MAP_ANONYMOUS
-
-/* Define if the mbrtowc function has the NULL pwc argument bug. */
-#undef MBRTOWC_NULL_ARG1_BUG
-
-/* Define if the mbrtowc function has the NULL string argument bug. */
-#undef MBRTOWC_NULL_ARG2_BUG
-
-/* Define if the mbrtowc function does not return 0 for a NUL character. */
-#undef MBRTOWC_NUL_RETVAL_BUG
-
-/* Define if the mbrtowc function returns a wrong return value. */
-#undef MBRTOWC_RETVAL_BUG
-
-/* Define to 1 if mkfifo does not reject trailing slash */
-#undef MKFIFO_TRAILING_SLASH_BUG
-
-/* Define to 1 if mknod cannot create a fifo without super-user privileges */
-#undef MKNOD_FIFO_BUG
-
-/* need <sys/filio.h> for using ioctl() FIONREAD */
-#undef NEED_SYS_FILIO_H
-
-/* need <sys/ioctl.h> for using ioctl() FIONREAD */
-#undef NEED_SYS_IOCTL_H
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* Define to 1 if the nlist n_name member is a pointer */
-#undef N_NAME_POINTER
-
-/* 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
-
-/* type of `pid' in waitpid() declaration */
-#undef PID_T
-
-/* Define if the pthread_in_use() detection is hard. */
-#undef PTHREAD_IN_USE_DETECTION_HARD
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'ptrdiff_t'. */
-#undef PTRDIFF_T_SUFFIX
-
-/* declaration of filename_completion_function() needs const in the first
- argument */
-#undef READLINE_CONST
-
-/* The readline built-in filename completion function, either
- rl_filename_completion_function() or filename_completion_function() */
-#undef READLINE_FILE_COMPLETE
-
-/* Define to 1 if readlink fails to recognize a trailing slash. */
-#undef READLINK_TRAILING_SLASH_BUG
-
-/* Define to 1 if stat needs help when passed a directory name with a trailing
- slash */
-#undef REPLACE_FUNC_STAT_DIR
-
-/* Define to 1 if stat needs help when passed a file name with a trailing
- slash */
-#undef REPLACE_FUNC_STAT_FILE
-
-/* Define if nl_langinfo exists but is overridden by gnulib. */
-#undef REPLACE_NL_LANGINFO
-
-/* Define to 1 if strerror(0) does not return a message implying success. */
-#undef REPLACE_STRERROR_0
-
-/* type of `resource' in setrlimit() declaration */
-#undef RLIMIT_RESOURCE_T
-
-/* type of `who' in getrusage() declaration */
-#undef RUSAGE_WHO_T
-
-/* declaration of select() needs const in the fifth argument */
-#undef SELECT_CONST
-
-/* type of `* readfds', `* writefds', `* exceptfds' in select() declaration */
-#undef SELECT_SET_T
-
-/* type of `width' in select() declaration */
-#undef SELECT_WIDTH_T
-
-/* declaration of setrlimit() needs const */
-#undef SETRLIMIT_CONST
-
-/* type of `optval' in setsockopt() declaration */
-#undef SETSOCKOPT_ARG_T
-
-/* declaration of setsockopt() needs const */
-#undef SETSOCKOPT_CONST
-
-/* type of `optlen' in setsockopt() declaration */
-#undef SETSOCKOPT_OPTLEN_T
-
-/* address range of shared library code */
-#undef SHLIB_ADDRESS_RANGE
-
-/* attaching removed (but alive!) shared memory segments works */
-#undef SHM_RMID_VALID
-
-/* signal handlers installed via sigaction() need to be reinstalled when they
- are activated */
-#undef SIGACTION_NEED_REINSTALL
-
-/* signals need to be unblocked when signal handlers installed via sigaction()
- are left */
-#undef SIGACTION_NEED_UNBLOCK
-
-/* signal handlers need to be reinstalled when they are activated */
-#undef SIGNAL_NEED_REINSTALL
-
-/* SIGNALBLOCK_BSD is defined above and signals need to be unblocked when
- signal handlers are left */
-#undef SIGNAL_NEED_UNBLOCK
-
-/* SIGNALBLOCK_BSD is defined above and other signals need to be unblocked
- when signal handlers are left */
-#undef SIGNAL_NEED_UNBLOCK_OTHERS
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'sig_atomic_t'. */
-#undef SIG_ATOMIC_T_SUFFIX
-
-/* The size of `off_t', as computed by sizeof. */
-#undef SIZEOF_OFF_T
-
-/* The size of `rlim_t', as computed by sizeof. */
-#undef SIZEOF_RLIM_T
-
-/* The size of `struct timeval', as computed by sizeof. */
-#undef SIZEOF_STRUCT_TIMEVAL
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'size_t'. */
-#undef SIZE_T_SUFFIX
-
-/* address range of the C stack */
-#undef STACK_ADDRESS_RANGE
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-#undef STAT_MACROS_BROKEN
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 on System V Release 4. */
-#undef SVR4
-
-/* Define to 1 if your <sys/time.h> declares `struct tm'. */
-#undef TM_IN_SYS_TIME
-
-/* Define to 1 for Encore UMAX. */
-#undef UMAX
-
-/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
- <sys/cpustats.h>. */
-#undef UMAX4_3
-
-/* Define if the POSIX multithreading library can be used. */
-#undef USE_POSIX_THREADS
-
-/* Define if references to the POSIX multithreading library should be made
- weak. */
-#undef USE_POSIX_THREADS_WEAK
-
-/* Define if the GNU Pth multithreading library can be used. */
-#undef USE_PTH_THREADS
-
-/* Define if references to the GNU Pth multithreading library should be made
- weak. */
-#undef USE_PTH_THREADS_WEAK
-
-/* Define if the old Solaris multithreading library can be used. */
-#undef USE_SOLARIS_THREADS
-
-/* Define if references to the old Solaris multithreading library should be
- made weak. */
-#undef USE_SOLARIS_THREADS_WEAK
-
-/* Define if the Win32 multithreading API can be used. */
-#undef USE_WIN32_THREADS
-
-/* expression in ch which is true if ch is a valid character in filenames */
-#undef VALID_FILENAME_CHAR
-
-/* closedir() return value is void or unusable */
-#undef VOID_CLOSEDIR
-
-/* Define to 1 if unsetenv returns void instead of int. */
-#undef VOID_UNSETENV
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'wchar_t'. */
-#undef WCHAR_T_SUFFIX
-
-/* Define if WSAStartup is needed. */
-#undef WINDOWS_SOCKETS
-
-/* have <termios.h> but need <sys/ioctl.h> for `struct winsize' */
-#undef WINSIZE_NEED_SYS_IOCTL_H
-
-/* have <termios.h> but need <sys/ptem.h> for `struct winsize' */
-#undef WINSIZE_NEED_SYS_PTEM_H
-
-/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
- 'wint_t'. */
-#undef WINT_T_SUFFIX
-
-/* 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 to 1 if the X Window System is missing or not being used. */
-#undef X_DISPLAY_MISSING
-
-/* Enable large inode numbers on Mac OS X. */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* The _Noreturn keyword of draft C1X. */
-#ifndef _Noreturn
-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
- || 0x5110 <= __SUNPRO_C)
-# define _Noreturn __attribute__ ((__noreturn__))
-# elif 1200 <= _MSC_VER
-# define _Noreturn __declspec (noreturn)
-# else
-# define _Noreturn
-# endif
-#endif
-
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 in order to get the POSIX compatible declarations of socket
- functions. */
-#undef _POSIX_PII_SOCKET
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define if you want regoff_t to be at least as wide POSIX requires. */
-#undef _REGEX_LARGE_OFFSETS
-
-/* Define to 500 only on HP-UX. */
-#undef _XOPEN_SOURCE
-
-/* Define to 1 if type `char' is unsigned and you are not using gcc. */
-#ifndef __CHAR_UNSIGNED__
-# undef __CHAR_UNSIGNED__
-#endif
-
-/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable general extensions on MacOS X. */
-#ifndef _DARWIN_C_SOURCE
-# undef _DARWIN_C_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Define to a replacement function name for fnmatch(). */
-#undef fnmatch
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef gid_t
-
-/* Define to rpl_gmtime if the replacement function should be used. */
-#undef gmtime
-
-/* 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
-
-/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
- the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
- earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
- __APPLE__ && __MACH__ test for MacOS X.
- __APPLE_CC__ tests for the Apple compiler and its version.
- __STDC_VERSION__ tests for the C99 mode. */
-#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
-# define __GNUC_STDC_INLINE__ 1
-#endif
-
-/* Define to rpl_localtime if the replacement function should be used. */
-#undef localtime
-
-/* Define to a type if <wchar.h> does not define. */
-#undef mbstate_t
-
-/* Define to the name of the strftime replacement function. */
-#undef my_strftime
-
-/* Define to the type of st_nlink in struct stat, or a supertype. */
-#undef nlink_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef pid_t
-
-/* Define to rpl_re_comp if the replacement should be used. */
-#undef re_comp
-
-/* Define to rpl_re_compile_fastmap if the replacement should be used. */
-#undef re_compile_fastmap
-
-/* Define to rpl_re_compile_pattern if the replacement should be used. */
-#undef re_compile_pattern
-
-/* Define to rpl_re_exec if the replacement should be used. */
-#undef re_exec
-
-/* Define to rpl_re_match if the replacement should be used. */
-#undef re_match
-
-/* Define to rpl_re_match_2 if the replacement should be used. */
-#undef re_match_2
-
-/* Define to rpl_re_search if the replacement should be used. */
-#undef re_search
-
-/* Define to rpl_re_search_2 if the replacement should be used. */
-#undef re_search_2
-
-/* Define to rpl_re_set_registers if the replacement should be used. */
-#undef re_set_registers
-
-/* Define to rpl_re_set_syntax if the replacement should be used. */
-#undef re_set_syntax
-
-/* Define to rpl_re_syntax_options if the replacement should be used. */
-#undef re_syntax_options
-
-/* Define to rpl_regcomp if the replacement should be used. */
-#undef regcomp
-
-/* Define to rpl_regerror if the replacement should be used. */
-#undef regerror
-
-/* Define to rpl_regexec if the replacement should be used. */
-#undef regexec
-
-/* Define to rpl_regfree if the replacement should be used. */
-#undef regfree
-
-/* Define to the equivalent of the C99 'restrict' keyword, or to
- nothing if this is not supported. Do not define if restrict is
- supported directly. */
-#undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict or
- __restrict__, even though the corresponding Sun C compiler ends up with
- "#define restrict _Restrict" or "#define restrict __restrict__" in the
- previous line. Perhaps some future version of Sun C++ will work with
- restrict; if so, hopefully it defines __RESTRICT like Sun C does. */
-#if defined __SUNPRO_CC && !defined __RESTRICT
-# define _Restrict
-# define __restrict__
-#endif
-
-/* type to use in place of socklen_t if not defined */
-#undef socklen_t
-
-/* Define as a signed type of the same size as size_t. */
-#undef ssize_t
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef uid_t
-
-/* Define as a marker that can be attached to declarations that might not
- be used. This helps to reduce warnings, such as from
- GCC -Wunused-parameter. */
-#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _GL_UNUSED __attribute__ ((__unused__))
-#else
-# define _GL_UNUSED
-#endif
-/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
- is a misnomer outside of parameter lists. */
-#define _UNUSED_PARAMETER_ _GL_UNUSED
-
-/* The __pure__ attribute was added in gcc 2.96. */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
-/* The __const__ attribute was added in gcc 2.95. */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
-#else
-# define _GL_ATTRIBUTE_CONST /* empty */
-#endif
-
-
-/* Define as `fork' if `vfork' does not work. */
-#undef vfork
diff -r f51a5bd170dc -r 62249532accb src/floatparam.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/floatparam.h Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,23 @@
+#include "config.h"
+#include <float.h>
+#include <fenv.h>
+
+#define rounds_to_nearest FE_TONEAREST
+#define rounds_to_zero FE_TOWARDZERO
+#define rounds_to_infinity FE_UPWARD
+#define rounds_to_minus_infinity FE_DOWNWARD
+
+#define float_mant_bits FLT_MANT_DIG
+#define float_rounds FLT_ROUNDS
+#define float_rounds_correctly 1
+#warning "float_rounds_correctly hardcoded"
+
+#define double_mant_bits DBL_MANT_DIG
+#define double_rounds FLT_ROUNDS
+#define double_rounds_correctly 1
+#warning "double_rounds_correctly hardcoded"
+
+#define long_double_mant_bits LDBL_MANT_DIG
+#define long_double_rounds FLT_ROUNDS
+#define long_double_rounds_correctly 1
+#warning "long_double_rounds_correctly hardcoded"
diff -r f51a5bd170dc -r 62249532accb src/foreign.d
--- a/src/foreign.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/foreign.d Thu Aug 25 20:35:46 2016 +0200
@@ -4590,11 +4590,11 @@
/* stubs signalling errors */
local maygc object foreign_library_function
(gcv_object_t* name, gcv_object_t* fvd, gcv_object_t* properties,
- gcv_object_t* library, gcv_object_t* offset)
+ gcv_object_t* library, gcv_object_t* version, gcv_object_t* offset)
{ error_no_dlsym(*name,*library); }
local maygc object foreign_library_variable
(gcv_object_t *name, gcv_object_t* fvd,
- gcv_object_t *library, gcv_object_t *offset)
+ gcv_object_t *library, gcv_object_t *version, gcv_object_t *offset)
{ error_no_dlsym(*name,*library); }
#endif
diff -r f51a5bd170dc -r 62249532accb src/intparam.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/intparam.h Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,61 @@
+#include "config.h"
+#include <limits.h>
+
+
+#define char_bitsize CHAR_BIT
+#define short_bitsize (SIZEOF_SHORT * CHAR_BIT)
+#define int_bitsize (SIZEOF_INT * CHAR_BIT)
+#define long_bitsize (SIZEOF_LONG * CHAR_BIT)
+#define long_long_bitsize (SIZEOF_LONG_LONG * CHAR_BIT)
+
+#define pointer_bitsize POINTER_BITSIZE
+
+
+#define sizeof_char SIZEOF_CHAR
+#define alignment_char ALIGNOF_CHAR
+
+#define sizeof_short SIZEOF_SHORT
+#define alignment_short ALIGNOF_SHORT
+
+#define sizeof_int SIZEOF_INT
+#define alignment_int ALIGNOF_INT
+
+#define sizeof_long SIZEOF_LONG
+#define alignment_long ALIGNOF_LONG
+
+#define sizeof_long_long SIZEOF_LONG_LONG
+#define alignment_long_long ALIGNOF_LONG_LONG
+
+
+#define sizeof_float SIZEOF_FLOAT
+#define alignment_float ALIGNOF_FLOAT
+
+#define sizeof_double SIZEOF_DOUBLE
+#define alignment_double ALIGNOF_DOUBLE
+
+#define sizeof_long_double SIZEOF_LONG_DOUBLE
+#define alignment_long_double ALIGNOF_LONG_DOUBLE
+
+
+/* Stack grows down, ca. 32 bytes per function call. */
+#define stack_grows_down
+#warning Stack direction currently hardcoded!
+
+
+
+/* Endianness of the target platform is determined by AC_C_BIGENDIAN during
+ configure. Only BIG ENDIAN and LITTLE ENDIAN are currently supported.
+ TODO: Tidy up per type endianness
+*/
+#if defined(WORDS_BIGENDIAN)
+# define short_big_endian
+# define int_big_endian
+# define long_big_endian
+# define long_long_big_endian
+#else
+# define short_little_endian
+# define int_little_endian
+# define long_little_endian
+# define long_long_little_endian
+#endif
+
diff -r f51a5bd170dc -r 62249532accb src/lispbibl.d
--- a/src/lispbibl.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/lispbibl.d Thu Aug 25 20:35:46 2016 +0200
@@ -15974,8 +15974,8 @@
/* check whether the object is a handle stream or a socket-server
and return its socket-like handle(s) */
-extern void stream_handles (object obj, bool check_open, bool* char_p, SOCKET* in_sock, SOCKET* out_sock);
-%% exportF(void,stream_handles,(object obj, bool check_open, bool* char_p, SOCKET* in_sock, SOCKET* out_sock));
+extern void stream_handles (object obj, bool check_open, bool* char_p, int* in_sock, int* out_sock);
+%% exportF(void,stream_handles,(object obj, bool check_open, bool* char_p, int* in_sock, int* out_sock));
#ifdef PIPES
/* mk_pipe_from_handle(pipe,process_id,dir)
diff -r f51a5bd170dc -r 62249532accb src/misc.d
--- a/src/misc.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/misc.d Thu Aug 25 20:35:46 2016 +0200
@@ -5,6 +5,7 @@
*/
#include "lispbibl.c"
+#include <unistd.h> /* for environ */
/* Reflective knowledge: */
diff -r f51a5bd170dc -r 62249532accb src/pathname.d
--- a/src/pathname.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/pathname.d Thu Aug 25 20:35:46 2016 +0200
@@ -157,7 +157,7 @@
readlink(resolved_path,mypath,sizeof(mypath)-1);
if (linklen >=0) { /* was a symbolic link */
if (++symlinkcount > MAXSYMLINKS) {
- errno = ELOOP_VALUE; return NULL;
+ errno = ELOOP; return NULL;
}
{ /* append the still to be resolved part of path
to the link-content: */
@@ -5352,7 +5352,7 @@
if (*allowed_links == 0) { /* no more links allowed? */
/* yes -> simulate UNIX-Error ELOOP */
begin_system_call();
- errno = ELOOP_VALUE;
+ errno = ELOOP;
end_system_call();
OS_file_error(*(fs->fs_pathname));
}
diff -r f51a5bd170dc -r 62249532accb src/socket.d
--- a/src/socket.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/socket.d Thu Aug 25 20:35:46 2016 +0200
@@ -453,7 +453,7 @@
#ifdef TCP_NODELAY
{ /* turn off TCP coalescence (the bandwidth saving Nagle algorithm) */
var int tmp = 1;
- setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (SETSOCKOPT_ARG_T)&tmp,
+ setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &tmp,
sizeof(int));
}
#endif
@@ -736,7 +736,7 @@
will still yield an error.) */
{
var unsigned int flag = 1;
- if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (SETSOCKOPT_ARG_T)&flag,
+ if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &flag,
sizeof(flag)) < 0) {
saving_errno(CLOSE(fd)); return INVALID_SOCKET;
}
diff -r f51a5bd170dc -r 62249532accb src/spvw.d
--- a/src/spvw.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/spvw.d Thu Aug 25 20:35:46 2016 +0200
@@ -1467,7 +1467,9 @@
case enum_lisp_index: /* in #<PACKAGE COMMON-LISP>? */
case enum_charset_index: /* in #<PACKAGE CHARSET>? */
case enum_cs_lisp_index: /* in #<PACKAGE CS-COMMON-LISP>? */
+ #ifdef SOCKET_STREAMS
case enum_socket_index:
+ #endif
case enum_custom_index:
export(&STACK_0,package_); /* also export */
}
diff -r f51a5bd170dc -r 62249532accb src/stream.d
--- a/src/stream.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/stream.d Thu Aug 25 20:35:46 2016 +0200
@@ -9599,7 +9599,7 @@
#define TERMINAL_OUTBUFFERED true
local bool want_filename_completion;
-local char** lisp_completion_matches (READLINE_CONST char* text,
+local char** lisp_completion_matches (const char* text,
int start, int end)
{ /* text[0..end-start-1] = the_line[start..end-1] */
if (((start>=2)
@@ -9619,9 +9619,9 @@
/* If the function above returns NULL (no Matches), the following
function is called until it returns NULL on its part. */
-local char* lisp_completion_more (READLINE_CONST char* text, int state) {
+local char* lisp_completion_more (const char* text, int state) {
if (want_filename_completion)
- return READLINE_FILE_COMPLETE(text,state);
+ return rl_filename_completion_function(text,state);
else
return NULL;
}
diff -r f51a5bd170dc -r 62249532accb src/unix.d
--- a/src/unix.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/unix.d Thu Aug 25 20:35:46 2016 +0200
@@ -547,8 +547,8 @@
because the parent process keeps running in this time already
and can modify data in STACK, malloc() range, Lisp data range etc. */
#include <sys/wait.h>
-extern_C pid_t waitpid (PID_T pid, int* statusp, int options); /* WAIT(2V) */
-extern int wait2 (PID_T pid); /* see unixaux.d */
+extern_C pid_t waitpid (pid_t pid, int* statusp, int options); /* WAIT(2V) */
+extern int wait2 (pid_t pid); /* see unixaux.d */
/* used by STREAM, PATHNAME, SPVW, UNIXAUX */
/* get random numbers: */
diff -r f51a5bd170dc -r 62249532accb src/unixaux.d
--- a/src/unixaux.d Wed Jun 22 10:30:11 2016 +0200
+++ b/src/unixaux.d Thu Aug 25 20:35:46 2016 +0200
@@ -473,203 +473,10 @@
return done;
}
-#ifdef UNIX_BEOS
-
-/* BeOS 5 sockets cannot be used like file descriptors. */
-
-/* Determines whether recv() on a socket will hang.
- Returns 1 for yes, 0 for no, -1 for unknown. */
-local inline int sock_read_will_hang_p (int fd)
-{
- /* Use select() with readfds = singleton set {fd}
- and timeout = zero interval. */
- var fd_set handle_set; /* set of handles := {fd} */
- var struct timeval zero_time; /* time interval := 0 */
- FD_ZERO(&handle_set); FD_SET(fd,&handle_set);
- restart_select:
- zero_time.tv_sec = 0; zero_time.tv_usec = 0;
- var int result = select(FD_SETSIZE,&handle_set,NULL,NULL,&zero_time);
- if (result<0) {
- if (errno==EINTR)
- goto restart_select;
- OS_error();
- } else {
- /* result = number of handles in handle_set for which read() would
- return without blocking. */
- if (result==0)
- return 1;
- }
- /* Now we know that recv() will return immediately. */
- return 0;
-}
-
-/* A wrapper around recv() that supports different perseverances.
- Return value like read().
- When the return value is 0, it sets errno to indicate whether EOF has been
- seen (ENOENT) or whether it is not yet known (EAGAIN). */
-global ssize_t sock_read (int fd, void* bufarea, size_t nbyte, perseverance_t persev) {
- var char* buf = (char*) bufarea;
- if (nbyte == 0) {
- errno = EAGAIN;
- return 0;
- }
- /* in MT builds the heap protection is managed by pin_varobject() */
- #if defined(GENERATIONAL_GC) && defined(SPVW_MIXED) && !defined(MULTITHREAD)
- /* Must adjust the memory permissions before calling recv(). */
- handle_fault_range(PROT_READ_WRITE,(aint)buf,(aint)buf+nbyte);
- #endif
- if (persev == persev_immediate || persev == persev_bonus) {
- int will_hang = sock_read_will_hang_p(fd);
- if (will_hang > 0) {
- errno = EAGAIN;
- return 0;
- }
- if (will_hang < 0) {
- #if 1
- NOTREACHED;
- #else
- if (persev == persev_bonus) {
- errno = EAGAIN;
- return 0;
- }
- #endif
- }
- }
- var ssize_t done = 0;
- do {
- var ssize_t retval = recv(fd,buf,nbyte,0);
- if (retval == 0) {
- errno = ENOENT;
- break;
- } else if (retval < 0) {
- #ifdef EINTR
- if (errno != EINTR)
- #endif
- return retval; /* -1 */
- } else {
- buf += retval; done += (size_t)retval; nbyte -= (size_t)retval;
- if (persev != persev_full)
- break;
- }
- } while (nbyte != 0);
- return done;
-}
-
-/* Determines whether send() on a socket will hang.
- Returns 1 for yes, 0 for no, -1 for unknown. */
-local inline int sock_write_will_hang_p (int fd)
-{
- #if 0 /* On BeOS, select() supports only readfds, not writefds. */
- /* Use select() with writefds = singleton set {fd}
- and timeout = zero interval. */
- var fd_set handle_set; /* set of handles := {fd} */
- var struct timeval zero_time; /* time interval := 0 */
- FD_ZERO(&handle_set); FD_SET(fd,&handle_set);
- restart_select:
- zero_time.tv_sec = 0; zero_time.tv_usec = 0;
- var int result = select(FD_SETSIZE,NULL,&handle_set,NULL,&zero_time);
- if (result<0) {
- if (errno==EINTR)
- goto restart_select;
- OS_error();
- } else {
- /* result = number of handles in handle_set for which write() would
- return without blocking. */
- if (result==0)
- return 0;
- }
- /* Now we know that send() will return immediately. */
- #else
- return -1;
- #endif
-}
-
-/* A wrapper around send() that supports different perseverances.
- Return value like write().
- When the return value is 0, it sets errno to indicate whether EOWF has been
- seen (ENOENT) or whether it is not yet known (EAGAIN). */
-global ssize_t sock_write (int fd, const void* bufarea, size_t nbyte, perseverance_t persev)
-{
- var const char* buf = (const char*) bufarea;
- if (nbyte == 0) {
- errno = EAGAIN;
- return 0;
- }
- /* in MT builds the heap protection is managed by pin_varobject() */
- #if defined(GENERATIONAL_GC) && defined(SPVW_MIXED) && !defined(MULTITHREAD)
- /* Must adjust the memory permissions before calling send(). */
- handle_fault_range(PROT_READ,(aint)buf,(aint)buf+nbyte);
- #endif
- if (persev == persev_immediate || persev == persev_bonus) {
- int will_hang = sock_write_will_hang_p(fd);
- if (will_hang > 0) {
- errno = EAGAIN;
- return 0;
- }
- if (will_hang < 0) {
- if (persev == persev_bonus) {
- /* Non-blocking I/O is not worth it unless absolutely necessary. */
- errno = EAGAIN;
- return 0;
- }
- /* As a last resort, use non-blocking I/O. */
- var ssize_t done = 0;
- NO_BLOCK_DECL(fd);
- START_NO_BLOCK(fd);
- do {
- var ssize_t retval = send(fd,buf,nbyte,0);
- if (retval == 0) {
- errno = EAGAIN;
- break;
- } else if (retval < 0) {
- if (errno == EAGAIN || errno == EWOULDBLOCK) {
- errno = EAGAIN;
- break;
- }
- #ifdef EINTR
- if (errno != EINTR)
- #endif
- {
- done = retval; /* -1 */
- break;
- }
- } else {
- buf += retval; done += (size_t)retval; nbyte -= (size_t)retval;
- break;
- }
- } while (nbyte != 0);
- var int saved_errno = errno;
- END_NO_BLOCK(fd);
- errno = saved_errno;
- return done;
- }
- }
- var ssize_t done = 0;
- do {
- var ssize_t retval = send(fd,buf,nbyte,0);
- if (retval == 0) {
- errno = ENOENT;
- break;
- } else if (retval < 0) {
- #ifdef EINTR
- if (errno != EINTR)
- #endif
- return retval; /* -1 */
- } else {
- buf += retval; done += (size_t)retval; nbyte -= (size_t)retval;
- if (persev != persev_full)
- break;
- }
- } while (nbyte != 0);
- return done;
-}
-
-#endif
-
-#ifdef PID_T
/* wait for termination of a child process: */
-global int wait2 (PID_T child) {
+#warning Use of magic values that are correctly defined in sys/wait.h
+global int wait2 (pid_t child) {
var int status = 0;
/* WAIT(2V) and #include <sys/wait.h> :
WIFSTOPPED(status) == ((status & 0xFF) == 0177)
@@ -694,7 +501,6 @@
return status;
}
-#endif
/* ======================================================================== */
diff -r f51a5bd170dc -r 62249532accb tests/Makefile.am
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/Makefile.am Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,59 @@
+# List of test cases that should be run both with :eval and :compile
+# evaluation methods.
+both_tests = bind.tst
+
+# List of test cases that should only be run compiled.
+compile_tests =
+
+# List of test cases that should only be run non-compiled.
+eval_tests = alltest.tst array.tst backquot.tst bin-io.tst \
+ characters.tst clos.tst defhash.tst eval20.tst ext-clisp.tst \
+ floeps.tst format.tst genstream.tst hashlong.tst hashtable.tst \
+ iofkts.tst lambda.tst lists151.tst lists152.tst lists153.tst \
+ lists154.tst lists155.tst lists156.tst list-set.tst loop.tst \
+ macro8.tst map.tst mop.tst number.tst number2.tst pack11.tst \
+ path.tst setf.tst steele7.tst streams.tst streamslong.tst \
+ strings.tst symbol10.tst time.tst type.tst weak.tst weakhash.tst \
+ weakhash2.tst
+
+
+
+# Appending the tests that should run both with :compile and :eval to
+# the appropriate variables to ease further processing of test cases.
+compile_tests += $(both_tests)
+eval_tests += $(both_tests)
+
+# Generate list of test cases. The substitution forces make to
+# generate the test cases to be run with :compile.
+tst_tests = $(eval_tests) $(compile_tests:.tst=-compile.tst)
+
+# Suffix rule to generate a "-compile.tst" file from a ".tst"
+# file. This is used to generate a second test from a ".tst" file: One
+# which will be run with :eval-method :compile (see tests/test.lisp).
+SUFFIXES = .tst -compile.tst
+.tst-compile.tst:
+ $(LN_S) $< $@
+
+# By setting this variable we pass another argument to the test
+# runner, which detects this and sets :eval-method to :compile.
+$(compile_tests:.tst=-compile.log): compile_flag=compile
+
+# Every test may produce a ".erg" file with its results. Remove these
+# files on make clean.
+CLEANFILES = $(tst_tests:.tst=.erg)
+
+
+
+TESTS = $(tst_tests)
+TEST_EXTENSIONS = .tst
+
+# According to notice from gnulib module localcharset
+TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
+
+
+# Running ".tst" files is done with the boot memory image.
+TST_LOG_COMPILER = \
+ ../src/lisp -B ./ -M ../src/lispinit.mem $(srcdir)/tests.lisp
+# This will pass "compile" to the above script iff the test should be
+# run with :compile.
+AM_TST_LOG_FLAGS = $(compile_flag)
diff -r f51a5bd170dc -r 62249532accb tests/characters.tst
--- a/tests/characters.tst Wed Jun 22 10:30:11 2016 +0200
+++ b/tests/characters.tst Thu Aug 25 20:35:46 2016 +0200
@@ -660,7 +660,12 @@
(unless (and #-CLISP (or (graphic-char-p c) (char-name c))
(or #-CLISP (null (char-name c))
(eql c (name-char (char-name c)))))
- (push code wrong-codes))))
+ (push (list code
+ c
+ (graphic-char-p c)
+ (char-name c)
+ (name-char (char-name c)))
+ wrong-codes))))
wrong-codes)
NIL
diff -r f51a5bd170dc -r 62249532accb tests/tests.lisp
--- a/tests/tests.lisp Wed Jun 22 10:30:11 2016 +0200
+++ b/tests/tests.lisp Thu Aug 25 20:35:46 2016 +0200
@@ -327,6 +327,19 @@
(format t "~s: see ~a~%" 'run-test logfile))
(list logname total-count error-count))
+(defun test-script ()
+ (let* ((*run-test-type* "tst")
+ (rev-args (reverse *args*))
+ (testname (first rev-args))
+ (compilep (string= "compile" (second rev-args)))
+ (method (if compilep :compile :eval)))
+ (format t "~A | ~A~%" *args* compilep)
+ (let ((res (run-test testname
+ :eval-method method
+ :logname (pathname-name testname))))
+ (exit (if (zerop (third res)) 0 1)))))
+(test-script)
+
(defun report-results (res &key (here (truename "./")))
"res = list of RUN-TEST return values (testname total-count error-count)"
(let ((error-count (reduce #'+ res :key #'third)))
diff -r f51a5bd170dc -r 62249532accb utils/Makefile.am
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/utils/Makefile.am Thu Aug 25 20:35:46 2016 +0200
@@ -0,0 +1,19 @@
+noinst_PROGRAMS = gctrigger varbrace
+
+gctrigger_SOURCES = gctrigger.c
+varbrace_SOURCES = varbrace.c
+
+
+# Use compiler to generate executables for build system
+CC = $(CC_FOR_BUILD)
+CPP = $(CPP_FOR_BUILD)
+
+# Set flags neccessary for build system
+AM_CFLAGS = $(CFLAGS_FOR_BUILD)
+AM_CPPFLAGS = $(CPPFLAGS_FOR_BUILD)
+AM_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+
+# Set correct filename extensions for build system.
+# TODO: BUILD_OBJEXT is not determined correctly at least on linux.
+EXEEXT = $(BUILD_EXEEXT)
+# OBJEXT = $(BUILD_OBJEXT)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment