guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 10/11: Add configure check for auxiliary stacks


From: Andy Wingo
Subject: [Guile-commits] 10/11: Add configure check for auxiliary stacks
Date: Sun, 17 Jun 2018 07:46:23 -0400 (EDT)

wingo pushed a commit to branch master
in repository guile.

commit 574f67d1b6e3b89171c7df8f043fc3891bd8a870
Author: Andy Wingo <address@hidden>
Date:   Sun Jun 17 11:04:18 2018 +0200

    Add configure check for auxiliary stacks
    
    * configure.ac: Add a check for struct GC_stack_base.reg_base, which is
      a proxy for checking for the only aspect of ia64 that we care about.
    * libguile/gen-scmconfig.c:
    * libguile/gen-scmconfig.h.in: Arrange to define
      SCM_HAVE_AUXILIARY_STACK.
---
 configure.ac                | 9 +++++++--
 libguile/gen-scmconfig.c    | 6 +++++-
 libguile/gen-scmconfig.h.in | 1 +
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 374b429..d0ae4d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,8 +4,7 @@ dnl
 
 define(GUILE_CONFIGURE_COPYRIGHT,[[
 
-Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Free 
Software Foundation, Inc.
+Copyright (C) 1998-2018 Free Software Foundation, Inc.
 
 This file is part of GUILE
 
@@ -1348,6 +1347,12 @@ AC_CHECK_FUNCS([GC_pthread_exit GC_pthread_cancel 
GC_pthread_sigmask])
 # Functions from GC 7.3.
 AC_CHECK_FUNCS([GC_move_disappearing_link GC_is_heap_ptr])
 
+# See if there's an auxiliary stack, as in ia64.
+AC_CHECK_MEMBER([struct GC_stack_base.reg_base],
+  [SCM_I_GSC_HAVE_AUXILIARY_STACK=1], [SCM_I_GSC_HAVE_AUXILIARY_STACK=0],
+  [#include <gc/gc.h>])
+AC_SUBST([SCM_I_GSC_HAVE_AUXILIARY_STACK])
+
 LIBS="$save_LIBS"
 
 
diff --git a/libguile/gen-scmconfig.c b/libguile/gen-scmconfig.c
index f825e9b..ec9d7a8 100644
--- a/libguile/gen-scmconfig.c
+++ b/libguile/gen-scmconfig.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2013, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -415,6 +415,10 @@ main (int argc, char *argv[])
   pf ("#define SCM_ICONVEH_ESCAPE_SEQUENCE %d\n",
       SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE);  
 
+  pf ("\n");
+  pf ("/* Define to 1 if there is an auxiliary stack, as in ia64.  */\n");
+  pf ("#define SCM_HAVE_AUXILIARY_STACK %d\n", SCM_I_GSC_HAVE_AUXILIARY_STACK);
+
   printf ("#endif\n");
 
   return 0;
diff --git a/libguile/gen-scmconfig.h.in b/libguile/gen-scmconfig.h.in
index 30f43d7..7b6407d 100644
--- a/libguile/gen-scmconfig.h.in
+++ b/libguile/gen-scmconfig.h.in
@@ -34,6 +34,7 @@
 #define SCM_I_GSC_ICONVEH_ERROR @SCM_I_GSC_ICONVEH_ERROR@
 #define SCM_I_GSC_ICONVEH_QUESTION_MARK @SCM_I_GSC_ICONVEH_QUESTION_MARK@
 #define SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE @SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE@
+#define SCM_I_GSC_HAVE_AUXILIARY_STACK @SCM_I_GSC_HAVE_AUXILIARY_STACK@
 
 /*
   Local Variables:



reply via email to

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