1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-29 08:20:20 +02:00

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.
This commit is contained in:
Andy Wingo 2018-06-17 11:04:18 +02:00
parent b2515e65bd
commit 574f67d1b6
3 changed files with 13 additions and 3 deletions

View file

@ -4,8 +4,7 @@ dnl
define(GUILE_CONFIGURE_COPYRIGHT,[[ define(GUILE_CONFIGURE_COPYRIGHT,[[
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, Copyright (C) 1998-2018 Free Software Foundation, Inc.
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Free Software Foundation, Inc.
This file is part of GUILE 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. # Functions from GC 7.3.
AC_CHECK_FUNCS([GC_move_disappearing_link GC_is_heap_ptr]) 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" LIBS="$save_LIBS"

View file

@ -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 * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License * 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", pf ("#define SCM_ICONVEH_ESCAPE_SEQUENCE %d\n",
SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE); 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"); printf ("#endif\n");
return 0; return 0;

View file

@ -34,6 +34,7 @@
#define SCM_I_GSC_ICONVEH_ERROR @SCM_I_GSC_ICONVEH_ERROR@ #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_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_ICONVEH_ESCAPE_SEQUENCE @SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE@
#define SCM_I_GSC_HAVE_AUXILIARY_STACK @SCM_I_GSC_HAVE_AUXILIARY_STACK@
/* /*
Local Variables: Local Variables: