guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-3-31-g76e


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-3-31-g76e8a75
Date: Wed, 23 Sep 2009 22:10:40 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=76e8a7588c7cdbdfe96be81366fe9ef43960423f

The branch, master has been updated
       via  76e8a7588c7cdbdfe96be81366fe9ef43960423f (commit)
       via  297273e422ac2b382f6e289b9df5cf9c28b39fa6 (commit)
       via  d773ba231ce0c8d2c16a50d3449c74c60e0b4921 (commit)
       via  ec370c6ffb560a718280e906c193dcc912923059 (commit)
      from  27f3413eb8f505b8cab8850ea2f35139ea5707d2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 76e8a7588c7cdbdfe96be81366fe9ef43960423f
Author: Ludovic Courtès <address@hidden>
Date:   Thu Sep 24 00:04:37 2009 +0200

    Move "-z relro" out of $LDFLAGS so it's not in `guile-2.0.pc'.
    
    * acinclude.m4 (GUILE_GNU_LD_RELRO): Substitute `GNU_LD_FLAGS'.
    
    * libguile/Makefile.am (libguile_la_LDFLAGS): Add $(GNU_LD_FLAGS).
    
    * srfi/Makefile.am (AM_LDFLAGS): New.

commit 297273e422ac2b382f6e289b9df5cf9c28b39fa6
Author: Ludovic Courtès <address@hidden>
Date:   Wed Sep 23 22:45:07 2009 +0200

    Have `guile-config' close over `pkg-config' and $(pkgconfigdir).
    
    * meta/Makefile.am (guile-config): New target.
      (EXTRA_DIST): Add `guile-config.in'.
    
    * meta/guile-config.in: New, formerly `guile-config'.  Use the right
      installed `guile', with the right $PKG_CONFIG_PATH.  Disable
      auto-compilation.
      (%pkg-config-program): New variable.
      (pkg-config): Use it.

commit d773ba231ce0c8d2c16a50d3449c74c60e0b4921
Author: Ludovic Courtès <address@hidden>
Date:   Wed Sep 23 22:13:09 2009 +0200

    Partially revert e5f5113c21f396705d7479a570c96690135c9d36.
    
    The intent is to maintain the readability of `pmatch' invocations.
    
    * module/language/assembly/disassemble.scm (disassemble-load-program):
      Don't use wildcards in `pmatch' invocations, even when the matched
      elements are unused.
    
    * module/language/glil/decompile-assembly.scm (decompile-toplevel,
      decompile-load-program): Likewise.
    
    * module/system/xref.scm (program-callee-rev-vars): Likewise.
    
    * module/language/assembly.scm (byte-length): Likewise.
    
    * module/language/tree-il/compile-glil.scm (flatten): Likewise.

commit ec370c6ffb560a718280e906c193dcc912923059
Author: Ludovic Courtès <address@hidden>
Date:   Wed Sep 23 22:04:55 2009 +0200

    Reinstate backward-compatible `scm_array_p ()'.
    
    * libguile/generalized-arrays.c (scm_array_p_2): New, formerly
      `scm_array_p ()'.
      (scm_array_p): Add second argument, for compatibility with 1.8 and
      earlier and to match what the doc says and what `SCM_VALIDATE_ARRAY'
      expects.
    
    * libguile/generalized-arrays.h (scm_array_p_2): New.
      (scm_array_p): Adjust.

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                                  |    1 +
 acinclude.m4                                |   12 +++++++++---
 libguile/Makefile.am                        |    6 +++++-
 libguile/generalized-arrays.c               |   14 ++++++++++++--
 libguile/generalized-arrays.h               |    3 ++-
 meta/Makefile.am                            |   12 +++++++++++-
 meta/{guile-config => guile-config.in}      |   12 +++++++++---
 module/language/assembly.scm                |    2 +-
 module/language/assembly/disassemble.scm    |    2 +-
 module/language/glil/decompile-assembly.scm |    4 ++--
 module/language/tree-il/compile-glil.scm    |    6 +++---
 module/system/xref.scm                      |    2 +-
 srfi/Makefile.am                            |    3 ++-
 13 files changed, 59 insertions(+), 20 deletions(-)
 rename meta/{guile-config => guile-config.in} (95%)

diff --git a/.gitignore b/.gitignore
index 8754b48..ffaebb4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -113,3 +113,4 @@ INSTALL
 /GSYMS
 /GTAGS
 /meta/guile-tools
+/meta/guile-config
diff --git a/acinclude.m4 b/acinclude.m4
index edabf24..1b836cc 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -317,16 +317,22 @@ dnl Check whether GNU ld's read-only relocations (the 
`PT_GNU_RELRO'
 dnl ELF segment header) are supported.  This allows things like
 dnl statically allocated cells (1) to eventually be remapped read-only
 dnl by the loader, and (2) to be identified as pointerless by the
-dnl garbage collector.
+dnl garbage collector.  Substitute `GNU_LD_FLAGS' with the relevant
+dnl flags.
 AC_DEFUN([GUILE_GNU_LD_RELRO], [
   AC_MSG_CHECKING([whether the linker understands `-z relro'])
 
+  GNU_LD_FLAGS="-Wl,-z -Wl,relro"
+
   save_LDFLAGS="$LDFLAGS"
-  LDFLAGS="$LDFLAGS -Wl,-z -Wl,relro"
+  LDFLAGS="$LDFLAGS $GNU_LD_FLAGS"
   AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
     [AC_MSG_RESULT([yes])],
     [AC_MSG_RESULT([no])
-     LDFLAGS="$save_LDFLAGS"])
+     GNU_LD_FLAGS=""])
+  LDFLAGS="$save_LDFLAGS"
+
+  AC_SUBST([GNU_LD_FLAGS])
 ])
 
 dnl GUILE_READLINE
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index 8f4b976..acb26d9 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -433,7 +433,11 @@ noinst_HEADERS += vm-engine.c vm-i-system.c vm-i-scheme.c 
vm-i-loader.c
 
 libguile_la_DEPENDENCIES = @LIBLOBJS@
 libguile_la_LIBADD = @LIBLOBJS@ $(gnulib_library) $(LTLIBGMP) $(LTLIBUNISTRING)
-libguile_la_LDFLAGS = @LTLIBINTL@ -version-info 
@LIBGUILE_INTERFACE_CURRENT@:@LIBGUILE_INTERFACE_REVISION@:@LIBGUILE_INTERFACE_AGE@
 -export-dynamic -no-undefined
+libguile_la_LDFLAGS =                                                  \
+  @LTLIBINTL@                                                          \
+  -version-info 
@LIBGUILE_INTERFACE_CURRENT@:@LIBGUILE_INTERFACE_REVISION@:@LIBGUILE_INTERFACE_AGE@
    \
+  -export-dynamic -no-undefined                                                
\
+  $(GNU_LD_FLAGS)
 
 if HAVE_LD_VERSION_SCRIPT
 
diff --git a/libguile/generalized-arrays.c b/libguile/generalized-arrays.c
index 6394405..13f66fd 100644
--- a/libguile/generalized-arrays.c
+++ b/libguile/generalized-arrays.c
@@ -39,8 +39,8 @@ scm_is_array (SCM obj)
   return scm_i_array_implementation_for_obj (obj) ? 1 : 0;
 }
 
-SCM_DEFINE (scm_array_p, "array?", 1, 0, 0,
-           (SCM obj),
+SCM_DEFINE (scm_array_p_2, "array?", 1, 0, 0,
+           (SCM obj),
            "Return @code{#t} if the @var{obj} is an array, and @code{#f} if\n"
            "not.")
 #define FUNC_NAME s_scm_array_p
@@ -49,6 +49,16 @@ SCM_DEFINE (scm_array_p, "array?", 1, 0, 0,
 }
 #undef FUNC_NAME
 
+/* The array type predicate, with an extra argument kept for backward
+   compatibility.  Note that we can't use `SCM_DEFINE' directly because there
+   would be an argument count mismatch that would be caught by
+   `snarf-check-and-output-texi.scm'.  */
+SCM
+scm_array_p (SCM obj, SCM unused)
+{
+  return scm_array_p_2 (obj);
+}
+
 int
 scm_is_typed_array (SCM obj, SCM type)
 {
diff --git a/libguile/generalized-arrays.h b/libguile/generalized-arrays.h
index cc7214e..1f9b6ad 100644
--- a/libguile/generalized-arrays.h
+++ b/libguile/generalized-arrays.h
@@ -35,7 +35,8 @@
 /** Arrays */
 
 SCM_API int scm_is_array (SCM obj);
-SCM_API SCM scm_array_p (SCM v);
+SCM_API SCM scm_array_p (SCM v, SCM unused);
+SCM_INTERNAL SCM scm_array_p_2 (SCM);
 
 SCM_API int scm_is_typed_array (SCM obj, SCM type);
 SCM_API SCM scm_typed_array_p (SCM v, SCM type);
diff --git a/meta/Makefile.am b/meta/Makefile.am
index 34e7f2c..8933287 100644
--- a/meta/Makefile.am
+++ b/meta/Makefile.am
@@ -24,7 +24,7 @@ bin_SCRIPTS = guile-config guile-tools
 EXTRA_DIST= $(bin_SCRIPTS)                     \
   guile.m4 ChangeLog-2008                      \
   guile-2.0.pc.in guile-2.0-uninstalled.pc.in  \
-  guile-tools.in
+  guile-tools.in guile-config.in
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = guile-2.0.pc
@@ -33,3 +33,13 @@ pkgconfig_DATA = guile-2.0.pc
 ## doing this.  When that happens, switch over.
 aclocaldir = $(datadir)/aclocal
 aclocal_DATA = guile.m4
+
+guile-config: guile-config.in
+       guile="@bindir@/`echo guile | $(SED) -e '$(program_transform_name)'`" ; 
\
+       cat guile-config.in                                                     
\
+       | $(SED) -e "s,@pkgconfigdir@,$(pkgconfigdir),g ;                       
\
+                    s,@""PKG_CONFIG@,$(PKG_CONFIG),g ;                         
\
+                    s,@installed_guile@,$$guile,g"                             
\
+       > guile-config.out
+       mv guile-config.out guile-config
+       chmod +x guile-config
diff --git a/meta/guile-config b/meta/guile-config.in
similarity index 95%
rename from meta/guile-config
rename to meta/guile-config.in
index 6c640c4..0226f68 100755
--- a/meta/guile-config
+++ b/meta/guile-config.in
@@ -1,5 +1,9 @@
 #!/bin/sh
-exec guile -e main -s $0 "$@"
+PKG_CONFIG_PATH="@pkgconfigdir@:$PKG_CONFIG_PATH"
+GUILE_AUTO_COMPILE=0
+export PKG_CONFIG_PATH GUILE_AUTO_COMPILE
+
+exec "@installed_guile@" -e main -s $0 "$@"
 !#
 ;;;; guile-config --- utility for linking programs with Guile
 ;;;; Jim Blandy <address@hidden> --- September 1997
@@ -27,6 +31,8 @@ exec guile -e main -s $0 "$@"
              (ice-9 rdelim))
 
 
+(define %pkg-config-program "@PKG_CONFIG@")
+
 ;;;; main function, command-line processing
 
 ;;; The script's entry point.
@@ -74,7 +80,7 @@ exec guile -e main -s $0 "$@"
 (define guile-module "guile-2.0")
 
 (define (pkg-config . args)
-  (let* ((real-args (cons "pkg-config" args))
+  (let* ((real-args (cons %pkg-config-program args))
          (pipe (apply open-pipe* OPEN_READ real-args))
          (output (read-delimited "" pipe))
          (ret (close-pipe pipe)))
@@ -82,7 +88,7 @@ exec guile -e main -s $0 "$@"
       ((0) (if (eof-object? output) "" output))
       (else (display-line-error
              (format #f "error: ~s exited with non-zero error code ~A"
-                     (cons "pkg-config" args) (status:exit-val ret)))
+                     (cons %pkg-config-program args) (status:exit-val ret)))
             ;; assume pkg-config sent diagnostics to stdout
             (exit (status:exit-val ret))))))
 
diff --git a/module/language/assembly.scm b/module/language/assembly.scm
index 95f8a2d..683da6c 100644
--- a/module/language/assembly.scm
+++ b/module/language/assembly.scm
@@ -49,7 +49,7 @@
      (+ 1 *len-len* (string-length str)))
     ((load-array ,bv)
      (+ 1 *len-len* (bytevector-length bv)))
