*** empty log message ***
authorRob Browning <rlb@defaultvalue.org>
Tue, 25 Mar 2003 23:55:48 +0000 (23:55 +0000)
committerRob Browning <rlb@defaultvalue.org>
Tue, 25 Mar 2003 23:55:48 +0000 (23:55 +0000)
.cvsignore
ChangeLog
NEWS
libguile/gdbint.c

index e9d4915..1a63a43 100644 (file)
@@ -1,7 +1,3 @@
-depcomp
-install-sh
-missing
-mkinstalldirs
 BUGS
 Makefile
 Makefile.in
@@ -10,6 +6,7 @@ autom4te.cache
 benchmark-guile
 check-guile
 check-guile.log
+confdefs.h
 config.build-subdirs
 config.cache
 config.guess
@@ -19,10 +16,16 @@ config.log
 config.status
 config.sub
 configure
+conftest
+conftest.c
+depcomp
 guile-*.tar.gz
 guile-tools
+install-sh
 libtool
 ltconfig
 ltmain.sh
+missing
+mkinstalldirs
 pre-inst-guile
 stamp-h1
index 5d010d2..a8533cf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,59 @@
+2003-03-25  Rob Browning  <rlb@defaultvalue.org>
+
+       * configure.in: big overhaul to shift us to have separate private,
+       config.h, and public, scmconfig.h, configuration headers.  Added a
+       fair amount of code to track down new required types: scm_t_uint8,
+       scm_t_uint16, scm_t_uint32, scm_t_int8, scm_t_int16, scm_t_int32,
+       and to detect optional types scm_t_uint64, scm_t_in64, long long,
+       unsigned long long, scm_t_ptrdiff, intptr_t, and uintptr_t.
+       (SCM_I_GSC_T_PTRDIFF): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_NEEDS_INTTYPES_H): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_NEEDS_STDINT_H): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_T_UINT8): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_T_UINT16): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_T_UINT32): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_T_UINT64): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_T_INT8): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_T_INT16): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_T_INT32): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_T_INT64): gen-scmconfig.h.in AC_SUBST var.
+       (USE_PTHREAD_THREADS): removed - handled by gen-scmconfig.c.
+       (USE_NULL_THREADS): removed - handled by gen-scmconfig.c.
+       (USE_COOP_THREADS): removed - handled by gen-scmconfig.c.
+       (SCM_I_GSC_USE_PTHREAD_THREADS): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_USE_NULL_THREADS): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_USE_COOP_THREADS): gen-scmconfig.h.in AC_SUBST var.
+       (STACK_GROWS_UP): removed - handled by gen-scmconfig.c.
+       (SCM_I_GSC_STACK_GROWS_UP): gen-scmconfig.h.in AC_SUBST var.
+       (GUILE_DEBUG_FREELIST): removed - handled by gen-scmconfig.c.
+       (SCM_I_GSC_GUILE_DEBUG_FREELIST): gen-scmconfig.h.in AC_SUBST var.
+       (GUILE_DEBUG): removed - handled by gen-scmconfig.c.
+       (SCM_I_GSC_GUILE_DEBUG): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_ENABLE_DEPRECATED): removed - handled by gen-scmconfig.c.
+       (SCM_I_GSC_ENABLE_DEPRECATED): gen-scmconfig.h.in AC_SUBST var.
+       (HAVE_ARRAYS): removed - handled by gen-scmconfig.c.
+       (SCM_I_GSC_HAVE_ARRAYS): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_ENABLE_ELISP): removed - handled by gen-scmconfig.c.
+       (SCM_I_GSC_ENABLE_ELISP): gen-scmconfig.h.in AC_SUBST var.
+       (SCM_I_GSC_C_INLINE): gen-scmconfig.h.in AC_SUBST var.
+       (DEBUG_EXTENSIONS): removed - handled by gen-scmconfig.c.
+       (READER_EXTENSIONS): removed - handled by gen-scmconfig.c.
+       (USE_THREADS): removed - handled by gen-scmconfig.c.
+       (GUILE_ISELECT): removed - handled by gen-scmconfig.c.
+       (DYNAMIC_LINKING): removed - handled by gen-scmconfig.c.
+
+       * README: merge information from INSTALL and remove at least some
+       of the stale bits.
+
+       * LICENSE: new file -- we should change this to the LGPL soon and
+       add COPYING.LIB to the distribution.
+
+       * autogen.sh: call autoreconf with --force.  This may fix the
+       "order" problem below without having to have two calls.
+
+       * INSTALL: use the automake installed INSTALL file.  The Guile
+       specific instructions are now in README.
+
 2003-03-21  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
 
        * autogen.sh: Invoke autoreconf twice since the required files do
diff --git a/NEWS b/NEWS
index 475e565..1511eba 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,12 +3,34 @@ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Found
 See the end for copying conditions.
 
 Please send Guile bug reports to bug-guile@gnu.org.
+
+Each release reports the NEWS in the following sections:
+
+* Changes to the distribution
+* Changes to the stand-alone interpreter
+* Changes to Scheme functions and syntax
+* Changes to the C interface 
+
 \f
 Changes since the stable branch:
 
 * Changes to the distribution
 
-** Guile now provide and uses an "effective" version number.
+** Guile now has separate private and public configuration headers.
+
+Guile now has config.h and libguile/scmconfig.h.  The former is not
+installed and is private.  The latter is installed and used by Guile's
+public headers.  config.h is generated by configure and autoheader,
+and scmconfig.h is generated by a small C program, gen-scmconfig at
+build time based in part on the contents of config.h.
+
+Seen libguile/__scm.h and gen-scmconfig.c for more information.
+
+** The INSTALL file is now the generic automake installed one.
+
+Guile specific instructions can be found in the README.
+
+** Guile now provides and uses an "effective" version number.
 
 Guile now provides scm_effective_version and effective-version
 functions which return the "effective" version number.  This is just
@@ -432,6 +454,177 @@ There is no replacement for undefine.
 
 * Changes to the C interface
 
+** Many public #defines with generic names have been made private.
+
+#defines with generic names like HAVE_FOO or SIZEOF_FOO have been made
+private or renamed with a more suitable public name.  See below for
+the ones which have been renamed.
+
+** HAVE_STDINT_H and HAVE_INTTYPES_H have removed from public use.
+
+HAVE_STDINT_H and HAVE_INTTYPES_H removed from public use.  These are
+no longer needed since the older uses of stdint.h and inttypes.h are
+now handled by configure.in and gen-scmconfig.c.
+
+** USE_DLL_IMPORT is no longer defined publically.
+
+gen-scmconfig now uses it to decide what contents to place in the
+public scmconfig.h header without adding the USE_DLL_IMPORT itself.
+
+** HAVE_LIMITS_H has been removed from public use.
+
+gen-scmconfig now just uses HAVE_LIMITS_H to decide whether or not to
+add a limits.h include in scmconfig.h.
+
+** time.h, sys/time.h, etc. #ifdefery has been removed from public headers.
+
+gen-scmconfig now just uses the same logic to decide what time related
+#includes to add to scmconfig.h.
+
+** HAVE_STRUCT_TIMESPEC has been removed from public use.
+
+scmconfig.h now just defines scm_t_timespec.
+
+** HAVE_PTRDIFF has been removed from public use and Guile doesn't
+   define ptrdiff_t.
+
+Guile now publically defines scm_t_ptrdiff and
+SCM_SIZEOF_SCM_T_PTRDIFF in scmconfig.h, and all occurrences of
+ptrdiff_t have been replaced with scm_t_ptrdiff.
+
+Guile defines its own type this rather than just relying on ptrdiff_t
+and SCM_SIZEOF_PTRDIFF_T because Guile actually typedefs long to
+scm_t_ptrdiff when ptrdiff_t isn't available.  A public "typedef long
+ptrdiff_t" could conflict with other headers.
+
+** HAVE_UINTPTR_T and HAVE_UINTPTR_T have been removed from public use.
+
+They are replaced by public definitions of SCM_SIZEOF_UINTPTR_T and
+SCM_SIZEOF_INTPTR_T.  These are defined to 0 if the corresponding type
+is not available.
+
+** The public #define STDC_HEADERS has been renamed to SCM_HAVE_STDC_HEADERS.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define HAVE_SYS_SELECT has been renamed to
+   SCM_HAVE_SYS_SELECT_H.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define HAVE_FLOATINGPOINT_H has been renamed to
+   SCM_HAVE_FLOATINGPOINT_H.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define HAVE_IEEEFP_H has been renamed to SCM_HAVE_IEEEFP_H.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define HAVE_NAN_H has been renamed to SCM_HAVE_NAN_H.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define HAVE_WINSOCK2_H has been renamed to SCM_HAVE_WINSOCK2_H.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define HAVE_ARRAYS has been renamed to SCM_HAVE_ARRAYS.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define STACK_GROWS_UP has been renamed to SCM_STACK_GROWS_UP.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define USE_PTHREAD_THREADS has been renamed to
+   SCM_USE_PTHREAD_THREADS.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define USE_NULL_THREADS has been renamed to
+   SCM_USE_NULL_THREADS.
+
+The previous name was too generic for the global public namespace.
+
+** The public #define USE_COOP_THREADS has been renamed to
+   SCM_USE_COOP_THREADS.
+
+The previous name was too generic for the global public namespace.
+
+** SCM_C_INLINE is publically defined if possible.
+
+If the platform has a way to define inline functions, SCM_C_INLINE
+will be defined to that text.  Otherwise it will be undefined.  This
+is a little bit different than autoconf's normal handling of the
+inline define via AC_C_INLINE.
+
+** Guile now publically defines some basic type infrastructure.
+
+Guile always defines
+
+  SCM_SIZEOF_CHAR
+  SCM_SIZEOF_UNSIGNED_CHAR
+  SCM_SIZEOF_SHORT
+  SCM_SIZEOF_UNSIGNED_SHORT
+  SCM_SIZEOF_LONG
+  SCM_SIZEOF_UNSIGNED_LONG
+  SCM_SIZEOF_INT
+  SCM_SIZEOF_UNSIGNED_INT
+  SCM_SIZEOF_LONG_LONG /* defined to 0 if type not available */
+  SCM_SIZEOF_UNSIGNED_LONG_LONG /* defined to 0 if type not available */
+
+  scm_t_int8
+  scm_t_uint8
+  scm_t_int16
+  scm_t_uint16
+  scm_t_int32
+  scm_t_uint32
+
+Guile always defines
+
+  SCM_HAVE_T_INT64
+  SCM_HAVE_T_UINT64
+
+and when either of these are defined to 1, optionally defines 
+
+  scm_t_int64
+  scm_t_uint64
+
+respectively.
+
+Guile always defines
+
+  scm_t_timespec
+
+** The preprocessor define USE_THREADS has been deprecated.
+
+Going forward, assume that the thread API is always present.
+
+** The preprocessor define GUILE_ISELECT has been deprecated.
+
+Going forward, assume that scm_internal_select is always present.
+
+** The preprocessor define READER_EXTENSIONS has been deprecated.
+
+Going forward, assume that the features represented by
+READER_EXTENSIONS are always present.
+
+** The preprocessor define DEBUG_EXTENSIONS has been deprecated.
+
+Going forward, assume that the features represented by
+DEBUG_EXTENSIONS are always present.
+
+** The preprocessor define DYNAMIC_LINKING has been deprecated.
+
+Going forward, assume that the features represented by
+DYNAMIC_LINKING are always present.
+
+** The preprocessor define STACK_DIRECTION has been deprecated.
+
+There should be no need to know about the stack direction for ordinary
+programs.  (Do not use.)
+
 ** New function: scm_effective_version
 
 Returns the "effective" version number.  This is just the normal full
index 5cfe073..e5a2ed0 100644 (file)
@@ -43,7 +43,9 @@
  * The author can be reached at djurfeldt@nada.kth.se
  * Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN */
 
-
+#if HAVE_CONFIG_H
+#  include <config.h>
+#endif
 
 #include "libguile/_scm.h"