From 1c18da9102f88a7d758cc0ffaddefda06c190322 Mon Sep 17 00:00:00 2001 From: evrimulu Date: Mon, 23 Feb 2015 13:12:23 +0900 Subject: [PATCH 01/13] Upgrade to autoconf 2.69, - fix AC_DEFINE's, - fix AC_DEFINE_QUOTED, - add autoreconf to bdwgc if its not already configures (this is the case for the latest) - add directory src/ecl - add file src/ecl/configpre.h generated by autoreconf. Please run autoreconf -ivf next time if you wish to regenerate. Maybe its better to switch to automake some time later. -evrim. --- src/aclocal.m4 | 60 +-- src/configure | 99 +++-- src/{configure.in => configure.ac} | 30 +- src/ecl/configpre.h | 589 +++++++++++++++++++++++++++++ 4 files changed, 705 insertions(+), 73 deletions(-) rename src/{configure.in => configure.ac} (97%) create mode 100644 src/ecl/configpre.h diff --git a/src/aclocal.m4 b/src/aclocal.m4 index d49321a31..736f50a11 100644 --- a/src/aclocal.m4 +++ b/src/aclocal.m4 @@ -8,7 +8,7 @@ AC_CHECK_TYPES([long double],[enable_longdouble=yes],[enable_longdouble=no]) if test "$enable_longdouble" != "no" ; then AC_CHECK_FUNCS([sinl cosl tanl logl expl],[],[enable_longdouble=no; break]) if test "$enable_longdouble" != "no" ; then -AC_DEFINE(ECL_LONG_FLOAT) +AC_DEFINE([ECL_LONG_FLOAT], [], [ECL_LONG_FLOAT]) fi fi fi @@ -53,9 +53,10 @@ if test "x$ECL_LONG_LONG_BITS" = "x"; then AC_MSG_RESULT(not available) else AC_MSG_RESULT([$ECL_LONG_LONG_BITS]) - AC_DEFINE(ecl_long_long_t, long long, [compiler understands long long]) - AC_DEFINE(ecl_ulong_long_t, unsigned long long, [compiler understands long long]) - AC_DEFINE_UNQUOTED([ECL_LONG_LONG_BITS],[$ECL_LONG_LONG_BITS]) + AC_DEFINE([ecl_long_long_t], [long long], [compiler understands long long]) + AC_DEFINE([ecl_ulong_long_t], [unsigned long long], [compiler understands long long]) + AC_DEFINE_UNQUOTED([ECL_LONG_LONG_BITS],[$ECL_LONG_LONG_BITS], + [ECL_LOING_LONG_BITS])dnl last param needs to be on a new line. -evrim. fi ]) @@ -222,12 +223,12 @@ CP="cp" MV="mv" ### Guess the operating system -AC_SUBST(ARCHITECTURE)dnl Type of processor for which this is compiled -AC_SUBST(SOFTWARE_TYPE)dnl Type of operating system -AC_SUBST(SOFTWARE_VERSION)dnl Version number of operating system -AC_SUBST(MACHINE_VERSION)dnl Version of the machine +AC_SUBST(ARCHITECTURE)dnl Type of processor for which this is compiled +AC_SUBST(SOFTWARE_TYPE)dnl Type of operating system +AC_SUBST(SOFTWARE_VERSION)dnl Version number of operating system +AC_SUBST(MACHINE_VERSION)dnl Version of the machine -AC_SUBST(ECL_LDRPATH)dnl Sometimes the path for finding DLLs must be hardcoded. +AC_SUBST(ECL_LDRPATH)dnl Sometimes the path for finding DLLs must be hardcoded. AC_SUBST(LIBPREFIX)dnl Name components of a statically linked library AC_SUBST(LIBEXT) AC_SUBST(SHAREDEXT)dnl Name components of a dynamically linked library @@ -494,8 +495,8 @@ AC_TYPE_UINT$1_T if test "x$ac_cv_c_int$1_t" = xyes; then eval ECL_INT$1_T="int$1_t" eval ECL_UINT$1_T="uint$1_t" - AC_DEFINE_UNQUOTED([ecl_int$1_t],[int$1_t]) - AC_DEFINE_UNQUOTED([ecl_uint$1_t],[uint$1_t]) + AC_DEFINE_UNQUOTED([ecl_int$1_t], [int$1_t], [ecl_int$1_t]) + AC_DEFINE_UNQUOTED([ecl_uint$1_t], [uint$1_t], [ecl_uint$1_t]) fi]) dnl @@ -572,7 +573,7 @@ int main() { ]])],[ECL_STACK_DIR=down],[ECL_STACK_DIR=up],[]) fi case "${ECL_STACK_DIR}" in - down|DOWN) AC_MSG_RESULT(yes); AC_DEFINE(ECL_DOWN_STACK, [1], [Stack grows downwards]) ;; + down|DOWN) AC_MSG_RESULT(yes); AC_DEFINE([ECL_DOWN_STACK], [1], [Stack grows downwards]) ;; up|UP) AC_MSG_RESULT(no) ;; *) AC_MSG_ERROR(Unable to determine stack growth direction) esac]) @@ -719,8 +720,8 @@ int main() { fi case "${ECL_NEWLINE}" in LF) AC_MSG_RESULT(lf) ;; - CR) AC_MSG_RESULT(cr); AC_DEFINE(ECL_NEWLINE_IS_CR, [1], [Define if your newline is CR]) ;; - CRLF) AC_MSG_RESULT(cr+lf); AC_DEFINE(ECL_NEWLINE_IS_CRLF, [1], [Define if your newline is CRLF]) ;; + CR) AC_MSG_RESULT(cr); AC_DEFINE([ECL_NEWLINE_IS_CR], [1], [Define if your newline is CR]) ;; + CRLF) AC_MSG_RESULT(cr+lf); AC_DEFINE([ECL_NEWLINE_IS_CRLF], [1], [Define if your newline is CRLF]) ;; *) AC_MSG_ERROR(Unable to determine linefeed mode) ;; esac ]) @@ -782,7 +783,7 @@ AC_RUN_IFELSE( int main() { return (foo() == 0); }]])], - [AC_DEFINE(HAVE___BUILTIN_RETURN_ADDRESS)], + [AC_DEFINE([HAVE___BUILTIN_RETURN_ADDRESS], [], [HAVE___BUILTIN_RETURN_ADDRESS])], []) fi ]) @@ -794,7 +795,7 @@ dnl AC_DEFUN([ECL_FPE_MODEL], [AC_MSG_CHECKING([for code to detect FP exceptions]) case "${host_cpu}" in - i686 |i586 | pentium* | athlon* ) + i686 | i586 | pentium* | athlon* ) ECL_FPE_CODE="arch/fpe_x86.c" AC_MSG_RESULT([x86]) ;; @@ -835,7 +836,7 @@ _mm_getcsr();]])],[sse_included=yes],[sse_included=no]) fi fi if test "x$with_sse" = xyes; then - AC_DEFINE(ECL_SSE2) + AC_DEFINE([ECL_SSE2], [], [ECL_SSE2]) AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) @@ -847,8 +848,8 @@ dnl ---------------------------------------------------------------------- dnl Check whether we have POSIX read/write locks are available AC_DEFUN([ECL_POSIX_RWLOCK],[ AC_CHECK_FUNC( [pthread_rwlock_init], [ - AC_DEFINE(ECL_RWLOCK) - AC_DEFINE(HAVE_POSIX_RWLOCK) + AC_DEFINE([ECL_RWLOCK], [], [ECL_RWLOCK]) + AC_DEFINE([HAVE_POSIX_RWLOCK], [], [HAVE_POSIX_RWLOCK]) ], []) THREAD_OBJ="$THREAD_OBJ threads/rwlock" ]) @@ -870,7 +871,7 @@ int main() { fi AC_MSG_RESULT([$ECL_WORKING_ENVIRON]) if test $ECL_WORKING_ENVIRON = yes ; then - AC_DEFINE(HAVE_ENVIRON) + AC_DEFINE([HAVE_ENVIRON], [], [HAVE_ENVIRON]) fi ]) @@ -911,7 +912,7 @@ if test "x${enable_threads}" != "xno"; then if test "${enable_shared}" = "no"; then LIBRARIES="${LIBRARIES} ${LIBPREFIX}eclatomic.${LIBEXT}" fi - AC_DEFINE(ECL_LIBATOMIC_OPS_H) + AC_DEFINE([ECL_LIBATOMIC_OPS_H], [], [ECL_LIBATOMIC_OPS_H]) CORE_LIBS="-leclatomic ${CORE_LIBS}" else CORE_LIBS="-latomic_ops ${CORE_LIBS}" @@ -947,9 +948,9 @@ if test "${enable_boehm}" = auto -o "${enable_boehm}" = system; then fi if test "${system_boehm}" = "yes"; then AC_CHECK_LIB( [gc], [GC_set_start_callback], - [AC_DEFINE(HAVE_GC_SET_START_CALLBACK)], [] ) + [AC_DEFINE([HAVE_GC_SET_START_CALLBACK], [], [HAVE_GC_SET_START_CALLBACK])], [] ) else - AC_DEFINE(HAVE_GC_SET_START_CALLBACK) + AC_DEFINE([HAVE_GC_SET_START_CALLBACK], [], [HAVE_GC_SET_START_CALLBACK]) fi AC_MSG_CHECKING( [whether we can use the existing Boehm-Weiser library] ) AC_MSG_RESULT( [${system_boehm}] ) @@ -973,6 +974,13 @@ if test "${enable_boehm}" = "included"; then dnl AC_MSG_NOTICE([Configuring included Boehm GC library:]) test -d gc && rm -rf gc + currentdir=`${PWDCMD}` + cd $srcdir/${ECL_GC_DIR}; + if test -d configure; then + autoreconf -vif + automake --add-missing + fi; + cd $currentdir; if mkdir gc; then if (destdir=`${PWDCMD}`; cd gc; \ $srcdir/${ECL_GC_DIR}/configure --disable-shared --prefix=${destdir} \ @@ -996,11 +1004,11 @@ if test "${enable_boehm}" = "included"; then fi fi if test "${enable_gengc}" != "no" ; then - AC_DEFINE(GBC_BOEHM_GENGC) + AC_DEFINE([GBC_BOEHM_GENGC], [], [GBC_BOEHM_GENGC]) fi AC_MSG_CHECKING([if we use Boehm-Demers-Weiser precise garbage collector]); if test "${enable_precisegc}" != "no" ; then - AC_DEFINE(GBC_BOEHM_PRECISE) + AC_DEFINE([GBC_BOEHM_PRECISE], [], [GBC_BOEHM_PRECISE]) AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) @@ -1067,7 +1075,7 @@ fi if test -z "${ECL_LIBFFI_HEADER}"; then AC_MSG_WARN([Unable to configure or find libffi library; disabling dynamic FFI]) else - AC_DEFINE(HAVE_LIBFFI) + AC_DEFINE([HAVE_LIBFFI], [], [HAVE_LIBFFI]) fi ]) diff --git a/src/configure b/src/configure index 020675b3e..574840c43 100755 --- a/src/configure +++ b/src/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision. +# From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for ecl 15.2.21. # @@ -5785,9 +5785,11 @@ if test "${enable_threads}" = "yes" ; then ac_fn_c_check_func "$LINENO" "pthread_rwlock_init" "ac_cv_func_pthread_rwlock_init" if test "x$ac_cv_func_pthread_rwlock_init" = xyes; then : - $as_echo "#define ECL_RWLOCK 1" >>confdefs.h - $as_echo "#define HAVE_POSIX_RWLOCK 1" >>confdefs.h +$as_echo "#define ECL_RWLOCK /**/" >>confdefs.h + + +$as_echo "#define HAVE_POSIX_RWLOCK /**/" >>confdefs.h fi @@ -5979,12 +5981,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gc_GC_set_start_callback" >&5 $as_echo "$ac_cv_lib_gc_GC_set_start_callback" >&6; } if test "x$ac_cv_lib_gc_GC_set_start_callback" = xyes; then : - $as_echo "#define HAVE_GC_SET_START_CALLBACK 1" >>confdefs.h + +$as_echo "#define HAVE_GC_SET_START_CALLBACK /**/" >>confdefs.h fi else - $as_echo "#define HAVE_GC_SET_START_CALLBACK 1" >>confdefs.h + +$as_echo "#define HAVE_GC_SET_START_CALLBACK /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can use the existing Boehm-Weiser library " >&5 @@ -6009,6 +6013,13 @@ if test "${enable_boehm}" = "included"; then { $as_echo "$as_me:${as_lineno-$LINENO}: Configuring included Boehm GC library:" >&5 $as_echo "$as_me: Configuring included Boehm GC library:" >&6;} test -d gc && rm -rf gc + currentdir=`${PWDCMD}` + cd $srcdir/${ECL_GC_DIR}; + if test -d configure; then + autoreconf -vif + automake --add-missing + fi; + cd $currentdir; if mkdir gc; then if (destdir=`${PWDCMD}`; cd gc; \ $srcdir/${ECL_GC_DIR}/configure --disable-shared --prefix=${destdir} \ @@ -6034,13 +6045,15 @@ $as_echo "#define GBC_BOEHM 0" >>confdefs.h fi fi if test "${enable_gengc}" != "no" ; then - $as_echo "#define GBC_BOEHM_GENGC 1" >>confdefs.h + +$as_echo "#define GBC_BOEHM_GENGC /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we use Boehm-Demers-Weiser precise garbage collector" >&5 $as_echo_n "checking if we use Boehm-Demers-Weiser precise garbage collector... " >&6; }; if test "${enable_precisegc}" != "no" ; then - $as_echo "#define GBC_BOEHM_PRECISE 1" >>confdefs.h + +$as_echo "#define GBC_BOEHM_PRECISE /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -6051,7 +6064,8 @@ fi fi if test ${enable_smallcons} = "yes" ; then - $as_echo "#define ECL_SMALL_CONS 1" >>confdefs.h + +$as_echo "#define ECL_SMALL_CONS /**/" >>confdefs.h fi @@ -6162,7 +6176,8 @@ if test -z "${ECL_LIBFFI_HEADER}"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to configure or find libffi library; disabling dynamic FFI" >&5 $as_echo "$as_me: WARNING: Unable to configure or find libffi library; disabling dynamic FFI" >&2;} else - $as_echo "#define HAVE_LIBFFI 1" >>confdefs.h + +$as_echo "#define HAVE_LIBFFI /**/" >>confdefs.h fi @@ -6205,15 +6220,18 @@ ECL_VERSION_NUMBER=$(($PACKAGE_MAJOR * 10000 + $PACKAGE_MINOR * 100 + $PACKAGE_L if test "${with_ieee_fp}" = yes; then with_signed_zero="yes" with_fpe="yes" - $as_echo "#define ECL_IEEE_FP 1" >>confdefs.h + +$as_echo "#define ECL_IEEE_FP /**/" >>confdefs.h fi if test "${with_fpe}" != yes; then - $as_echo "#define ECL_AVOID_FPE_H 1" >>confdefs.h + +$as_echo "#define ECL_AVOID_FPE_H /**/" >>confdefs.h fi if test "${with_signed_zero}" = yes; then - $as_echo "#define ECL_SIGNED_ZERO 1" >>confdefs.h + +$as_echo "#define ECL_SIGNED_ZERO /**/" >>confdefs.h fi @@ -7129,10 +7147,10 @@ $as_echo "#define ecl_long_long_t long long" >>confdefs.h $as_echo "#define ecl_ulong_long_t unsigned long long" >>confdefs.h - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ECL_LONG_LONG_BITS $ECL_LONG_LONG_BITS _ACEOF - fi @@ -7516,11 +7534,13 @@ _ACEOF if test "x$ac_cv_c_int8_t" = xyes; then eval ECL_INT8_T="int8_t" eval ECL_UINT8_T="uint8_t" - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ecl_int8_t int8_t _ACEOF - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ecl_uint8_t uint8_t _ACEOF @@ -7552,11 +7572,13 @@ _ACEOF if test "x$ac_cv_c_int16_t" = xyes; then eval ECL_INT16_T="int16_t" eval ECL_UINT16_T="uint16_t" - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ecl_int16_t int16_t _ACEOF - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ecl_uint16_t uint16_t _ACEOF @@ -7590,11 +7612,13 @@ _ACEOF if test "x$ac_cv_c_int32_t" = xyes; then eval ECL_INT32_T="int32_t" eval ECL_UINT32_T="uint32_t" - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ecl_int32_t int32_t _ACEOF - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ecl_uint32_t uint32_t _ACEOF @@ -7628,11 +7652,13 @@ _ACEOF if test "x$ac_cv_c_int64_t" = xyes; then eval ECL_INT64_T="int64_t" eval ECL_UINT64_T="uint64_t" - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ecl_int64_t int64_t _ACEOF - cat >>confdefs.h <<_ACEOF + +cat >>confdefs.h <<_ACEOF #define ecl_uint64_t uint64_t _ACEOF @@ -7797,7 +7823,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for code to detect FP exceptions" >&5 $as_echo_n "checking for code to detect FP exceptions... " >&6; } case "${host_cpu}" in - i686 |i586 | pentium* | athlon* ) + i686 | i586 | pentium* | athlon* ) ECL_FPE_CODE="arch/fpe_x86.c" { $as_echo "$as_me:${as_lineno-$LINENO}: result: x86" >&5 $as_echo "x86" >&6; } @@ -7872,7 +7898,8 @@ rm -f core conftest.err conftest.$ac_objext \ fi fi if test "x$with_sse" = xyes; then - $as_echo "#define ECL_SSE2 1" >>confdefs.h + +$as_echo "#define ECL_SSE2 /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -7912,7 +7939,8 @@ fi done if test "$enable_longdouble" != "no" ; then -$as_echo "#define ECL_LONG_FLOAT 1" >>confdefs.h + +$as_echo "#define ECL_LONG_FLOAT /**/" >>confdefs.h fi fi @@ -9134,9 +9162,11 @@ done ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default" if test "x$ac_cv_header_sys_mman_h" = xyes; then : - $as_echo "#define ECL_USE_MPROTECT 1" >>confdefs.h - $as_echo "#define HAVE_SYS_MMAN_H 1" >>confdefs.h +$as_echo "#define ECL_USE_MPROTECT /**/" >>confdefs.h + + +$as_echo "#define HAVE_SYS_MMAN_H /**/" >>confdefs.h fi @@ -9177,7 +9207,8 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ECL_WORKING_ENVIRON" >&5 $as_echo "$ECL_WORKING_ENVIRON" >&6; } if test $ECL_WORKING_ENVIRON = yes ; then - $as_echo "#define HAVE_ENVIRON 1" >>confdefs.h + +$as_echo "#define HAVE_ENVIRON /**/" >>confdefs.h fi @@ -9216,7 +9247,8 @@ else } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - $as_echo "#define HAVE___BUILTIN_RETURN_ADDRESS 1" >>confdefs.h + +$as_echo "#define HAVE___BUILTIN_RETURN_ADDRESS /**/" >>confdefs.h fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ @@ -9268,7 +9300,8 @@ $as_echo "${enable_libatomic} " >&6; } if test "${enable_shared}" = "no"; then LIBRARIES="${LIBRARIES} ${LIBPREFIX}eclatomic.${LIBEXT}" fi - $as_echo "#define ECL_LIBATOMIC_OPS_H 1" >>confdefs.h + +$as_echo "#define ECL_LIBATOMIC_OPS_H /**/" >>confdefs.h CORE_LIBS="-leclatomic ${CORE_LIBS}" else @@ -9283,8 +9316,10 @@ $as_echo "#define ENABLE_DLOPEN 1" >>confdefs.h LSP_LIBRARIES="${SHAREDPREFIX}ecl.${SHAREDEXT}" + LSP_FEATURES="(cons :wants-dlopen ${LSP_FEATURES})" + else enable_soname=no LSP_LIBRARIES="${LIBPREFIX}ecl.${LIBEXT}" @@ -9517,7 +9552,7 @@ fi ac_config_files="$ac_config_files bare.lsp lsp/load.lsp clos/load.lsp cmp/load.lsp new-cmp/load.lsp ../Makefile Makefile c/Makefile doc/Makefile doc/ecl.man doc/ecl-config.man ecl/configpre.h:h/config.h.in bin/ecl-config.pre:util/ecl-config lsp/config.pre:lsp/config.lsp.in compile.pre:compile.lsp.in cmp/cmpdefs.pre:cmp/cmpdefs.lsp tests/config.lsp tests/Makefile" ac_config_headers="$ac_config_headers ecl/config.h:ecl/configpre.h" - # FIXME + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -10814,4 +10849,4 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi -for i in $srcdir/c/*/; do mkdir -p c/`basename $i`; done +for i in $srcdir/c/*/; do mkdir c/`basename $i`; done diff --git a/src/configure.in b/src/configure.ac similarity index 97% rename from src/configure.in rename to src/configure.ac index 434da4904..9495725d5 100644 --- a/src/configure.in +++ b/src/configure.ac @@ -12,7 +12,7 @@ AC_INIT([ecl],[15.2.21],[]) AC_REVISION([$Revision$]) AC_CONFIG_SRCDIR([bare.lsp.in]) AC_CONFIG_AUX_DIR([gmp]) -AC_PREREQ(2.59) +AC_PREREQ(2.69) dnl ----------------------------------------------------------------------- dnl Make sure we do not configure within source directory @@ -551,7 +551,7 @@ else ECL_BOEHM_GC fi if test ${enable_smallcons} = "yes" ; then - AC_DEFINE(ECL_SMALL_CONS) + AC_DEFINE([ECL_SMALL_CONS], [], [ECL_SMALL_CONS]) fi ECL_LIBFFI @@ -597,13 +597,13 @@ dnl Deactivate floating point exceptions if asked to if test "${with_ieee_fp}" = yes; then with_signed_zero="yes" with_fpe="yes" - AC_DEFINE(ECL_IEEE_FP) + AC_DEFINE([ECL_IEEE_FP], [], [ECL_IEEE_FP]) fi if test "${with_fpe}" != yes; then - AC_DEFINE(ECL_AVOID_FPE_H) + AC_DEFINE([ECL_AVOID_FPE_H], [], [ECL_AVOID_FPE_H]) fi if test "${with_signed_zero}" = yes; then - AC_DEFINE(ECL_SIGNED_ZERO) + AC_DEFINE([ECL_SIGNED_ZERO], [], [ECL_SIGNED_ZERO]) fi dnl ===================================================================== @@ -707,8 +707,8 @@ AC_CHECK_FUNCS( [expf logf sqrtf cosf sinf tanf sinhf coshf tanhf] \ AC_CHECK_FUNCS( [sched_yield uname fseeko dladdr backtrace backtrace_symbols] ) AC_CHECK_HEADER( [sys/mman.h], - AC_DEFINE(ECL_USE_MPROTECT) - AC_DEFINE(HAVE_SYS_MMAN_H) + AC_DEFINE([ECL_USE_MPROTECT], [], [ECL_USE_MPROTECT]) + AC_DEFINE([HAVE_SYS_MMAN_H], [], [HAVE_SYS_MMAN_H]) ) ECL_POSIX_ENVIRON @@ -747,7 +747,7 @@ dnl Lisp library and libecl features if test ${enable_shared} = "yes"; then AC_DEFINE(ENABLE_DLOPEN, [1], [Allow loading dynamically linked code]) LSP_LIBRARIES="${SHAREDPREFIX}ecl.${SHAREDEXT}" - ECL_ADD_FEATURE([wants-dlopen]) + ECL_ADD_LISP_MODULE([dlopen]) else enable_soname=no LSP_LIBRARIES="${LIBPREFIX}ecl.${LIBEXT}" @@ -760,7 +760,7 @@ fi if test "${with_cmuformat}" = "yes"; then with_clos_streams="yes" - AC_DEFINE(ECL_CMU_FORMAT, [1], [Use CMU Common-Lisp's FORMAT routine]) + AC_DEFINE([ECL_CMU_FORMAT], [1], [Use CMU Common-Lisp's FORMAT routine]) fi if test "${with_clos_streams}" = "yes"; then @@ -854,18 +854,18 @@ fi if test "x${enable_unicode}" != "xno"; then if test "${enable_unicode}" = 16; then - AC_DEFINE(ECL_UNICODE, [16], [Support for Unicode]) + AC_DEFINE([ECL_UNICODE], [16], [Support for Unicode]) CHAR_CODE_LIMIT=65536 ECL_CHARACTER=$ECL_INT16_T EXTRA_OBJS="$EXTRA_OBJS unicode/ucd16.o unicode/ucd16-0000.o unicode/ucd16-0016.o unicode/ucd16-0032.o unicode/ucd16-0048.o unicode/ucd16-0064.o" else - AC_DEFINE(ECL_UNICODE, [21], [Support for Unicode]) + AC_DEFINE([ECL_UNICODE], [21], [Support for Unicode]) CHAR_CODE_LIMIT=1114112 ECL_CHARACTER=$ECL_INT32_T EXTRA_OBJS="$EXTRA_OBJS unicode/ucd.o unicode/ucd-0000.o unicode/ucd-0016.o unicode/ucd-0032.o unicode/ucd-0048.o unicode/ucd-0064.o unicode/ucd-0080.o unicode/ucd-0096.o" fi if test "${with_unicode_names}" = "yes"; then - AC_DEFINE(ECL_UNICODE_NAMES, [1], [Link in the database of Unicode names]) + AC_DEFINE([ECL_UNICODE_NAMES], [1], [Link in the database of Unicode names]) EXTRA_OBJS="$EXTRA_OBJS unicode/ucd_names_char.o unicode/ucd_names_codes.o unicode/ucd_names_pair.o unicode/ucd_names_str.o" fi else @@ -889,7 +889,7 @@ else fi if test "${enable_hpack}" = "yes"; then - AC_DEFINE(ECL_RELATIVE_PACKAGE_NAMES, [1], [Hierarchical package names]) + AC_DEFINE([ECL_RELATIVE_PACKAGE_NAMES], [1], [Hierarchical package names]) fi AC_CONFIG_FILES([ @@ -900,6 +900,6 @@ AC_CONFIG_FILES([ cmp/cmpdefs.pre:cmp/cmpdefs.lsp tests/config.lsp tests/Makefile ]) -AC_CONFIG_HEADERS([ecl/config.h:ecl/configpre.h]) # FIXME +AC_CONFIG_HEADERS([ecl/config.h:ecl/configpre.h]) AC_OUTPUT -for i in $srcdir/c/*/; do mkdir -p c/`basename $i`; done +for i in $srcdir/c/*/; do mkdir c/`basename $i`; done diff --git a/src/ecl/configpre.h b/src/ecl/configpre.h new file mode 100644 index 000000000..53cc55393 --- /dev/null +++ b/src/ecl/configpre.h @@ -0,0 +1,589 @@ +/* ecl/configpre.h. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#undef AC_APPLE_UNIVERSAL_BUILD + +/* Define to 1 if the `closedir' function returns void instead of `int'. */ +#undef CLOSEDIR_VOID + +/* ECL_AVOID_FPE_H */ +#undef ECL_AVOID_FPE_H + +/* Allow STREAM operations to work on arbitrary objects */ +#undef ECL_CLOS_STREAMS + +/* Use CMU Common-Lisp's FORMAT routine */ +#undef ECL_CMU_FORMAT + +/* Stack grows downwards */ +#undef ECL_DOWN_STACK + +/* ECL_IEEE_FP */ +#undef ECL_IEEE_FP + +/* ECL_LIBATOMIC_OPS_H */ +#undef ECL_LIBATOMIC_OPS_H + +/* ECL_LONG_FLOAT */ +#undef ECL_LONG_FLOAT + +/* ECL_LOING_LONG_BITS */ +#undef ECL_LONG_LONG_BITS + +/* Define if your newline is CR */ +#undef ECL_NEWLINE_IS_CR + +/* Define if your newline is CRLF */ +#undef ECL_NEWLINE_IS_CRLF + +/* Hierarchical package names */ +#undef ECL_RELATIVE_PACKAGE_NAMES + +/* ECL_RWLOCK */ +#undef ECL_RWLOCK + +/* ECL_SIGNED_ZERO */ +#undef ECL_SIGNED_ZERO + +/* Bytecodes and arguments are 8 and 16 bits large, respectively */ +#undef ECL_SMALL_BYTECODES + +/* ECL_SMALL_CONS */ +#undef ECL_SMALL_CONS + +/* ECL_SSE2 */ +#undef ECL_SSE2 + +/* Userland threads? */ +#undef ECL_THREADS + +/* Support for Unicode */ +#undef ECL_UNICODE + +/* Link in the database of Unicode names */ +#undef ECL_UNICODE_NAMES + +/* ECL_USE_MPROTECT */ +#undef ECL_USE_MPROTECT + +/* Allow loading dynamically linked code */ +#undef ENABLE_DLOPEN + +/* Use Boehm's garbage collector */ +#undef GBC_BOEHM + +/* GBC_BOEHM_GENGC */ +#undef GBC_BOEHM_GENGC + +/* GBC_BOEHM_PRECISE */ +#undef GBC_BOEHM_PRECISE + +/* Define to 1 if you have the `alarm' function. */ +#undef HAVE_ALARM + +/* Define to 1 if you have the `backtrace' function. */ +#undef HAVE_BACKTRACE + +/* Define to 1 if you have the `backtrace_symbols' function. */ +#undef HAVE_BACKTRACE_SYMBOLS + +/* Define to 1 if you have the `ceilf' function. */ +#undef HAVE_CEILF + +/* Define to 1 if you have the `copysign' function. */ +#undef HAVE_COPYSIGN + +/* Define to 1 if you have the `cosf' function. */ +#undef HAVE_COSF + +/* Define to 1 if you have the `coshf' function. */ +#undef HAVE_COSHF + +/* Define to 1 if you have the `cosl' function. */ +#undef HAVE_COSL + +/* Define to 1 if you have the header file. */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you have the `dladdr' function. */ +#undef HAVE_DLADDR + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if the system has the type `double complex'. */ +#undef HAVE_DOUBLE_COMPLEX + +/* HAVE_ENVIRON */ +#undef HAVE_ENVIRON + +/* Define to 1 if you have the `expf' function. */ +#undef HAVE_EXPF + +/* Define to 1 if you have the `expl' function. */ +#undef HAVE_EXPL + +/* Define to 1 if you have the `fabsf' function. */ +#undef HAVE_FABSF + +/* Define to 1 if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_FENV_H + +/* Define to 1 if the system has the type `float complex'. */ +#undef HAVE_FLOAT_COMPLEX + +/* Define to 1 if you have the header file. */ +#undef HAVE_FLOAT_H + +/* Define to 1 if you have the `floor' function. */ +#undef HAVE_FLOOR + +/* Define to 1 if you have the `floorf' function. */ +#undef HAVE_FLOORF + +/* Define to 1 if you have the `fork' function. */ +#undef HAVE_FORK + +/* Define to 1 if you have the `frexpf' function. */ +#undef HAVE_FREXPF + +/* Define to 1 if you have the `fseeko' function. */ +#undef HAVE_FSEEKO + +/* HAVE_GC_SET_START_CALLBACK */ +#undef HAVE_GC_SET_START_CALLBACK + +/* Define to 1 if you have the `getcwd' function. */ +#undef HAVE_GETCWD + +/* Define to 1 if you have the `gethostbyaddr' function. */ +#undef HAVE_GETHOSTBYADDR + +/* Define to 1 if you have the `gethostbyname' function. */ +#undef HAVE_GETHOSTBYNAME + +/* Define to 1 if you have the `getpagesize' function. */ +#undef HAVE_GETPAGESIZE + +/* Define to 1 if you have the `getrusage' function. */ +#undef HAVE_GETRUSAGE + +/* Define to 1 if you have the `gettimeofday' function. */ +#undef HAVE_GETTIMEOFDAY + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `isatty' function. */ +#undef HAVE_ISATTY + +/* Define to 1 if you have the `ldexpf' function. */ +#undef HAVE_LDEXPF + +/* HAVE_LIBFFI */ +#undef HAVE_LIBFFI + +/* Define to 1 if you have the `sun' library (-lsun). */ +#undef HAVE_LIBSUN + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_LINK_H + +/* Define to 1 if you have the `log1p' function. */ +#undef HAVE_LOG1P + +/* Define to 1 if you have the `log1pf' function. */ +#undef HAVE_LOG1PF + +/* Define to 1 if you have the `log1pl' function. */ +#undef HAVE_LOG1PL + +/* Define to 1 if you have the `logf' function. */ +#undef HAVE_LOGF + +/* Define to 1 if you have the `logl' function. */ +#undef HAVE_LOGL + +/* Define to 1 if the system has the type `long double'. */ +#undef HAVE_LONG_DOUBLE + +/* Define to 1 if you have the `lstat' function. */ +#undef HAVE_LSTAT + +/* Define to 1 if you have the header file. */ +#undef HAVE_MACH_O_DYLD_H + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#undef HAVE_MALLOC + +/* Define to 1 if you have the `memmove' function. */ +#undef HAVE_MEMMOVE + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `memset' function. */ +#undef HAVE_MEMSET + +/* Define to 1 if you have the `mkdir' function. */ +#undef HAVE_MKDIR + +/* Define to 1 if you have the `mkstemp' function. */ +#undef HAVE_MKSTEMP + +/* Define to 1 if you have a working `mmap' system call. */ +#undef HAVE_MMAP + +/* Define to 1 if you have the `nanosleep' function. */ +#undef HAVE_NANOSLEEP + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_NETDB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_NETINET_IN_H + +/* HAVE_POSIX_RWLOCK */ +#undef HAVE_POSIX_RWLOCK + +/* Define to 1 if the system has the type `ptrdiff_t'. */ +#undef HAVE_PTRDIFF_T + +/* Define to 1 if you have the `putenv' function. */ +#undef HAVE_PUTENV + +/* Define to 1 if you have the header file. */ +#undef HAVE_PWD_H + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#undef HAVE_REALLOC + +/* Define to 1 if you have the header file. */ +#undef HAVE_SCHED_H + +/* Define to 1 if you have the `sched_yield' function. */ +#undef HAVE_SCHED_YIELD + +/* Define to 1 if you have the `select' function. */ +#undef HAVE_SELECT + +/* Define to 1 if you have the header file. */ +#undef HAVE_SEMAPHORE_H + +/* Define to 1 if you have the `setenv' function. */ +#undef HAVE_SETENV + +/* Define to 1 if you have the `sigprocmask' function. */ +#undef HAVE_SIGPROCMASK + +/* Define to 1 if you have the `sinf' function. */ +#undef HAVE_SINF + +/* Define to 1 if you have the `sinhf' function. */ +#undef HAVE_SINHF + +/* Define to 1 if you have the `sinl' function. */ +#undef HAVE_SINL + +/* Define to 1 if you have the `socket' function. */ +#undef HAVE_SOCKET + +/* Define to 1 if you have the `sqrt' function. */ +#undef HAVE_SQRT + +/* Define to 1 if you have the `sqrtf' function. */ +#undef HAVE_SQRTF + +/* Define to 1 if `stat' has the bug that it succeeds when given the + zero-length file name argument. */ +#undef HAVE_STAT_EMPTY_STRING_BUG + +/* Define to 1 if stdbool.h conforms to C99. */ +#undef HAVE_STDBOOL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDDEF_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP + +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strtol' function. */ +#undef HAVE_STRTOL + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_IOCTL_H + +/* HAVE_SYS_MMAN_H */ +#undef HAVE_SYS_MMAN_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_RESOURCE_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_SELECT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_SOCKET_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TIME_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_UTSNAME_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_WAIT_H + +/* Define to 1 if you have the `tanf' function. */ +#undef HAVE_TANF + +/* Define to 1 if you have the `tanhf' function. */ +#undef HAVE_TANHF + +/* Define to 1 if you have the `tanl' function. */ +#undef HAVE_TANL + +/* Define to 1 if you have the `times' function. */ +#undef HAVE_TIMES + +/* Define to 1 if you have the `tzset' function. */ +#undef HAVE_TZSET + +/* Define to 1 if you have the header file. */ +#undef HAVE_ULIMIT_H + +/* Define to 1 if you have the `uname' function. */ +#undef HAVE_UNAME + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vfork' function. */ +#undef HAVE_VFORK + +/* Define to 1 if you have the header file. */ +#undef HAVE_VFORK_H + +/* Define to 1 if `fork' works. */ +#undef HAVE_WORKING_FORK + +/* Define to 1 if `vfork' works. */ +#undef HAVE_WORKING_VFORK + +/* Define to 1 if the system has the type `_Bool'. */ +#undef HAVE__BOOL + +/* HAVE___BUILTIN_RETURN_ADDRESS */ +#undef HAVE___BUILTIN_RETURN_ADDRESS + +/* Define to 1 if `lstat' dereferences a symlink specified with a trailing + slash. */ +#undef LSTAT_FOLLOWS_SLASHED_SYMLINK + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define as the return type of signal handlers (`int' or `void'). */ +#undef RETSIGTYPE + +/* Define to the type of arg 1 for `select'. */ +#undef SELECT_TYPE_ARG1 + +/* Define to the type of args 2, 3 and 4 for `select'. */ +#undef SELECT_TYPE_ARG234 + +/* Define to the type of arg 5 for `select'. */ +#undef SELECT_TYPE_ARG5 + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Network streams */ +#undef TCP + +/* Define to 1 if you can safely include both and . */ +#undef TIME_WITH_SYS_TIME + +/* Define to 1 if your declares `struct tm'. */ +#undef TM_IN_SYS_TIME + +/* __thread thread-local variables? */ +#undef WITH___THREAD + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# undef WORDS_BIGENDIAN +# endif +#endif + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#undef _UINT32_T + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#undef _UINT64_T + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#undef _UINT8_T + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* ecl_int16_t */ +#undef ecl_int16_t + +/* ecl_int32_t */ +#undef ecl_int32_t + +/* ecl_int64_t */ +#undef ecl_int64_t + +/* ecl_int8_t */ +#undef ecl_int8_t + +/* compiler understands long long */ +#undef ecl_long_long_t + +/* ecl_uint16_t */ +#undef ecl_uint16_t + +/* ecl_uint32_t */ +#undef ecl_uint32_t + +/* ecl_uint64_t */ +#undef ecl_uint64_t + +/* ecl_uint8_t */ +#undef ecl_uint8_t + +/* compiler understands long long */ +#undef ecl_ulong_long_t + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#undef int16_t + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#undef int32_t + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#undef int64_t + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#undef int8_t + +/* Define to rpl_malloc if the replacement function should be used. */ +#undef malloc + +/* Define to `int' if does not define. */ +#undef pid_t + +/* Define to rpl_realloc if the replacement function should be used. */ +#undef realloc + +/* Define to `unsigned int' if does not define. */ +#undef size_t + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#undef uint16_t + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#undef uint32_t + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#undef uint64_t + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#undef uint8_t + +/* Define as `fork' if `vfork' does not work. */ +#undef vfork + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +#undef volatile From 285850ae23515a296cd82a48700f118dc7bbc2b6 Mon Sep 17 00:00:00 2001 From: evrimulu Date: Mon, 23 Feb 2015 14:40:41 +0900 Subject: [PATCH 02/13] - Fix stack direction determining code in src/aclocal.m4 - update autoconf, autoreconf -ivf --- src/aclocal.m4 | 16 +++++++++------- src/configure | 16 +++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/aclocal.m4 b/src/aclocal.m4 index 736f50a11..63d899723 100644 --- a/src/aclocal.m4 +++ b/src/aclocal.m4 @@ -544,24 +544,26 @@ AC_DEFUN(ECL_STACK_DIRECTION,[ AC_MSG_CHECKING(whether stack growns downwards) if test -z "${ECL_STACK_DIR}" ; then AC_RUN_IFELSE([AC_LANG_SOURCE([[ + +#include #include -char *f2() { +ptrdiff_t f2(const char *d) { char c[2]; - return c; + return c-d; } -char *f1() { +ptrdiff_t f1(const char *d) { char c[2]; - return c+1; + return c+1-d; } -typedef char *(*f_ptr)(); +typedef ptrdiff_t (*f_ptr)(const char *); f_ptr f[2] = { f1, f2 }; -int signo() { +ptrdiff_t signo() { char d[1]; - return f[rand() & 1]() - d; + return f[rand() & 1](d); } int main() { diff --git a/src/configure b/src/configure index 574840c43..ac9665791 100755 --- a/src/configure +++ b/src/configure @@ -7983,24 +7983,26 @@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + +#include #include -char *f2() { +ptrdiff_t f2(const char *d) { char c[2]; - return c; + return c-d; } -char *f1() { +ptrdiff_t f1(const char *d) { char c[2]; - return c+1; + return c+1-d; } -typedef char *(*f_ptr)(); +typedef ptrdiff_t (*f_ptr)(const char *); f_ptr f[2] = { f1, f2 }; -int signo() { +ptrdiff_t signo() { char d[1]; - return f[rand() & 1]() - d; + return f[rand() & 1](d); } int main() { From 4570e2192cd376294570e2ab197169679922a3bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Tue, 24 Feb 2015 13:30:49 +0100 Subject: [PATCH 03/13] seqlib: stable-sort: fix bogus optimization's in #'stable-sort. This patch fixes bug #292, where #'stable-sort weren't sorting in place strings, when provided with predicate #'char-greaterp. This was due to optimization, where if sequence was of type string or vector-bit function #'sort was called (which invoked #'quicksort), while for the rest cases merge-sort is used. Optimization is reduced to use quicksort only on vector-bit sequences. See: http://sourceforge.net/p/ecls/bugs/292/ --- src/lsp/seqlib.lsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lsp/seqlib.lsp b/src/lsp/seqlib.lsp index b6e0094f8..63c58f254 100644 --- a/src/lsp/seqlib.lsp +++ b/src/lsp/seqlib.lsp @@ -882,7 +882,7 @@ SEQUENCE. See SORT." predicate (si::coerce-to-function predicate)) (if (listp sequence) (list-merge-sort sequence predicate key) - (if (or (stringp sequence) (bit-vector-p sequence)) + (if (bit-vector-p sequence) (sort sequence predicate :key key) (coerce (list-merge-sort (coerce sequence 'list) predicate From f499cf744feb55019088027441662fa05de353ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Wed, 25 Feb 2015 21:59:32 +0100 Subject: [PATCH 04/13] file.d: move variable declarations before body of functions. This patch is necessary to compile ECL under MSVC (2008/2010) on Windows platform. --- src/c/file.d | 96 ++++++++++++++++++++++++++-------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/src/c/file.d b/src/c/file.d index 578cc276f..de7ba7bdd 100755 --- a/src/c/file.d +++ b/src/c/file.d @@ -491,12 +491,12 @@ generic_close(cl_object strm) static cl_index generic_write_vector(cl_object strm, cl_object data, cl_index start, cl_index end) { - cl_elttype elttype; + cl_elttype elttype; const struct ecl_file_ops *ops; if (start >= end) return start; ops = stream_dispatch_table(strm); - elttype = ecl_array_elttype(data); + elttype = ecl_array_elttype(data); if (elttype == ecl_aet_bc || #ifdef ECL_UNICODE elttype == ecl_aet_ch || @@ -591,7 +591,7 @@ eformat_write_char(cl_object strm, ecl_character c) { unsigned char buffer[ENCODING_BUFFER_MAX_SIZE]; ecl_character nbytes; - nbytes = strm->stream.encoder(strm, buffer, c); + nbytes = strm->stream.encoder(strm, buffer, c); strm->stream.ops->write_byte8(strm, buffer, nbytes); if (c == '\n') strm->stream.column = 0; @@ -679,7 +679,7 @@ passthrough_encoder(cl_object stream, unsigned char *buffer, ecl_character c) { #ifdef ECL_UNICODE unlikely_if (c > 0xFF) { - return encoding_error(stream, buffer, c); + return encoding_error(stream, buffer, c); } #endif buffer[0] = c; @@ -698,7 +698,7 @@ ascii_decoder(cl_object stream) if (ecl_read_byte8(stream, &aux, 1) < 1) { return EOF; } else if (aux > 127) { - return decoding_error(stream, &aux, 1); + return decoding_error(stream, &aux, 1); } else { return aux; } @@ -708,7 +708,7 @@ static int ascii_encoder(cl_object stream, unsigned char *buffer, ecl_character c) { unlikely_if (c > 127) { - return encoding_error(stream, buffer, c); + return encoding_error(stream, buffer, c); } buffer[0] = c; return 1; @@ -817,7 +817,7 @@ ucs_2be_decoder(cl_object stream) } else { ecl_character aux = ((ecl_character)buffer[0] << 8) | buffer[1]; if ((buffer[0] & 0xF8) != 0xDC) { - return decoding_error(stream, buffer, 1); + return decoding_error(stream, buffer, 1); } return ((c & 0x3FFF) << 10) + (aux & 0x3FFF) + 0x10000; } @@ -859,7 +859,7 @@ ucs_2le_decoder(cl_object stream) } else { ecl_character aux = ((ecl_character)buffer[1] << 8) | buffer[0]; if ((buffer[1] & 0xF8) != 0xDC) { - return decoding_error(stream, buffer, 2); + return decoding_error(stream, buffer, 2); } return ((c & 0x3FFF) << 10) + (aux & 0x3FFF) + 0x10000; } @@ -931,7 +931,7 @@ user_decoder(cl_object stream) } character = ecl_gethash_safe(ecl_make_fixnum(buffer[0]), table, ECL_NIL); unlikely_if (Null(character)) { - return decoding_error(stream, buffer, 1); + return decoding_error(stream, buffer, 1); } if (character == ECL_T) { if (ecl_read_byte8(stream, buffer+1, 1) < 1) { @@ -940,7 +940,7 @@ user_decoder(cl_object stream) cl_fixnum byte = (buffer[0]<<8) + buffer[1]; character = ecl_gethash_safe(ecl_make_fixnum(byte), table, ECL_NIL); unlikely_if (Null(character)) { - return decoding_error(stream, buffer, 2); + return decoding_error(stream, buffer, 2); } } } @@ -988,7 +988,7 @@ user_multistate_decoder(cl_object stream) return ECL_CHAR_CODE(character); } unlikely_if (Null(character)) { - return decoding_error(stream, buffer, i); + return decoding_error(stream, buffer, i); } if (character == ECL_T) { /* Need more characters */ @@ -1063,7 +1063,7 @@ utf_8_decoder(cl_object stream) return buffer[0]; } unlikely_if ((buffer[0] & 0x40) == 0) - return decoding_error(stream, buffer, 1); + return decoding_error(stream, buffer, 1); if ((buffer[0] & 0x20) == 0) { cum = buffer[0] & 0x1F; nbytes = 1; @@ -1074,7 +1074,7 @@ utf_8_decoder(cl_object stream) cum = buffer[0] & 0x07; nbytes = 3; } else { - return decoding_error(stream, buffer, 1); + return decoding_error(stream, buffer, 1); } if (ecl_read_byte8(stream, buffer+1, nbytes) < nbytes) return EOF; @@ -1082,16 +1082,16 @@ utf_8_decoder(cl_object stream) unsigned char c = buffer[i]; /*printf(": %04x :", c);*/ unlikely_if ((c & 0xC0) != 0x80) - return decoding_error(stream, buffer, nbytes+1); + return decoding_error(stream, buffer, nbytes+1); cum = (cum << 6) | (c & 0x3F); unlikely_if (cum == 0) - return decoding_error(stream, buffer, nbytes+1); + return decoding_error(stream, buffer, nbytes+1); } if (cum >= 0xd800) { unlikely_if (cum <= 0xdfff) - return decoding_error(stream, buffer, nbytes+1); + return decoding_error(stream, buffer, nbytes+1); unlikely_if (cum >= 0xFFFE && cum <= 0xFFFF) - return decoding_error(stream, buffer, nbytes+1); + return decoding_error(stream, buffer, nbytes+1); } /*printf("; %04x ;", cum);*/ return cum; @@ -1162,8 +1162,8 @@ static cl_object clos_stream_read_byte(cl_object strm) { cl_object b = _ecl_funcall2(@'gray::stream-read-byte', strm); - if (b == @':eof') b = ECL_NIL; - return b; + if (b == @':eof') b = ECL_NIL; + return b; } static void @@ -1176,18 +1176,18 @@ static ecl_character clos_stream_read_char(cl_object strm) { cl_object output = _ecl_funcall2(@'gray::stream-read-char', strm); - cl_fixnum value; + cl_fixnum value; if (ECL_CHARACTERP(output)) - value = ECL_CHAR_CODE(output); - else if (ECL_FIXNUMP(output)) - value = ecl_fixnum(output); + value = ECL_CHAR_CODE(output); + else if (ECL_FIXNUMP(output)) + value = ecl_fixnum(output); else if (output == ECL_NIL || output == @':eof') return EOF; - else - value = -1; - unlikely_if (value < 0 || value > ECL_CHAR_CODE_LIMIT) - FEerror("Unknown character ~A", 1, output); - return value; + else + value = -1; + unlikely_if (value < 0 || value > ECL_CHAR_CODE_LIMIT) + FEerror("Unknown character ~A", 1, output); + return value; } static ecl_character @@ -1492,8 +1492,8 @@ cl_get_output_stream_string(cl_object strm) { cl_object strng; unlikely_if (!ECL_ANSI_STREAM_TYPE_P(strm, ecl_smm_string_output)) - FEwrong_type_only_arg(@[get-output-stream-string], - strm, @[string-stream]); + FEwrong_type_only_arg(@[get-output-stream-string], + strm, @[string-stream]); strng = cl_copy_seq(STRING_OUTPUT_STRING(strm)); STRING_OUTPUT_STRING(strm)->base_string.fillp = 0; @(return strng) @@ -1641,10 +1641,10 @@ ecl_make_string_input_stream(cl_object strng, cl_index istart, cl_index iend) } @(defun make_string_input_stream (strng &o (istart ecl_make_fixnum(0)) iend) - cl_index_pair p; + cl_index_pair p; @ strng = cl_string(strng); - p = ecl_vector_start_end(@[make-string-input-stream], strng, istart, iend); + p = ecl_vector_start_end(@[make-string-input-stream], strng, istart, iend); @(return (ecl_make_string_input_stream(strng, p.start, p.end))) @) @@ -1830,7 +1830,7 @@ cl_two_way_stream_input_stream(cl_object strm) { unlikely_if (!ECL_ANSI_STREAM_TYPE_P(strm,ecl_smm_two_way)) FEwrong_type_only_arg(@[two-way-stream-input-stream], - strm, @[two-way-stream]); + strm, @[two-way-stream]); @(return TWO_WAY_STREAM_INPUT(strm)); } @@ -1839,7 +1839,7 @@ cl_two_way_stream_output_stream(cl_object strm) { unlikely_if (!ECL_ANSI_STREAM_TYPE_P(strm, ecl_smm_two_way)) FEwrong_type_only_arg(@[two-way-stream-output-stream], - strm, @[two-way-stream]); + strm, @[two-way-stream]); @(return TWO_WAY_STREAM_OUTPUT(strm)) } @@ -2015,7 +2015,7 @@ cl_broadcast_stream_streams(cl_object strm) { unlikely_if (!ECL_ANSI_STREAM_TYPE_P(strm, ecl_smm_broadcast)) FEwrong_type_only_arg(@[broadcast-stream-streams], - strm, @[broadcast-stream]); + strm, @[broadcast-stream]); return cl_copy_list(BROADCAST_STREAM_LIST(strm)); } @@ -2198,7 +2198,7 @@ cl_echo_stream_input_stream(cl_object strm) { unlikely_if (!ECL_ANSI_STREAM_TYPE_P(strm, ecl_smm_echo)) FEwrong_type_only_arg(@[echo-stream-input-stream], - strm, @[echo-stream]); + strm, @[echo-stream]); @(return ECHO_STREAM_INPUT(strm)) } @@ -2207,7 +2207,7 @@ cl_echo_stream_output_stream(cl_object strm) { unlikely_if (!ECL_ANSI_STREAM_TYPE_P(strm, ecl_smm_echo)) FEwrong_type_only_arg(@[echo-stream-output-stream], - strm, @[echo-stream]); + strm, @[echo-stream]); @(return ECHO_STREAM_OUTPUT(strm)) } @@ -2350,7 +2350,7 @@ cl_concatenated_stream_streams(cl_object strm) { unlikely_if (!ECL_ANSI_STREAM_TYPE_P(strm, ecl_smm_concatenated)) FEwrong_type_only_arg(@[concatenated-stream-streams], - strm, @[concatenated-stream]); + strm, @[concatenated-stream]); return cl_copy_list(CONCATENATED_STREAM_LIST(strm)); } @@ -2549,7 +2549,7 @@ cl_synonym_stream_symbol(cl_object strm) { unlikely_if (!ECL_ANSI_STREAM_TYPE_P(strm, ecl_smm_synonym)) FEwrong_type_only_arg(@[synonym-stream-symbol], - strm, @[synonym-stream]); + strm, @[synonym-stream]); @(return SYNONYM_STREAM_SYMBOL(strm)) } @@ -2733,7 +2733,7 @@ io_file_clear_input(cl_object strm) #endif while (file_listen(strm, f) == ECL_LISTEN_AVAILABLE) { ecl_character c = eformat_read_char(strm); - if (c == EOF) return; + if (c == EOF) return; } } @@ -2773,19 +2773,19 @@ io_file_length(cl_object strm) static cl_object io_file_get_position(cl_object strm) { - int f = IO_FILE_DESCRIPTOR(strm); - if (isatty(f)) return(ECL_NIL); - cl_object output; ecl_off_t offset; + int f = IO_FILE_DESCRIPTOR(strm); + if (isatty(f)) return(ECL_NIL); + ecl_disable_interrupts(); offset = lseek(f, 0, SEEK_CUR); ecl_enable_interrupts(); unlikely_if (offset < 0) - if (errno == ESPIPE) - return(ECL_NIL); - else + if (errno == ESPIPE) + return(ECL_NIL); + else io_error(strm); if (sizeof(ecl_off_t) == sizeof(long)) { output = ecl_make_integer(offset); @@ -2810,10 +2810,10 @@ io_file_get_position(cl_object strm) static cl_object io_file_set_position(cl_object strm, cl_object large_disp) { - int f = IO_FILE_DESCRIPTOR(strm); - if (isatty(f)) return(ECL_NIL); ecl_off_t disp; int mode; + int f = IO_FILE_DESCRIPTOR(strm); + if (isatty(f)) return(ECL_NIL); if (Null(large_disp)) { disp = 0; mode = SEEK_END; From cb24d0b7b0f0d16a93169dfd6adf0f2c43ab634b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Wed, 25 Feb 2015 22:04:24 +0100 Subject: [PATCH 05/13] top.lsp: remove unicode character from copyrights on top.lsp. --- src/lsp/top.lsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lsp/top.lsp b/src/lsp/top.lsp index f71a7ef6e..6177a715b 100644 --- a/src/lsp/top.lsp +++ b/src/lsp/top.lsp @@ -402,7 +402,7 @@ The top-level loop of ECL. It is called by default when ECL is invoked." (format t "~%Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya~@ Copyright (C) 1993 Giuseppe Attardi~@ Copyright (C) 2000 Juan J. Garcia-Ripoll -Copyright (C) 2015 Daniel KochmaƄski +Copyright (C) 2015 Daniel Kochmanski ECL is free software, and you are welcome to redistribute it~@ under certain conditions; see file 'Copyright' for details.") (format *standard-output* "~%Type :h for Help. ")) From 0d97f64c60933e3e6c3962a152a91730af89f16a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Thu, 26 Feb 2015 15:48:58 +0100 Subject: [PATCH 06/13] cmpc-machine.lsp: --with-sse=yes build failure fix. Closes #301. Typo in rewriting cmpc-machine in order to enable cross-compilation for ecl. Related ticket: https://sourceforge.net/p/ecls/bugs/301/ --- src/cmp/cmpc-machine.lsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmp/cmpc-machine.lsp b/src/cmp/cmpc-machine.lsp index 27627484b..b55b2362f 100644 --- a/src/cmp/cmpc-machine.lsp +++ b/src/cmp/cmpc-machine.lsp @@ -148,7 +148,7 @@ ;; hack: sse-pack -> int, but int -> int-sse-pack (let ((r (gethash :int-sse-pack table))) (when r - (setf (rep-type-to-lisp r) 'ext:int-sse-pack))) + (setf (rep-type-index r) 'ext:int-sse-pack))) ;; On a second pass, we replace types with more general ones (loop with fixnum-rep-type = (gethash ':fixnum table) with fixnum-lisp-type = (rep-type-lisp-type fixnum-rep-type) From 9db31fd72d3e892106fc73ab5a3ccb777ae0dc81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Fri, 27 Feb 2015 13:32:01 +0100 Subject: [PATCH 07/13] Release: bump version to 15.3.7. --- ANNOUNCEMENT | 13 +++++++++++++ msvc/Makefile | 4 ++-- src/configure | 18 +++++++++--------- src/configure.ac | 2 +- 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/ANNOUNCEMENT b/ANNOUNCEMENT index 374adbd77..e599c7b9a 100644 --- a/ANNOUNCEMENT +++ b/ANNOUNCEMENT @@ -35,6 +35,19 @@ Known issues quicklisp and have a C compiler accessible to ECL, you may use (ext:install-c-compiler) to switch back to the Lisp-to-C compiler. +Changes since 15.2.21 +===================== + +* autoconf scripts are rewritten to support version 2.69 stack + +* direction is now correctly determined, so gcc 5.x builds should be + +* possible broken --with-sse=yes build works now patch enabling + +* compilation of ECL under MSVC (2008/2010) stable-sort now works as + desired + + Changes since 13.5.1 ==================== diff --git a/msvc/Makefile b/msvc/Makefile index 4a639c65f..ed4d47a7a 100755 --- a/msvc/Makefile +++ b/msvc/Makefile @@ -10,8 +10,8 @@ srcdir = ..\src SHORT_SITE_NAME = LONG_SITE_NAME = -ECL_VERSION = 15.2.21 -ECL_VERSION_NUMBER= 150221 +ECL_VERSION = 15.3.7 +ECL_VERSION_NUMBER= 150307 ARCHITECTURE = PENTIUM4 SOFTWARE_TYPE = NT SOFTWARE_VERSION = 5.0 diff --git a/src/configure b/src/configure index ac9665791..8bf77b85c 100755 --- a/src/configure +++ b/src/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ecl 15.2.21. +# Generated by GNU Autoconf 2.69 for ecl 15.3.7. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -578,8 +578,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ecl' PACKAGE_TARNAME='ecl' -PACKAGE_VERSION='15.2.21' -PACKAGE_STRING='ecl 15.2.21' +PACKAGE_VERSION='15.3.7' +PACKAGE_STRING='ecl 15.3.7' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1365,7 +1365,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ecl 15.2.21 to adapt to many kinds of systems. +\`configure' configures ecl 15.3.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1434,7 +1434,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ecl 15.2.21:";; + short | recursive ) echo "Configuration of ecl 15.3.7:";; esac cat <<\_ACEOF @@ -1611,7 +1611,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ecl configure 15.2.21 +ecl configure 15.3.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2198,7 +2198,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ecl $as_me 15.2.21, which was +It was created by ecl $as_me 15.3.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -10062,7 +10062,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ecl $as_me 15.2.21, which was +This file was extended by ecl $as_me 15.3.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10124,7 +10124,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -ecl config.status 15.2.21 +ecl config.status 15.3.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/src/configure.ac b/src/configure.ac index 9495725d5..bc8d84ba7 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -8,7 +8,7 @@ dnl AUTOCONF configuration for ECL dnl Giuseppe Attardi 25.1.1994 dnl -AC_INIT([ecl],[15.2.21],[]) +AC_INIT([ecl],[15.3.7],[]) AC_REVISION([$Revision$]) AC_CONFIG_SRCDIR([bare.lsp.in]) AC_CONFIG_AUX_DIR([gmp]) From 5d9e58f6788f811df4c987dcbf0b66b175c8c40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Fri, 27 Feb 2015 16:21:58 +0100 Subject: [PATCH 08/13] Release candidate: include RC in version. --- msvc/Makefile | 2 +- src/configure | 18 +++++++++--------- src/configure.ac | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/msvc/Makefile b/msvc/Makefile index ed4d47a7a..c998d700c 100755 --- a/msvc/Makefile +++ b/msvc/Makefile @@ -10,7 +10,7 @@ srcdir = ..\src SHORT_SITE_NAME = LONG_SITE_NAME = -ECL_VERSION = 15.3.7 +ECL_VERSION = 15.3.7-rc1 ECL_VERSION_NUMBER= 150307 ARCHITECTURE = PENTIUM4 SOFTWARE_TYPE = NT diff --git a/src/configure b/src/configure index 8bf77b85c..96382c556 100755 --- a/src/configure +++ b/src/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ecl 15.3.7. +# Generated by GNU Autoconf 2.69 for ecl 15.3.7-rc1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -578,8 +578,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ecl' PACKAGE_TARNAME='ecl' -PACKAGE_VERSION='15.3.7' -PACKAGE_STRING='ecl 15.3.7' +PACKAGE_VERSION='15.3.7-rc1' +PACKAGE_STRING='ecl 15.3.7-rc1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1365,7 +1365,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ecl 15.3.7 to adapt to many kinds of systems. +\`configure' configures ecl 15.3.7-rc1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1434,7 +1434,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ecl 15.3.7:";; + short | recursive ) echo "Configuration of ecl 15.3.7-rc1:";; esac cat <<\_ACEOF @@ -1611,7 +1611,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ecl configure 15.3.7 +ecl configure 15.3.7-rc1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2198,7 +2198,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ecl $as_me 15.3.7, which was +It was created by ecl $as_me 15.3.7-rc1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -10062,7 +10062,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ecl $as_me 15.3.7, which was +This file was extended by ecl $as_me 15.3.7-rc1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10124,7 +10124,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -ecl config.status 15.3.7 +ecl config.status 15.3.7-rc1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/src/configure.ac b/src/configure.ac index bc8d84ba7..0aae39599 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -8,7 +8,7 @@ dnl AUTOCONF configuration for ECL dnl Giuseppe Attardi 25.1.1994 dnl -AC_INIT([ecl],[15.3.7],[]) +AC_INIT([ecl],[15.3.7-rc1],[]) AC_REVISION([$Revision$]) AC_CONFIG_SRCDIR([bare.lsp.in]) AC_CONFIG_AUX_DIR([gmp]) From 63a0d656d9e377e37a3076315123730dc9947666 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Mon, 2 Mar 2015 09:04:39 +0100 Subject: [PATCH 09/13] gitignore: add src/config.log. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8c8784a26..048845bda 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,7 @@ MODULES Makefile src/autom4te.cache +src/config.log regressions/*.lsp regressions/eformat-tests/*.txt From 7229cfefc9d8bcb2f70e56f8d680bd5cf9993502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Thu, 5 Mar 2015 23:45:22 +0100 Subject: [PATCH 10/13] compilator: fixes issue #3 (regression on package :lapack). cmptype-arith.lsp: problem introduced in commit c0b23555c67c24c7ddb23bc2a0f2129754c2058a which added empty &optional clause and &allow-other-keys capability to typespec for values. Problem was, that multiple &optional keywords in typespec it considered error, while '(VALUES &OPTIONAL T &OPTIONAL T) should return as optional part, list (T &optional T) - even if it looks weird. --- src/cmp/cmptype-arith.lsp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cmp/cmptype-arith.lsp b/src/cmp/cmptype-arith.lsp index 7416bbe65..bceabf2c9 100644 --- a/src/cmp/cmptype-arith.lsp +++ b/src/cmp/cmptype-arith.lsp @@ -176,9 +176,9 @@ (when l (cmperr "Syntax error in type expression ~S" type))) (&optional - (when optional-flag - (cmperr "Syntax error in type expression ~S" type)) - (setf optional-flag t)) + (if optional-flag + (push typespec optional) + (setf optional-flag t))) (&rest (when (or (null l) (not (member (rest l) '(() (&allow-other-keys)) From 518264369ea3bf6f2061a876fa9a32145f7f0ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Fri, 6 Mar 2015 17:05:26 +0100 Subject: [PATCH 11/13] sombols-list: fix bogus entry for ext::make-encoding in symbols_list.h. Due to mistake, ext::make-encoding was pointing to si_make_encoding, but si_make_encoding was calling ext::make-encoding, what caused infinite recursion when building for windows, when codepage was different then Latin-1. --- src/c/symbols_list.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/c/symbols_list.h b/src/c/symbols_list.h index 5a5f64cd4..e4a5f2d66 100755 --- a/src/c/symbols_list.h +++ b/src/c/symbols_list.h @@ -1890,7 +1890,7 @@ cl_symbols[] = { {KEY_ "UCS-4LE", KEYWORD, NULL, -1, OBJNULL}, {EXT_ "LOAD-ENCODING", EXT_ORDINARY, NULL, -1, OBJNULL}, -{EXT_ "MAKE-ENCODING", EXT_ORDINARY, si_make_encoding, 1, OBJNULL}, +{EXT_ "MAKE-ENCODING", EXT_ORDINARY, NULL, -1, OBJNULL}, {EXT_ "ALL-ENCODINGS", EXT_ORDINARY, ECL_NAME(si_load_encoding), 1, OBJNULL}, {KEY_ "US-ASCII", KEYWORD, NULL, -1, OBJNULL}, From 52ec7243d70d7da9fb6db3555d583eec2e57154f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Sat, 7 Mar 2015 17:43:53 +0100 Subject: [PATCH 12/13] Release: bump version to 15.3.7. --- ANNOUNCEMENT | 16 +++++++++------- msvc/Makefile | 2 +- src/configure | 18 +++++++++--------- src/configure.ac | 2 +- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/ANNOUNCEMENT b/ANNOUNCEMENT index e599c7b9a..a61e0ef0c 100644 --- a/ANNOUNCEMENT +++ b/ANNOUNCEMENT @@ -35,21 +35,23 @@ Known issues quicklisp and have a C compiler accessible to ECL, you may use (ext:install-c-compiler) to switch back to the Lisp-to-C compiler. -Changes since 15.2.21 -===================== +15.3.7 changes since 15.2.21 +============================ * autoconf scripts are rewritten to support version 2.69 stack * direction is now correctly determined, so gcc 5.x builds should be -* possible broken --with-sse=yes build works now patch enabling +* broken --with-sse=yes configure flag works once again -* compilation of ECL under MSVC (2008/2010) stable-sort now works as - desired +* compilation of ECL under MSVC (2008/2010/2012) even with custom + code pages + +* stable-sort now works as desired -Changes since 13.5.1 -==================== +15.2.21 changes since 13.5.1 +============================ * Features coverity scan model, ffi-unload-module implementation, probably more. diff --git a/msvc/Makefile b/msvc/Makefile index c998d700c..ed4d47a7a 100755 --- a/msvc/Makefile +++ b/msvc/Makefile @@ -10,7 +10,7 @@ srcdir = ..\src SHORT_SITE_NAME = LONG_SITE_NAME = -ECL_VERSION = 15.3.7-rc1 +ECL_VERSION = 15.3.7 ECL_VERSION_NUMBER= 150307 ARCHITECTURE = PENTIUM4 SOFTWARE_TYPE = NT diff --git a/src/configure b/src/configure index 96382c556..8bf77b85c 100755 --- a/src/configure +++ b/src/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ecl 15.3.7-rc1. +# Generated by GNU Autoconf 2.69 for ecl 15.3.7. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -578,8 +578,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ecl' PACKAGE_TARNAME='ecl' -PACKAGE_VERSION='15.3.7-rc1' -PACKAGE_STRING='ecl 15.3.7-rc1' +PACKAGE_VERSION='15.3.7' +PACKAGE_STRING='ecl 15.3.7' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1365,7 +1365,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ecl 15.3.7-rc1 to adapt to many kinds of systems. +\`configure' configures ecl 15.3.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1434,7 +1434,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ecl 15.3.7-rc1:";; + short | recursive ) echo "Configuration of ecl 15.3.7:";; esac cat <<\_ACEOF @@ -1611,7 +1611,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ecl configure 15.3.7-rc1 +ecl configure 15.3.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2198,7 +2198,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ecl $as_me 15.3.7-rc1, which was +It was created by ecl $as_me 15.3.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -10062,7 +10062,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ecl $as_me 15.3.7-rc1, which was +This file was extended by ecl $as_me 15.3.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10124,7 +10124,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -ecl config.status 15.3.7-rc1 +ecl config.status 15.3.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/src/configure.ac b/src/configure.ac index 0aae39599..bc8d84ba7 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -8,7 +8,7 @@ dnl AUTOCONF configuration for ECL dnl Giuseppe Attardi 25.1.1994 dnl -AC_INIT([ecl],[15.3.7-rc1],[]) +AC_INIT([ecl],[15.3.7],[]) AC_REVISION([$Revision$]) AC_CONFIG_SRCDIR([bare.lsp.in]) AC_CONFIG_AUX_DIR([gmp]) From 4ff5921d7caae1ae7a9a8800aaba189bce544da2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Sat, 7 Mar 2015 17:51:41 +0100 Subject: [PATCH 13/13] symols_list2.h: build actualized this file after symbols_list.h --- src/c/symbols_list2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/c/symbols_list2.h b/src/c/symbols_list2.h index 70fdd1ae6..5d989ae31 100644 --- a/src/c/symbols_list2.h +++ b/src/c/symbols_list2.h @@ -1890,7 +1890,7 @@ cl_symbols[] = { {KEY_ "UCS-4LE",NULL}, {EXT_ "LOAD-ENCODING",NULL}, -{EXT_ "MAKE-ENCODING","si_make_encoding"}, +{EXT_ "MAKE-ENCODING",NULL}, {EXT_ "ALL-ENCODINGS","ECL_NAME(si_load_encoding)"}, {KEY_ "US-ASCII",NULL},