1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +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,[[
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"

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
* 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;

View file

@ -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: