merge from 1.8 branch
authorKevin Ryde <user42@zip.com.au>
Mon, 17 Apr 2006 00:18:11 +0000 (00:18 +0000)
committerKevin Ryde <user42@zip.com.au>
Mon, 17 Apr 2006 00:18:11 +0000 (00:18 +0000)
15 files changed:
ANNOUNCE
ChangeLog
INSTALL
Makefile.am
NEWS
README
THANKS
am/Makefile.am
am/maintainer-dirs
am/pre-inst-guile
configure.in
guile-tools.in
libguile.h
pre-inst-guile-env.in
pre-inst-guile.in

index e3feb7c..89d8cbd 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,31 +1,30 @@
-We are pleased to announce the release of Guile 1.7.2.  This is a
-'technology preview' for the upcoming Guile 1.8.  It can be found
-here:
+We are pleased to announce the release of Guile 1.8.0.  It can be
+found here:
 
-    ftp://alpha.gnu.org/gnu/guile/guile-1.7.2.tar.gz
+    ftp://ftp.gnu.org/gnu/guile/guile-1.8.0.tar.gz
 
-Its MD5 checksum is
+Its SHA1 checksum is
 
-    7fabb64198993e971f65a27846202388  guile-1.7.2.tar.gz
+    22462680feeda1e5400195c01dee666162503d66  guile-1.8.0.tar.gz
 
-This version is guaranteed to contain serious bugs, and the publically
-visible interfaces will almost certainly change before 1.8 is
-released.  The 1.7 releases might be termed "selected snapshots".
+We already know about some issues with 1.8.0, please check the mailing
+lists:
 
-Specifically, libguile has not yet been reviewed for thread-safeness.
+    http://www.gnu.org/software/guile/mail/mail.html
 
-We are releasing it anyway to start testing the new features, and to
-get feedback about how well Guile actually behaves in a multi-threaded
-setting.
+The NEWS file is quite long.  Here are the most interesting entries:
 
-The shared library major versions have been bumped compared to the 1.6
-series, but they will not be bumped on binary incompatible changes
-within the 1.7 series.
+  Changes since 1.6:
 
+  * Guile is now licensed with the GNU Lesser General Public License.
 
-The NEWS file is quite long.  Here are the most interesting entries:
+  * The manual is now licensed with the GNU Free Documentation License.
+
+  * We now use GNU MP for bignums.
 
-  Changes since 1.7.1:
+  * We now have exact rationals, such as 1/3.
+
+  * We now use native POSIX threads for real concurrent threads.
 
   * There is a new way to initalize Guile that allows one to use Guile
     from threads that have not been created by Guile.
@@ -35,6 +34,23 @@ The NEWS file is quite long.  Here are the most interesting entries:
 
   * The low-level thread API has been removed.
 
+  * There is now support for copy-on-write substrings and
+    mutation-sharing substrings.
+
+  * A new family of functions for converting between C values and
+    Scheme values has been added that is future-proof and thread-safe.
+
+  * The INUM macros like SCM_MAKINUM have been deprecated.
+
+  * The macros SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_LENGTH,
+    SCM_SYMBOL_CHARS, and SCM_SYMBOL_LENGTH have been deprecated.
+
+  * There is a new way to deal with non-local exits and re-entries in
+    C code, which is nicer than scm_internal_dynamic_wind.
+
+  * There are new malloc-like functions that work better than
+    scm_must_malloc, etc.
+
   * There is a new way to access all kinds of vectors and arrays from
     C that is efficient and thread-safe.
 
index 592cb2b..926064e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,43 @@
+2006-04-16  Kevin Ryde  <user42@zip.com.au>
+
+       * configure.in (stat64, off_t): New tests.
+
+2006-03-31  Kevin Ryde  <user42@zip.com.au>
+
+       * configure.in (socklen_t): Enhance test for this type, coping with
+       need for <sys/socket.h> on MacOS X.  Reported by Michael Tuexen and
+       Jay Cotton.
+
+2006-03-26  Marius Vollmer  <mvo@zagadka.de>
+
+       * configure.in: Added check that defines
+       PTHREAD_ATTR_GETSTACK_WORKS when pthread_attr_getstack works for
+       the main thread.
+
+2006-02-26  Kevin Ryde  <user42@zip.com.au>
+
+       * configure.in (AC_CHECK_FUNCS): Add dirfd.
+
+2006-02-20  Marius Vollmer  <mvo@zagadka.de>
+
+       Released 1.8.0.
+
+       * GUILE-VERSION: Set version.
+
 2006-02-06  Marius Vollmer  <mvo@zagadka.de>
 
        * GUILE-VERSION: Bumped versions for 1.9 series.
 
        * configure.in: Removed --enable-arrays option.
 
+2006-02-06  Marius Vollmer  <mvo@zagadka.de>
+
+       Branched for 1.8 series.
+
+       * GUILE-VERSION: Bumped version numbers.
+       
+       * configure.in: Removed --enable-arrays option.
+
 2005-12-14  Neil Jerram  <neil@ossau.uklinux.net>
 
        * NEWS: Remove entry claiming that breakpoints have been added,
diff --git a/INSTALL b/INSTALL
index 56b077d..23e5f25 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -102,16 +102,16 @@ for another architecture.
 Installation Names
 ==================
 
-By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PREFIX'.
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PREFIX', the package will
-use PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
 options like `--bindir=DIR' to specify different values for particular
@@ -159,7 +159,7 @@ where SYSTEM can have one of these forms:
 need to know the machine type.
 
    If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
+use the option `--target=TYPE' to select the type of system they will
 produce code for.
 
    If you want to _use_ a cross compiler, that generates code for a
index 6612579..a4da850 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in.
 ##
-##     Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+##     Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006 Free Software Foundation, Inc.
 ##
 ##   This file is part of GUILE.
 ##
diff --git a/NEWS b/NEWS
index d09bea9..d96a2f2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
 Guile NEWS --- history of user-visible changes.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send Guile bug reports to bug-guile@gnu.org.
@@ -12,6 +12,13 @@ Each release reports the NEWS in the following sections:
 * Changes to the C interface 
 
 \f
+Changes in 1.8.1:
+
+* Bug fixes.
+** array-set! with bit vector.
+** string<? and friends follow char<? etc order on 8-bit chars.
+
+\f
 Changes since the 1.6.x series:
 
 * Changes to the distribution
@@ -7049,7 +7056,7 @@ Until then, gtcltk-lib provides trivial, low-maintenance functionality.
 \f
 Copyright information:
 
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2006 Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
diff --git a/README b/README
index c0d292f..6e66345 100644 (file)
--- a/README
+++ b/README
@@ -77,7 +77,7 @@ If you run the configure script with no arguments, it should examine
 your system and set things up appropriately.  However, there are a few
 switches specific to Guile you may find useful in some circumstances.
 
---with-threads  ---  Build with thread support
+--without-threads  ---  Build without thread support
 
   Build a Guile executable and library that supports multi-threading.
 
@@ -193,7 +193,6 @@ switches specific to Guile you may find useful in some circumstances.
   number of objects of that kind.
 
 --enable-guile-debug  ---  Include internal debugging functions
---disable-arrays      ---  omit array and uniform array support
 --disable-posix       ---  omit posix interfaces
 --disable-networking  ---  omit networking interfaces
 --disable-regex       ---  omit regular expression interfaces
diff --git a/THANKS b/THANKS
index 6d464d6..4ddde9c 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -42,9 +42,11 @@ For fixes or providing information which led to a fix:
        Wolfgang Jaehrling
          Aubrey Jaffer
            Paul Jarc
+          Steve Juranich
         Richard Kim
           Bruce Korb
        Matthias Köppe
+           Matt Kraai
            Jeff Long
         Han-Wen Nienhuys
             Jan Nieuwenhuizen
index 1aa2985..5702f14 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with Automake to create Makefile.in
 ##
-##     Copyright (C) 2002 Free Software Foundation, Inc.
+##     Copyright (C) 2002, 2006 Free Software Foundation, Inc.
 ##
 ##   This file is part of GUILE.
 ##
index f72e857..c64268d 100644 (file)
@@ -1,6 +1,6 @@
 ## am/maintainer-dirs --- define workbook and mscripts vars
 
-##     Copyright (C) 2002 Free Software Foundation
+##     Copyright (C) 2002, 2006 Free Software Foundation
 ##
 ##   This file is part of GUILE.
 ##
index 7594969..c1a7407 100644 (file)
@@ -1,6 +1,6 @@
 ## am/pre-inst-guile --- define preinstguile and preinstguiletool vars
 
-##     Copyright (C) 2002 Free Software Foundation
+##     Copyright (C) 2002, 2006 Free Software Foundation
 ##
 ##   This file is part of GUILE.
 ##
index cd9e34e..9146daa 100644 (file)
@@ -4,7 +4,7 @@ dnl
 
 define(GUILE_CONFIGURE_COPYRIGHT,[[
 
-Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 This file is part of GUILE
 
@@ -241,6 +241,7 @@ AC_CHECK_SIZEOF(intptr_t)
 AC_CHECK_SIZEOF(uintptr_t)
 AC_CHECK_SIZEOF(ptrdiff_t)
 AC_CHECK_SIZEOF(size_t)
+AC_CHECK_SIZEOF(off_t)
 
 if test "$ac_cv_sizeof_long" -ne "$ac_cv_sizeof_void_p"; then
   AC_MSG_ERROR(sizes of long and void* are not identical)
@@ -515,9 +516,6 @@ AC_SUBST([SCM_I_GSC_T_UINTMAX])
 AC_SUBST([SCM_I_GSC_NEEDS_STDINT_H])
 AC_SUBST([SCM_I_GSC_NEEDS_INTTYPES_H])
 
-AC_CHECK_TYPE(socklen_t, int)
-AC_CHECK_TYPE(struct ip_mreq)
-
 AC_HEADER_STDC
 AC_HEADER_DIRENT
 AC_HEADER_TIME
@@ -532,6 +530,18 @@ sys/time.h sys/timeb.h sys/times.h sys/stdtypes.h sys/types.h \
 sys/utime.h time.h unistd.h utime.h pwd.h grp.h sys/utsname.h \
 direct.h])
 
+# On MacOS X <sys/socklen.h> contains socklen_t, so must include that
+# when testing.
+AC_CHECK_TYPE(socklen_t, ,
+  [AC_DEFINE_UNQUOTED(socklen_t, int,
+                      [Define to `int' if <sys/socket.h> does not define.])],
+  [#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#include <sys/socket.h>
+])
+AC_CHECK_TYPE(struct ip_mreq)
+
 GUILE_HEADER_LIBC_WITH_UNISTD
 
 AC_TYPE_GETGROUPS
@@ -584,10 +594,11 @@ AC_CHECK_HEADERS([assert.h crt_externs.h])
 #   fesetround - available in C99, but not older systems
 #   gmtime_r - recent posix, not on old systems
 #   readdir_r - recent posix, not on old systems
+#   stat64 - SuS largefile stuff, not on old systems
 #   sysconf - not on old systems
 #   _NSGetEnviron - Darwin specific
 #
-AC_CHECK_FUNCS([DINFINITY DQNAN ctermid fesetround ftime fchown getcwd geteuid gettimeofday gmtime_r lstat mkdir mknod nice readdir_r readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction siginterrupt strftime strptime symlink sync sysconf tcgetpgrp tcsetpgrp times uname waitpid strdup system usleep atexit on_exit chown link fcntl ttyname getpwent getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp index bcopy memcpy rindex unsetenv _NSGetEnviron])
+AC_CHECK_FUNCS([DINFINITY DQNAN ctermid fesetround ftime fchown getcwd geteuid gettimeofday gmtime_r lstat mkdir mknod nice readdir_r readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction siginterrupt stat64 strftime strptime symlink sync sysconf tcgetpgrp tcsetpgrp times uname waitpid strdup system usleep atexit on_exit chown link fcntl ttyname getpwent getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp index bcopy memcpy rindex unsetenv _NSGetEnviron])
 
 # Reasons for testing:
 #   netdb.h - not in mingw
@@ -864,9 +875,10 @@ AC_CHECK_HEADERS(floatingpoint.h ieeefp.h nan.h)
 # Reasons for testing:
 #   asinh, acosh, atanh, trunc - C99 standard, generally not available on
 #                                older systems
+#   dirfd - mainly BSD derived, not in older systems
 #   sincos - GLIBC extension
 #
-AC_CHECK_FUNCS(asinh acosh atanh copysign finite sincos trunc)
+AC_CHECK_FUNCS(asinh acosh atanh copysign dirfd finite sincos trunc)
 
 # C99 specifies isinf and isnan as macros.
 # HP-UX provides only macros, no functions.
@@ -1025,6 +1037,44 @@ esac
 AC_MSG_CHECKING(what kind of threads to support)
 AC_MSG_RESULT($with_threads)
 
+## Check whether pthread_attr_getstack works for the main thread
+
+AC_MSG_CHECKING(whether pthread_attr_getstack works for the main thread)
+old_CFLAGS="$CFLAGS"
+CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
+AC_TRY_RUN(
+[
+#if HAVE_PTHREAD_ATTR_GETSTACK
+#include <pthread.h>
+
+int main ()
+{
+  pthread_attr_t attr;
+  void *start, *end;
+  size_t size;
+
+  pthread_getattr_np (pthread_self (), &attr);
+  pthread_attr_getstack (&attr, &start, &size);
+  end = (char *)start + size;
+
+  if ((void *)&attr < start || (void *)&attr >= end)
+    return 1;
+  else
+    return 0;
+}
+#else
+int main ()
+{
+  return 1;
+}
+#endif
+],
+[works=yes
+AC_DEFINE(PTHREAD_ATTR_GETSTACK_WORKS, [1], [Define when pthread_att_get_stack works for the main thread])],
+[works=no])
+CFLAGS="$old_CFLAGS"
+AC_MSG_RESULT($works)
+
 ## Cross building      
 if test "$cross_compiling" = "yes"; then
   AC_MSG_CHECKING(cc for build)
index a594857..a4db08f 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#      Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+#      Copyright (C) 2001, 2003, 2006 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License as
index 3703aad..48f69fb 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef SCM_LIBGUILE_H
 #define SCM_LIBGUILE_H
 
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
  * 
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
index b5ab0e7..e152906 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#      Copyright (C) 2003 Free Software Foundation
+#      Copyright (C) 2003, 2006 Free Software Foundation
 #
 #   This file is part of GUILE.
 #
index 5c47b34..ea8e4b1 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#      Copyright (C) 2002 Free Software Foundation
+#      Copyright (C) 2002, 2006 Free Software Foundation
 #
 #   This file is part of GUILE.
 #