0002-gc-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch 2.08 KB
gc/configure.ac: add check for NO_GETCONTEXT definition

This patch is ported from bdwgc package. Since Gauche uses an internal
copy of the boehm gc code, it is affected by the same problem.

Both configure and configure.ac are modified because autoreconf fails
due to an incompatibility with the version of the autotools used by
Buildroot.

Signed-off-by: Hiroshi Kawashima <kei-k@ca2.so-net.ne.jp>

Original credits of patch in bdwgc package:
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: add a comment, change variable name, use
 AS_IF, remove debug traces, use AC_CHECK_FUNCS (as suggested by
 Thomas)]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

diff -ur a/gc/configure b/gc/configure
--- a/gc/configure	2015-11-12 21:41:02.394822056 +0900
+++ b/gc/configure	2015-11-12 22:04:14.655157423 +0900
@@ -16153,6 +16153,23 @@
 $as_echo "$ac_cv_fno_strict_aliasing" >&6; }
 fi
 
+# Check for getcontext (uClibc can be configured without it, for example)
+for ac_func in getcontext
+do :
+  ac_fn_c_check_func "$LINENO" "getcontext" "ac_cv_func_getcontext"
+if test "x$ac_cv_func_getcontext" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_GETCONTEXT 1
+_ACEOF
+
+fi
+done
+
+if test "$ac_cv_func_getcontext" = "no"; then :
+  CFLAGS="$CFLAGS -DNO_GETCONTEXT"
+   CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT"
+fi
+
 case "$host" in
 # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64
 # and unnecessary everywhere.
diff -ur a/gc/configure.ac b/gc/configure.ac
--- a/gc/configure.ac	2015-11-12 22:31:44.851510997 +0900
+++ b/gc/configure.ac	2015-11-12 22:33:39.292191227 +0900
@@ -459,6 +459,12 @@
   AC_MSG_RESULT($ac_cv_fno_strict_aliasing)
 fi
 
+# Check for getcontext (uClibc can be configured without it, for example)
+AC_CHECK_FUNCS([getcontext])
+AS_IF([test "$ac_cv_func_getcontext" = "no"],
+  [CFLAGS="$CFLAGS -DNO_GETCONTEXT"
+   CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT"])
+
 case "$host" in
 # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64
 # and unnecessary everywhere.