-    ((load-program _ _ _ _ ,len ,meta . _)
+    ((load-program ,nargs ,nrest ,nlocs ,labels ,len ,meta . ,code)
      (+ 1 *program-header-len* len (if meta (1- (byte-length meta)) 0)))
     ((,inst . _) (guard (>= (instruction-length inst) 0))
      (+ 1 (instruction-length inst)))
diff --git a/module/language/assembly/disassemble.scm 
b/module/language/assembly/disassemble.scm
index e40a73c..ed2a82f 100644
--- a/module/language/assembly/disassemble.scm
+++ b/module/language/assembly/disassemble.scm
@@ -35,7 +35,7 @@
 
 (define (disassemble-load-program asm env)
   (pmatch asm
-    ((load-program ,nargs _ _ ,labels _ _ . ,code)
+    ((load-program ,nargs ,nrest ,nlocs ,labels ,len ,meta . ,code)
      (let ((objs  (and env (assq-ref env 'objects)))
            (free-vars (and env (assq-ref env 'free-vars)))
            (meta  (and env (assq-ref env 'meta)))
diff --git a/module/language/glil/decompile-assembly.scm 
b/module/language/glil/decompile-assembly.scm
index ac623db..3cb887d 100644
--- a/module/language/glil/decompile-assembly.scm
+++ b/module/language/glil/decompile-assembly.scm
@@ -31,7 +31,7 @@
 
 (define (decompile-toplevel x)
   (pmatch x
-    ((load-program ,nargs ,nrest ,nlocs ,labels _ ,meta . ,body)
+    ((load-program ,nargs ,nrest ,nlocs ,labels ,len ,meta . ,body)
      (decompile-load-program nargs nrest nlocs
                              (decompile-meta meta)
                              body labels #f))
@@ -123,7 +123,7 @@
            (lp (cdr in) stack out (1+ pos)))
           ((make-false)
            (lp (cdr in) (cons #f stack) out (1+ pos)))
-          ((load-program ,a ,b ,c ,d ,labels _ ,meta . ,body)
+          ((load-program ,a ,b ,c ,d ,labels ,sublen ,meta . ,body)
            (lp (cdr in)
                (cons (decompile-load-program a b c d (decompile-meta meta)
                                              body labels (car stack))
diff --git a/module/language/tree-il/compile-glil.scm 
b/module/language/tree-il/compile-glil.scm
index d18d5ed..d13cf7c 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -422,7 +422,7 @@
          ;; rename & goto
          (for-each (lambda (sym)
                      (pmatch (hashq-ref (hashq-ref allocation sym) self)
-                       ((#t _ . ,index)
+                       ((#t ,boxed? . ,index)
                         ;; set unboxed, as the proc prelude will box if needed
                         (emit-code #f (make-glil-lexical #t #f 'set index)))
                        (,x (error "what" x))))
@@ -578,7 +578,7 @@
                   (for-each
                    (lambda (loc)
                      (pmatch loc
-                       ((,local? _ . ,n)
+                       ((,local? ,boxed? . ,n)
                         (emit-code #f (make-glil-lexical local? #f 'ref n)))
                        (else (error "what" x loc))))
                    free-locs)
@@ -684,7 +684,7 @@
                     (for-each
                      (lambda (loc)
                        (pmatch loc
-                         ((,local? _ . ,n)
+                         ((,local? ,boxed? . ,n)
                           (emit-code #f (make-glil-lexical local? #f 'ref n)))
                          (else (error "what" x loc))))
                      free-locs)
diff --git a/module/system/xref.scm b/module/system/xref.scm
index 27c0de5..906ec8e 100644
--- a/module/system/xref.scm
+++ b/module/system/xref.scm
@@ -35,7 +35,7 @@
                 (progv (make-vector (vector-length objects) #f))
                 (asm (decompile (program-objcode prog) #:to 'assembly)))
             (pmatch asm
-              ((load-program _ _ _ _ _ . ,body)
+              ((load-program ,nargs ,nrest ,nlocs ,labels ,len . ,body)
                (for-each
                 (lambda (x)
                   (pmatch x
diff --git a/srfi/Makefile.am b/srfi/Makefile.am
index 6486030..459d606 100644
--- a/srfi/Makefile.am
+++ b/srfi/Makefile.am
@@ -1,6 +1,6 @@
 ## Process this file with Automake to create Makefile.in
 ##
-##   Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008 Free Software 
Foundation, Inc.
+##   Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free 
Software Foundation, Inc.
 ##
 ##   This file is part of GUILE.
 ##
@@ -30,6 +30,7 @@ AM_CPPFLAGS = -I.. -I$(srcdir)/..                             
\
              -I$(top_srcdir)/lib -I$(top_builddir)/lib
 
 AM_CFLAGS = $(GCC_CFLAGS)
+AM_LDFLAGS = $(GNU_LD_FLAGS)
 
 srfiincludedir = $(pkgincludedir)/srfi
 


hooks/post-receive
-- 
GNU Guile




reply via email to

[Prev in Thread] Current Thread [Next in Thread]