From 90a9a89500a8bd6feb9590671e77650ef123c0f1 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 1 Oct 2025 15:25:19 +0100
Subject: [PATCH 01/24] Added SwapDigraphs and DigraphsRemoveAllEdges functions
---
doc/oper.xml | 21 +++++++++++++++++++++
gap/oper.gd | 2 ++
gap/oper.gi | 19 +++++++++++++++++++
tst/standard/oper.tst | 16 ++++++++++++++++
4 files changed, 58 insertions(+)
diff --git a/doc/oper.xml b/doc/oper.xml
index daa733164..f2886d237 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -777,6 +777,27 @@ true
<#/GAPDoc>
+<#GAPDoc Label="DigraphRemoveAllEdges">
+
+
+ An empty digraph.
+
+ This operation returns a digraph constructed from digraph, which is mutable,
+ by removing all of the edges in the original digraph.
+ (see ).
+
+
+ D3 := Digraph(IsMutableDigraph, [[2],[1],[2]]);
+
+gap> DigraphRemoveAllEdges(D3);
+
+true
+]]>
+
+
+<#/GAPDoc>
+
<#GAPDoc Label="InducedSubdigraph">
diff --git a/gap/oper.gd b/gap/oper.gd
index 4766b3496..3e86f128e 100644
--- a/gap/oper.gd
+++ b/gap/oper.gd
@@ -29,6 +29,8 @@ DeclareOperation("DigraphRemoveEdge", [IsDigraph, IsPosInt, IsPosInt]);
DeclareOperation("DigraphRemoveEdge", [IsDigraph, IsList]);
DeclareOperation("DigraphRemoveEdges", [IsDigraph, IsList]);
+DeclareOperation("DigraphRemoveAllEdges", [IsDigraph]);
+
DeclareOperation("DigraphReverseEdge", [IsDigraph, IsList]);
DeclareOperation("DigraphReverseEdge", [IsDigraph, IsPosInt, IsPosInt]);
DeclareOperation("DigraphReverseEdges", [IsDigraph, IsList]);
diff --git a/gap/oper.gi b/gap/oper.gi
index bdc462bee..16e584b0f 100644
--- a/gap/oper.gi
+++ b/gap/oper.gi
@@ -277,6 +277,25 @@ InstallMethod(DigraphRemoveEdges, "for an immutable digraph and a list",
[IsImmutableDigraph, IsList],
{D, edges} -> MakeImmutable(DigraphRemoveEdges(DigraphMutableCopy(D), edges)));
+InstallMethod(DigraphRemoveAllEdges, "for a mutable digraph",
+[IsDigraph],
+function(D)
+ local i, neighbour, nbs, currentEdges;
+ if IsImmutableDigraph(D) then
+ ErrorNoReturn("Argument must be a mutable digraph");
+ else
+ nbs := OutNeighboursMutableCopy(D);
+
+ for i in [1..Length(nbs)] do
+ currentEdges := DigraphOutEdges(D, i);
+ DigraphRemoveEdges(D, currentEdges);
+ od;
+
+ return D;
+ fi;
+end);
+
+
InstallMethod(DigraphReverseEdge,
"for a mutable digraph by out-neighbours and two positive integers",
[IsMutableDigraph and IsDigraphByOutNeighboursRep, IsPosInt, IsPosInt],
diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst
index 585f10a99..febdfe91c 100644
--- a/tst/standard/oper.tst
+++ b/tst/standard/oper.tst
@@ -134,6 +134,22 @@ gap> M := DigraphMutableCopy(D);;
gap> M ^ p = OnDigraphs(M, p);
true
+# DigraphRemoveAllEdges: for a digraph
+gap> gr := Digraph(IsImmutableDigraph, [[2, 3], [3], [4], []]);
+
+gap> DigraphRemoveAllEdges(gr);
+Error, Argument must be a mutable digraph
+gap> gr2 := Digraph(IsMutableDigraph, [[2, 3], [3], [4], []]);
+
+gap> DigraphRemoveAllEdges(gr2);
+
+gap> gr3 := Digraph(IsMutableDigraph, [[], [], [], []]);
+
+gap> DigraphRemoveAllEdges(gr3);
+
+gap> OutNeighbours(gr3);
+[ [ ], [ ], [ ], [ ] ]
+
# OnDigraphs: for a digraph and a perm
gap> gr := Digraph([[2], [1], [3]]);
From 3027792d21da377cbbbc654877089589fbe66a79 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 1 Oct 2025 15:54:31 +0100
Subject: [PATCH 02/24] Fixed gaplint errors
---
configure~ | 7137 ++++++++++++++++++++++++++++++++++++++++++++++++++
doc/oper.xml | 2 +-
gap/oper.gi | 12 +-
3 files changed, 7143 insertions(+), 8 deletions(-)
create mode 100755 configure~
diff --git a/configure~ b/configure~
new file mode 100755
index 000000000..e13fdd34c
--- /dev/null
+++ b/configure~
@@ -0,0 +1,7137 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.72 for digraphs GAP package.
+#
+#
+# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation,
+# Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else case e in #(
+ e) case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac ;;
+esac
+fi
+
+
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
+as_nl='
+'
+export as_nl
+IFS=" "" $as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
+
+# The user is always right.
+if ${PATH_SEPARATOR+false} :; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ test -r "$as_dir$0" && as_myself=$as_dir$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as 'sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed 'exec'.
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else case e in #(
+ e) case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" )
+then :
+
+else case e in #(
+ e) exitcode=1; echo positional parameters were not saved. ;;
+esac
+fi
+test x\$exitcode = x0 || exit 1
+blah=\$(echo \$(echo blah))
+test x\"\$blah\" = xblah || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null
+then :
+ as_have_required=yes
+else case e in #(
+ e) as_have_required=no ;;
+esac
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
+then :
+
+else case e in #(
+ e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
+then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+IFS=$as_save_IFS
+if $as_found
+then :
+
+else case e in #(
+ e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi ;;
+esac
+fi
+
+
+ if test "x$CONFIG_SHELL" != x
+then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed 'exec'.
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno
+then :
+ printf "%s\n" "$0: This script requires a shell more modern than all"
+ printf "%s\n" "$0: the shells that I found on your system."
+ if test ${ZSH_VERSION+y} ; then
+ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi ;;
+esac
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else case e in #(
+ e) as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ } ;;
+esac
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else case e in #(
+ e) as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ } ;;
+esac
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ printf "%s\n" "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ t clear
+ :clear
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n. New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable.
+ # In both cases, we have to default to 'cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated
+
+# Sed expression to map a string onto a valid variable name.
+as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+as_tr_sh="eval sed '$as_sed_sh'" # deprecated
+
+
+test -n "$DJDIR" || exec 7<&0 &1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='digraphs'
+PACKAGE_TARNAME='digraphs'
+PACKAGE_VERSION='GAP package'
+PACKAGE_STRING='digraphs GAP package'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+ac_unique_file="src/digraphs.c"
+ac_default_prefix='${abs_top_builddir}/../../bin/'
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include
+#ifdef HAVE_STDIO_H
+# include
+#endif
+#ifdef HAVE_STDLIB_H
+# include
+#endif
+#ifdef HAVE_STRING_H
+# include
+#endif
+#ifdef HAVE_INTTYPES_H
+# include
+#endif
+#ifdef HAVE_STDINT_H
+# include
+#endif
+#ifdef HAVE_STRINGS_H
+# include
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include
+#endif
+#ifdef HAVE_UNISTD_H
+# include
+#endif"
+
+ac_header_c_list=
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+WITH_INCLUDED_BLISS
+PLANARITY_SUITE_DIR
+WITH_INCLUDED_PLANARITY
+WARNING_CFLAGS
+WARNING_CXXFLAGS
+SED
+CODE_COVERAGE_LDFLAGS
+CODE_COVERAGE_CXXFLAGS
+CODE_COVERAGE_CFLAGS
+ENABLE_STATS
+KERNEL_DEBUG
+GAP_LIBS
+GAP_LDFLAGS
+GAP_CFLAGS
+GAP_CPPFLAGS
+GAPROOT
+GAPARCH
+ac_ct_CXX
+CXXFLAGS
+CXX
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+runstatedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+with_gaproot
+enable_debug
+enable_stats
+enable_code_coverage
+enable_compile_warnings
+with_external_planarity
+with_external_bliss
+with_intrinsics
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CXX
+CXXFLAGS
+CCC'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: '$ac_useropt'"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: '$ac_useropt'"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: '$ac_useropt'"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: '$ac_useropt'"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: '$ac_option'
+Try '$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: '$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir runstatedir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: '$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+'configure' configures digraphs GAP package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print 'checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for '--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or '..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, 'make install' will install all the files in
+'$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than '$ac_default_prefix' using '--prefix',
+for instance '--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/digraphs]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of digraphs GAP package:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-debug enable debug mode
+ --enable-stats enable stats mode
+ --enable-code-coverage Whether to enable code coverage support
+ --enable-compile-warnings
+ enable compiler warnings
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-gaproot= specify root of GAP installation
+ --with-external-planarity
+ use external planarity
+ --with-external-bliss use external bliss
+ --without-intrinsics do not use compiler intrinsics even if available
+
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L if you have libraries in a
+ nonstandard directory
+ LIBS libraries to pass to the linker, e.g. -l
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
+ you have headers in a nonstandard directory
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+
+Use these variables to override the choices made by 'configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for configure.gnu first; this name is used for a wrapper for
+ # Metaconfig's "Configure" on case-insensitive file systems.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+digraphs configure GAP package
+generated by GNU Autoconf 2.72
+
+Copyright (C) 2023 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest.beam
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext
+then :
+ ac_retval=0
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1 ;;
+esac
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest.beam
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext
+then :
+ ac_retval=0
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1 ;;
+esac
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }
+then :
+ ac_retval=0
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1 ;;
+esac
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ eval "$3=yes"
+else case e in #(
+ e) eval "$3=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+eval ac_res=\$$3
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }
+then :
+ ac_retval=0
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1 ;;
+esac
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_link
+ac_configure_args_raw=
+for ac_arg
+do
+ case $ac_arg in
+ *\'*)
+ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append ac_configure_args_raw " '$ac_arg'"
+done
+
+case $ac_configure_args_raw in
+ *$as_nl*)
+ ac_safe_unquote= ;;
+ *)
+ ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
+ ac_unsafe_a="$ac_unsafe_z#~"
+ ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
+ ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
+esac
+
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by digraphs $as_me GAP package, which was
+generated by GNU Autoconf 2.72. Invocation command line was
+
+ $ $0$ac_configure_args_raw
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ printf "%s\n" "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Sanitize IFS.
+ IFS=" "" $as_nl"
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ printf "%s\n" "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ printf "%s\n" "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ printf "%s\n" "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ printf "%s\n" "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ printf "%s\n" "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ printf "%s\n" "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ printf "%s\n" "$as_me: caught signal $ac_signal"
+ printf "%s\n" "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+printf "%s\n" "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
+
+printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
+
+printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
+
+printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
+
+printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
+
+printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+ ac_site_files="$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
+else
+ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+fi
+
+for ac_site_file in $ac_site_files
+do
+ case $ac_site_file in #(
+ */*) :
+ ;; #(
+ *) :
+ ac_site_file=./$ac_site_file ;;
+esac
+ if test -f "$ac_site_file" && test -r "$ac_site_file"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See 'config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Test code for whether the C compiler supports C89 (global declarations)
+ac_c_conftest_c89_globals='
+/* Does the compiler advertise C89 conformance?
+ Do not test the value of __STDC__, because some compilers set it to 0
+ while being otherwise adequately conformant. */
+#if !defined __STDC__
+# error "Compiler does not advertise C89 conformance"
+#endif
+
+#include
+#include
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
+struct buf { int x; };
+struct buf * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (char **p, int i)
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* C89 style stringification. */
+#define noexpand_stringify(a) #a
+const char *stringified = noexpand_stringify(arbitrary+token=sequence);
+
+/* C89 style token pasting. Exercises some of the corner cases that
+ e.g. old MSVC gets wrong, but not very hard. */
+#define noexpand_concat(a,b) a##b
+#define expand_concat(a,b) noexpand_concat(a,b)
+extern int vA;
+extern int vbee;
+#define aye A
+#define bee B
+int *pvA = &expand_concat(v,aye);
+int *pvbee = &noexpand_concat(v,bee);
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not \xHH hex character constants.
+ These do not provoke an error unfortunately, instead are silently treated
+ as an "x". The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously \x00 != x always comes out true, for an
+ array size at least. It is necessary to write \x00 == 0 to get something
+ that is true only with -std. */
+int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) '\''x'\''
+int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
+ int, int);'
+
+# Test code for whether the C compiler supports C89 (body of main).
+ac_c_conftest_c89_main='
+ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
+'
+
+# Test code for whether the C compiler supports C99 (global declarations)
+ac_c_conftest_c99_globals='
+/* Does the compiler advertise C99 conformance? */
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
+# error "Compiler does not advertise C99 conformance"
+#endif
+
+// See if C++-style comments work.
+
+#include
+extern int puts (const char *);
+extern int printf (const char *, ...);
+extern int dprintf (int, const char *, ...);
+extern void *malloc (size_t);
+extern void free (void *);
+
+// Check varargs macros. These examples are taken from C99 6.10.3.5.
+// dprintf is used instead of fprintf to avoid needing to declare
+// FILE and stderr.
+#define debug(...) dprintf (2, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+ int x = 1234;
+ int y = 5678;
+ debug ("Flag");
+ debug ("X = %d\n", x);
+ showlist (The first, second, and third items.);
+ report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+ #error "your preprocessor is broken"
+#endif
+#if BIG_OK
+#else
+ #error "your preprocessor is broken"
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+ int datasize;
+ double data[];
+};
+
+struct named_init {
+ int number;
+ const wchar_t *name;
+ double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+ // Iterate through items via the restricted pointer.
+ // Also check for declarations in for loops.
+ for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
+ continue;
+ return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+ va_list args;
+ va_start (args, format);
+ va_list args_copy;
+ va_copy (args_copy, args);
+
+ const char *str = "";
+ int number = 0;
+ float fnumber = 0;
+
+ while (*format)
+ {
+ switch (*format++)
+ {
+ case '\''s'\'': // string
+ str = va_arg (args_copy, const char *);
+ break;
+ case '\''d'\'': // int
+ number = va_arg (args_copy, int);
+ break;
+ case '\''f'\'': // float
+ fnumber = va_arg (args_copy, double);
+ break;
+ default:
+ break;
+ }
+ }
+ va_end (args_copy);
+ va_end (args);
+
+ return *str && number && fnumber;
+}
+'
+
+# Test code for whether the C compiler supports C99 (body of main).
+ac_c_conftest_c99_main='
+ // Check bool.
+ _Bool success = false;
+ success |= (argc != 0);
+
+ // Check restrict.
+ if (test_restrict ("String literal") == 0)
+ success = true;
+ char *restrict newvar = "Another string";
+
+ // Check varargs.
+ success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
+ test_varargs_macros ();
+
+ // Check flexible array members.
+ struct incomplete_array *ia =
+ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+ ia->datasize = 10;
+ for (int i = 0; i < ia->datasize; ++i)
+ ia->data[i] = i * 1.234;
+ // Work around memory leak warnings.
+ free (ia);
+
+ // Check named initializers.
+ struct named_init ni = {
+ .number = 34,
+ .name = L"Test wide string",
+ .average = 543.34343,
+ };
+
+ ni.number = 58;
+
+ int dynamic_array[ni.number];
+ dynamic_array[0] = argv[0][0];
+ dynamic_array[ni.number - 1] = 543;
+
+ // work around unused variable warnings
+ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
+ || dynamic_array[ni.number - 1] != 543);
+'
+
+# Test code for whether the C compiler supports C11 (global declarations)
+ac_c_conftest_c11_globals='
+/* Does the compiler advertise C11 conformance? */
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
+# error "Compiler does not advertise C11 conformance"
+#endif
+
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+ int_alignment = _Alignof (int),
+ int_array_alignment = _Alignof (int[100]),
+ char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+ int x;
+ _Static_assert (sizeof (int) <= sizeof (long int),
+ "_Static_assert does not work in struct");
+ long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+ union {
+ struct { int i; int j; };
+ struct { int k; long int l; } w;
+ };
+ int m;
+} v1;
+'
+
+# Test code for whether the C compiler supports C11 (body of main).
+ac_c_conftest_c11_main='
+ _Static_assert ((offsetof (struct anonymous, i)
+ == offsetof (struct anonymous, w.k)),
+ "Anonymous union alignment botch");
+ v1.i = 2;
+ v1.w.k = 5;
+ ok |= v1.i != 5;
+'
+
+# Test code for whether the C compiler supports C11 (complete).
+ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+${ac_c_conftest_c11_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ ${ac_c_conftest_c99_main}
+ ${ac_c_conftest_c11_main}
+ return ok;
+}
+"
+
+# Test code for whether the C compiler supports C99 (complete).
+ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ ${ac_c_conftest_c99_main}
+ return ok;
+}
+"
+
+# Test code for whether the C compiler supports C89 (complete).
+ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ return ok;
+}
+"
+
+# Test code for whether the C++ compiler supports C++98 (global declarations)
+ac_cxx_conftest_cxx98_globals='
+// Does the compiler advertise C++98 conformance?
+#if !defined __cplusplus || __cplusplus < 199711L
+# error "Compiler does not advertise C++98 conformance"
+#endif
+
+// These inclusions are to reject old compilers that
+// lack the unsuffixed header files.
+#include
+#include
+
+// and are *not* freestanding headers in C++98.
+extern void assert (int);
+namespace std {
+ extern int strcmp (const char *, const char *);
+}
+
+// Namespaces, exceptions, and templates were all added after "C++ 2.0".
+using std::exception;
+using std::strcmp;
+
+namespace {
+
+void test_exception_syntax()
+{
+ try {
+ throw "test";
+ } catch (const char *s) {
+ // Extra parentheses suppress a warning when building autoconf itself,
+ // due to lint rules shared with more typical C programs.
+ assert (!(strcmp) (s, "test"));
+ }
+}
+
+template struct test_template
+{
+ T const val;
+ explicit test_template(T t) : val(t) {}
+ template T add(U u) { return static_cast(u) + val; }
+};
+
+} // anonymous namespace
+'
+
+# Test code for whether the C++ compiler supports C++98 (body of main)
+ac_cxx_conftest_cxx98_main='
+ assert (argc);
+ assert (! argv[0]);
+{
+ test_exception_syntax ();
+ test_template tt (2.0);
+ assert (tt.add (4) == 6.0);
+ assert (true && !false);
+}
+'
+
+# Test code for whether the C++ compiler supports C++11 (global declarations)
+ac_cxx_conftest_cxx11_globals='
+// Does the compiler advertise C++ 2011 conformance?
+#if !defined __cplusplus || __cplusplus < 201103L
+# error "Compiler does not advertise C++11 conformance"
+#endif
+
+namespace cxx11test
+{
+ constexpr int get_val() { return 20; }
+
+ struct testinit
+ {
+ int i;
+ double d;
+ };
+
+ class delegate
+ {
+ public:
+ delegate(int n) : n(n) {}
+ delegate(): delegate(2354) {}
+
+ virtual int getval() { return this->n; };
+ protected:
+ int n;
+ };
+
+ class overridden : public delegate
+ {
+ public:
+ overridden(int n): delegate(n) {}
+ virtual int getval() override final { return this->n * 2; }
+ };
+
+ class nocopy
+ {
+ public:
+ nocopy(int i): i(i) {}
+ nocopy() = default;
+ nocopy(const nocopy&) = delete;
+ nocopy & operator=(const nocopy&) = delete;
+ private:
+ int i;
+ };
+
+ // for testing lambda expressions
+ template Ret eval(Fn f, Ret v)
+ {
+ return f(v);
+ }
+
+ // for testing variadic templates and trailing return types
+ template auto sum(V first) -> V
+ {
+ return first;
+ }
+ template auto sum(V first, Args... rest) -> V
+ {
+ return first + sum(rest...);
+ }
+}
+'
+
+# Test code for whether the C++ compiler supports C++11 (body of main)
+ac_cxx_conftest_cxx11_main='
+{
+ // Test auto and decltype
+ auto a1 = 6538;
+ auto a2 = 48573953.4;
+ auto a3 = "String literal";
+
+ int total = 0;
+ for (auto i = a3; *i; ++i) { total += *i; }
+
+ decltype(a2) a4 = 34895.034;
+}
+{
+ // Test constexpr
+ short sa[cxx11test::get_val()] = { 0 };
+}
+{
+ // Test initializer lists
+ cxx11test::testinit il = { 4323, 435234.23544 };
+}
+{
+ // Test range-based for
+ int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3,
+ 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
+ for (auto &x : array) { x += 23; }
+}
+{
+ // Test lambda expressions
+ using cxx11test::eval;
+ assert (eval ([](int x) { return x*2; }, 21) == 42);
+ double d = 2.0;
+ assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0);
+ assert (d == 5.0);
+ assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0);
+ assert (d == 5.0);
+}
+{
+ // Test use of variadic templates
+ using cxx11test::sum;
+ auto a = sum(1);
+ auto b = sum(1, 2);
+ auto c = sum(1.0, 2.0, 3.0);
+}
+{
+ // Test constructor delegation
+ cxx11test::delegate d1;
+ cxx11test::delegate d2();
+ cxx11test::delegate d3(45);
+}
+{
+ // Test override and final
+ cxx11test::overridden o1(55464);
+}
+{
+ // Test nullptr
+ char *c = nullptr;
+}
+{
+ // Test template brackets
+ test_template<::test_template> v(test_template(12));
+}
+{
+ // Unicode literals
+ char const *utf8 = u8"UTF-8 string \u2500";
+ char16_t const *utf16 = u"UTF-8 string \u2500";
+ char32_t const *utf32 = U"UTF-32 string \u2500";
+}
+'
+
+# Test code for whether the C compiler supports C++11 (complete).
+ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals}
+${ac_cxx_conftest_cxx11_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_cxx_conftest_cxx98_main}
+ ${ac_cxx_conftest_cxx11_main}
+ return ok;
+}
+"
+
+# Test code for whether the C compiler supports C++98 (complete).
+ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals}
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_cxx_conftest_cxx98_main}
+ return ok;
+}
+"
+
+as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
+as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
+as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
+as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
+as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
+as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
+as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
+as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
+as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5
+printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5
+printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file'
+ and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+ac_config_headers="$ac_config_headers gen/pkgconfig.h:src/pkgconfig.h.in"
+
+
+
+
+ac_config_commands="$ac_config_commands src/digraphs-config.h"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
+ fi
+fi
+fi ;;
+esac
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}clang"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="clang"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+fi
+
+
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See 'config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion -version; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+printf %s "checking whether the C compiler works... " >&6; }
+ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'.
+# So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an '-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else case e in #(
+ e) ac_file='' ;;
+esac
+fi
+if test -z "$ac_file"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See 'config.log' for more details" "$LINENO" 5; }
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; } ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+printf %s "checking for C compiler default output file name... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+printf "%s\n" "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+printf %s "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
+ # If both 'conftest.exe' and 'conftest' are 'present' (well, observable)
+# catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will
+# work properly (i.e., refer to 'conftest.exe'), while it won't with
+# 'rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else case e in #(
+ e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See 'config.log' for more details" "$LINENO" 5; } ;;
+esac
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+printf "%s\n" "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+int
+main (void)
+{
+FILE *f = fopen ("conftest.out", "w");
+ if (!f)
+ return 1;
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+printf %s "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error 77 "cannot run C compiled programs.
+If you meant to cross compile, use '--host'.
+See 'config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+printf "%s\n" "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext \
+ conftest.o conftest.obj conftest.out
+ac_clean_files=$ac_clean_files_save
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+printf %s "checking for suffix of object files... " >&6; }
+if test ${ac_cv_objext+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else case e in #(
+ e) printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See 'config.log' for more details" "$LINENO" 5; } ;;
+esac
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+printf "%s\n" "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_compiler_gnu=yes
+else case e in #(
+ e) ac_compiler_gnu=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+y}
+ac_save_CFLAGS=$CFLAGS
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_g=yes
+else case e in #(
+ e) CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else case e in #(
+ e) ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_cv_prog_cc_c11=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_c_conftest_c11_program
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC ;;
+esac
+fi
+
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else case e in #(
+ e) if test "x$ac_cv_prog_cc_c11" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+ CC="$CC $ac_cv_prog_cc_c11" ;;
+esac
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+ ac_prog_cc_stdc=c11 ;;
+esac
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_c_conftest_c99_program
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC ;;
+esac
+fi
+
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else case e in #(
+ e) if test "x$ac_cv_prog_cc_c99" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+ CC="$CC $ac_cv_prog_cc_c99" ;;
+esac
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+ ac_prog_cc_stdc=c99 ;;
+esac
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_c_conftest_c89_program
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC ;;
+esac
+fi
+
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else case e in #(
+ e) if test "x$ac_cv_prog_cc_c89" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+ CC="$CC $ac_cv_prog_cc_c89" ;;
+esac
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+ ac_prog_cc_stdc=c89 ;;
+esac
+fi
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+printf "%s\n" "$CXX" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi ;;
+esac
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+printf "%s\n" "$ac_ct_CXX" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5
+printf %s "checking whether the compiler supports GNU C++... " >&6; }
+if test ${ac_cv_cxx_compiler_gnu+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_compiler_gnu=yes
+else case e in #(
+ e) ac_compiler_gnu=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+y}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+printf %s "checking whether $CXX accepts -g... " >&6; }
+if test ${ac_cv_prog_cxx_g+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_cv_prog_cxx_g=yes
+else case e in #(
+ e) CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+
+else case e in #(
+ e) ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+printf "%s\n" "$ac_cv_prog_cxx_g" >&6; }
+if test $ac_test_CXXFLAGS; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_prog_cxx_stdcxx=no
+if test x$ac_prog_cxx_stdcxx = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
+printf %s "checking for $CXX option to enable C++11 features... " >&6; }
+if test ${ac_cv_prog_cxx_cxx11+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_cv_prog_cxx_cxx11=no
+ac_save_CXX=$CXX
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_cxx_conftest_cxx11_program
+_ACEOF
+for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA
+do
+ CXX="$ac_save_CXX $ac_arg"
+ if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_cv_prog_cxx_cxx11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cxx_cxx11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CXX=$ac_save_CXX ;;
+esac
+fi
+
+if test "x$ac_cv_prog_cxx_cxx11" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else case e in #(
+ e) if test "x$ac_cv_prog_cxx_cxx11" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5
+printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; }
+ CXX="$CXX $ac_cv_prog_cxx_cxx11" ;;
+esac
+fi
+ ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
+ ac_prog_cxx_stdcxx=cxx11 ;;
+esac
+fi
+fi
+if test x$ac_prog_cxx_stdcxx = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
+printf %s "checking for $CXX option to enable C++98 features... " >&6; }
+if test ${ac_cv_prog_cxx_cxx98+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_cv_prog_cxx_cxx98=no
+ac_save_CXX=$CXX
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_cxx_conftest_cxx98_program
+_ACEOF
+for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA
+do
+ CXX="$ac_save_CXX $ac_arg"
+ if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_cv_prog_cxx_cxx98=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cxx_cxx98" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CXX=$ac_save_CXX ;;
+esac
+fi
+
+if test "x$ac_cv_prog_cxx_cxx98" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else case e in #(
+ e) if test "x$ac_cv_prog_cxx_cxx98" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else case e in #(
+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5
+printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; }
+ CXX="$CXX $ac_cv_prog_cxx_cxx98" ;;
+esac
+fi
+ ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98
+ ac_prog_cxx_stdcxx=cxx98 ;;
+esac
+fi
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ # Make sure CDPATH is portably set to a sensible value
+ CDPATH=${ZSH_VERSION+.}:
+
+ GAP_CPPFLAGS=""
+
+ ######################################
+ # Find the GAP root directory by
+ # checking for the sysinfo.gap file
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GAP root directory" >&5
+printf %s "checking for GAP root directory... " >&6; }
+ GAPROOT="../.."
+
+ # Allow the user to specify the location of GAP
+
+# Check whether --with-gaproot was given.
+if test ${with_gaproot+y}
+then :
+ withval=$with_gaproot; GAPROOT="$withval"
+fi
+
+
+ # Convert the path to absolute
+ GAPROOT=`cd $GAPROOT > /dev/null 2>&1 && pwd`
+
+ if test -e ${GAPROOT}/sysinfo.gap; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${GAPROOT}" >&5
+printf "%s\n" "${GAPROOT}" >&6; }
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Not found" >&5
+printf "%s\n" "Not found" >&6; }
+
+ echo ""
+ echo "********************************************************************"
+ echo " ERROR"
+ echo ""
+ echo " Cannot find your GAP installation. Please specify the location of"
+ echo " GAP's root directory using --with-gaproot="
+ echo ""
+ echo " The GAP root directory (as far as this package is concerned) is"
+ echo " the one containing the file sysinfo.gap"
+ echo "********************************************************************"
+ echo ""
+
+ as_fn_error $? "Unable to find GAP root directory" "$LINENO" 5
+ fi
+
+ #####################################
+ # Now find the architecture
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GAP architecture" >&5
+printf %s "checking for GAP architecture... " >&6; }
+ GAPARCH="Unknown"
+ . $GAPROOT/sysinfo.gap
+ if test "x$GAParch" != "x"; then
+ GAPARCH=$GAParch
+ fi
+
+ if test "x$GAPARCH" = "xUnknown" ; then
+ echo ""
+ echo "********************************************************************"
+ echo " ERROR"
+ echo ""
+ echo " Found a GAP installation at $GAPROOT but could not find"
+ echo " information about GAP's architecture in the file"
+ echo " ${GAPROOT}/sysinfo.gap ."
+ echo " This file should be present: please check your GAP installation."
+ echo "********************************************************************"
+ echo ""
+
+ as_fn_error $? "Unable to find plausible GAParch information." "$LINENO" 5
+ fi
+
+ # require GAP >= 4.9
+ if test "x$GAP_CPPFLAGS" = x; then
+ echo ""
+ echo "********************************************************************"
+ echo " ERROR"
+ echo ""
+ echo " This version of GAP is too old and not supported by this package."
+ echo "********************************************************************"
+ echo ""
+ as_fn_error $? "No GAP_CPPFLAGS is given" "$LINENO" 5
+ fi
+
+ # compatibility with GAP 4.9 (not needed in GAP >= 4.10)
+ GAP_CPPFLAGS="$GAP_CPPFLAGS -I${GAP_LIB_DIR}/src"
+
+
+
+
+
+
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+# Check whether --enable-debug was given.
+if test ${enable_debug+y}
+then :
+ enableval=$enable_debug;
+printf "%s\n" "#define KERNEL_DEBUG 1" >>confdefs.h
+
+else case e in #(
+ e) enable_debug=no
+ ;;
+esac
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable debug mode" >&5
+printf %s "checking whether to enable debug mode... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_debug" >&5
+printf "%s\n" "$enable_debug" >&6; }
+KERNEL_DEBUG=$enable_debug
+
+
+# Check whether --enable-stats was given.
+if test ${enable_stats+y}
+then :
+ enableval=$enable_stats;
+printf "%s\n" "#define ENABLE_STATS 1" >>confdefs.h
+
+else case e in #(
+ e) enable_stats=no
+ ;;
+esac
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable stats mode" >&5
+printf %s "checking whether to enable stats mode... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_stats" >&5
+printf "%s\n" "$enable_stats" >&6; }
+ENABLE_STATS=$enable_debug
+
+
+# Check whether --enable-code-coverage was given.
+if test ${enable_code_coverage+y}
+then :
+ enableval=$enable_code_coverage;
+else case e in #(
+ e) enable_code_coverage=no ;;
+esac
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with code coverage support" >&5
+printf %s "checking whether to build with code coverage support... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_code_coverage" >&5
+printf "%s\n" "$enable_code_coverage" >&6; }
+
+if test "$enable_code_coverage" = "yes"
+then :
+
+ CODE_COVERAGE_CFLAGS="-DNDEBUG -O0 -g --coverage"
+ CODE_COVERAGE_CXXFLAGS="-DNDEBUG -O0 -g --coverage"
+ CODE_COVERAGE_LDFLAGS="--coverage"
+
+
+
+
+fi
+
+
+# Enable compiler warnings
+
+# Check whether --enable-compile-warnings was given.
+if test ${enable_compile_warnings+y}
+then :
+ enableval=$enable_compile_warnings; enable_compile_warnings=yes
+else case e in #(
+ e) enable_compile_warnings=no ;;
+esac
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether enable compiler warnings" >&5
+printf %s "checking whether enable compiler warnings... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_compile_warnings" >&5
+printf "%s\n" "$enable_compile_warnings" >&6; }
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+printf %s "checking for a sed that does not truncate output... " >&6; }
+if test ${ac_cv_path_SED+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in sed gsed
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in #(
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+#(
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+printf "%s\n" "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+
+if test "x$enable_compile_warnings" != "xno"
+then :
+ ax_enable_compile_warnings=yes
+
+
+
+
+
+
+
+
+
+ # Variable names
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+ # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
+ # flags, otherwise they are always appended to the warn_cxxflags variable,
+ # and Clang warns on them for every compilation unit.
+ # If this is passed to GCC, it will explode, so the flag must be enabled
+ # conditionally.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Werror=unknown-warning-option" >&5
+printf %s "checking whether C++ compiler accepts -Werror=unknown-warning-option... " >&6; }
+if test ${ax_cv_check_cxxflags___Werror_unknown_warning_option+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS -Werror=unknown-warning-option"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ax_cv_check_cxxflags___Werror_unknown_warning_option=yes
+else case e in #(
+ e) ax_cv_check_cxxflags___Werror_unknown_warning_option=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CXXFLAGS=$ax_check_save_flags ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___Werror_unknown_warning_option" >&5
+printf "%s\n" "$ax_cv_check_cxxflags___Werror_unknown_warning_option" >&6; }
+if test "x$ax_cv_check_cxxflags___Werror_unknown_warning_option" = xyes
+then :
+
+ ax_compiler_flags_test="-Werror=unknown-warning-option"
+
+else case e in #(
+ e)
+ ax_compiler_flags_test=""
+ ;;
+esac
+fi
+
+
+ # Check that -Wno-suggest-attribute=format is supported
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Wno-suggest-attribute=format" >&5
+printf %s "checking whether C++ compiler accepts -Wno-suggest-attribute=format... " >&6; }
+if test ${ax_cv_check_cxxflags___Wno_suggest_attribute_format+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS -Wno-suggest-attribute=format"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ax_cv_check_cxxflags___Wno_suggest_attribute_format=yes
+else case e in #(
+ e) ax_cv_check_cxxflags___Wno_suggest_attribute_format=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CXXFLAGS=$ax_check_save_flags ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___Wno_suggest_attribute_format" >&5
+printf "%s\n" "$ax_cv_check_cxxflags___Wno_suggest_attribute_format" >&6; }
+if test "x$ax_cv_check_cxxflags___Wno_suggest_attribute_format" = xyes
+then :
+
+ ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format"
+
+else case e in #(
+ e)
+ ax_compiler_no_suggest_attribute_flags=""
+ ;;
+esac
+fi
+
+
+ # Base flags
+
+
+
+
+for flag in -fno-strict-aliasing -pedantic -Wold-style-cast ; do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+printf %s "checking whether C++ compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CXXFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CXXFLAGS+y}
+then :
+
+ case " $WARNING_CXXFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains \$flag"; } >&5
+ (: WARNING_CXXFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CXXFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CXXFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+
+ if test "$ax_enable_compile_warnings" != "no"
+then :
+
+ # "yes" flags
+
+
+
+
+for flag in -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wredundant-decls -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wno-overloaded-virtual -Wswitch-enum -Wswitch-default ; do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+printf %s "checking whether C++ compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CXXFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CXXFLAGS+y}
+then :
+
+ case " $WARNING_CXXFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains \$flag"; } >&5
+ (: WARNING_CXXFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CXXFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CXXFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+
+fi
+ if test "$ax_enable_compile_warnings" = "error"
+then :
+
+ # "error" flags; -Werror has to be appended unconditionally because
+ # it's not possible to test for
+ #
+ # suggest-attribute=format is disabled because it gives too many false
+ # positives
+
+if test ${WARNING_CXXFLAGS+y}
+then :
+
+ case " $WARNING_CXXFLAGS " in #(
+ *" -Werror "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains -Werror"; } >&5
+ (: WARNING_CXXFLAGS already contains -Werror) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CXXFLAGS " -Werror"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CXXFLAGS=-Werror
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+
+
+
+
+
+for flag in $ax_compiler_no_suggest_attribute_flags ; do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+printf %s "checking whether C++ compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CXXFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CXXFLAGS+y}
+then :
+
+ case " $WARNING_CXXFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains \$flag"; } >&5
+ (: WARNING_CXXFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CXXFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CXXFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+
+fi
+
+ # In the flags below, when disabling specific flags, always add *both*
+ # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example)
+ # we enable -Werror, disable a flag, and a build bot passes CXXFLAGS=-Wall,
+ # which effectively turns that flag back on again as an error.
+ for flag in $WARNING_CXXFLAGS; do
+ case $flag in #(
+ -Wno-*=*) :
+ ;; #(
+ -Wno-*) :
+
+
+
+
+
+for flag in -Wno-error=$(printf "%s\n" $flag | $SED 's/^-Wno-//'); do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+printf %s "checking whether C++ compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CXXFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CXXFLAGS+y}
+then :
+
+ case " $WARNING_CXXFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains \$flag"; } >&5
+ (: WARNING_CXXFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CXXFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CXXFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
+ (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+ ;; #(
+ *) :
+ ;;
+esac
+ done
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+ # Substitute the variables
+
+
+
+fi
+
+
+if test "x$enable_compile_warnings" != "xno"
+then :
+ ax_enable_compile_warnings=yes
+
+
+
+
+
+
+
+
+
+ # Variable names
+
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #ifndef __cplusplus
+ #error "no C++"
+ #endif
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ax_compiler_cxx=yes;
+else case e in #(
+ e) ax_compiler_cxx=no; ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+ # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
+ # flags, otherwise they are always appended to the warn_cflags variable, and
+ # Clang warns on them for every compilation unit.
+ # If this is passed to GCC, it will explode, so the flag must be enabled
+ # conditionally.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=unknown-warning-option" >&5
+printf %s "checking whether C compiler accepts -Werror=unknown-warning-option... " >&6; }
+if test ${ax_cv_check_cflags___Werror_unknown_warning_option+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CFLAGS
+ CFLAGS="$CFLAGS -Werror=unknown-warning-option"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ax_cv_check_cflags___Werror_unknown_warning_option=yes
+else case e in #(
+ e) ax_cv_check_cflags___Werror_unknown_warning_option=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS=$ax_check_save_flags ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_unknown_warning_option" >&5
+printf "%s\n" "$ax_cv_check_cflags___Werror_unknown_warning_option" >&6; }
+if test "x$ax_cv_check_cflags___Werror_unknown_warning_option" = xyes
+then :
+
+ ax_compiler_flags_test="-Werror=unknown-warning-option"
+
+else case e in #(
+ e)
+ ax_compiler_flags_test=""
+ ;;
+esac
+fi
+
+
+ # Check that -Wno-suggest-attribute=format is supported
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-suggest-attribute=format" >&5
+printf %s "checking whether C compiler accepts -Wno-suggest-attribute=format... " >&6; }
+if test ${ax_cv_check_cflags___Wno_suggest_attribute_format+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CFLAGS
+ CFLAGS="$CFLAGS -Wno-suggest-attribute=format"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ax_cv_check_cflags___Wno_suggest_attribute_format=yes
+else case e in #(
+ e) ax_cv_check_cflags___Wno_suggest_attribute_format=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS=$ax_check_save_flags ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_suggest_attribute_format" >&5
+printf "%s\n" "$ax_cv_check_cflags___Wno_suggest_attribute_format" >&6; }
+if test "x$ax_cv_check_cflags___Wno_suggest_attribute_format" = xyes
+then :
+
+ ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format"
+
+else case e in #(
+ e)
+ ax_compiler_no_suggest_attribute_flags=""
+ ;;
+esac
+fi
+
+
+ # Base flags
+
+
+
+
+for flag in -fno-strict-aliasing -pedantic ; do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+printf %s "checking whether C compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CFLAGS
+ CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CFLAGS+y}
+then :
+
+ case " $WARNING_CFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
+ (: WARNING_CFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+
+ if test "$ax_enable_compile_warnings" != "no"
+then :
+
+ if test "$ax_compiler_cxx" = "no" ; then
+ # C-only flags. Warn in C++
+
+
+
+
+for flag in -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init ; do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+printf %s "checking whether C compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CFLAGS
+ CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CFLAGS+y}
+then :
+
+ case " $WARNING_CFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
+ (: WARNING_CFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+ fi
+
+ # "yes" flags
+
+
+
+
+for flag in -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wredundant-decls -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion ; do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+printf %s "checking whether C compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CFLAGS
+ CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CFLAGS+y}
+then :
+
+ case " $WARNING_CFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
+ (: WARNING_CFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+
+fi
+ if test "$ax_enable_compile_warnings" = "error"
+then :
+
+ # "error" flags; -Werror has to be appended unconditionally because
+ # it's not possible to test for
+ #
+ # suggest-attribute=format is disabled because it gives too many false
+ # positives
+
+if test ${WARNING_CFLAGS+y}
+then :
+
+ case " $WARNING_CFLAGS " in #(
+ *" -Werror "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains -Werror"; } >&5
+ (: WARNING_CFLAGS already contains -Werror) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CFLAGS " -Werror"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CFLAGS=-Werror
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+
+
+
+
+
+for flag in $ax_compiler_no_suggest_attribute_flags ; do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+printf %s "checking whether C compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CFLAGS
+ CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CFLAGS+y}
+then :
+
+ case " $WARNING_CFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
+ (: WARNING_CFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+
+fi
+
+ # In the flags below, when disabling specific flags, always add *both*
+ # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example)
+ # we enable -Werror, disable a flag, and a build bot passes CFLAGS=-Wall,
+ # which effectively turns that flag back on again as an error.
+ for flag in $WARNING_CFLAGS; do
+ case $flag in #(
+ -Wno-*=*) :
+ ;; #(
+ -Wno-*) :
+
+
+
+
+
+for flag in -Wno-error=$(printf "%s\n" $flag | $SED 's/^-Wno-//'); do
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+printf %s "checking whether C compiler accepts $flag... " >&6; }
+if eval test \${$as_CACHEVAR+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e)
+ ax_check_save_flags=$CFLAGS
+ CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ eval "$as_CACHEVAR=yes"
+else case e in #(
+ e) eval "$as_CACHEVAR=no" ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS=$ax_check_save_flags ;;
+esac
+fi
+eval ac_res=\$$as_CACHEVAR
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
+then :
+
+if test ${WARNING_CFLAGS+y}
+then :
+
+ case " $WARNING_CFLAGS " in #(
+ *" $flag "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
+ (: WARNING_CFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append WARNING_CFLAGS " $flag"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else case e in #(
+ e)
+ WARNING_CFLAGS=$flag
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
+ (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+fi
+
+else case e in #(
+ e) : ;;
+esac
+fi
+
+done
+
+ ;; #(
+ *) :
+ ;;
+esac
+ done
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+ # Substitute the variables
+
+
+
+fi
+
+# Check for system planarity suite
+
+ac_header= ac_cache=
+for ac_item in $ac_header_c_list
+do
+ if test $ac_cache; then
+ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
+ if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
+ printf "%s\n" "#define $ac_item 1" >> confdefs.h
+ fi
+ ac_header= ac_cache=
+ elif test $ac_header; then
+ ac_cache=$ac_item
+ else
+ ac_header=$ac_item
+ fi
+done
+
+
+
+
+
+
+
+
+if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
+then :
+
+printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+
+# Check whether --with-external-planarity was given.
+if test ${with_external_planarity+y}
+then :
+ withval=$with_external_planarity;
+else case e in #(
+ e) with_external_planarity=no ;;
+esac
+fi
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use external planarity" >&5
+printf %s "checking whether to use external planarity... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_external_planarity" >&5
+printf "%s\n" "$with_external_planarity" >&6; }
+ if test "x$with_external_planarity" = xyes ; then
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gp_InitGraph in -lplanarity" >&5
+printf %s "checking for gp_InitGraph in -lplanarity... " >&6; }
+if test ${ac_cv_lib_planarity_gp_InitGraph+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
+LIBS="-lplanarity $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gp_InitGraph (void);
+int
+main (void)
+{
+return gp_InitGraph ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_lib_planarity_gp_InitGraph=yes
+else case e in #(
+ e) ac_cv_lib_planarity_gp_InitGraph=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_planarity_gp_InitGraph" >&5
+printf "%s\n" "$ac_cv_lib_planarity_gp_InitGraph" >&6; }
+if test "x$ac_cv_lib_planarity_gp_InitGraph" = xyes
+then :
+ printf "%s\n" "#define HAVE_LIBPLANARITY 1" >>confdefs.h
+
+ LIBS="-lplanarity $LIBS"
+
+else case e in #(
+ e) as_fn_error $? "no external libplanarity found" "$LINENO" 5 ;;
+esac
+fi
+
+
+ ac_fn_c_check_header_compile "$LINENO" "planarity/graph.h" "ac_cv_header_planarity_graph_h" "$ac_includes_default"
+if test "x$ac_cv_header_planarity_graph_h" = xyes
+then :
+
+else case e in #(
+ e) as_fn_error $? "no external planarity headers found" "$LINENO" 5 ;;
+esac
+fi
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ fi
+ if test "x$with_external_planarity" = xno ; then
+ WITH_INCLUDED_PLANARITY=yes
+
+
+printf "%s\n" "#define WITH_INCLUDED_PLANARITY 1" >>confdefs.h
+
+ fi
+
+if test "x$with_external_planarity" = xno ; then
+ PLANARITY_SUITE_DIR=extern/edge-addition-planarity-suite-Version_3.0.1.0
+
+fi
+
+# Check for system bliss suite
+
+
+# Check whether --with-external-bliss was given.
+if test ${with_external_bliss+y}
+then :
+ withval=$with_external_bliss;
+else case e in #(
+ e) with_external_bliss=no ;;
+esac
+fi
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use external bliss" >&5
+printf %s "checking whether to use external bliss... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_external_bliss" >&5
+printf "%s\n" "$with_external_bliss" >&6; }
+ if test "x$with_external_bliss" = xyes ; then
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bliss_add_edge in -lbliss" >&5
+printf %s "checking for bliss_add_edge in -lbliss... " >&6; }
+if test ${ac_cv_lib_bliss_bliss_add_edge+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbliss $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply.
+ The 'extern "C"' is for builds by C++ compilers;
+ although this is not generally supported in C code supporting it here
+ has little cost and some practical benefit (sr 110532). */
+#ifdef __cplusplus
+extern "C"
+#endif
+char bliss_add_edge (void);
+int
+main (void)
+{
+return bliss_add_edge ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_lib_bliss_bliss_add_edge=yes
+else case e in #(
+ e) ac_cv_lib_bliss_bliss_add_edge=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bliss_bliss_add_edge" >&5
+printf "%s\n" "$ac_cv_lib_bliss_bliss_add_edge" >&6; }
+if test "x$ac_cv_lib_bliss_bliss_add_edge" = xyes
+then :
+ printf "%s\n" "#define HAVE_LIBBLISS 1" >>confdefs.h
+
+ LIBS="-lbliss $LIBS"
+
+else case e in #(
+ e) as_fn_error $? "no external libbliss found" "$LINENO" 5 ;;
+esac
+fi
+
+
+ ac_fn_c_check_header_compile "$LINENO" "bliss/bliss_C.h" "ac_cv_header_bliss_bliss_C_h" "$ac_includes_default"
+if test "x$ac_cv_header_bliss_bliss_C_h" = xyes
+then :
+
+else case e in #(
+ e) as_fn_error $? "no external bliss headers found" "$LINENO" 5 ;;
+esac
+fi
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ fi
+ if test "x$with_external_bliss" = xno ; then
+ WITH_INCLUDED_BLISS=yes
+
+
+printf "%s\n" "#define WITH_INCLUDED_BLISS 1" >>confdefs.h
+
+ fi
+
+
+# Check whether to use -mpopcnt and __builtin_ctzl
+
+# Check whether --with-intrinsics was given.
+if test ${with_intrinsics+y}
+then :
+ withval=$with_intrinsics;
+fi
+
+
+if test "x$with_intrinsics" = "xno"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: compiler intrinsics will not be used even if available" >&5
+printf "%s\n" "$as_me: compiler intrinsics will not be used even if available" >&6;}
+fi
+
+
+
+if test "x$with_intrinsics" != "xno"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_ctzll" >&5
+printf %s "checking for __builtin_ctzll... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+__builtin_ctzll(0);
+
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"
+then :
+ have___builtin_ctzll=yes
+else case e in #(
+ e) have___builtin_ctzll=no
+ ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have___builtin_ctzll" >&5
+printf "%s\n" "$have___builtin_ctzll" >&6; }
+ if test yes = $have___builtin_ctzll
+then :
+
+printf "%s\n" "#define HAVE___BUILTIN_CTZLL 1" >>confdefs.h
+
+fi
+fi
+
+ac_config_files="$ac_config_files Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# 'ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* 'ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # 'set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # 'set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else case e in #(
+ e) case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac ;;
+esac
+fi
+
+
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
+as_nl='
+'
+export as_nl
+IFS=" "" $as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
+
+# The user is always right.
+if ${PATH_SEPARATOR+false} :; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ test -r "$as_dir$0" && as_myself=$as_dir$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as 'sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ printf "%s\n" "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else case e in #(
+ e) as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ } ;;
+esac
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else case e in #(
+ e) as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ } ;;
+esac
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n. New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable.
+ # In both cases, we have to default to 'cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated
+
+# Sed expression to map a string onto a valid variable name.
+as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+as_tr_sh="eval sed '$as_sed_sh'" # deprecated
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by digraphs $as_me GAP package, which was
+generated by GNU Autoconf 2.72. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+'$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
+ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config='$ac_cs_config_escaped'
+ac_cs_version="\\
+digraphs config.status GAP package
+configured by $0, generated by GNU Autoconf 2.72,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2023 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ printf "%s\n" "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ printf "%s\n" "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: '$1'
+Try '$0 --help' for more information.";;
+ --help | --hel | -h )
+ printf "%s\n" "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: '$1'
+Try '$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ printf "%s\n" "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+PACKAGE="$PACKAGE"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "gen/pkgconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS gen/pkgconfig.h:src/pkgconfig.h.in" ;;
+ "src/digraphs-config.h") CONFIG_COMMANDS="$CONFIG_COMMANDS src/digraphs-config.h" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
+ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
+ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to '$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with './config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' >$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with './config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script 'defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' >$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain ':'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is 'configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+printf "%s\n" "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`printf "%s\n" "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when '$srcdir' = '.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ printf "%s\n" "/* $configure_input */" >&1 \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ printf "%s\n" "/* $configure_input */" >&1 \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+ ;;
+
+ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "src/digraphs-config.h":C) ac_prefix_conf_OUT=`echo src/digraphs-config.h`
+ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"`
+ac_prefix_conf_PKG=`echo digraphs`
+ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
+ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^[0123456789]/s/^/_/"`
+ac_prefix_conf_INP=`echo "gen/pkgconfig.h" | sed -e 's/ *//'`
+if test ".$ac_prefix_conf_INP" = "."; then
+ for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
+ case "$ac_file" in
+ *.h) ac_prefix_conf_INP=$ac_file ;;
+ *)
+ esac
+ test ".$ac_prefix_conf_INP" != "." && break
+ done
+fi
+if test ".$ac_prefix_conf_INP" = "."; then
+ case "$ac_prefix_conf_OUT" in
+ */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
+ ;;
+ *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"`
+ ;;
+ *) ac_prefix_conf_INP=config.h
+ ;;
+ esac
+fi
+if test -z "$ac_prefix_conf_PKG" ; then
+ as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5
+else
+ if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
+ ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
+ fi fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
+printf "%s\n" "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
+ if test -f $ac_prefix_conf_INP ; then
+ printf "%s\n" "s/^#undef *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
+ printf "%s\n" "s/^#undef *\\([abcdefghijklmnopqrstuvwxyz]\\)/#undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix
+ printf "%s\n" "s/^#define *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1\\" >> conftest.prefix
+ printf "%s\n" "#define $ac_prefix_conf_UPP""_\\1\\2\\" >> conftest.prefix
+ printf "%s\n" "#endif/" >> conftest.prefix
+ printf "%s\n" "s/^#define *\\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_LOW""_\\1\\" >> conftest.prefix
+ printf "%s\n" "#define $ac_prefix_conf_LOW""_\\1\\2\\" >> conftest.prefix
+ printf "%s\n" "#endif/" >> conftest.prefix
+ # now executing _script on _DEF input to create _OUT output file
+ echo "#ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h
+ echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
+ echo ' ' >>$tmp/pconfig.h
+ echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
+
+ sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
+ echo ' ' >>$tmp/pconfig.h
+ echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
+ echo "#endif" >>$tmp/pconfig.h
+ if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5
+printf "%s\n" "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
+ else
+ ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" ||
+$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
+ X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
+ X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$ac_prefix_conf_OUT" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ rm -f "$ac_prefix_conf_OUT"
+ mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
+ fi
+ else
+ as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5
+ fi
+ rm -f conftest.*
+fi
+ ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
diff --git a/doc/oper.xml b/doc/oper.xml
index f2886d237..c0d548efb 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -788,7 +788,7 @@ true
D3 := Digraph(IsMutableDigraph, [[2],[1],[2]]);
+gap> D3 := Digraph(IsMutableDigraph, [[2], [1], [2]]);
gap> DigraphRemoveAllEdges(D3);
diff --git a/gap/oper.gi b/gap/oper.gi
index 16e584b0f..467d847c3 100644
--- a/gap/oper.gi
+++ b/gap/oper.gi
@@ -277,16 +277,15 @@ InstallMethod(DigraphRemoveEdges, "for an immutable digraph and a list",
[IsImmutableDigraph, IsList],
{D, edges} -> MakeImmutable(DigraphRemoveEdges(DigraphMutableCopy(D), edges)));
-InstallMethod(DigraphRemoveAllEdges, "for a mutable digraph",
-[IsDigraph],
+InstallMethod(DigraphRemoveAllEdges, "for a mutable digraph",
+[IsDigraph],
function(D)
- local i, neighbour, nbs, currentEdges;
+ local i, nbs, currentEdges;
if IsImmutableDigraph(D) then
ErrorNoReturn("Argument must be a mutable digraph");
- else
+ else
nbs := OutNeighboursMutableCopy(D);
-
- for i in [1..Length(nbs)] do
+ for i in [1 .. Length(nbs)] do
currentEdges := DigraphOutEdges(D, i);
DigraphRemoveEdges(D, currentEdges);
od;
@@ -295,7 +294,6 @@ function(D)
fi;
end);
-
InstallMethod(DigraphReverseEdge,
"for a mutable digraph by out-neighbours and two positive integers",
[IsMutableDigraph and IsDigraphByOutNeighboursRep, IsPosInt, IsPosInt],
From 300ebc5c5d00c25b5028b50b9539915e276e0c44 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Mon, 6 Oct 2025 14:41:34 +0100
Subject: [PATCH 03/24] Changes made to SwapDigraphs and DigraphRemoveAllEdges
---
doc/oper.xml | 21 ---------------------
gap/oper.gd | 2 --
gap/oper.gi | 17 -----------------
3 files changed, 40 deletions(-)
diff --git a/doc/oper.xml b/doc/oper.xml
index c0d548efb..daa733164 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -777,27 +777,6 @@ true
<#/GAPDoc>
-<#GAPDoc Label="DigraphRemoveAllEdges">
-
-
- An empty digraph.
-
- This operation returns a digraph constructed from digraph, which is mutable,
- by removing all of the edges in the original digraph.
- (see ).
-
-
- D3 := Digraph(IsMutableDigraph, [[2], [1], [2]]);
-
-gap> DigraphRemoveAllEdges(D3);
-
-true
-]]>
-
-
-<#/GAPDoc>
-
<#GAPDoc Label="InducedSubdigraph">
diff --git a/gap/oper.gd b/gap/oper.gd
index 3e86f128e..4766b3496 100644
--- a/gap/oper.gd
+++ b/gap/oper.gd
@@ -29,8 +29,6 @@ DeclareOperation("DigraphRemoveEdge", [IsDigraph, IsPosInt, IsPosInt]);
DeclareOperation("DigraphRemoveEdge", [IsDigraph, IsList]);
DeclareOperation("DigraphRemoveEdges", [IsDigraph, IsList]);
-DeclareOperation("DigraphRemoveAllEdges", [IsDigraph]);
-
DeclareOperation("DigraphReverseEdge", [IsDigraph, IsList]);
DeclareOperation("DigraphReverseEdge", [IsDigraph, IsPosInt, IsPosInt]);
DeclareOperation("DigraphReverseEdges", [IsDigraph, IsList]);
diff --git a/gap/oper.gi b/gap/oper.gi
index 467d847c3..bdc462bee 100644
--- a/gap/oper.gi
+++ b/gap/oper.gi
@@ -277,23 +277,6 @@ InstallMethod(DigraphRemoveEdges, "for an immutable digraph and a list",
[IsImmutableDigraph, IsList],
{D, edges} -> MakeImmutable(DigraphRemoveEdges(DigraphMutableCopy(D), edges)));
-InstallMethod(DigraphRemoveAllEdges, "for a mutable digraph",
-[IsDigraph],
-function(D)
- local i, nbs, currentEdges;
- if IsImmutableDigraph(D) then
- ErrorNoReturn("Argument must be a mutable digraph");
- else
- nbs := OutNeighboursMutableCopy(D);
- for i in [1 .. Length(nbs)] do
- currentEdges := DigraphOutEdges(D, i);
- DigraphRemoveEdges(D, currentEdges);
- od;
-
- return D;
- fi;
-end);
-
InstallMethod(DigraphReverseEdge,
"for a mutable digraph by out-neighbours and two positive integers",
[IsMutableDigraph and IsDigraphByOutNeighboursRep, IsPosInt, IsPosInt],
From 72e68c4fd10d8bc0e8ef0cb6feedb7a18022febe Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 8 Oct 2025 14:56:53 +0100
Subject: [PATCH 04/24] Changes made to DigraphRemoveAllEdges
---
configure~ | 7137 ---------------------------------------------------
gap/attr.gd | 3 +-
2 files changed, 2 insertions(+), 7138 deletions(-)
delete mode 100755 configure~
diff --git a/configure~ b/configure~
deleted file mode 100755
index e13fdd34c..000000000
--- a/configure~
+++ /dev/null
@@ -1,7137 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for digraphs GAP package.
-#
-#
-# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation,
-# Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
-then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else case e in #(
- e) case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac ;;
-esac
-fi
-
-
-
-# Reset variables that may have inherited troublesome values from
-# the environment.
-
-# IFS needs to be set, to space, tab, and newline, in precisely that order.
-# (If _AS_PATH_WALK were called with IFS unset, it would have the
-# side effect of setting IFS to empty, thus disabling word splitting.)
-# Quoting is to prevent editors from complaining about space-tab.
-as_nl='
-'
-export as_nl
-IFS=" "" $as_nl"
-
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# Ensure predictable behavior from utilities with locale-dependent output.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# We cannot yet rely on "unset" to work, but we need these variables
-# to be unset--not just set to an empty or harmless value--now, to
-# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
-# also avoids known problems related to "unset" and subshell syntax
-# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
-for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
-do eval test \${$as_var+y} \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-
-# Ensure that fds 0, 1, and 2 are open.
-if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
-if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
-
-# The user is always right.
-if ${PATH_SEPARATOR+false} :; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- test -r "$as_dir$0" && as_myself=$as_dir$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as 'sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed 'exec'.
-printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
-then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else case e in #(
- e) case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" )
-then :
-
-else case e in #(
- e) exitcode=1; echo positional parameters were not saved. ;;
-esac
-fi
-test x\$exitcode = x0 || exit 1
-blah=\$(echo \$(echo blah))
-test x\"\$blah\" = xblah || exit 1
-test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null
-then :
- as_have_required=yes
-else case e in #(
- e) as_have_required=no ;;
-esac
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
-then :
-
-else case e in #(
- e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
-then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
-then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-IFS=$as_save_IFS
-if $as_found
-then :
-
-else case e in #(
- e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
-then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi ;;
-esac
-fi
-
-
- if test "x$CONFIG_SHELL" != x
-then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed 'exec'.
-printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
- if test x$as_have_required = xno
-then :
- printf "%s\n" "$0: This script requires a shell more modern than all"
- printf "%s\n" "$0: the shells that I found on your system."
- if test ${ZSH_VERSION+y} ; then
- printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
- else
- printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi ;;
-esac
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
-then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else case e in #(
- e) as_fn_append ()
- {
- eval $1=\$$1\$2
- } ;;
-esac
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
-then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else case e in #(
- e) as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- } ;;
-esac
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- printf "%s\n" "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- t clear
- :clear
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-# Determine whether it's possible to make 'echo' print without a newline.
-# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
-# for compatibility with existing Makefiles.
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-# For backward compatibility with old third-party macros, we provide
-# the shell variables $as_echo and $as_echo_n. New code should use
-# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
-as_echo='printf %s\n'
-as_echo_n='printf %s'
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable.
- # In both cases, we have to default to 'cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
-as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated
-
-# Sed expression to map a string onto a valid variable name.
-as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-as_tr_sh="eval sed '$as_sed_sh'" # deprecated
-
-
-test -n "$DJDIR" || exec 7<&0 &1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='digraphs'
-PACKAGE_TARNAME='digraphs'
-PACKAGE_VERSION='GAP package'
-PACKAGE_STRING='digraphs GAP package'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_unique_file="src/digraphs.c"
-ac_default_prefix='${abs_top_builddir}/../../bin/'
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include
-#ifdef HAVE_STDIO_H
-# include
-#endif
-#ifdef HAVE_STDLIB_H
-# include
-#endif
-#ifdef HAVE_STRING_H
-# include
-#endif
-#ifdef HAVE_INTTYPES_H
-# include
-#endif
-#ifdef HAVE_STDINT_H
-# include
-#endif
-#ifdef HAVE_STRINGS_H
-# include
-#endif
-#ifdef HAVE_SYS_TYPES_H
-# include
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include
-#endif
-#ifdef HAVE_UNISTD_H
-# include
-#endif"
-
-ac_header_c_list=
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-WITH_INCLUDED_BLISS
-PLANARITY_SUITE_DIR
-WITH_INCLUDED_PLANARITY
-WARNING_CFLAGS
-WARNING_CXXFLAGS
-SED
-CODE_COVERAGE_LDFLAGS
-CODE_COVERAGE_CXXFLAGS
-CODE_COVERAGE_CFLAGS
-ENABLE_STATS
-KERNEL_DEBUG
-GAP_LIBS
-GAP_LDFLAGS
-GAP_CFLAGS
-GAP_CPPFLAGS
-GAPROOT
-GAPARCH
-ac_ct_CXX
-CXXFLAGS
-CXX
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-runstatedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_gaproot
-enable_debug
-enable_stats
-enable_code_coverage
-enable_compile_warnings
-with_external_planarity
-with_external_bliss
-with_intrinsics
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CXX
-CXXFLAGS
-CCC'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: '$ac_useropt'"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: '$ac_useropt'"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: '$ac_useropt'"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: '$ac_useropt'"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: '$ac_option'
-Try '$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: '$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: '$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-'configure' configures digraphs GAP package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print 'checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for '--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or '..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, 'make install' will install all the files in
-'$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than '$ac_default_prefix' using '--prefix',
-for instance '--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/digraphs]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of digraphs GAP package:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-debug enable debug mode
- --enable-stats enable stats mode
- --enable-code-coverage Whether to enable code coverage support
- --enable-compile-warnings
- enable compiler warnings
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gaproot= specify root of GAP installation
- --with-external-planarity
- use external planarity
- --with-external-bliss use external bliss
- --without-intrinsics do not use compiler intrinsics even if available
-
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L if you have libraries in a
- nonstandard directory
- LIBS libraries to pass to the linker, e.g. -l
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
- you have headers in a nonstandard directory
- CXX C++ compiler command
- CXXFLAGS C++ compiler flags
-
-Use these variables to override the choices made by 'configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for configure.gnu first; this name is used for a wrapper for
- # Metaconfig's "Configure" on case-insensitive file systems.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-digraphs configure GAP package
-generated by GNU Autoconf 2.72
-
-Copyright (C) 2023 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest.beam
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext
-then :
- ac_retval=0
-else case e in #(
- e) printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1 ;;
-esac
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_cxx_try_compile LINENO
-# ----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest.beam
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext
-then :
- ac_retval=0
-else case e in #(
- e) printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1 ;;
-esac
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }
-then :
- ac_retval=0
-else case e in #(
- e) printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1 ;;
-esac
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-printf %s "checking for $2... " >&6; }
-if eval test \${$3+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$3=yes"
-else case e in #(
- e) eval "$3=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
-esac
-fi
-eval ac_res=\$$3
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_cxx_try_link LINENO
-# -------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }
-then :
- ac_retval=0
-else case e in #(
- e) printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1 ;;
-esac
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_link
-ac_configure_args_raw=
-for ac_arg
-do
- case $ac_arg in
- *\'*)
- ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append ac_configure_args_raw " '$ac_arg'"
-done
-
-case $ac_configure_args_raw in
- *$as_nl*)
- ac_safe_unquote= ;;
- *)
- ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
- ac_unsafe_a="$ac_unsafe_z#~"
- ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
- ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
-esac
-
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by digraphs $as_me GAP package, which was
-generated by GNU Autoconf 2.72. Invocation command line was
-
- $ $0$ac_configure_args_raw
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- printf "%s\n" "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Sanitize IFS.
- IFS=" "" $as_nl"
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- printf "%s\n" "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- printf "%s\n" "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- printf "%s\n" "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- printf "%s\n" "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- printf "%s\n" "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- printf "%s\n" "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- printf "%s\n" "$as_me: caught signal $ac_signal"
- printf "%s\n" "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-printf "%s\n" "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
-
-printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
- ac_site_files="$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
- ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
-else
- ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-fi
-
-for ac_site_file in $ac_site_files
-do
- case $ac_site_file in #(
- */*) :
- ;; #(
- *) :
- ac_site_file=./$ac_site_file ;;
-esac
- if test -f "$ac_site_file" && test -r "$ac_site_file"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See 'config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Test code for whether the C compiler supports C89 (global declarations)
-ac_c_conftest_c89_globals='
-/* Does the compiler advertise C89 conformance?
- Do not test the value of __STDC__, because some compilers set it to 0
- while being otherwise adequately conformant. */
-#if !defined __STDC__
-# error "Compiler does not advertise C89 conformance"
-#endif
-
-#include
-#include
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
-struct buf { int x; };
-struct buf * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (char **p, int i)
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* C89 style stringification. */
-#define noexpand_stringify(a) #a
-const char *stringified = noexpand_stringify(arbitrary+token=sequence);
-
-/* C89 style token pasting. Exercises some of the corner cases that
- e.g. old MSVC gets wrong, but not very hard. */
-#define noexpand_concat(a,b) a##b
-#define expand_concat(a,b) noexpand_concat(a,b)
-extern int vA;
-extern int vbee;
-#define aye A
-#define bee B
-int *pvA = &expand_concat(v,aye);
-int *pvbee = &noexpand_concat(v,bee);
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not \xHH hex character constants.
- These do not provoke an error unfortunately, instead are silently treated
- as an "x". The following induces an error, until -std is added to get
- proper ANSI mode. Curiously \x00 != x always comes out true, for an
- array size at least. It is necessary to write \x00 == 0 to get something
- that is true only with -std. */
-int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) '\''x'\''
-int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
- int, int);'
-
-# Test code for whether the C compiler supports C89 (body of main).
-ac_c_conftest_c89_main='
-ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
-'
-
-# Test code for whether the C compiler supports C99 (global declarations)
-ac_c_conftest_c99_globals='
-/* Does the compiler advertise C99 conformance? */
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
-# error "Compiler does not advertise C99 conformance"
-#endif
-
-// See if C++-style comments work.
-
-#include
-extern int puts (const char *);
-extern int printf (const char *, ...);
-extern int dprintf (int, const char *, ...);
-extern void *malloc (size_t);
-extern void free (void *);
-
-// Check varargs macros. These examples are taken from C99 6.10.3.5.
-// dprintf is used instead of fprintf to avoid needing to declare
-// FILE and stderr.
-#define debug(...) dprintf (2, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
- int x = 1234;
- int y = 5678;
- debug ("Flag");
- debug ("X = %d\n", x);
- showlist (The first, second, and third items.);
- report (x>y, "x is %d but y is %d", x, y);
-}
-
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
- #error "your preprocessor is broken"
-#endif
-#if BIG_OK
-#else
- #error "your preprocessor is broken"
-#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
-
-struct incomplete_array
-{
- int datasize;
- double data[];
-};
-
-struct named_init {
- int number;
- const wchar_t *name;
- double average;
-};
-
-typedef const char *ccp;
-
-static inline int
-test_restrict (ccp restrict text)
-{
- // Iterate through items via the restricted pointer.
- // Also check for declarations in for loops.
- for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
- continue;
- return 0;
-}
-
-// Check varargs and va_copy.
-static bool
-test_varargs (const char *format, ...)
-{
- va_list args;
- va_start (args, format);
- va_list args_copy;
- va_copy (args_copy, args);
-
- const char *str = "";
- int number = 0;
- float fnumber = 0;
-
- while (*format)
- {
- switch (*format++)
- {
- case '\''s'\'': // string
- str = va_arg (args_copy, const char *);
- break;
- case '\''d'\'': // int
- number = va_arg (args_copy, int);
- break;
- case '\''f'\'': // float
- fnumber = va_arg (args_copy, double);
- break;
- default:
- break;
- }
- }
- va_end (args_copy);
- va_end (args);
-
- return *str && number && fnumber;
-}
-'
-
-# Test code for whether the C compiler supports C99 (body of main).
-ac_c_conftest_c99_main='
- // Check bool.
- _Bool success = false;
- success |= (argc != 0);
-
- // Check restrict.
- if (test_restrict ("String literal") == 0)
- success = true;
- char *restrict newvar = "Another string";
-
- // Check varargs.
- success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
- test_varargs_macros ();
-
- // Check flexible array members.
- struct incomplete_array *ia =
- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
- ia->datasize = 10;
- for (int i = 0; i < ia->datasize; ++i)
- ia->data[i] = i * 1.234;
- // Work around memory leak warnings.
- free (ia);
-
- // Check named initializers.
- struct named_init ni = {
- .number = 34,
- .name = L"Test wide string",
- .average = 543.34343,
- };
-
- ni.number = 58;
-
- int dynamic_array[ni.number];
- dynamic_array[0] = argv[0][0];
- dynamic_array[ni.number - 1] = 543;
-
- // work around unused variable warnings
- ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
- || dynamic_array[ni.number - 1] != 543);
-'
-
-# Test code for whether the C compiler supports C11 (global declarations)
-ac_c_conftest_c11_globals='
-/* Does the compiler advertise C11 conformance? */
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
-# error "Compiler does not advertise C11 conformance"
-#endif
-
-// Check _Alignas.
-char _Alignas (double) aligned_as_double;
-char _Alignas (0) no_special_alignment;
-extern char aligned_as_int;
-char _Alignas (0) _Alignas (int) aligned_as_int;
-
-// Check _Alignof.
-enum
-{
- int_alignment = _Alignof (int),
- int_array_alignment = _Alignof (int[100]),
- char_alignment = _Alignof (char)
-};
-_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
-
-// Check _Noreturn.
-int _Noreturn does_not_return (void) { for (;;) continue; }
-
-// Check _Static_assert.
-struct test_static_assert
-{
- int x;
- _Static_assert (sizeof (int) <= sizeof (long int),
- "_Static_assert does not work in struct");
- long int y;
-};
-
-// Check UTF-8 literals.
-#define u8 syntax error!
-char const utf8_literal[] = u8"happens to be ASCII" "another string";
-
-// Check duplicate typedefs.
-typedef long *long_ptr;
-typedef long int *long_ptr;
-typedef long_ptr long_ptr;
-
-// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
-struct anonymous
-{
- union {
- struct { int i; int j; };
- struct { int k; long int l; } w;
- };
- int m;
-} v1;
-'
-
-# Test code for whether the C compiler supports C11 (body of main).
-ac_c_conftest_c11_main='
- _Static_assert ((offsetof (struct anonymous, i)
- == offsetof (struct anonymous, w.k)),
- "Anonymous union alignment botch");
- v1.i = 2;
- v1.w.k = 5;
- ok |= v1.i != 5;
-'
-
-# Test code for whether the C compiler supports C11 (complete).
-ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
-${ac_c_conftest_c99_globals}
-${ac_c_conftest_c11_globals}
-
-int
-main (int argc, char **argv)
-{
- int ok = 0;
- ${ac_c_conftest_c89_main}
- ${ac_c_conftest_c99_main}
- ${ac_c_conftest_c11_main}
- return ok;
-}
-"
-
-# Test code for whether the C compiler supports C99 (complete).
-ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
-${ac_c_conftest_c99_globals}
-
-int
-main (int argc, char **argv)
-{
- int ok = 0;
- ${ac_c_conftest_c89_main}
- ${ac_c_conftest_c99_main}
- return ok;
-}
-"
-
-# Test code for whether the C compiler supports C89 (complete).
-ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
-
-int
-main (int argc, char **argv)
-{
- int ok = 0;
- ${ac_c_conftest_c89_main}
- return ok;
-}
-"
-
-# Test code for whether the C++ compiler supports C++98 (global declarations)
-ac_cxx_conftest_cxx98_globals='
-// Does the compiler advertise C++98 conformance?
-#if !defined __cplusplus || __cplusplus < 199711L
-# error "Compiler does not advertise C++98 conformance"
-#endif
-
-// These inclusions are to reject old compilers that
-// lack the unsuffixed header files.
-#include
-#include
-
-// and are *not* freestanding headers in C++98.
-extern void assert (int);
-namespace std {
- extern int strcmp (const char *, const char *);
-}
-
-// Namespaces, exceptions, and templates were all added after "C++ 2.0".
-using std::exception;
-using std::strcmp;
-
-namespace {
-
-void test_exception_syntax()
-{
- try {
- throw "test";
- } catch (const char *s) {
- // Extra parentheses suppress a warning when building autoconf itself,
- // due to lint rules shared with more typical C programs.
- assert (!(strcmp) (s, "test"));
- }
-}
-
-template struct test_template
-{
- T const val;
- explicit test_template(T t) : val(t) {}
- template T add(U u) { return static_cast(u) + val; }
-};
-
-} // anonymous namespace
-'
-
-# Test code for whether the C++ compiler supports C++98 (body of main)
-ac_cxx_conftest_cxx98_main='
- assert (argc);
- assert (! argv[0]);
-{
- test_exception_syntax ();
- test_template tt (2.0);
- assert (tt.add (4) == 6.0);
- assert (true && !false);
-}
-'
-
-# Test code for whether the C++ compiler supports C++11 (global declarations)
-ac_cxx_conftest_cxx11_globals='
-// Does the compiler advertise C++ 2011 conformance?
-#if !defined __cplusplus || __cplusplus < 201103L
-# error "Compiler does not advertise C++11 conformance"
-#endif
-
-namespace cxx11test
-{
- constexpr int get_val() { return 20; }
-
- struct testinit
- {
- int i;
- double d;
- };
-
- class delegate
- {
- public:
- delegate(int n) : n(n) {}
- delegate(): delegate(2354) {}
-
- virtual int getval() { return this->n; };
- protected:
- int n;
- };
-
- class overridden : public delegate
- {
- public:
- overridden(int n): delegate(n) {}
- virtual int getval() override final { return this->n * 2; }
- };
-
- class nocopy
- {
- public:
- nocopy(int i): i(i) {}
- nocopy() = default;
- nocopy(const nocopy&) = delete;
- nocopy & operator=(const nocopy&) = delete;
- private:
- int i;
- };
-
- // for testing lambda expressions
- template Ret eval(Fn f, Ret v)
- {
- return f(v);
- }
-
- // for testing variadic templates and trailing return types
- template auto sum(V first) -> V
- {
- return first;
- }
- template auto sum(V first, Args... rest) -> V
- {
- return first + sum(rest...);
- }
-}
-'
-
-# Test code for whether the C++ compiler supports C++11 (body of main)
-ac_cxx_conftest_cxx11_main='
-{
- // Test auto and decltype
- auto a1 = 6538;
- auto a2 = 48573953.4;
- auto a3 = "String literal";
-
- int total = 0;
- for (auto i = a3; *i; ++i) { total += *i; }
-
- decltype(a2) a4 = 34895.034;
-}
-{
- // Test constexpr
- short sa[cxx11test::get_val()] = { 0 };
-}
-{
- // Test initializer lists
- cxx11test::testinit il = { 4323, 435234.23544 };
-}
-{
- // Test range-based for
- int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3,
- 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
- for (auto &x : array) { x += 23; }
-}
-{
- // Test lambda expressions
- using cxx11test::eval;
- assert (eval ([](int x) { return x*2; }, 21) == 42);
- double d = 2.0;
- assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0);
- assert (d == 5.0);
- assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0);
- assert (d == 5.0);
-}
-{
- // Test use of variadic templates
- using cxx11test::sum;
- auto a = sum(1);
- auto b = sum(1, 2);
- auto c = sum(1.0, 2.0, 3.0);
-}
-{
- // Test constructor delegation
- cxx11test::delegate d1;
- cxx11test::delegate d2();
- cxx11test::delegate d3(45);
-}
-{
- // Test override and final
- cxx11test::overridden o1(55464);
-}
-{
- // Test nullptr
- char *c = nullptr;
-}
-{
- // Test template brackets
- test_template<::test_template> v(test_template(12));
-}
-{
- // Unicode literals
- char const *utf8 = u8"UTF-8 string \u2500";
- char16_t const *utf16 = u"UTF-8 string \u2500";
- char32_t const *utf32 = U"UTF-32 string \u2500";
-}
-'
-
-# Test code for whether the C compiler supports C++11 (complete).
-ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals}
-${ac_cxx_conftest_cxx11_globals}
-
-int
-main (int argc, char **argv)
-{
- int ok = 0;
- ${ac_cxx_conftest_cxx98_main}
- ${ac_cxx_conftest_cxx11_main}
- return ok;
-}
-"
-
-# Test code for whether the C compiler supports C++98 (complete).
-ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals}
-int
-main (int argc, char **argv)
-{
- int ok = 0;
- ${ac_cxx_conftest_cxx98_main}
- return ok;
-}
-"
-
-as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
-as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
-as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
-as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
-as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
-as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
-as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
-as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
-as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5
-printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5
-printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5
-printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5
-printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5
-printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;}
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5
-printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file'
- and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-ac_config_headers="$ac_config_headers gen/pkgconfig.h:src/pkgconfig.h.in"
-
-
-
-
-ac_config_commands="$ac_config_commands src/digraphs-config.h"
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_CC+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-printf "%s\n" "$ac_ct_CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
- fi
-fi
-fi ;;
-esac
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_CC+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-printf "%s\n" "$ac_ct_CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
-set dummy ${ac_tool_prefix}clang; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CC+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}clang"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-printf "%s\n" "$CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "clang", so it can be a program name with args.
-set dummy clang; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_CC+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="clang"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-printf "%s\n" "$ac_ct_CC" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-fi
-
-
-test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See 'config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion -version; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-printf %s "checking whether the C compiler works... " >&6; }
-ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'.
-# So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an '-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else case e in #(
- e) ac_file='' ;;
-esac
-fi
-if test -z "$ac_file"
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See 'config.log' for more details" "$LINENO" 5; }
-else case e in #(
- e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; } ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-printf %s "checking for C compiler default output file name... " >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-printf "%s\n" "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-printf %s "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-then :
- # If both 'conftest.exe' and 'conftest' are 'present' (well, observable)
-# catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will
-# work properly (i.e., refer to 'conftest.exe'), while it won't with
-# 'rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else case e in #(
- e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See 'config.log' for more details" "$LINENO" 5; } ;;
-esac
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-printf "%s\n" "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-int
-main (void)
-{
-FILE *f = fopen ("conftest.out", "w");
- if (!f)
- return 1;
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-printf %s "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error 77 "cannot run C compiled programs.
-If you meant to cross compile, use '--host'.
-See 'config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-printf "%s\n" "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext \
- conftest.o conftest.obj conftest.out
-ac_clean_files=$ac_clean_files_save
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-printf %s "checking for suffix of object files... " >&6; }
-if test ${ac_cv_objext+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else case e in #(
- e) printf "%s\n" "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See 'config.log' for more details" "$LINENO" 5; } ;;
-esac
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-printf "%s\n" "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
-printf %s "checking whether the compiler supports GNU C... " >&6; }
-if test ${ac_cv_c_compiler_gnu+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_compiler_gnu=yes
-else case e in #(
- e) ac_compiler_gnu=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
- ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+y}
-ac_save_CFLAGS=$CFLAGS
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-printf %s "checking whether $CC accepts -g... " >&6; }
-if test ${ac_cv_prog_cc_g+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_g=yes
-else case e in #(
- e) CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
-
-else case e in #(
- e) ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
-if test $ac_test_CFLAGS; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-ac_prog_cc_stdc=no
-if test x$ac_prog_cc_stdc = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
-printf %s "checking for $CC option to enable C11 features... " >&6; }
-if test ${ac_cv_prog_cc_c11+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_cv_prog_cc_c11=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_c_conftest_c11_program
-_ACEOF
-for ac_arg in '' -std=gnu11
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_c11=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- test "x$ac_cv_prog_cc_c11" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC ;;
-esac
-fi
-
-if test "x$ac_cv_prog_cc_c11" = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-printf "%s\n" "unsupported" >&6; }
-else case e in #(
- e) if test "x$ac_cv_prog_cc_c11" = x
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-printf "%s\n" "none needed" >&6; }
-else case e in #(
- e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
-printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
- CC="$CC $ac_cv_prog_cc_c11" ;;
-esac
-fi
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
- ac_prog_cc_stdc=c11 ;;
-esac
-fi
-fi
-if test x$ac_prog_cc_stdc = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
-printf %s "checking for $CC option to enable C99 features... " >&6; }
-if test ${ac_cv_prog_cc_c99+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_c_conftest_c99_program
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_c99=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC ;;
-esac
-fi
-
-if test "x$ac_cv_prog_cc_c99" = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-printf "%s\n" "unsupported" >&6; }
-else case e in #(
- e) if test "x$ac_cv_prog_cc_c99" = x
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-printf "%s\n" "none needed" >&6; }
-else case e in #(
- e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
-printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
- CC="$CC $ac_cv_prog_cc_c99" ;;
-esac
-fi
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
- ac_prog_cc_stdc=c99 ;;
-esac
-fi
-fi
-if test x$ac_prog_cc_stdc = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
-printf %s "checking for $CC option to enable C89 features... " >&6; }
-if test ${ac_cv_prog_cc_c89+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_c_conftest_c89_program
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"
-then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC ;;
-esac
-fi
-
-if test "x$ac_cv_prog_cc_c89" = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-printf "%s\n" "unsupported" >&6; }
-else case e in #(
- e) if test "x$ac_cv_prog_cc_c89" = x
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-printf "%s\n" "none needed" >&6; }
-else case e in #(
- e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
- CC="$CC $ac_cv_prog_cc_c89" ;;
-esac
-fi
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
- ac_prog_cc_stdc=c89 ;;
-esac
-fi
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
- if test -n "$CCC"; then
- CXX=$CCC
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_CXX+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-printf "%s\n" "$CXX" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$CXX" && break
- done
-fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_prog_ac_ct_CXX+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi ;;
-esac
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-printf "%s\n" "$ac_ct_CXX" >&6; }
-else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CXX" && break
-done
-
- if test "x$ac_ct_CXX" = x; then
- CXX="g++"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CXX=$ac_ct_CXX
- fi
-fi
-
- fi
-fi
-# Provide some information about the compiler.
-printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-printf "%s\n" "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5
-printf %s "checking whether the compiler supports GNU C++... " >&6; }
-if test ${ac_cv_cxx_compiler_gnu+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- ac_compiler_gnu=yes
-else case e in #(
- e) ac_compiler_gnu=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
- ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; }
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-if test $ac_compiler_gnu = yes; then
- GXX=yes
-else
- GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+y}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-printf %s "checking whether $CXX accepts -g... " >&6; }
-if test ${ac_cv_prog_cxx_g+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_save_cxx_werror_flag=$ac_cxx_werror_flag
- ac_cxx_werror_flag=yes
- ac_cv_prog_cxx_g=no
- CXXFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- ac_cv_prog_cxx_g=yes
-else case e in #(
- e) CXXFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
-
-else case e in #(
- e) ac_cxx_werror_flag=$ac_save_cxx_werror_flag
- CXXFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- ac_cv_prog_cxx_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-printf "%s\n" "$ac_cv_prog_cxx_g" >&6; }
-if test $ac_test_CXXFLAGS; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-ac_prog_cxx_stdcxx=no
-if test x$ac_prog_cxx_stdcxx = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
-printf %s "checking for $CXX option to enable C++11 features... " >&6; }
-if test ${ac_cv_prog_cxx_cxx11+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_cv_prog_cxx_cxx11=no
-ac_save_CXX=$CXX
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_cxx_conftest_cxx11_program
-_ACEOF
-for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA
-do
- CXX="$ac_save_CXX $ac_arg"
- if ac_fn_cxx_try_compile "$LINENO"
-then :
- ac_cv_prog_cxx_cxx11=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- test "x$ac_cv_prog_cxx_cxx11" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CXX=$ac_save_CXX ;;
-esac
-fi
-
-if test "x$ac_cv_prog_cxx_cxx11" = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-printf "%s\n" "unsupported" >&6; }
-else case e in #(
- e) if test "x$ac_cv_prog_cxx_cxx11" = x
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-printf "%s\n" "none needed" >&6; }
-else case e in #(
- e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5
-printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; }
- CXX="$CXX $ac_cv_prog_cxx_cxx11" ;;
-esac
-fi
- ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
- ac_prog_cxx_stdcxx=cxx11 ;;
-esac
-fi
-fi
-if test x$ac_prog_cxx_stdcxx = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
-printf %s "checking for $CXX option to enable C++98 features... " >&6; }
-if test ${ac_cv_prog_cxx_cxx98+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_cv_prog_cxx_cxx98=no
-ac_save_CXX=$CXX
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_cxx_conftest_cxx98_program
-_ACEOF
-for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA
-do
- CXX="$ac_save_CXX $ac_arg"
- if ac_fn_cxx_try_compile "$LINENO"
-then :
- ac_cv_prog_cxx_cxx98=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam
- test "x$ac_cv_prog_cxx_cxx98" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CXX=$ac_save_CXX ;;
-esac
-fi
-
-if test "x$ac_cv_prog_cxx_cxx98" = xno
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-printf "%s\n" "unsupported" >&6; }
-else case e in #(
- e) if test "x$ac_cv_prog_cxx_cxx98" = x
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-printf "%s\n" "none needed" >&6; }
-else case e in #(
- e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5
-printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; }
- CXX="$CXX $ac_cv_prog_cxx_cxx98" ;;
-esac
-fi
- ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98
- ac_prog_cxx_stdcxx=cxx98 ;;
-esac
-fi
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
- # Make sure CDPATH is portably set to a sensible value
- CDPATH=${ZSH_VERSION+.}:
-
- GAP_CPPFLAGS=""
-
- ######################################
- # Find the GAP root directory by
- # checking for the sysinfo.gap file
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GAP root directory" >&5
-printf %s "checking for GAP root directory... " >&6; }
- GAPROOT="../.."
-
- # Allow the user to specify the location of GAP
-
-# Check whether --with-gaproot was given.
-if test ${with_gaproot+y}
-then :
- withval=$with_gaproot; GAPROOT="$withval"
-fi
-
-
- # Convert the path to absolute
- GAPROOT=`cd $GAPROOT > /dev/null 2>&1 && pwd`
-
- if test -e ${GAPROOT}/sysinfo.gap; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${GAPROOT}" >&5
-printf "%s\n" "${GAPROOT}" >&6; }
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Not found" >&5
-printf "%s\n" "Not found" >&6; }
-
- echo ""
- echo "********************************************************************"
- echo " ERROR"
- echo ""
- echo " Cannot find your GAP installation. Please specify the location of"
- echo " GAP's root directory using --with-gaproot="
- echo ""
- echo " The GAP root directory (as far as this package is concerned) is"
- echo " the one containing the file sysinfo.gap"
- echo "********************************************************************"
- echo ""
-
- as_fn_error $? "Unable to find GAP root directory" "$LINENO" 5
- fi
-
- #####################################
- # Now find the architecture
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GAP architecture" >&5
-printf %s "checking for GAP architecture... " >&6; }
- GAPARCH="Unknown"
- . $GAPROOT/sysinfo.gap
- if test "x$GAParch" != "x"; then
- GAPARCH=$GAParch
- fi
-
- if test "x$GAPARCH" = "xUnknown" ; then
- echo ""
- echo "********************************************************************"
- echo " ERROR"
- echo ""
- echo " Found a GAP installation at $GAPROOT but could not find"
- echo " information about GAP's architecture in the file"
- echo " ${GAPROOT}/sysinfo.gap ."
- echo " This file should be present: please check your GAP installation."
- echo "********************************************************************"
- echo ""
-
- as_fn_error $? "Unable to find plausible GAParch information." "$LINENO" 5
- fi
-
- # require GAP >= 4.9
- if test "x$GAP_CPPFLAGS" = x; then
- echo ""
- echo "********************************************************************"
- echo " ERROR"
- echo ""
- echo " This version of GAP is too old and not supported by this package."
- echo "********************************************************************"
- echo ""
- as_fn_error $? "No GAP_CPPFLAGS is given" "$LINENO" 5
- fi
-
- # compatibility with GAP 4.9 (not needed in GAP >= 4.10)
- GAP_CPPFLAGS="$GAP_CPPFLAGS -I${GAP_LIB_DIR}/src"
-
-
-
-
-
-
-
-
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-# Check whether --enable-debug was given.
-if test ${enable_debug+y}
-then :
- enableval=$enable_debug;
-printf "%s\n" "#define KERNEL_DEBUG 1" >>confdefs.h
-
-else case e in #(
- e) enable_debug=no
- ;;
-esac
-fi
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable debug mode" >&5
-printf %s "checking whether to enable debug mode... " >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_debug" >&5
-printf "%s\n" "$enable_debug" >&6; }
-KERNEL_DEBUG=$enable_debug
-
-
-# Check whether --enable-stats was given.
-if test ${enable_stats+y}
-then :
- enableval=$enable_stats;
-printf "%s\n" "#define ENABLE_STATS 1" >>confdefs.h
-
-else case e in #(
- e) enable_stats=no
- ;;
-esac
-fi
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable stats mode" >&5
-printf %s "checking whether to enable stats mode... " >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_stats" >&5
-printf "%s\n" "$enable_stats" >&6; }
-ENABLE_STATS=$enable_debug
-
-
-# Check whether --enable-code-coverage was given.
-if test ${enable_code_coverage+y}
-then :
- enableval=$enable_code_coverage;
-else case e in #(
- e) enable_code_coverage=no ;;
-esac
-fi
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with code coverage support" >&5
-printf %s "checking whether to build with code coverage support... " >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_code_coverage" >&5
-printf "%s\n" "$enable_code_coverage" >&6; }
-
-if test "$enable_code_coverage" = "yes"
-then :
-
- CODE_COVERAGE_CFLAGS="-DNDEBUG -O0 -g --coverage"
- CODE_COVERAGE_CXXFLAGS="-DNDEBUG -O0 -g --coverage"
- CODE_COVERAGE_LDFLAGS="--coverage"
-
-
-
-
-fi
-
-
-# Enable compiler warnings
-
-# Check whether --enable-compile-warnings was given.
-if test ${enable_compile_warnings+y}
-then :
- enableval=$enable_compile_warnings; enable_compile_warnings=yes
-else case e in #(
- e) enable_compile_warnings=no ;;
-esac
-fi
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether enable compiler warnings" >&5
-printf %s "checking whether enable compiler warnings... " >&6; }
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_compile_warnings" >&5
-printf "%s\n" "$enable_compile_warnings" >&6; }
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-printf %s "checking for a sed that does not truncate output... " >&6; }
-if test ${ac_cv_path_SED+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in sed gsed
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in #(
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-#(
-*)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
- ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-printf "%s\n" "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-
-if test "x$enable_compile_warnings" != "xno"
-then :
- ax_enable_compile_warnings=yes
-
-
-
-
-
-
-
-
-
- # Variable names
-
-
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
- # flags, otherwise they are always appended to the warn_cxxflags variable,
- # and Clang warns on them for every compilation unit.
- # If this is passed to GCC, it will explode, so the flag must be enabled
- # conditionally.
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Werror=unknown-warning-option" >&5
-printf %s "checking whether C++ compiler accepts -Werror=unknown-warning-option... " >&6; }
-if test ${ax_cv_check_cxxflags___Werror_unknown_warning_option+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS -Werror=unknown-warning-option"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- ax_cv_check_cxxflags___Werror_unknown_warning_option=yes
-else case e in #(
- e) ax_cv_check_cxxflags___Werror_unknown_warning_option=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CXXFLAGS=$ax_check_save_flags ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___Werror_unknown_warning_option" >&5
-printf "%s\n" "$ax_cv_check_cxxflags___Werror_unknown_warning_option" >&6; }
-if test "x$ax_cv_check_cxxflags___Werror_unknown_warning_option" = xyes
-then :
-
- ax_compiler_flags_test="-Werror=unknown-warning-option"
-
-else case e in #(
- e)
- ax_compiler_flags_test=""
- ;;
-esac
-fi
-
-
- # Check that -Wno-suggest-attribute=format is supported
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Wno-suggest-attribute=format" >&5
-printf %s "checking whether C++ compiler accepts -Wno-suggest-attribute=format... " >&6; }
-if test ${ax_cv_check_cxxflags___Wno_suggest_attribute_format+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS -Wno-suggest-attribute=format"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- ax_cv_check_cxxflags___Wno_suggest_attribute_format=yes
-else case e in #(
- e) ax_cv_check_cxxflags___Wno_suggest_attribute_format=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CXXFLAGS=$ax_check_save_flags ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___Wno_suggest_attribute_format" >&5
-printf "%s\n" "$ax_cv_check_cxxflags___Wno_suggest_attribute_format" >&6; }
-if test "x$ax_cv_check_cxxflags___Wno_suggest_attribute_format" = xyes
-then :
-
- ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format"
-
-else case e in #(
- e)
- ax_compiler_no_suggest_attribute_flags=""
- ;;
-esac
-fi
-
-
- # Base flags
-
-
-
-
-for flag in -fno-strict-aliasing -pedantic -Wold-style-cast ; do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
-printf %s "checking whether C++ compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CXXFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CXXFLAGS+y}
-then :
-
- case " $WARNING_CXXFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains \$flag"; } >&5
- (: WARNING_CXXFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CXXFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CXXFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
-
- if test "$ax_enable_compile_warnings" != "no"
-then :
-
- # "yes" flags
-
-
-
-
-for flag in -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wredundant-decls -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wno-overloaded-virtual -Wswitch-enum -Wswitch-default ; do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
-printf %s "checking whether C++ compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CXXFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CXXFLAGS+y}
-then :
-
- case " $WARNING_CXXFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains \$flag"; } >&5
- (: WARNING_CXXFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CXXFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CXXFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
-
-fi
- if test "$ax_enable_compile_warnings" = "error"
-then :
-
- # "error" flags; -Werror has to be appended unconditionally because
- # it's not possible to test for
- #
- # suggest-attribute=format is disabled because it gives too many false
- # positives
-
-if test ${WARNING_CXXFLAGS+y}
-then :
-
- case " $WARNING_CXXFLAGS " in #(
- *" -Werror "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains -Werror"; } >&5
- (: WARNING_CXXFLAGS already contains -Werror) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CXXFLAGS " -Werror"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CXXFLAGS=-Werror
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-
-
-
-
-
-for flag in $ax_compiler_no_suggest_attribute_flags ; do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
-printf %s "checking whether C++ compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CXXFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CXXFLAGS+y}
-then :
-
- case " $WARNING_CXXFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains \$flag"; } >&5
- (: WARNING_CXXFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CXXFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CXXFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
-
-fi
-
- # In the flags below, when disabling specific flags, always add *both*
- # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example)
- # we enable -Werror, disable a flag, and a build bot passes CXXFLAGS=-Wall,
- # which effectively turns that flag back on again as an error.
- for flag in $WARNING_CXXFLAGS; do
- case $flag in #(
- -Wno-*=*) :
- ;; #(
- -Wno-*) :
-
-
-
-
-
-for flag in -Wno-error=$(printf "%s\n" $flag | $SED 's/^-Wno-//'); do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
-printf %s "checking whether C++ compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CXXFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CXXFLAGS+y}
-then :
-
- case " $WARNING_CXXFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS already contains \$flag"; } >&5
- (: WARNING_CXXFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CXXFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CXXFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CXXFLAGS=\"\$WARNING_CXXFLAGS\""; } >&5
- (: WARNING_CXXFLAGS="$WARNING_CXXFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
- ;; #(
- *) :
- ;;
-esac
- done
-
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- # Substitute the variables
-
-
-
-fi
-
-
-if test "x$enable_compile_warnings" != "xno"
-then :
- ax_enable_compile_warnings=yes
-
-
-
-
-
-
-
-
-
- # Variable names
-
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #ifndef __cplusplus
- #error "no C++"
- #endif
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ax_compiler_cxx=yes;
-else case e in #(
- e) ax_compiler_cxx=no; ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-
- # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
- # flags, otherwise they are always appended to the warn_cflags variable, and
- # Clang warns on them for every compilation unit.
- # If this is passed to GCC, it will explode, so the flag must be enabled
- # conditionally.
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=unknown-warning-option" >&5
-printf %s "checking whether C compiler accepts -Werror=unknown-warning-option... " >&6; }
-if test ${ax_cv_check_cflags___Werror_unknown_warning_option+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS -Werror=unknown-warning-option"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ax_cv_check_cflags___Werror_unknown_warning_option=yes
-else case e in #(
- e) ax_cv_check_cflags___Werror_unknown_warning_option=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS=$ax_check_save_flags ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_unknown_warning_option" >&5
-printf "%s\n" "$ax_cv_check_cflags___Werror_unknown_warning_option" >&6; }
-if test "x$ax_cv_check_cflags___Werror_unknown_warning_option" = xyes
-then :
-
- ax_compiler_flags_test="-Werror=unknown-warning-option"
-
-else case e in #(
- e)
- ax_compiler_flags_test=""
- ;;
-esac
-fi
-
-
- # Check that -Wno-suggest-attribute=format is supported
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-suggest-attribute=format" >&5
-printf %s "checking whether C compiler accepts -Wno-suggest-attribute=format... " >&6; }
-if test ${ax_cv_check_cflags___Wno_suggest_attribute_format+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS -Wno-suggest-attribute=format"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- ax_cv_check_cflags___Wno_suggest_attribute_format=yes
-else case e in #(
- e) ax_cv_check_cflags___Wno_suggest_attribute_format=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS=$ax_check_save_flags ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_suggest_attribute_format" >&5
-printf "%s\n" "$ax_cv_check_cflags___Wno_suggest_attribute_format" >&6; }
-if test "x$ax_cv_check_cflags___Wno_suggest_attribute_format" = xyes
-then :
-
- ax_compiler_no_suggest_attribute_flags="-Wno-suggest-attribute=format"
-
-else case e in #(
- e)
- ax_compiler_no_suggest_attribute_flags=""
- ;;
-esac
-fi
-
-
- # Base flags
-
-
-
-
-for flag in -fno-strict-aliasing -pedantic ; do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-printf %s "checking whether C compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CFLAGS+y}
-then :
-
- case " $WARNING_CFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
- (: WARNING_CFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
-
- if test "$ax_enable_compile_warnings" != "no"
-then :
-
- if test "$ax_compiler_cxx" = "no" ; then
- # C-only flags. Warn in C++
-
-
-
-
-for flag in -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init ; do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-printf %s "checking whether C compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CFLAGS+y}
-then :
-
- case " $WARNING_CFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
- (: WARNING_CFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
- fi
-
- # "yes" flags
-
-
-
-
-for flag in -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wredundant-decls -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion ; do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-printf %s "checking whether C compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CFLAGS+y}
-then :
-
- case " $WARNING_CFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
- (: WARNING_CFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
-
-fi
- if test "$ax_enable_compile_warnings" = "error"
-then :
-
- # "error" flags; -Werror has to be appended unconditionally because
- # it's not possible to test for
- #
- # suggest-attribute=format is disabled because it gives too many false
- # positives
-
-if test ${WARNING_CFLAGS+y}
-then :
-
- case " $WARNING_CFLAGS " in #(
- *" -Werror "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains -Werror"; } >&5
- (: WARNING_CFLAGS already contains -Werror) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CFLAGS " -Werror"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CFLAGS=-Werror
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-
-
-
-
-
-for flag in $ax_compiler_no_suggest_attribute_flags ; do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-printf %s "checking whether C compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CFLAGS+y}
-then :
-
- case " $WARNING_CFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
- (: WARNING_CFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
-
-fi
-
- # In the flags below, when disabling specific flags, always add *both*
- # -Wno-foo and -Wno-error=foo. This fixes the situation where (for example)
- # we enable -Werror, disable a flag, and a build bot passes CFLAGS=-Wall,
- # which effectively turns that flag back on again as an error.
- for flag in $WARNING_CFLAGS; do
- case $flag in #(
- -Wno-*=*) :
- ;; #(
- -Wno-*) :
-
-
-
-
-
-for flag in -Wno-error=$(printf "%s\n" $flag | $SED 's/^-Wno-//'); do
- as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | sed "$as_sed_sh"`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-printf %s "checking whether C compiler accepts $flag... " >&6; }
-if eval test \${$as_CACHEVAR+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- eval "$as_CACHEVAR=yes"
-else case e in #(
- e) eval "$as_CACHEVAR=no" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS=$ax_check_save_flags ;;
-esac
-fi
-eval ac_res=\$$as_CACHEVAR
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_CACHEVAR"\" = x"yes"
-then :
-
-if test ${WARNING_CFLAGS+y}
-then :
-
- case " $WARNING_CFLAGS " in #(
- *" $flag "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS already contains \$flag"; } >&5
- (: WARNING_CFLAGS already contains $flag) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } ;; #(
- *) :
-
- as_fn_append WARNING_CFLAGS " $flag"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-
-else case e in #(
- e)
- WARNING_CFLAGS=$flag
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : WARNING_CFLAGS=\"\$WARNING_CFLAGS\""; } >&5
- (: WARNING_CFLAGS="$WARNING_CFLAGS") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
-esac
-fi
-
-else case e in #(
- e) : ;;
-esac
-fi
-
-done
-
- ;; #(
- *) :
- ;;
-esac
- done
-
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- # Substitute the variables
-
-
-
-fi
-
-# Check for system planarity suite
-
-ac_header= ac_cache=
-for ac_item in $ac_header_c_list
-do
- if test $ac_cache; then
- ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
- if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
- printf "%s\n" "#define $ac_item 1" >> confdefs.h
- fi
- ac_header= ac_cache=
- elif test $ac_header; then
- ac_cache=$ac_item
- else
- ac_header=$ac_item
- fi
-done
-
-
-
-
-
-
-
-
-if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
-then :
-
-printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-
-# Check whether --with-external-planarity was given.
-if test ${with_external_planarity+y}
-then :
- withval=$with_external_planarity;
-else case e in #(
- e) with_external_planarity=no ;;
-esac
-fi
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use external planarity" >&5
-printf %s "checking whether to use external planarity... " >&6; }
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_external_planarity" >&5
-printf "%s\n" "$with_external_planarity" >&6; }
- if test "x$with_external_planarity" = xyes ; then
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gp_InitGraph in -lplanarity" >&5
-printf %s "checking for gp_InitGraph in -lplanarity... " >&6; }
-if test ${ac_cv_lib_planarity_gp_InitGraph+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_check_lib_save_LIBS=$LIBS
-LIBS="-lplanarity $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply.
- The 'extern "C"' is for builds by C++ compilers;
- although this is not generally supported in C code supporting it here
- has little cost and some practical benefit (sr 110532). */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gp_InitGraph (void);
-int
-main (void)
-{
-return gp_InitGraph ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
- ac_cv_lib_planarity_gp_InitGraph=yes
-else case e in #(
- e) ac_cv_lib_planarity_gp_InitGraph=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_planarity_gp_InitGraph" >&5
-printf "%s\n" "$ac_cv_lib_planarity_gp_InitGraph" >&6; }
-if test "x$ac_cv_lib_planarity_gp_InitGraph" = xyes
-then :
- printf "%s\n" "#define HAVE_LIBPLANARITY 1" >>confdefs.h
-
- LIBS="-lplanarity $LIBS"
-
-else case e in #(
- e) as_fn_error $? "no external libplanarity found" "$LINENO" 5 ;;
-esac
-fi
-
-
- ac_fn_c_check_header_compile "$LINENO" "planarity/graph.h" "ac_cv_header_planarity_graph_h" "$ac_includes_default"
-if test "x$ac_cv_header_planarity_graph_h" = xyes
-then :
-
-else case e in #(
- e) as_fn_error $? "no external planarity headers found" "$LINENO" 5 ;;
-esac
-fi
-
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- fi
- if test "x$with_external_planarity" = xno ; then
- WITH_INCLUDED_PLANARITY=yes
-
-
-printf "%s\n" "#define WITH_INCLUDED_PLANARITY 1" >>confdefs.h
-
- fi
-
-if test "x$with_external_planarity" = xno ; then
- PLANARITY_SUITE_DIR=extern/edge-addition-planarity-suite-Version_3.0.1.0
-
-fi
-
-# Check for system bliss suite
-
-
-# Check whether --with-external-bliss was given.
-if test ${with_external_bliss+y}
-then :
- withval=$with_external_bliss;
-else case e in #(
- e) with_external_bliss=no ;;
-esac
-fi
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use external bliss" >&5
-printf %s "checking whether to use external bliss... " >&6; }
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_external_bliss" >&5
-printf "%s\n" "$with_external_bliss" >&6; }
- if test "x$with_external_bliss" = xyes ; then
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bliss_add_edge in -lbliss" >&5
-printf %s "checking for bliss_add_edge in -lbliss... " >&6; }
-if test ${ac_cv_lib_bliss_bliss_add_edge+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbliss $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply.
- The 'extern "C"' is for builds by C++ compilers;
- although this is not generally supported in C code supporting it here
- has little cost and some practical benefit (sr 110532). */
-#ifdef __cplusplus
-extern "C"
-#endif
-char bliss_add_edge (void);
-int
-main (void)
-{
-return bliss_add_edge ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
- ac_cv_lib_bliss_bliss_add_edge=yes
-else case e in #(
- e) ac_cv_lib_bliss_bliss_add_edge=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bliss_bliss_add_edge" >&5
-printf "%s\n" "$ac_cv_lib_bliss_bliss_add_edge" >&6; }
-if test "x$ac_cv_lib_bliss_bliss_add_edge" = xyes
-then :
- printf "%s\n" "#define HAVE_LIBBLISS 1" >>confdefs.h
-
- LIBS="-lbliss $LIBS"
-
-else case e in #(
- e) as_fn_error $? "no external libbliss found" "$LINENO" 5 ;;
-esac
-fi
-
-
- ac_fn_c_check_header_compile "$LINENO" "bliss/bliss_C.h" "ac_cv_header_bliss_bliss_C_h" "$ac_includes_default"
-if test "x$ac_cv_header_bliss_bliss_C_h" = xyes
-then :
-
-else case e in #(
- e) as_fn_error $? "no external bliss headers found" "$LINENO" 5 ;;
-esac
-fi
-
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- fi
- if test "x$with_external_bliss" = xno ; then
- WITH_INCLUDED_BLISS=yes
-
-
-printf "%s\n" "#define WITH_INCLUDED_BLISS 1" >>confdefs.h
-
- fi
-
-
-# Check whether to use -mpopcnt and __builtin_ctzl
-
-# Check whether --with-intrinsics was given.
-if test ${with_intrinsics+y}
-then :
- withval=$with_intrinsics;
-fi
-
-
-if test "x$with_intrinsics" = "xno"
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: compiler intrinsics will not be used even if available" >&5
-printf "%s\n" "$as_me: compiler intrinsics will not be used even if available" >&6;}
-fi
-
-
-
-if test "x$with_intrinsics" != "xno"
-then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_ctzll" >&5
-printf %s "checking for __builtin_ctzll... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-__builtin_ctzll(0);
-
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"
-then :
- have___builtin_ctzll=yes
-else case e in #(
- e) have___builtin_ctzll=no
- ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have___builtin_ctzll" >&5
-printf "%s\n" "$have___builtin_ctzll" >&6; }
- if test yes = $have___builtin_ctzll
-then :
-
-printf "%s\n" "#define HAVE___BUILTIN_CTZLL 1" >>confdefs.h
-
-fi
-fi
-
-ac_config_files="$ac_config_files Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# 'ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* 'ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # 'set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # 'set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
-then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else case e in #(
- e) case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac ;;
-esac
-fi
-
-
-
-# Reset variables that may have inherited troublesome values from
-# the environment.
-
-# IFS needs to be set, to space, tab, and newline, in precisely that order.
-# (If _AS_PATH_WALK were called with IFS unset, it would have the
-# side effect of setting IFS to empty, thus disabling word splitting.)
-# Quoting is to prevent editors from complaining about space-tab.
-as_nl='
-'
-export as_nl
-IFS=" "" $as_nl"
-
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# Ensure predictable behavior from utilities with locale-dependent output.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# We cannot yet rely on "unset" to work, but we need these variables
-# to be unset--not just set to an empty or harmless value--now, to
-# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
-# also avoids known problems related to "unset" and subshell syntax
-# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
-for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
-do eval test \${$as_var+y} \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-
-# Ensure that fds 0, 1, and 2 are open.
-if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
-if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
-
-# The user is always right.
-if ${PATH_SEPARATOR+false} :; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- test -r "$as_dir$0" && as_myself=$as_dir$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as 'sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- printf "%s\n" "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
-then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else case e in #(
- e) as_fn_append ()
- {
- eval $1=\$$1\$2
- } ;;
-esac
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
-then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else case e in #(
- e) as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- } ;;
-esac
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-# Determine whether it's possible to make 'echo' print without a newline.
-# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
-# for compatibility with existing Makefiles.
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-# For backward compatibility with old third-party macros, we provide
-# the shell variables $as_echo and $as_echo_n. New code should use
-# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
-as_echo='printf %s\n'
-as_echo_n='printf %s'
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable.
- # In both cases, we have to default to 'cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
-as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated
-
-# Sed expression to map a string onto a valid variable name.
-as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-as_tr_sh="eval sed '$as_sed_sh'" # deprecated
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by digraphs $as_me GAP package, which was
-generated by GNU Autoconf 2.72. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-'$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to the package provider."
-
-_ACEOF
-ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
-ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config='$ac_cs_config_escaped'
-ac_cs_version="\\
-digraphs config.status GAP package
-configured by $0, generated by GNU Autoconf 2.72,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2023 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- printf "%s\n" "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- printf "%s\n" "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: '$1'
-Try '$0 --help' for more information.";;
- --help | --hel | -h )
- printf "%s\n" "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: '$1'
-Try '$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- printf "%s\n" "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-PACKAGE="$PACKAGE"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "gen/pkgconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS gen/pkgconfig.h:src/pkgconfig.h.in" ;;
- "src/digraphs-config.h") CONFIG_COMMANDS="$CONFIG_COMMANDS src/digraphs-config.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-
- *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
- test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
- test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to '$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with './config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' >$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with './config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script 'defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' >$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain ':'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is 'configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-printf "%s\n" "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`printf "%s\n" "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when '$srcdir' = '.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- printf "%s\n" "/* $configure_input */" >&1 \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- printf "%s\n" "/* $configure_input */" >&1 \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
- ;;
-
- :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "src/digraphs-config.h":C) ac_prefix_conf_OUT=`echo src/digraphs-config.h`
-ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"`
-ac_prefix_conf_PKG=`echo digraphs`
-ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
-ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^[0123456789]/s/^/_/"`
-ac_prefix_conf_INP=`echo "gen/pkgconfig.h" | sed -e 's/ *//'`
-if test ".$ac_prefix_conf_INP" = "."; then
- for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
- case "$ac_file" in
- *.h) ac_prefix_conf_INP=$ac_file ;;
- *)
- esac
- test ".$ac_prefix_conf_INP" != "." && break
- done
-fi
-if test ".$ac_prefix_conf_INP" = "."; then
- case "$ac_prefix_conf_OUT" in
- */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
- ;;
- *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"`
- ;;
- *) ac_prefix_conf_INP=config.h
- ;;
- esac
-fi
-if test -z "$ac_prefix_conf_PKG" ; then
- as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5
-else
- if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
- ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
- fi fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
-printf "%s\n" "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
- if test -f $ac_prefix_conf_INP ; then
- printf "%s\n" "s/^#undef *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
- printf "%s\n" "s/^#undef *\\([abcdefghijklmnopqrstuvwxyz]\\)/#undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix
- printf "%s\n" "s/^#define *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1\\" >> conftest.prefix
- printf "%s\n" "#define $ac_prefix_conf_UPP""_\\1\\2\\" >> conftest.prefix
- printf "%s\n" "#endif/" >> conftest.prefix
- printf "%s\n" "s/^#define *\\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_LOW""_\\1\\" >> conftest.prefix
- printf "%s\n" "#define $ac_prefix_conf_LOW""_\\1\\2\\" >> conftest.prefix
- printf "%s\n" "#endif/" >> conftest.prefix
- # now executing _script on _DEF input to create _OUT output file
- echo "#ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h
- echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
- echo ' ' >>$tmp/pconfig.h
- echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
-
- sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
- echo ' ' >>$tmp/pconfig.h
- echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
- echo "#endif" >>$tmp/pconfig.h
- if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5
-printf "%s\n" "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
- else
- ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" ||
-$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
- X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
- X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null ||
-printf "%s\n" X"$ac_prefix_conf_OUT" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- rm -f "$ac_prefix_conf_OUT"
- mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
- fi
- else
- as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5
- fi
- rm -f conftest.*
-fi
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
diff --git a/gap/attr.gd b/gap/attr.gd
index 09d171f6a..b21fb8282 100644
--- a/gap/attr.gd
+++ b/gap/attr.gd
@@ -90,7 +90,8 @@ DeclareAttributeThatReturnsDigraph("DigraphReverse", IsDigraph);
DeclareAttributeThatReturnsDigraph("DigraphDual", IsDigraph);
DeclareAttributeThatReturnsDigraph("ReducedDigraph", IsDigraph);
DeclareAttributeThatReturnsDigraph("DigraphRemoveAllMultipleEdges", IsDigraph);
-DeclareAttributeThatReturnsDigraph("DigraphRemoveAllEdges", IsDigraph);
+DeclareAttributeThatReturnsDigraph("DigraphRemoveAllEdges", IsImmutableDigraph);
+DeclareAttributeThatReturnsDigraph("DigraphRemoveAllEdges", IsMutableDigraph);
# TODO replace all DeclareOperations below to
# DeclareAttributeThatReturnsDigraph, and remove the *Attr versions.
From e697fa4e41bf93835e001503a99bac9f3e19afe1 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 8 Oct 2025 15:35:51 +0100
Subject: [PATCH 05/24] More changes made to DigraphRemoveAllEdges
---
gap/attr.gd | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gap/attr.gd b/gap/attr.gd
index b21fb8282..09d171f6a 100644
--- a/gap/attr.gd
+++ b/gap/attr.gd
@@ -90,8 +90,7 @@ DeclareAttributeThatReturnsDigraph("DigraphReverse", IsDigraph);
DeclareAttributeThatReturnsDigraph("DigraphDual", IsDigraph);
DeclareAttributeThatReturnsDigraph("ReducedDigraph", IsDigraph);
DeclareAttributeThatReturnsDigraph("DigraphRemoveAllMultipleEdges", IsDigraph);
-DeclareAttributeThatReturnsDigraph("DigraphRemoveAllEdges", IsImmutableDigraph);
-DeclareAttributeThatReturnsDigraph("DigraphRemoveAllEdges", IsMutableDigraph);
+DeclareAttributeThatReturnsDigraph("DigraphRemoveAllEdges", IsDigraph);
# TODO replace all DeclareOperations below to
# DeclareAttributeThatReturnsDigraph, and remove the *Attr versions.
From 15a5150a07e4fff1a70830c57f2b39a7f0e073f7 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 19 Nov 2025 14:42:37 +0000
Subject: [PATCH 06/24] DigraphEdgeConnectivity and additional functions
(Dominating Set functions) added
---
gap/oper.gd | 2 +
gap/oper.gi | 37 +++++++++
gap/weights.gd | 4 +
gap/weights.gi | 193 ++++++++++++++++++++++++++++++++++++++++++++
tst/testinstall.tst | 23 ++++++
5 files changed, 259 insertions(+)
diff --git a/gap/oper.gd b/gap/oper.gd
index 4766b3496..521610a04 100644
--- a/gap/oper.gd
+++ b/gap/oper.gd
@@ -154,6 +154,8 @@ DeclareOperation("IsOrderIdeal", [IsDigraph, IsList]);
DeclareOperation("IsOrderFilter", [IsDigraph, IsList]);
DeclareOperation("Dominators", [IsDigraph, IsPosInt]);
DeclareOperation("DominatorTree", [IsDigraph, IsPosInt]);
+DeclareOperation("DigraphDominatingSet", [IsDigraph]);
+DeclareOperation("DigraphGetNeighbourhood", [IsDigraph, IsList]);
DeclareOperation("DigraphCycleBasis", [IsDigraph]);
DeclareOperation("DigraphColourRefinement", [IsDigraph]);
diff --git a/gap/oper.gi b/gap/oper.gi
index bdc462bee..32f265e21 100644
--- a/gap/oper.gi
+++ b/gap/oper.gi
@@ -2522,6 +2522,43 @@ function(D, root)
return result;
end);
+# For calculating a dominating set for a digraph
+InstallMethod(DigraphDominatingSet, "for a digraph",
+[IsDigraph],
+function(digraph)
+ local D, neighbourhood, VerticesLeft, Vertices;
+
+ Vertices := [1 .. DigraphNrVertices(digraph)];
+ Shuffle(Vertices);
+
+ # Shuffling not technically necessary - may be better to just do D := [1]?
+ D := [Vertices[1]];
+ neighbourhood := DigraphGetNeighbourhood(digraph, D);
+ VerticesLeft := Difference(Vertices, Union(neighbourhood, D));
+
+ while not IsEmpty(VerticesLeft) do;
+ Append(D, [VerticesLeft[1]]);
+ neighbourhood := DigraphGetNeighbourhood(digraph, D);
+ VerticesLeft := Difference(Vertices, Union(neighbourhood, D));
+ od;
+
+ return D;
+end);
+
+# For getting the neighbourhood for a given List of Vertices in a Digraph
+InstallMethod(DigraphGetNeighbourhood, "for a digraph and a List of vertices",
+[IsDigraph, IsList],
+function(digraph, vertices)
+ local v, neighbourhood;
+ neighbourhood := [];
+ for v in vertices do
+ neighbourhood := Difference(Union(neighbourhood,
+ OutNeighbours(digraph)[v]), vertices);
+ od;
+
+ return neighbourhood;
+end);
+
# Computes the fundamental cycle basis of a symmetric digraph
# First, notice that the cycle space is composed of orthogonal subspaces
# corresponding to the cycle spaces of the connected components.
diff --git a/gap/weights.gd b/gap/weights.gd
index 423950b61..cff8edf43 100644
--- a/gap/weights.gd
+++ b/gap/weights.gd
@@ -44,6 +44,10 @@ DeclareOperation("DigraphMinimumCut",
DeclareOperation("DigraphMinimumCutSet",
[IsDigraph and HasEdgeWeights, IsPosInt, IsPosInt]);
+# Digraph Edge Connectivity
+DeclareOperation("DigraphEdgeConnectivity", [IsDigraph]);
+DeclareOperation("DigraphEdgeConnectivityDS", [IsDigraph]);
+
# 6. Random edge weighted digraphs
DeclareOperation("RandomUniqueEdgeWeightedDigraph", [IsPosInt]);
DeclareOperation("RandomUniqueEdgeWeightedDigraph", [IsPosInt, IsFloat]);
diff --git a/gap/weights.gi b/gap/weights.gi
index dc1081fcf..b152cd7b9 100644
--- a/gap/weights.gi
+++ b/gap/weights.gi
@@ -858,6 +858,199 @@ function(D, s, t)
return cutset;
end);
+# DigraphEdgeConnectivity calculated using Spanning Trees
+InstallMethod(DigraphEdgeConnectivity, "for a digraph",
+[IsDigraph],
+function(digraph)
+ local w, weights, EdgeD, VerticesED, min, u, v,
+ sum, a, b, st, added, NeighboursV, Edges, notadded,
+ max, NextVertex, notAddedNeighbours, non_leaf;
+
+ if DigraphNrVertices(digraph) = 1 then
+ return 0;
+ fi;
+
+ if DigraphNrStronglyConnectedComponents(digraph) > 1 then
+ return 0;
+ fi;
+
+ weights := List([1 .. DigraphNrVertices(digraph)],
+ x -> List([1 .. Length(OutNeighbours(digraph)[x])],
+ y -> 1));
+ EdgeD := EdgeWeightedDigraph(digraph, weights);
+ VerticesED := [1 .. DigraphNrVertices(EdgeD)];
+
+ min := -1;
+
+ # Algorithm 4: Constructing a Spanning Tree with a large numbers of leaves
+
+ st := EmptyDigraph(DigraphNrVertices(EdgeD));
+ v := 1;
+ added := [v];
+
+ while DigraphNrEdges(st) < DigraphNrVertices(EdgeD) - 1 do
+
+ # Add all edges incident from v
+ NeighboursV := OutNeighbors(EdgeD)[v];
+
+ Edges := List([1 .. Length(NeighboursV)],
+ x -> [v, OutNeighbours(EdgeD)[v][x]]);
+
+ Edges := Difference(Edges, [[v, v]]);
+
+ st := DigraphAddEdges(st, Edges);
+ Append(added, Difference(OutNeighbours(EdgeD)[v], added));
+
+ # Select the neighbour to v with the highest number of not-added neighbours:
+
+ notadded := Difference(VerticesED, added);
+ max := 0;
+ NextVertex := v;
+
+ # Preventing infinite iteration if the current vertex has no neighbours
+ if (Length(NeighboursV) = 0) then
+ # Pick from a vertex that hasn't been added yet
+ NextVertex := notadded[1];
+ fi;
+
+ for w in Difference(NeighboursV, [v]) do;
+ notAddedNeighbours := Intersection(notadded, OutNeighbours(EdgeD)[w]);
+ if (Length(notAddedNeighbours) > max) then
+ max := Length(notAddedNeighbours);
+ NextVertex := w;
+ fi;
+ od;
+
+ v := NextVertex;
+
+ od;
+
+ # Algorithm 5: Using Algorithm 4 to find the Edge Connectivity
+
+ non_leaf := [];
+ for b in VerticesED do
+ if not IsEmpty(OutNeighbours(st)[b]) then
+ Append(non_leaf, [b]);
+ fi;
+ od;
+
+ # Get the smaller of non_leaf and Difference(Vertices in EdgeD, non_leaf)
+
+ if (Length(non_leaf) > 1) then
+ u := non_leaf[1];
+
+ for v in [2 .. Length(non_leaf)] do
+ a := DigraphMaximumFlow(EdgeD, u, non_leaf[v])[u];
+ b := DigraphMaximumFlow(EdgeD, non_leaf[v], u)[non_leaf[v]];
+
+ sum := Minimum(Sum(a), Sum(b));
+ if (sum < min or min = -1) then
+ min := sum;
+ fi;
+
+ if (sum = 0) then
+ return 0;
+ fi;
+ od;
+
+ min := Minimum(min, Minimum(Minimum(OutDegrees(EdgeD)),
+ Minimum(InDegrees(EdgeD))));
+ else
+ # In the case of spanning trees with only one non-leaf node,
+ # the above algorithm does not work
+
+ u := 1;
+ for v in [2 .. DigraphNrVertices(EdgeD)] do
+ a := DigraphMaximumFlow(EdgeD, u, v)[u];
+ b := DigraphMaximumFlow(EdgeD, v, u)[v];
+
+ sum := Minimum(Sum(a), Sum(b));
+ if (sum < min or min = -1) then
+ min := sum;
+ fi;
+
+ if (sum = 0) then
+ return 0;
+ fi;
+
+ od;
+ fi;
+
+ if (min = -1) then
+ return 0;
+ fi;
+
+ return min;
+end);
+
+# Digraph EdgeConnectivity calculated with Dominating Sets
+InstallMethod(DigraphEdgeConnectivityDS, "for a digraph",
+[IsDigraph],
+function(digraph)
+ # Form an identical but edge weighted digraph with all edge weights as 1:
+ local weights, i, u, v, w, neighbourhood, EdgeD,
+ maxFlow, min, sum, a, b, V, added, st, non_leaf, max,
+ notAddedNeighbours, notadded, NextVertex, NeighboursV,
+ neighbour, Edges, D, VerticesLeft, VerticesED;
+
+ if DigraphNrVertices(digraph) = 1 then
+ return 0;
+ fi;
+
+ if DigraphNrStronglyConnectedComponents(digraph) > 1 then
+ return 0;
+ fi;
+
+ weights := List([1 .. DigraphNrVertices(digraph)],
+ x -> List([1 .. Length(OutNeighbours(digraph)[x])],
+ y -> 1));
+ EdgeD := EdgeWeightedDigraph(digraph, weights);
+
+ min := -1;
+
+ # Algorithm 7: Creating a dominating set of the digraph
+
+ D := DigraphDominatingSet(digraph);
+
+ # Algorithm 6:
+
+ if Length(D) > 1 then
+
+ v := D[1];
+ for i in [2 .. Length(D)] do
+ w := D[i];
+ a := DigraphMaximumFlow(EdgeD, v, w)[v];
+ b := DigraphMaximumFlow(EdgeD, w, v)[w];
+
+ sum := Minimum(Sum(a), Sum(b));
+ if (sum < min or min = -1) then
+ min := sum;
+ fi;
+ od;
+
+ else
+ # If the dominating set of EdgeD is of Length 1,
+ # the above algorithm will not work
+
+ u := 1;
+
+ for v in [2 .. DigraphNrVertices(EdgeD)] do
+ a := DigraphMaximumFlow(EdgeD, u, v)[u];
+ b := DigraphMaximumFlow(EdgeD, v, u)[v];
+
+ sum := Minimum(Sum(a), Sum(b));
+ if (sum < min or min = -1) then
+ min := sum;
+ fi;
+
+ od;
+ fi;
+
+ return Minimum(min,
+ Minimum(Minimum(OutDegrees(EdgeD)),
+ Minimum(InDegrees(EdgeD))));
+end);
+
#############################################################################
# 6. Random edge weighted digraphs
#############################################################################
diff --git a/tst/testinstall.tst b/tst/testinstall.tst
index 35d8d3863..6f06ffbca 100644
--- a/tst/testinstall.tst
+++ b/tst/testinstall.tst
@@ -582,6 +582,29 @@ true
gap> D = out;
false
+# DigraphEdgeConnectivity
+gap> D := Digraph([[2, 3, 4], [1, 3, 4], [1, 2], [2, 3]]);;
+gap> DigraphEdgeConnectivity(D);
+2
+gap> C := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> DigraphEdgeConnectivity(C);
+1
+gap> D := Digraph([[], [1, 2], [2]]);;
+gap> DigraphEdgeConnectivity(D);
+0
+gap> C := Digraph([[3, 4], [1, 3, 4], [2], [3]]);;
+gap> DigraphEdgeConnectivity(C);
+1
+gap> D := RandomDigraph(1);;
+gap> DigraphEdgeConnectivity(D);
+0
+gap> C := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> DigraphEdgeConnectivity(C);
+1
+gap> D := Digraph([[ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ]]);;
+gap> DigraphEdgeConnectivity(D);
+4
+
#
gap> DIGRAPHS_StopTest();
gap> STOP_TEST("Digraphs package: testinstall.tst", 0);
From 05f99d53cdf1daa3726580a10e38d870e7b9e9d0 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Fri, 21 Nov 2025 11:21:21 +0000
Subject: [PATCH 07/24] Added explanations for each Algorithm and edited
gapdocs + tests for implemented methods
---
doc/oper.xml | 40 ++++++++++++++++++++++++++++++++++++++++
doc/weights.xml | 22 ++++++++++++++++++++++
gap/oper.gi | 2 ++
gap/weights.gi | 35 +++++++++++++++++++++++++++--------
tst/standard/oper.tst | 15 +++++++++++++++
tst/standard/weights.tst | 14 ++++++++++++++
tst/testinstall.tst | 9 ---------
7 files changed, 120 insertions(+), 17 deletions(-)
diff --git a/doc/oper.xml b/doc/oper.xml
index daa733164..ac63734fe 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -1954,6 +1954,46 @@ rec( idom := [ 2, fail, 2, 2, 2 ], preorder := [ 2, 1, 3, 4, 5 ] )
<#/GAPDoc>
+<#GAPDoc Label="DigraphDominatingSet">
+
+
+ A List
+
+ This creates a dominating set of digraph, which is a subset of the vertices in
+ digraph such that the neighbourhood of this subset of vertices is equal to all
+ the vertices in digraph.
+
+ The domating set returned will be one of potentially multiple possible dominating sets for the digraph.
+ DigraphDominatingSet(D);
+[ 4, 1 ]
+gap> DigraphDominatingSet(D);
+[ 1 ]]]>
+
+
+<#/GAPDoc>
+
+<#GAPDoc Label="DigraphGetNeighbourhood">
+
+
+ A List
+
+ This returns the set of vertices that are adjacent to a vertex in vertices,
+ not including any vertices that exist in vertices.
+ D := Digraph([[2, 3, 4], [1], [], []]);;
+gap> DigraphGetNeighbourhood(D, [1]);
+[ 2, 3, 4 ]
+gap> DigraphGetNeighbourhood(D, [1, 2]);
+[ 3, 4 ]
+gap> D := Digraph([[2, 3, 4], [], [], []]);;
+gap> DigraphGetNeighbourhood(D, [2]);
+[ ]]]>
+
+
+<#/GAPDoc>
+
<#GAPDoc Label="PartialOrderDigraphMeetOfVertices">
g := EdgeWeightedDigraph([[2, 2], [3], []], [[3, 2], [1], []]);
gap> DigraphMinimumCutSet(g, 1, 3);
[ [ 2, 3 ] ]
]]>
+
+<#GAPDoc Label="DigraphEdgeConnectivity">
+
+
+ An integer
+
+ This returns a record representing the edge connectivity of digraph.
+
+ It makes use of DigraphMaximumFlow(digraph), by constructing an edge-weighted Digraph
+ with edge weights of 1, then using the Max-flow min-cut theorem to determine the size of the minimum cut.
+ For a digraph, the minimum cut is the set of edges that need to be removed to ensure the digraph is
+ no longer Strongly Connected.
+ D := Digraph([[2, 3, 4], [1, 3, 4], [1, 2], [2, 3]]);;
+gap> DigraphEdgeConnectivity(D);
+2
+gap> D := Digraph([[], [1, 2], [2]]);;
+gap> DigraphEdgeConnectivity(D);
+0
+gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
+gap> DigraphEdgeConnectivity(D);
+4]]>
<#/GAPDoc>
diff --git a/gap/oper.gi b/gap/oper.gi
index 32f265e21..b70886269 100644
--- a/gap/oper.gi
+++ b/gap/oper.gi
@@ -2523,6 +2523,8 @@ function(D, root)
end);
# For calculating a dominating set for a digraph
+# Algorithm 7 in :
+# https://www.cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
InstallMethod(DigraphDominatingSet, "for a digraph",
[IsDigraph],
function(digraph)
diff --git a/gap/weights.gi b/gap/weights.gi
index b152cd7b9..ede91d447 100644
--- a/gap/weights.gi
+++ b/gap/weights.gi
@@ -858,7 +858,27 @@ function(D, s, t)
return cutset;
end);
-# DigraphEdgeConnectivity calculated using Spanning Trees
+#############################################################################
+# Digraph Edge Connectivity
+#############################################################################
+
+# Algorithms constructed off the algorithms detailed in:
+# https://www.cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
+# Each Algorithm uses a different method to decrease the time complexity,
+# of calculating Edge Connectivity, though all make use of DigraphMaximumFlow()
+# due to the Max-Flow, Min-Cut Theorem
+
+# Algorithm 1: Calculating the Maximum Flow of every possible source and sink
+# Algorithm 2: Calculating the Maximum Flow to all sinks of an arbitrary source
+# Algorithm 3: Finding Maximum Flow within the non-leaves of a Spanning Tree
+# Algorithm 4: Constructing a spanning tree with a high number of leaves
+# Algorithm 5: Using the spanning tree^ to find Maximum Flow within non-leaves
+# Algorithm 6: Finding Maximum Flow within a dominating set of the digraph
+# Algorithm 7: Constructing a dominating set for use in Algorithm 6
+
+# Algorithms 4-7 are used below:
+
+# DigraphEdgeConnectivity calculated using Spanning Trees (Algorithm 4 & 5)
InstallMethod(DigraphEdgeConnectivity, "for a digraph",
[IsDigraph],
function(digraph)
@@ -902,7 +922,6 @@ function(digraph)
Append(added, Difference(OutNeighbours(EdgeD)[v], added));
# Select the neighbour to v with the highest number of not-added neighbours:
-
notadded := Difference(VerticesED, added);
max := 0;
NextVertex := v;
@@ -925,8 +944,8 @@ function(digraph)
od;
- # Algorithm 5: Using Algorithm 4 to find the Edge Connectivity
-
+ # Algorithm 5: Iterating through the non-leaves of the
+ # Spanning Tree created in Algorithm 4 to find the Edge Connectivity
non_leaf := [];
for b in VerticesED do
if not IsEmpty(OutNeighbours(st)[b]) then
@@ -934,8 +953,6 @@ function(digraph)
fi;
od;
- # Get the smaller of non_leaf and Difference(Vertices in EdgeD, non_leaf)
-
if (Length(non_leaf) > 1) then
u := non_leaf[1];
@@ -958,6 +975,7 @@ function(digraph)
else
# In the case of spanning trees with only one non-leaf node,
# the above algorithm does not work
+ # Revert to iterating through all vertices of the original digraph
u := 1;
for v in [2 .. DigraphNrVertices(EdgeD)] do
@@ -983,7 +1001,7 @@ function(digraph)
return min;
end);
-# Digraph EdgeConnectivity calculated with Dominating Sets
+# Digraph EdgeConnectivity calculated with Dominating Sets (Algorithm 6-7)
InstallMethod(DigraphEdgeConnectivityDS, "for a digraph",
[IsDigraph],
function(digraph)
@@ -1012,7 +1030,7 @@ function(digraph)
D := DigraphDominatingSet(digraph);
- # Algorithm 6:
+ # Algorithm 6: Using the dominating set created to determine the Maximum Flow
if Length(D) > 1 then
@@ -1031,6 +1049,7 @@ function(digraph)
else
# If the dominating set of EdgeD is of Length 1,
# the above algorithm will not work
+ # Revert to iterating through all vertices of the original digraph
u := 1;
diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst
index febdfe91c..55199fbb0 100644
--- a/tst/standard/oper.tst
+++ b/tst/standard/oper.tst
@@ -2861,6 +2861,21 @@ rec( idom := [ fail ], preorder := [ 1 ] )
gap> DominatorTree(D, 6);
rec( idom := [ ,,,,, fail ], preorder := [ 6 ] )
+# DigraphGetNeighbourhood
+gap> D := Digraph([[2, 3, 4], [1], [], []]);;
+gap> DigraphGetNeighbourhood(D, [1]);
+[ 2, 3, 4 ]
+gap> DigraphGetNeighbourhood(D, [1, 2]);
+[ 3, 4 ]
+gap> D := Digraph([[2, 3, 4], [], [], []]);;
+gap> DigraphGetNeighbourhood(D, [2]);
+[ ]
+gap> D := Digraph([[2], [3], [4], [1]]);;
+gap> DigraphGetNeighbourhood(D, [1]);
+[ 2 ]
+gap> DigraphGetNeighbourhood(D, [1, 3]);
+[ 2, 4 ]
+
# IsDigraphPath
gap> D := Digraph(IsMutableDigraph, Combinations([1 .. 5]), IsSubset);
diff --git a/tst/standard/weights.tst b/tst/standard/weights.tst
index 036dac4d0..b3093c7e6 100644
--- a/tst/standard/weights.tst
+++ b/tst/standard/weights.tst
@@ -472,6 +472,20 @@ gap> d := EdgeWeightedDigraph([[2], []], [[5], []]);
gap> DigraphMinimumCutSet(d, 1, 1);
Error, and must be distinct
+# EdgeConnectivity
+gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> DigraphEdgeConnectivity(d);
+1
+gap> D := RandomDigraph(1);;
+gap> DigraphEdgeConnectivity(D);
+0
+gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> DigraphEdgeConnectivity(d);
+1
+gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
+gap> DigraphEdgeConnectivity(D);
+4
+
#############################################################################
# 6. Random edge-weighted digraphs
#############################################################################
diff --git a/tst/testinstall.tst b/tst/testinstall.tst
index 6f06ffbca..6ebfd9ea6 100644
--- a/tst/testinstall.tst
+++ b/tst/testinstall.tst
@@ -586,21 +586,12 @@ false
gap> D := Digraph([[2, 3, 4], [1, 3, 4], [1, 2], [2, 3]]);;
gap> DigraphEdgeConnectivity(D);
2
-gap> C := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
-gap> DigraphEdgeConnectivity(C);
-1
gap> D := Digraph([[], [1, 2], [2]]);;
gap> DigraphEdgeConnectivity(D);
0
gap> C := Digraph([[3, 4], [1, 3, 4], [2], [3]]);;
gap> DigraphEdgeConnectivity(C);
1
-gap> D := RandomDigraph(1);;
-gap> DigraphEdgeConnectivity(D);
-0
-gap> C := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
-gap> DigraphEdgeConnectivity(C);
-1
gap> D := Digraph([[ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ]]);;
gap> DigraphEdgeConnectivity(D);
4
From 57c908ebd14a8f008733ff471b8938c053028bc0 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 26 Nov 2025 15:22:09 +0000
Subject: [PATCH 08/24] Minor gaplint/test changes made
---
gap/weights.gi | 1 -
tst/standard/oper.tst | 4 ----
tst/testinstall.tst | 2 +-
3 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/gap/weights.gi b/gap/weights.gi
index ede91d447..a3b6f50a0 100644
--- a/gap/weights.gi
+++ b/gap/weights.gi
@@ -1027,7 +1027,6 @@ function(digraph)
min := -1;
# Algorithm 7: Creating a dominating set of the digraph
-
D := DigraphDominatingSet(digraph);
# Algorithm 6: Using the dominating set created to determine the Maximum Flow
diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst
index 55199fbb0..ff3e84975 100644
--- a/tst/standard/oper.tst
+++ b/tst/standard/oper.tst
@@ -135,10 +135,6 @@ gap> M ^ p = OnDigraphs(M, p);
true
# DigraphRemoveAllEdges: for a digraph
-gap> gr := Digraph(IsImmutableDigraph, [[2, 3], [3], [4], []]);
-
-gap> DigraphRemoveAllEdges(gr);
-Error, Argument must be a mutable digraph
gap> gr2 := Digraph(IsMutableDigraph, [[2, 3], [3], [4], []]);
gap> DigraphRemoveAllEdges(gr2);
diff --git a/tst/testinstall.tst b/tst/testinstall.tst
index 6ebfd9ea6..9c77773b1 100644
--- a/tst/testinstall.tst
+++ b/tst/testinstall.tst
@@ -592,7 +592,7 @@ gap> DigraphEdgeConnectivity(D);
gap> C := Digraph([[3, 4], [1, 3, 4], [2], [3]]);;
gap> DigraphEdgeConnectivity(C);
1
-gap> D := Digraph([[ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ], [ 1, 2, 3, 4, 5 ]]);;
+gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivity(D);
4
From 60505dc2a25274bf16cac3ce5e70b181dec2f0c9 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Sat, 29 Nov 2025 12:04:14 +0000
Subject: [PATCH 09/24] Added DigraphEdgeConnectivityDS tests to weights.tst
---
tst/standard/weights.tst | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/tst/standard/weights.tst b/tst/standard/weights.tst
index b3093c7e6..76ac9c96b 100644
--- a/tst/standard/weights.tst
+++ b/tst/standard/weights.tst
@@ -486,6 +486,20 @@ gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3,
gap> DigraphEdgeConnectivity(D);
4
+# EdgeConnectivity (Dominating Set Algorithm)
+gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> DigraphEdgeConnectivityDS(d);
+1
+gap> D := RandomDigraph(1);;
+gap> DigraphEdgeConnectivityDS(D);
+0
+gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> DigraphEdgeConnectivityDS(d);
+1
+gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
+gap> DigraphEdgeConnectivityDS(D);
+4
+
#############################################################################
# 6. Random edge-weighted digraphs
#############################################################################
From e1bbe0c40b6afb2c46c4bd29e4ecaaf29b77da15 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Sat, 29 Nov 2025 12:48:23 +0000
Subject: [PATCH 10/24] Added tests for DigraphDominatingSet()
---
tst/standard/oper.tst | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst
index ff3e84975..a4ed5889d 100644
--- a/tst/standard/oper.tst
+++ b/tst/standard/oper.tst
@@ -3383,6 +3383,24 @@ gap> D := Digraph([[2, 3, 4, 5], [], [], [], []]);;
gap> DigraphColourRefinement(D);
[ 2, 1, 1, 1, 1 ]
+# DigraphDominatingSet
+gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> p := DigraphDominatingSet(d);;
+gap> DigraphVertices(d) = Union(DigraphGetNeighbourhood(d, p), p);
+true
+gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> p := DigraphDominatingSet(d);;
+gap> DigraphVertices(d) = Union(DigraphGetNeighbourhood(d, p), p);
+true
+gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
+gap> p := DigraphDominatingSet(d);;
+gap> DigraphVertices(d) = Union(DigraphGetNeighbourhood(d, p), p);
+true
+gap> D := RandomDigraph(1);;
+gap> p := DigraphDominatingSet(d);;
+gap> DigraphVertices(d) = Union(DigraphGetNeighbourhood(d, p), p);
+true
+
#
gap> DIGRAPHS_StopTest();
gap> STOP_TEST("Digraphs package: standard/oper.tst", 0);
From 4205ed00d75fa1eee840fed0111f0e5068189ee9 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Mon, 1 Dec 2025 18:27:12 +0000
Subject: [PATCH 11/24] Fixes made to Spanning Tree Algorithm + tests added to
weights.tst
---
gap/weights.gi | 23 ++++++++---------------
tst/standard/weights.tst | 6 ++++++
2 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/gap/weights.gi b/gap/weights.gi
index a3b6f50a0..57b99014f 100644
--- a/gap/weights.gi
+++ b/gap/weights.gi
@@ -907,16 +907,18 @@ function(digraph)
st := EmptyDigraph(DigraphNrVertices(EdgeD));
v := 1;
added := [v];
+ notadded := Difference(VerticesED, added);
- while DigraphNrEdges(st) < DigraphNrVertices(EdgeD) - 1 do
+ while (DigraphNrEdges(st) < DigraphNrVertices(EdgeD) - 1) and
+ Length(notadded) > 0 do
# Add all edges incident from v
- NeighboursV := OutNeighbors(EdgeD)[v];
+ NeighboursV := Difference(OutNeighbors(EdgeD)[v], added);
Edges := List([1 .. Length(NeighboursV)],
- x -> [v, OutNeighbours(EdgeD)[v][x]]);
+ x -> [v, NeighboursV[x]]);
- Edges := Difference(Edges, [[v, v]]);
+ # Edges := Difference(Edges, [[v, v]]);
st := DigraphAddEdges(st, Edges);
Append(added, Difference(OutNeighbours(EdgeD)[v], added));
@@ -926,13 +928,13 @@ function(digraph)
max := 0;
NextVertex := v;
- # Preventing infinite iteration if the current vertex has no neighbours
+ # Preventing infinite iteration if v has no non-added neighbours
if (Length(NeighboursV) = 0) then
# Pick from a vertex that hasn't been added yet
NextVertex := notadded[1];
fi;
- for w in Difference(NeighboursV, [v]) do;
+ for w in NeighboursV do;
notAddedNeighbours := Intersection(notadded, OutNeighbours(EdgeD)[w]);
if (Length(notAddedNeighbours) > max) then
max := Length(notAddedNeighbours);
@@ -964,10 +966,6 @@ function(digraph)
if (sum < min or min = -1) then
min := sum;
fi;
-
- if (sum = 0) then
- return 0;
- fi;
od;
min := Minimum(min, Minimum(Minimum(OutDegrees(EdgeD)),
@@ -986,11 +984,6 @@ function(digraph)
if (sum < min or min = -1) then
min := sum;
fi;
-
- if (sum = 0) then
- return 0;
- fi;
-
od;
fi;
diff --git a/tst/standard/weights.tst b/tst/standard/weights.tst
index 76ac9c96b..0d1b2e3e6 100644
--- a/tst/standard/weights.tst
+++ b/tst/standard/weights.tst
@@ -485,6 +485,9 @@ gap> DigraphEdgeConnectivity(d);
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivity(D);
4
+gap> D := DigraphFromGraph6String("I~~~~~~~w");;
+gap> DigraphEdgeConnectivity(D);
+9
# EdgeConnectivity (Dominating Set Algorithm)
gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
@@ -499,6 +502,9 @@ gap> DigraphEdgeConnectivityDS(d);
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivityDS(D);
4
+gap> D := DigraphFromGraph6String("I~~~~~~~w");;
+gap> DigraphEdgeConnectivityDS(D);
+9
#############################################################################
# 6. Random edge-weighted digraphs
From 531fc710cf6335b040b59d7092e7e7c9a5e14348 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 3 Dec 2025 14:22:39 +0000
Subject: [PATCH 12/24] Tests added to testinstall.tst for
DigraphEdgeConnectivityDS()
---
tst/testinstall.tst | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tst/testinstall.tst b/tst/testinstall.tst
index 9c77773b1..960a6133a 100644
--- a/tst/testinstall.tst
+++ b/tst/testinstall.tst
@@ -586,15 +586,23 @@ false
gap> D := Digraph([[2, 3, 4], [1, 3, 4], [1, 2], [2, 3]]);;
gap> DigraphEdgeConnectivity(D);
2
+gap> DigraphEdgeConnectivityDS(D);
+2
gap> D := Digraph([[], [1, 2], [2]]);;
gap> DigraphEdgeConnectivity(D);
0
+gap> DigraphEdgeConnectivityDS(D);
+0
gap> C := Digraph([[3, 4], [1, 3, 4], [2], [3]]);;
gap> DigraphEdgeConnectivity(C);
1
+gap> DigraphEdgeConnectivityDS(C);
+1
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivity(D);
4
+gap> DigraphEdgeConnectivityDS(D);
+4
#
gap> DIGRAPHS_StopTest();
From 75ac98ad02e7bf663d7d5fded10fd336e37b08c0 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 3 Dec 2025 15:40:18 +0000
Subject: [PATCH 13/24] Removing Spanning Tree Algorithm
---
gap/weights.gd | 1 -
gap/weights.gi | 118 +--------------------------------------
tst/standard/weights.tst | 17 ------
tst/testinstall.tst | 8 ---
4 files changed, 1 insertion(+), 143 deletions(-)
diff --git a/gap/weights.gd b/gap/weights.gd
index cff8edf43..f624ea2a4 100644
--- a/gap/weights.gd
+++ b/gap/weights.gd
@@ -46,7 +46,6 @@ DeclareOperation("DigraphMinimumCutSet",
# Digraph Edge Connectivity
DeclareOperation("DigraphEdgeConnectivity", [IsDigraph]);
-DeclareOperation("DigraphEdgeConnectivityDS", [IsDigraph]);
# 6. Random edge weighted digraphs
DeclareOperation("RandomUniqueEdgeWeightedDigraph", [IsPosInt]);
diff --git a/gap/weights.gi b/gap/weights.gi
index 57b99014f..fc3648f9f 100644
--- a/gap/weights.gi
+++ b/gap/weights.gi
@@ -878,124 +878,8 @@ end);
# Algorithms 4-7 are used below:
-# DigraphEdgeConnectivity calculated using Spanning Trees (Algorithm 4 & 5)
-InstallMethod(DigraphEdgeConnectivity, "for a digraph",
-[IsDigraph],
-function(digraph)
- local w, weights, EdgeD, VerticesED, min, u, v,
- sum, a, b, st, added, NeighboursV, Edges, notadded,
- max, NextVertex, notAddedNeighbours, non_leaf;
-
- if DigraphNrVertices(digraph) = 1 then
- return 0;
- fi;
-
- if DigraphNrStronglyConnectedComponents(digraph) > 1 then
- return 0;
- fi;
-
- weights := List([1 .. DigraphNrVertices(digraph)],
- x -> List([1 .. Length(OutNeighbours(digraph)[x])],
- y -> 1));
- EdgeD := EdgeWeightedDigraph(digraph, weights);
- VerticesED := [1 .. DigraphNrVertices(EdgeD)];
-
- min := -1;
-
- # Algorithm 4: Constructing a Spanning Tree with a large numbers of leaves
-
- st := EmptyDigraph(DigraphNrVertices(EdgeD));
- v := 1;
- added := [v];
- notadded := Difference(VerticesED, added);
-
- while (DigraphNrEdges(st) < DigraphNrVertices(EdgeD) - 1) and
- Length(notadded) > 0 do
-
- # Add all edges incident from v
- NeighboursV := Difference(OutNeighbors(EdgeD)[v], added);
-
- Edges := List([1 .. Length(NeighboursV)],
- x -> [v, NeighboursV[x]]);
-
- # Edges := Difference(Edges, [[v, v]]);
-
- st := DigraphAddEdges(st, Edges);
- Append(added, Difference(OutNeighbours(EdgeD)[v], added));
-
- # Select the neighbour to v with the highest number of not-added neighbours:
- notadded := Difference(VerticesED, added);
- max := 0;
- NextVertex := v;
-
- # Preventing infinite iteration if v has no non-added neighbours
- if (Length(NeighboursV) = 0) then
- # Pick from a vertex that hasn't been added yet
- NextVertex := notadded[1];
- fi;
-
- for w in NeighboursV do;
- notAddedNeighbours := Intersection(notadded, OutNeighbours(EdgeD)[w]);
- if (Length(notAddedNeighbours) > max) then
- max := Length(notAddedNeighbours);
- NextVertex := w;
- fi;
- od;
-
- v := NextVertex;
-
- od;
-
- # Algorithm 5: Iterating through the non-leaves of the
- # Spanning Tree created in Algorithm 4 to find the Edge Connectivity
- non_leaf := [];
- for b in VerticesED do
- if not IsEmpty(OutNeighbours(st)[b]) then
- Append(non_leaf, [b]);
- fi;
- od;
-
- if (Length(non_leaf) > 1) then
- u := non_leaf[1];
-
- for v in [2 .. Length(non_leaf)] do
- a := DigraphMaximumFlow(EdgeD, u, non_leaf[v])[u];
- b := DigraphMaximumFlow(EdgeD, non_leaf[v], u)[non_leaf[v]];
-
- sum := Minimum(Sum(a), Sum(b));
- if (sum < min or min = -1) then
- min := sum;
- fi;
- od;
-
- min := Minimum(min, Minimum(Minimum(OutDegrees(EdgeD)),
- Minimum(InDegrees(EdgeD))));
- else
- # In the case of spanning trees with only one non-leaf node,
- # the above algorithm does not work
- # Revert to iterating through all vertices of the original digraph
-
- u := 1;
- for v in [2 .. DigraphNrVertices(EdgeD)] do
- a := DigraphMaximumFlow(EdgeD, u, v)[u];
- b := DigraphMaximumFlow(EdgeD, v, u)[v];
-
- sum := Minimum(Sum(a), Sum(b));
- if (sum < min or min = -1) then
- min := sum;
- fi;
- od;
- fi;
-
- if (min = -1) then
- return 0;
- fi;
-
- return min;
-end);
-
# Digraph EdgeConnectivity calculated with Dominating Sets (Algorithm 6-7)
-InstallMethod(DigraphEdgeConnectivityDS, "for a digraph",
+InstallMethod(DigraphEdgeConnectivity, "for a digraph",
[IsDigraph],
function(digraph)
# Form an identical but edge weighted digraph with all edge weights as 1:
diff --git a/tst/standard/weights.tst b/tst/standard/weights.tst
index 0d1b2e3e6..51c899877 100644
--- a/tst/standard/weights.tst
+++ b/tst/standard/weights.tst
@@ -489,23 +489,6 @@ gap> D := DigraphFromGraph6String("I~~~~~~~w");;
gap> DigraphEdgeConnectivity(D);
9
-# EdgeConnectivity (Dominating Set Algorithm)
-gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
-gap> DigraphEdgeConnectivityDS(d);
-1
-gap> D := RandomDigraph(1);;
-gap> DigraphEdgeConnectivityDS(D);
-0
-gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
-gap> DigraphEdgeConnectivityDS(d);
-1
-gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
-gap> DigraphEdgeConnectivityDS(D);
-4
-gap> D := DigraphFromGraph6String("I~~~~~~~w");;
-gap> DigraphEdgeConnectivityDS(D);
-9
-
#############################################################################
# 6. Random edge-weighted digraphs
#############################################################################
diff --git a/tst/testinstall.tst b/tst/testinstall.tst
index 960a6133a..9c77773b1 100644
--- a/tst/testinstall.tst
+++ b/tst/testinstall.tst
@@ -586,23 +586,15 @@ false
gap> D := Digraph([[2, 3, 4], [1, 3, 4], [1, 2], [2, 3]]);;
gap> DigraphEdgeConnectivity(D);
2
-gap> DigraphEdgeConnectivityDS(D);
-2
gap> D := Digraph([[], [1, 2], [2]]);;
gap> DigraphEdgeConnectivity(D);
0
-gap> DigraphEdgeConnectivityDS(D);
-0
gap> C := Digraph([[3, 4], [1, 3, 4], [2], [3]]);;
gap> DigraphEdgeConnectivity(C);
1
-gap> DigraphEdgeConnectivityDS(C);
-1
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivity(D);
4
-gap> DigraphEdgeConnectivityDS(D);
-4
#
gap> DIGRAPHS_StopTest();
From c3645ab43d3d9d82044524efb3a27171e064cf0a Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 10 Dec 2025 15:51:09 +0000
Subject: [PATCH 14/24] Documentation changes + some DigraphsDominatingSet
implementation changes for efficiency
---
doc/oper.xml | 21 +++++++++++----------
doc/weights.xml | 11 ++++++-----
doc/z-chap4.xml | 1 +
doc/z-chap5.xml | 1 +
gap/oper.gd | 2 +-
gap/oper.gi | 31 +++++++++++++++++--------------
gap/weights.gi | 7 ++-----
tst/standard/oper.tst | 20 ++++++++++----------
8 files changed, 49 insertions(+), 45 deletions(-)
diff --git a/doc/oper.xml b/doc/oper.xml
index ac63734fe..a778d022f 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -1959,11 +1959,12 @@ rec( idom := [ 2, fail, 2, 2, 2 ], preorder := [ 2, 1, 3, 4, 5 ] )
A List
- This creates a dominating set of digraph, which is a subset of the vertices in
- digraph such that the neighbourhood of this subset of vertices is equal to all
- the vertices in digraph.
+ This function returns a dominating set of digraph,
+ which is a subset of vertices whose neighbourhood consists of all vertices in digraph.
+
- The domating set returned will be one of potentially multiple possible dominating sets for the digraph.
+ The neighbourhood of a set of vertices, V, refers to the set of vertices that are adjacent to a vertex in V,
+ not including any vertices that exist in V. The domating set returned will be one of potentially multiple possible dominating sets for the digraph.
DigraphDominatingSet(D);
@@ -1974,21 +1975,21 @@ gap> DigraphDominatingSet(D);
<#/GAPDoc>
-<#GAPDoc Label="DigraphGetNeighbourhood">
+<#GAPDoc Label="DigraphOutNeighbourhood">
-
+
A List
- This returns the set of vertices that are adjacent to a vertex in vertices,
+ This returns the set of vertices for which there is an edge directed towards it from a vertex in vertices,
not including any vertices that exist in vertices.
D := Digraph([[2, 3, 4], [1], [], []]);;
-gap> DigraphGetNeighbourhood(D, [1]);
+gap> DigraphOutNeighbourhood(D, [1]);
[ 2, 3, 4 ]
-gap> DigraphGetNeighbourhood(D, [1, 2]);
+gap> DigraphOutNeighbourhood(D, [1, 2]);
[ 3, 4 ]
gap> D := Digraph([[2, 3, 4], [], [], []]);;
-gap> DigraphGetNeighbourhood(D, [2]);
+gap> DigraphOutNeighbourhood(D, [2]);
[ ]]]>
diff --git a/doc/weights.xml b/doc/weights.xml
index 7fa19145e..e98178b04 100644
--- a/doc/weights.xml
+++ b/doc/weights.xml
@@ -332,12 +332,13 @@ gap> DigraphMinimumCutSet(g, 1, 3);
An integer
- This returns a record representing the edge connectivity of digraph.
+ This function returns the edge connectivity of digraph. Edge Connectivity refers to the size of a minimum cut of the graph,
+ which, for digraphs, refers to set of edges needed to be removed to ensure the graph is no longer Strongly Connected. That is, there exists two
+ vertices, A and B, for which a path from A to B does not exist.
- It makes use of DigraphMaximumFlow(digraph), by constructing an edge-weighted Digraph
- with edge weights of 1, then using the Max-flow min-cut theorem to determine the size of the minimum cut.
- For a digraph, the minimum cut is the set of edges that need to be removed to ensure the digraph is
- no longer Strongly Connected.
+ It makes use of the DigraphMaximumFlow(digraph) function, by constructing an edge-weighted Digraph
+ with edge weights of 1, then using the Max-flow min-cut theorem to determine the size of the minimum cut.
+ See also .
D := Digraph([[2, 3, 4], [1, 3, 4], [1, 2], [2, 3]]);;
gap> DigraphEdgeConnectivity(D);
diff --git a/doc/z-chap4.xml b/doc/z-chap4.xml
index 059e10eea..b2f0c32b7 100644
--- a/doc/z-chap4.xml
+++ b/doc/z-chap4.xml
@@ -76,6 +76,7 @@
<#Include Label="DigraphAbsorptionExpectedSteps">
<#Include Label="Dominators">
<#Include Label="DominatorTree">
+ <#Include Label="DigraphDominatingSet">
<#Include Label="IteratorOfPaths">
<#Include Label="DigraphAllSimpleCircuits">
<#Include Label="DigraphLongestSimpleCircuit">
diff --git a/doc/z-chap5.xml b/doc/z-chap5.xml
index 491deb4c8..00b32af8f 100644
--- a/doc/z-chap5.xml
+++ b/doc/z-chap5.xml
@@ -36,6 +36,7 @@
<#Include Label="DigraphMinimumCutSet">
<#Include Label="RandomUniqueEdgeWeightedDigraph">
<#Include Label="DotEdgeWeightedDigraph">
+ <#Include Label="DigraphEdgeConnectivity">
Orders
diff --git a/gap/oper.gd b/gap/oper.gd
index 521610a04..33b55e478 100644
--- a/gap/oper.gd
+++ b/gap/oper.gd
@@ -155,7 +155,7 @@ DeclareOperation("IsOrderFilter", [IsDigraph, IsList]);
DeclareOperation("Dominators", [IsDigraph, IsPosInt]);
DeclareOperation("DominatorTree", [IsDigraph, IsPosInt]);
DeclareOperation("DigraphDominatingSet", [IsDigraph]);
-DeclareOperation("DigraphGetNeighbourhood", [IsDigraph, IsList]);
+DeclareOperation("DigraphOutNeighbourhood", [IsDigraph, IsList]);
DeclareOperation("DigraphCycleBasis", [IsDigraph]);
DeclareOperation("DigraphColourRefinement", [IsDigraph]);
diff --git a/gap/oper.gi b/gap/oper.gi
index b70886269..d19171ce7 100644
--- a/gap/oper.gi
+++ b/gap/oper.gi
@@ -2528,37 +2528,40 @@ end);
InstallMethod(DigraphDominatingSet, "for a digraph",
[IsDigraph],
function(digraph)
- local D, neighbourhood, VerticesLeft, Vertices;
+ local D, seen, Vertices, neighbour, v;
Vertices := [1 .. DigraphNrVertices(digraph)];
- Shuffle(Vertices);
- # Shuffling not technically necessary - may be better to just do D := [1]?
- D := [Vertices[1]];
- neighbourhood := DigraphGetNeighbourhood(digraph, D);
- VerticesLeft := Difference(Vertices, Union(neighbourhood, D));
+ # Shuffling not technically necessary - may be better not to?
+ Shuffle(Vertices);
- while not IsEmpty(VerticesLeft) do;
- Append(D, [VerticesLeft[1]]);
- neighbourhood := DigraphGetNeighbourhood(digraph, D);
- VerticesLeft := Difference(Vertices, Union(neighbourhood, D));
+ seen := BlistList([1 .. DigraphNrVertices(digraph)], []);
+ D := [];
+ for v in Vertices do
+ if seen[v] = false then
+ seen[v] := true;
+ Append(D, [v]);
+ for neighbour in OutNeighbours(digraph)[v] do
+ seen[neighbour] := true;
+ od;
+ fi;
od;
return D;
end);
# For getting the neighbourhood for a given List of Vertices in a Digraph
-InstallMethod(DigraphGetNeighbourhood, "for a digraph and a List of vertices",
+InstallMethod(DigraphOutNeighbourhood, "for a digraph and a List of vertices",
[IsDigraph, IsList],
function(digraph, vertices)
local v, neighbourhood;
neighbourhood := [];
+
for v in vertices do
- neighbourhood := Difference(Union(neighbourhood,
- OutNeighbours(digraph)[v]), vertices);
+ Append(neighbourhood, OutNeighbours(digraph)[v]);
od;
- return neighbourhood;
+ return Difference(Unique(neighbourhood), vertices);
end);
# Computes the fundamental cycle basis of a symmetric digraph
diff --git a/gap/weights.gi b/gap/weights.gi
index fc3648f9f..1b2761814 100644
--- a/gap/weights.gi
+++ b/gap/weights.gi
@@ -888,11 +888,8 @@ function(digraph)
notAddedNeighbours, notadded, NextVertex, NeighboursV,
neighbour, Edges, D, VerticesLeft, VerticesED;
- if DigraphNrVertices(digraph) = 1 then
- return 0;
- fi;
-
- if DigraphNrStronglyConnectedComponents(digraph) > 1 then
+ if DigraphNrVertices(digraph) = 1 or
+ DigraphNrStronglyConnectedComponents(digraph) > 1 then
return 0;
fi;
diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst
index a4ed5889d..bc8bb0fc0 100644
--- a/tst/standard/oper.tst
+++ b/tst/standard/oper.tst
@@ -2857,19 +2857,19 @@ rec( idom := [ fail ], preorder := [ 1 ] )
gap> DominatorTree(D, 6);
rec( idom := [ ,,,,, fail ], preorder := [ 6 ] )
-# DigraphGetNeighbourhood
+# DigraphOutNeighbourhood
gap> D := Digraph([[2, 3, 4], [1], [], []]);;
-gap> DigraphGetNeighbourhood(D, [1]);
+gap> DigraphOutNeighbourhood(D, [1]);
[ 2, 3, 4 ]
-gap> DigraphGetNeighbourhood(D, [1, 2]);
+gap> DigraphOutNeighbourhood(D, [1, 2]);
[ 3, 4 ]
gap> D := Digraph([[2, 3, 4], [], [], []]);;
-gap> DigraphGetNeighbourhood(D, [2]);
+gap> DigraphOutNeighbourhood(D, [2]);
[ ]
gap> D := Digraph([[2], [3], [4], [1]]);;
-gap> DigraphGetNeighbourhood(D, [1]);
+gap> DigraphOutNeighbourhood(D, [1]);
[ 2 ]
-gap> DigraphGetNeighbourhood(D, [1, 3]);
+gap> DigraphOutNeighbourhood(D, [1, 3]);
[ 2, 4 ]
# IsDigraphPath
@@ -3386,19 +3386,19 @@ gap> DigraphColourRefinement(D);
# DigraphDominatingSet
gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
gap> p := DigraphDominatingSet(d);;
-gap> DigraphVertices(d) = Union(DigraphGetNeighbourhood(d, p), p);
+gap> DigraphVertices(d) = Union(DigraphOutNeighbourhood(d, p), p);
true
gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
gap> p := DigraphDominatingSet(d);;
-gap> DigraphVertices(d) = Union(DigraphGetNeighbourhood(d, p), p);
+gap> DigraphVertices(d) = Union(DigraphOutNeighbourhood(d, p), p);
true
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> p := DigraphDominatingSet(d);;
-gap> DigraphVertices(d) = Union(DigraphGetNeighbourhood(d, p), p);
+gap> DigraphVertices(d) = Union(DigraphOutNeighbourhood(d, p), p);
true
gap> D := RandomDigraph(1);;
gap> p := DigraphDominatingSet(d);;
-gap> DigraphVertices(d) = Union(DigraphGetNeighbourhood(d, p), p);
+gap> DigraphVertices(d) = Union(DigraphOutNeighbourhood(d, p), p);
true
#
From bcf23b8732bf15e2b88413c21e2641a43b562271 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 10 Dec 2025 16:51:58 +0000
Subject: [PATCH 15/24] Removing DigraphsOutNeighbourhood
---
doc/oper.xml | 20 --------------------
gap/oper.gd | 1 -
gap/oper.gi | 14 --------------
tst/standard/oper.tst | 39 ++++++++++++++++++++-------------------
4 files changed, 20 insertions(+), 54 deletions(-)
diff --git a/doc/oper.xml b/doc/oper.xml
index a778d022f..74ec819fb 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -1975,26 +1975,6 @@ gap> DigraphDominatingSet(D);
<#/GAPDoc>
-<#GAPDoc Label="DigraphOutNeighbourhood">
-
-
- A List
-
- This returns the set of vertices for which there is an edge directed towards it from a vertex in vertices,
- not including any vertices that exist in vertices.
- D := Digraph([[2, 3, 4], [1], [], []]);;
-gap> DigraphOutNeighbourhood(D, [1]);
-[ 2, 3, 4 ]
-gap> DigraphOutNeighbourhood(D, [1, 2]);
-[ 3, 4 ]
-gap> D := Digraph([[2, 3, 4], [], [], []]);;
-gap> DigraphOutNeighbourhood(D, [2]);
-[ ]]]>
-
-
-<#/GAPDoc>
-
<#GAPDoc Label="PartialOrderDigraphMeetOfVertices">
DominatorTree(D, 6);
rec( idom := [ ,,,,, fail ], preorder := [ 6 ] )
-# DigraphOutNeighbourhood
-gap> D := Digraph([[2, 3, 4], [1], [], []]);;
-gap> DigraphOutNeighbourhood(D, [1]);
-[ 2, 3, 4 ]
-gap> DigraphOutNeighbourhood(D, [1, 2]);
-[ 3, 4 ]
-gap> D := Digraph([[2, 3, 4], [], [], []]);;
-gap> DigraphOutNeighbourhood(D, [2]);
-[ ]
-gap> D := Digraph([[2], [3], [4], [1]]);;
-gap> DigraphOutNeighbourhood(D, [1]);
-[ 2 ]
-gap> DigraphOutNeighbourhood(D, [1, 3]);
-[ 2, 4 ]
-
# IsDigraphPath
gap> D := Digraph(IsMutableDigraph, Combinations([1 .. 5]), IsSubset);
@@ -3386,19 +3371,35 @@ gap> DigraphColourRefinement(D);
# DigraphDominatingSet
gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
gap> p := DigraphDominatingSet(d);;
-gap> DigraphVertices(d) = Union(DigraphOutNeighbourhood(d, p), p);
+gap> neighbours := [];;
+gap> for v in p do
+> Append(neighbours, OutNeighbours(d)[v]);
+> od;
+gap> DigraphVertices(d) = Union(neighbours, p);
true
gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
gap> p := DigraphDominatingSet(d);;
-gap> DigraphVertices(d) = Union(DigraphOutNeighbourhood(d, p), p);
+gap> neighbours := [];;
+gap> for v in p do
+> Append(neighbours, OutNeighbours(d)[v]);
+> od;
+gap> DigraphVertices(d) = Union(neighbours, p);
true
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> p := DigraphDominatingSet(d);;
-gap> DigraphVertices(d) = Union(DigraphOutNeighbourhood(d, p), p);
+gap> neighbours := [];;
+gap> for v in p do
+> Append(neighbours, OutNeighbours(d)[v]);
+> od;
+gap> DigraphVertices(d) = Union(neighbours, p);
true
gap> D := RandomDigraph(1);;
gap> p := DigraphDominatingSet(d);;
-gap> DigraphVertices(d) = Union(DigraphOutNeighbourhood(d, p), p);
+gap> neighbours := [];;
+gap> for v in p do
+> Append(neighbours, OutNeighbours(d)[v]);
+> od;
+gap> DigraphVertices(d) = Union(neighbours, p);
true
#
From dfec296f0d894d2880b2aa0ed19d2b8e8a8ca889 Mon Sep 17 00:00:00 2001
From: Rheya Monerasinghe
Date: Wed, 28 Jan 2026 15:26:28 +0000
Subject: [PATCH 16/24] Changing DigraphEdgeConnectivity and associated tests
to work only for symmetric digraphs
---
doc/weights.xml | 16 ++++++++--------
gap/weights.gi | 7 ++++++-
tst/standard/oper.tst | 4 ++--
tst/standard/weights.tst | 8 ++++----
tst/testinstall.tst | 6 +++---
5 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/doc/weights.xml b/doc/weights.xml
index e98178b04..75be9d5ed 100644
--- a/doc/weights.xml
+++ b/doc/weights.xml
@@ -332,7 +332,7 @@ gap> DigraphMinimumCutSet(g, 1, 3);
An integer
- This function returns the edge connectivity of digraph. Edge Connectivity refers to the size of a minimum cut of the graph,
+ This function returns the edge connectivity of digraph, a symmetric digraph. Edge Connectivity refers to the size of a minimum cut of the graph,
which, for digraphs, refers to set of edges needed to be removed to ensure the graph is no longer Strongly Connected. That is, there exists two
vertices, A and B, for which a path from A to B does not exist.
@@ -340,15 +340,15 @@ gap> DigraphMinimumCutSet(g, 1, 3);
with edge weights of 1, then using the Max-flow min-cut theorem to determine the size of the minimum cut.
See also .
D := Digraph([[2, 3, 4], [1, 3, 4], [1, 2], [2, 3]]);;
-gap> DigraphEdgeConnectivity(D);
-2
-gap> D := Digraph([[], [1, 2], [2]]);;
+gap> d := Digraph([[4], [4], [4], [1, 2, 3]]);;
+gap> DigraphEdgeConnectivity(d);
+1
+gap> D := RandomDigraph(1);;
gap> DigraphEdgeConnectivity(D);
0
-gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
-gap> DigraphEdgeConnectivity(D);
-4]]>
+gap> d := Digraph([[2, 3], [1, 4], [1, 4], [2, 3]]);;
+gap> DigraphEdgeConnectivity(d);
+2]]>
<#/GAPDoc>
diff --git a/gap/weights.gi b/gap/weights.gi
index 1b2761814..9030d9eb0 100644
--- a/gap/weights.gi
+++ b/gap/weights.gi
@@ -879,7 +879,7 @@ end);
# Algorithms 4-7 are used below:
# Digraph EdgeConnectivity calculated with Dominating Sets (Algorithm 6-7)
-InstallMethod(DigraphEdgeConnectivity, "for a digraph",
+InstallMethod(DigraphEdgeConnectivity, "for a symmetric digraph",
[IsDigraph],
function(digraph)
# Form an identical but edge weighted digraph with all edge weights as 1:
@@ -888,6 +888,11 @@ function(digraph)
notAddedNeighbours, notadded, NextVertex, NeighboursV,
neighbour, Edges, D, VerticesLeft, VerticesED;
+ # check for symmetric digraph
+ if not IsSymmetricDigraph(digraph) then
+ ErrorNoReturn("Digraph given must be a symmetric digraph");
+ fi;
+
if DigraphNrVertices(digraph) = 1 or
DigraphNrStronglyConnectedComponents(digraph) > 1 then
return 0;
diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst
index 79f7c8cc4..9fc1e5d7a 100644
--- a/tst/standard/oper.tst
+++ b/tst/standard/oper.tst
@@ -14,9 +14,9 @@
#@local TestPartialOrderDigraph2, TestUnion, a, adj, b, comps, copy, d, e
#@local edges, edges2, func, g, gr, gr1, gr2, gr3, gr4, gri, grrt, grt, h, i
#@local i1, i2, id, idom, in1, in2, in3, iter, j1, j2, m, m1, m2, mat, n, nbs
-#@local out, out1, out2, out3, p1, p2, path, preorder, qr, r, res, rtclosure, t
+#@local out, out1, out2, out3, p1, p2, path, preorder, qr, r, res, rtclosure, t, neighbours
#@local tclosure, u1, u2, x
-#@local p, q, idp, idt, M
+#@local p, q, idp, idt, M, v
gap> START_TEST("Digraphs package: standard/oper.tst");
gap> LoadPackage("digraphs", false);;
diff --git a/tst/standard/weights.tst b/tst/standard/weights.tst
index 51c899877..27556090a 100644
--- a/tst/standard/weights.tst
+++ b/tst/standard/weights.tst
@@ -473,15 +473,15 @@ gap> DigraphMinimumCutSet(d, 1, 1);
Error, and must be distinct
# EdgeConnectivity
-gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
-gap> DigraphEdgeConnectivity(d);
+gap> d := Digraph([[4], [4], [4], [1, 2, 3]]);;
+gap> DigraphEdgeConnectivity(d);
1
gap> D := RandomDigraph(1);;
gap> DigraphEdgeConnectivity(D);
0
-gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> d := Digraph([[2, 3], [1, 4], [1, 4], [2, 3]]);;
gap> DigraphEdgeConnectivity(d);
-1
+2
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivity(D);
4
diff --git a/tst/testinstall.tst b/tst/testinstall.tst
index 9c77773b1..52b696553 100644
--- a/tst/testinstall.tst
+++ b/tst/testinstall.tst
@@ -583,15 +583,15 @@ gap> D = out;
false
# DigraphEdgeConnectivity
-gap> D := Digraph([[2, 3, 4], [1, 3, 4], [1, 2], [2, 3]]);;
+gap> D := Digraph([[4, 5], [4, 5], [4, 5], [1, 2, 3], [1, 2, 3]]);;
gap> DigraphEdgeConnectivity(D);
2
-gap> D := Digraph([[], [1, 2], [2]]);;
+gap> D := Digraph([[], [3], [2]]);;
gap> DigraphEdgeConnectivity(D);
0
gap> C := Digraph([[3, 4], [1, 3, 4], [2], [3]]);;
gap> DigraphEdgeConnectivity(C);
-1
+Error, Digraph given must be a symmetric digraph
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivity(D);
4
From 37a044e040c1950baa2b3c4e64cc0ee764ec3225 Mon Sep 17 00:00:00 2001
From: reiniscirpons
Date: Thu, 28 May 2026 16:34:27 +0200
Subject: [PATCH 17/24] Move EdgeConnectivity to attr
---
doc/attr.xml | 26 ++++++++++++
doc/weights.xml | 24 +----------
doc/z-chap4.xml | 1 +
doc/z-chap5.xml | 1 -
gap/attr.gd | 1 +
gap/attr.gi | 90 ++++++++++++++++++++++++++++++++++++++++
gap/weights.gd | 3 --
gap/weights.gi | 90 ----------------------------------------
tst/standard/attr.tst | 17 ++++++++
tst/standard/weights.tst | 17 --------
10 files changed, 136 insertions(+), 134 deletions(-)
diff --git a/doc/attr.xml b/doc/attr.xml
index c2cba764d..90ba602ed 100644
--- a/doc/attr.xml
+++ b/doc/attr.xml
@@ -2777,6 +2777,32 @@ gap> DigraphVertexConnectivity(CompleteDigraph(5));
<#/GAPDoc>
+<#GAPDoc Label="DigraphEdgeConnectivity">
+
+
+ An integer
+
+ This function returns the edge connectivity of digraph, a symmetric digraph. Edge Connectivity refers to the size of a minimum cut of the graph,
+ which, for digraphs, refers to set of edges needed to be removed to ensure the graph is no longer Strongly Connected. That is, there exists two
+ vertices, A and B, for which a path from A to B does not exist.
+
+ It makes use of the DigraphMaximumFlow(digraph) function, by constructing an edge-weighted Digraph
+ with edge weights of 1, then using the Max-flow min-cut theorem to determine the size of the minimum cut.
+ See also .
+ d := Digraph([[4], [4], [4], [1, 2, 3]]);;
+gap> DigraphEdgeConnectivity(d);
+1
+gap> D := RandomDigraph(1);;
+gap> DigraphEdgeConnectivity(D);
+0
+gap> d := Digraph([[2, 3], [1, 4], [1, 4], [2, 3]]);;
+gap> DigraphEdgeConnectivity(d);
+2]]>
+
+
+<#/GAPDoc>
+
<#GAPDoc Label="NonUpperSemimodularPair">
diff --git a/doc/weights.xml b/doc/weights.xml
index 75be9d5ed..d975b0804 100644
--- a/doc/weights.xml
+++ b/doc/weights.xml
@@ -326,33 +326,11 @@ gap> g := EdgeWeightedDigraph([[2, 2], [3], []], [[3, 2], [1], []]);
gap> DigraphMinimumCutSet(g, 1, 3);
[ [ 2, 3 ] ]
]]>
-
-<#GAPDoc Label="DigraphEdgeConnectivity">
-
-
- An integer
-
- This function returns the edge connectivity of digraph, a symmetric digraph. Edge Connectivity refers to the size of a minimum cut of the graph,
- which, for digraphs, refers to set of edges needed to be removed to ensure the graph is no longer Strongly Connected. That is, there exists two
- vertices, A and B, for which a path from A to B does not exist.
-
- It makes use of the DigraphMaximumFlow(digraph) function, by constructing an edge-weighted Digraph
- with edge weights of 1, then using the Max-flow min-cut theorem to determine the size of the minimum cut.
- See also .
- d := Digraph([[4], [4], [4], [1, 2, 3]]);;
-gap> DigraphEdgeConnectivity(d);
-1
-gap> D := RandomDigraph(1);;
-gap> DigraphEdgeConnectivity(D);
-0
-gap> d := Digraph([[2, 3], [1, 4], [1, 4], [2, 3]]);;
-gap> DigraphEdgeConnectivity(d);
-2]]>
<#/GAPDoc>
+
<#GAPDoc Label="RandomUniqueEdgeWeightedDigraph">
diff --git a/doc/z-chap4.xml b/doc/z-chap4.xml
index b2f0c32b7..64fd36535 100644
--- a/doc/z-chap4.xml
+++ b/doc/z-chap4.xml
@@ -90,6 +90,7 @@
<#Include Label="NrSpanningTrees">
<#Include Label="DigraphDijkstra">
<#Include Label="DigraphVertexConnectivity">
+ <#Include Label="DigraphEdgeConnectivity">
<#Include Label="DigraphCycleBasis">
<#Include Label="DigraphIsKing">
<#Include Label="DigraphKings">
diff --git a/doc/z-chap5.xml b/doc/z-chap5.xml
index 00b32af8f..491deb4c8 100644
--- a/doc/z-chap5.xml
+++ b/doc/z-chap5.xml
@@ -36,7 +36,6 @@
<#Include Label="DigraphMinimumCutSet">
<#Include Label="RandomUniqueEdgeWeightedDigraph">
<#Include Label="DotEdgeWeightedDigraph">
- <#Include Label="DigraphEdgeConnectivity">
Orders
diff --git a/gap/attr.gd b/gap/attr.gd
index 09d171f6a..2f202cbca 100644
--- a/gap/attr.gd
+++ b/gap/attr.gd
@@ -78,6 +78,7 @@ DeclareAttribute("DigraphCore", IsDigraph);
DeclareAttribute("CharacteristicPolynomial", IsDigraph);
DeclareAttribute("NrSpanningTrees", IsDigraph);
DeclareAttribute("DigraphVertexConnectivity", IsDigraph);
+DeclareAttribute("DigraphEdgeConnectivity", IsDigraph);
# AsGraph must be mutable for grape to function properly
DeclareAttribute("AsGraph", IsDigraph, "mutable");
diff --git a/gap/attr.gi b/gap/attr.gi
index ebaf86487..6d9a5ae5d 100644
--- a/gap/attr.gi
+++ b/gap/attr.gi
@@ -3504,6 +3504,96 @@ function(D)
return kappa_min;
end);
+#############################################################################
+# Digraph Edge Connectivity
+#############################################################################
+
+# Algorithms constructed off the algorithms detailed in:
+# https://www.cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
+# Each Algorithm uses a different method to decrease the time complexity,
+# of calculating Edge Connectivity, though all make use of DigraphMaximumFlow()
+# due to the Max-Flow, Min-Cut Theorem
+
+# Algorithm 1: Calculating the Maximum Flow of every possible source and sink
+# Algorithm 2: Calculating the Maximum Flow to all sinks of an arbitrary source
+# Algorithm 3: Finding Maximum Flow within the non-leaves of a Spanning Tree
+# Algorithm 4: Constructing a spanning tree with a high number of leaves
+# Algorithm 5: Using the spanning tree^ to find Maximum Flow within non-leaves
+# Algorithm 6: Finding Maximum Flow within a dominating set of the digraph
+# Algorithm 7: Constructing a dominating set for use in Algorithm 6
+
+# Algorithms 4-7 are used below:
+
+# Digraph EdgeConnectivity calculated with Dominating Sets (Algorithm 6-7)
+InstallMethod(DigraphEdgeConnectivity, "for a symmetric digraph",
+[IsDigraph],
+function(digraph)
+ # Form an identical but edge weighted digraph with all edge weights as 1:
+ local weights, i, u, v, w, neighbourhood, EdgeD,
+ maxFlow, min, sum, a, b, V, added, st, non_leaf, max,
+ notAddedNeighbours, notadded, NextVertex, NeighboursV,
+ neighbour, Edges, D, VerticesLeft, VerticesED;
+
+ # check for symmetric digraph
+ if not IsSymmetricDigraph(digraph) then
+ ErrorNoReturn("Digraph given must be a symmetric digraph");
+ fi;
+
+ if DigraphNrVertices(digraph) = 1 or
+ DigraphNrStronglyConnectedComponents(digraph) > 1 then
+ return 0;
+ fi;
+
+ weights := List([1 .. DigraphNrVertices(digraph)],
+ x -> List([1 .. Length(OutNeighbours(digraph)[x])],
+ y -> 1));
+ EdgeD := EdgeWeightedDigraph(digraph, weights);
+
+ min := -1;
+
+ # Algorithm 7: Creating a dominating set of the digraph
+ D := DigraphDominatingSet(digraph);
+
+ # Algorithm 6: Using the dominating set created to determine the Maximum Flow
+
+ if Length(D) > 1 then
+
+ v := D[1];
+ for i in [2 .. Length(D)] do
+ w := D[i];
+ a := DigraphMaximumFlow(EdgeD, v, w)[v];
+ b := DigraphMaximumFlow(EdgeD, w, v)[w];
+
+ sum := Minimum(Sum(a), Sum(b));
+ if (sum < min or min = -1) then
+ min := sum;
+ fi;
+ od;
+
+ else
+ # If the dominating set of EdgeD is of Length 1,
+ # the above algorithm will not work
+ # Revert to iterating through all vertices of the original digraph
+
+ u := 1;
+
+ for v in [2 .. DigraphNrVertices(EdgeD)] do
+ a := DigraphMaximumFlow(EdgeD, u, v)[u];
+ b := DigraphMaximumFlow(EdgeD, v, u)[v];
+
+ sum := Minimum(Sum(a), Sum(b));
+ if (sum < min or min = -1) then
+ min := sum;
+ fi;
+
+ od;
+ fi;
+
+ return Minimum(min,
+ Minimum(Minimum(OutDegrees(EdgeD)),
+ Minimum(InDegrees(EdgeD))));
+end);
+
# The following function is a transliteration from python to GAP of
# the function find_nonsemimodular_pair
# in sage/src/sage/combinat/posets/hasse_diagram.py
diff --git a/gap/weights.gd b/gap/weights.gd
index f624ea2a4..423950b61 100644
--- a/gap/weights.gd
+++ b/gap/weights.gd
@@ -44,9 +44,6 @@ DeclareOperation("DigraphMinimumCut",
DeclareOperation("DigraphMinimumCutSet",
[IsDigraph and HasEdgeWeights, IsPosInt, IsPosInt]);
-# Digraph Edge Connectivity
-DeclareOperation("DigraphEdgeConnectivity", [IsDigraph]);
-
# 6. Random edge weighted digraphs
DeclareOperation("RandomUniqueEdgeWeightedDigraph", [IsPosInt]);
DeclareOperation("RandomUniqueEdgeWeightedDigraph", [IsPosInt, IsFloat]);
diff --git a/gap/weights.gi b/gap/weights.gi
index 9030d9eb0..dc1081fcf 100644
--- a/gap/weights.gi
+++ b/gap/weights.gi
@@ -858,96 +858,6 @@ function(D, s, t)
return cutset;
end);
-#############################################################################
-# Digraph Edge Connectivity
-#############################################################################
-
-# Algorithms constructed off the algorithms detailed in:
-# https://www.cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
-# Each Algorithm uses a different method to decrease the time complexity,
-# of calculating Edge Connectivity, though all make use of DigraphMaximumFlow()
-# due to the Max-Flow, Min-Cut Theorem
-
-# Algorithm 1: Calculating the Maximum Flow of every possible source and sink
-# Algorithm 2: Calculating the Maximum Flow to all sinks of an arbitrary source
-# Algorithm 3: Finding Maximum Flow within the non-leaves of a Spanning Tree
-# Algorithm 4: Constructing a spanning tree with a high number of leaves
-# Algorithm 5: Using the spanning tree^ to find Maximum Flow within non-leaves
-# Algorithm 6: Finding Maximum Flow within a dominating set of the digraph
-# Algorithm 7: Constructing a dominating set for use in Algorithm 6
-
-# Algorithms 4-7 are used below:
-
-# Digraph EdgeConnectivity calculated with Dominating Sets (Algorithm 6-7)
-InstallMethod(DigraphEdgeConnectivity, "for a symmetric digraph",
-[IsDigraph],
-function(digraph)
- # Form an identical but edge weighted digraph with all edge weights as 1:
- local weights, i, u, v, w, neighbourhood, EdgeD,
- maxFlow, min, sum, a, b, V, added, st, non_leaf, max,
- notAddedNeighbours, notadded, NextVertex, NeighboursV,
- neighbour, Edges, D, VerticesLeft, VerticesED;
-
- # check for symmetric digraph
- if not IsSymmetricDigraph(digraph) then
- ErrorNoReturn("Digraph given must be a symmetric digraph");
- fi;
-
- if DigraphNrVertices(digraph) = 1 or
- DigraphNrStronglyConnectedComponents(digraph) > 1 then
- return 0;
- fi;
-
- weights := List([1 .. DigraphNrVertices(digraph)],
- x -> List([1 .. Length(OutNeighbours(digraph)[x])],
- y -> 1));
- EdgeD := EdgeWeightedDigraph(digraph, weights);
-
- min := -1;
-
- # Algorithm 7: Creating a dominating set of the digraph
- D := DigraphDominatingSet(digraph);
-
- # Algorithm 6: Using the dominating set created to determine the Maximum Flow
-
- if Length(D) > 1 then
-
- v := D[1];
- for i in [2 .. Length(D)] do
- w := D[i];
- a := DigraphMaximumFlow(EdgeD, v, w)[v];
- b := DigraphMaximumFlow(EdgeD, w, v)[w];
-
- sum := Minimum(Sum(a), Sum(b));
- if (sum < min or min = -1) then
- min := sum;
- fi;
- od;
-
- else
- # If the dominating set of EdgeD is of Length 1,
- # the above algorithm will not work
- # Revert to iterating through all vertices of the original digraph
-
- u := 1;
-
- for v in [2 .. DigraphNrVertices(EdgeD)] do
- a := DigraphMaximumFlow(EdgeD, u, v)[u];
- b := DigraphMaximumFlow(EdgeD, v, u)[v];
-
- sum := Minimum(Sum(a), Sum(b));
- if (sum < min or min = -1) then
- min := sum;
- fi;
-
- od;
- fi;
-
- return Minimum(min,
- Minimum(Minimum(OutDegrees(EdgeD)),
- Minimum(InDegrees(EdgeD))));
-end);
-
#############################################################################
# 6. Random edge weighted digraphs
#############################################################################
diff --git a/tst/standard/attr.tst b/tst/standard/attr.tst
index 6105bfae1..e88bfdd3c 100644
--- a/tst/standard/attr.tst
+++ b/tst/standard/attr.tst
@@ -3287,6 +3287,23 @@ gap> D := DigraphFromGraph6String(
gap> DigraphVertexConnectivity(D);
7
+# EdgeConnectivity
+gap> D := Digraph([[4], [4], [4], [1, 2, 3]]);;
+gap> DigraphEdgeConnectivity(D);
+1
+gap> D := RandomDigraph(1);;
+gap> DigraphEdgeConnectivity(D);
+0
+gap> D := Digraph([[2, 3], [1, 4], [1, 4], [2, 3]]);;
+gap> DigraphEdgeConnectivity(D);
+2
+gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
+gap> DigraphEdgeConnectivity(D);
+4
+gap> D := DigraphFromGraph6String("I~~~~~~~w");;
+gap> DigraphEdgeConnectivity(D);
+9
+
# Semimodular lattices
gap> D := DigraphFromDigraph6String("&C[o?");
diff --git a/tst/standard/weights.tst b/tst/standard/weights.tst
index 27556090a..036dac4d0 100644
--- a/tst/standard/weights.tst
+++ b/tst/standard/weights.tst
@@ -472,23 +472,6 @@ gap> d := EdgeWeightedDigraph([[2], []], [[5], []]);
gap> DigraphMinimumCutSet(d, 1, 1);
Error, and must be distinct
-# EdgeConnectivity
-gap> d := Digraph([[4], [4], [4], [1, 2, 3]]);;
-gap> DigraphEdgeConnectivity(d);
-1
-gap> D := RandomDigraph(1);;
-gap> DigraphEdgeConnectivity(D);
-0
-gap> d := Digraph([[2, 3], [1, 4], [1, 4], [2, 3]]);;
-gap> DigraphEdgeConnectivity(d);
-2
-gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
-gap> DigraphEdgeConnectivity(D);
-4
-gap> D := DigraphFromGraph6String("I~~~~~~~w");;
-gap> DigraphEdgeConnectivity(D);
-9
-
#############################################################################
# 6. Random edge-weighted digraphs
#############################################################################
From acc9c0d64db465c2cae91267e96a8259c43dcc33 Mon Sep 17 00:00:00 2001
From: reiniscirpons
Date: Thu, 28 May 2026 16:42:07 +0200
Subject: [PATCH 18/24] Small formatting fixes etc
---
doc/attr.xml | 23 +++++++++++++++--------
doc/oper.xml | 16 ++++++++++------
tst/standard/attr.tst | 2 +-
3 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/doc/attr.xml b/doc/attr.xml
index 90ba602ed..fec033837 100644
--- a/doc/attr.xml
+++ b/doc/attr.xml
@@ -2782,23 +2782,30 @@ gap> DigraphVertexConnectivity(CompleteDigraph(5));
An integer
- This function returns the edge connectivity of digraph, a symmetric digraph. Edge Connectivity refers to the size of a minimum cut of the graph,
- which, for digraphs, refers to set of edges needed to be removed to ensure the graph is no longer Strongly Connected. That is, there exists two
- vertices, A and B, for which a path from A to B does not exist.
-
- It makes use of the DigraphMaximumFlow(digraph) function, by constructing an edge-weighted Digraph
- with edge weights of 1, then using the Max-flow min-cut theorem to determine the size of the minimum cut.
+ This function returns the edge connectivity of digraph, a symmetric
+ digraph.
+
+ Edge Connectivity refers to the size of a minimum cut of the graph, which,
+ for digraphs, refers to set of edges needed to be removed to ensure the
+ graph is no longer Strongly Connected. That is, there exists two vertices,
+ A and B, for which a path from A to B does not
+ exist.
+
+ It makes use of the DigraphMaximumFlow(digraph) function, by
+ constructing an edge-weighted Digraph with edge weights of 1, then using
+ the Max-flow min-cut theorem to determine the size of the minimum cut.
See also .
d := Digraph([[4], [4], [4], [1, 2, 3]]);;
-gap> DigraphEdgeConnectivity(d);
+gap> DigraphEdgeConnectivity(d);
1
gap> D := RandomDigraph(1);;
gap> DigraphEdgeConnectivity(D);
0
gap> d := Digraph([[2, 3], [1, 4], [1, 4], [2, 3]]);;
gap> DigraphEdgeConnectivity(d);
-2]]>
+2
+]]>
<#/GAPDoc>
diff --git a/doc/oper.xml b/doc/oper.xml
index 74ec819fb..1c2abdb06 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -1959,18 +1959,22 @@ rec( idom := [ 2, fail, 2, 2, 2 ], preorder := [ 2, 1, 3, 4, 5 ] )
A List
- This function returns a dominating set of digraph,
- which is a subset of vertices whose neighbourhood consists of all vertices in digraph.
+ This function returns a dominating set of digraph, which is
+ a subset of vertices whose neighbourhood consists of all vertices in
+ digraph.
- The neighbourhood of a set of vertices, V, refers to the set of vertices that are adjacent to a vertex in V,
- not including any vertices that exist in V. The domating set returned will be one of potentially multiple possible dominating sets for the digraph.
+ The neighbourhood of a set of vertices, V, refers to the set of
+ vertices that are adjacent to a vertex in V, not including any
+ vertices that exist in V. The domating set returned will be one of
+ potentially multiple possible dominating sets for the digraph.
D := Digraph([[2,3,4], [],[],[]]);;
gap> DigraphDominatingSet(D);
[ 4, 1 ]
gap> DigraphDominatingSet(D);
-[ 1 ]]]>
+[ 1 ]
+]]>
<#/GAPDoc>
diff --git a/tst/standard/attr.tst b/tst/standard/attr.tst
index e88bfdd3c..bf1171dd4 100644
--- a/tst/standard/attr.tst
+++ b/tst/standard/attr.tst
@@ -3289,7 +3289,7 @@ gap> DigraphVertexConnectivity(D);
# EdgeConnectivity
gap> D := Digraph([[4], [4], [4], [1, 2, 3]]);;
-gap> DigraphEdgeConnectivity(D);
+gap> DigraphEdgeConnectivity(D);
1
gap> D := RandomDigraph(1);;
gap> DigraphEdgeConnectivity(D);
From 35128b6273c4b6fbcd54305e55146bbfaff4904d Mon Sep 17 00:00:00 2001
From: reiniscirpons
Date: Thu, 28 May 2026 17:34:00 +0200
Subject: [PATCH 19/24] Improve wording a little
---
doc/attr.xml | 28 +++++++++++++++-------------
doc/oper.xml | 12 +++---------
2 files changed, 18 insertions(+), 22 deletions(-)
diff --git a/doc/attr.xml b/doc/attr.xml
index fec033837..af460165b 100644
--- a/doc/attr.xml
+++ b/doc/attr.xml
@@ -2782,19 +2782,21 @@ gap> DigraphVertexConnectivity(CompleteDigraph(5));
An integer
- This function returns the edge connectivity of digraph, a symmetric
- digraph.
-
- Edge Connectivity refers to the size of a minimum cut of the graph, which,
- for digraphs, refers to set of edges needed to be removed to ensure the
- graph is no longer Strongly Connected. That is, there exists two vertices,
- A and B, for which a path from A to B does not
- exist.
-
- It makes use of the DigraphMaximumFlow(digraph) function, by
- constructing an edge-weighted Digraph with edge weights of 1, then using
- the Max-flow min-cut theorem to determine the size of the minimum cut.
- See also .
+ This function returns the edge connectivity of a symmetric digraph
+ digraph.
+
+ The edge connectivity of a symmetric digraph is the size k of the
+ smallest set of edges whose removal would make the digraph disconnected
+ (in the sense of ).
+
+ The implementation makes use of the
+ DigraphMaximumFlow(digraph) function, by constructing an
+ edge-weighted Digraph with edge weights of 1, then using the max-flow
+ min-cut theorem to determine the size of the minimum cut. See also
+ .
+
+ The edge connectivity of any symmetric bridgeless digraph is at least 2.
+ See also .
d := Digraph([[4], [4], [4], [1, 2, 3]]);;
gap> DigraphEdgeConnectivity(d);
diff --git a/doc/oper.xml b/doc/oper.xml
index 1c2abdb06..29389ff39 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -1959,15 +1959,9 @@ rec( idom := [ 2, fail, 2, 2, 2 ], preorder := [ 2, 1, 3, 4, 5 ] )
A List
- This function returns a dominating set of digraph, which is
- a subset of vertices whose neighbourhood consists of all vertices in
- digraph.
-
-
- The neighbourhood of a set of vertices, V, refers to the set of
- vertices that are adjacent to a vertex in V, not including any
- vertices that exist in V. The domating set returned will be one of
- potentially multiple possible dominating sets for the digraph.
+ This function returns a dominating set of digraph, i.e.
+ a subset S of vertices of digraph such that every vertex of
+ digraph is either in S or adjacent to a vertex in S.
D := Digraph([[2,3,4], [],[],[]]);;
gap> DigraphDominatingSet(D);
From a167c3693844b114c6dc03c75ac8f0eeff53d747 Mon Sep 17 00:00:00 2001
From: reiniscirpons
Date: Wed, 26 Aug 2026 17:57:57 +0300
Subject: [PATCH 20/24] Factor out dominating set and add it as attr
---
doc/oper.xml | 33 +++-
gap/attr.gd | 3 +
gap/attr.gi | 65 +++++++-
gap/oper.gd | 7 +-
gap/oper.gi | 86 +++++++---
tst/standard/oper.tst | 372 +++++++++++++++++++++++++++++++++++++++++-
6 files changed, 520 insertions(+), 46 deletions(-)
diff --git a/doc/oper.xml b/doc/oper.xml
index 29389ff39..d6e614393 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -1954,19 +1954,40 @@ rec( idom := [ 2, fail, 2, 2, 2 ], preorder := [ 2, 1, 3, 4, 5 ] )
<#/GAPDoc>
-<#GAPDoc Label="DigraphDominatingSet">
+<#GAPDoc Label="DigraphOutDominatingSet">
-
+
A List
- This function returns a dominating set of digraph, i.e.
+ This function returns an out-dominating set of digraph, i.e.
a subset S of vertices of digraph such that every vertex of
- digraph is either in S or adjacent to a vertex in S.
+ digraph is either in S or an out-neighbour of a vertex in
+ S, see also .
D := Digraph([[2,3,4], [],[],[]]);;
-gap> DigraphDominatingSet(D);
+gap> DigraphOutDominatingSet(D);
[ 4, 1 ]
-gap> DigraphDominatingSet(D);
+gap> DigraphOutDominatingSet(D);
+[ 1 ]
+]]>
+
+
+<#/GAPDoc>
+
+<#GAPDoc Label="DigraphInDominatingSet">
+
+
+ A List
+
+ This function returns an in-dominating set of digraph, i.e.
+ a subset S of vertices of digraph such that every vertex of
+ digraph is either in S or an in-neighbour of a vertex in
+ S, see also .
+ D := Digraph([[2,3,4], [],[],[]]);;
+gap> DigraphInDominatingSet(D);
+[ 4, 1 ]
+gap> DigraphInDominatingSet(D);
[ 1 ]
]]>
diff --git a/gap/attr.gd b/gap/attr.gd
index 2f202cbca..30e284684 100644
--- a/gap/attr.gd
+++ b/gap/attr.gd
@@ -136,6 +136,9 @@ DeclareAttribute("DigraphMaximumMatching", IsDigraph);
DeclareAttribute("Bridges", IsDigraph);
DeclareAttributeThatReturnsDigraph("StrongOrientation", IsDigraph);
+DeclareAttribute("DigraphGreedyOutDominatingSet", IsDigraph);
+DeclareAttribute("DigraphGreedyInDominatingSet", IsDigraph);
+
DeclareAttribute("NonUpperSemimodularPair", IsDigraph);
DeclareAttribute("NonLowerSemimodularPair", IsDigraph);
diff --git a/gap/attr.gi b/gap/attr.gi
index 6d9a5ae5d..2b2cec5c0 100644
--- a/gap/attr.gi
+++ b/gap/attr.gi
@@ -3522,6 +3522,59 @@ end);
# Algorithm 6: Finding Maximum Flow within a dominating set of the digraph
# Algorithm 7: Constructing a dominating set for use in Algorithm 6
+# This function computes the greedy dominating set for the subdigraph
+# of a digraph induced by a set of vertices. The neighbour_fun function
+# determines if in or out-edges are used. Pass OutNeighboursOfVertex
+# for out-edges and InNeighboursOfVertex for in-edges.
+#
+# In other words, we find a subset S of the vertices in the parameter
+# vertices such that every vertex in vertices is in S or adjacent
+# to a vertex in S.
+#
+# This is done in a greedy manner by including every vertex in
+# vertices in order, if it is not already adjacent to some
+# vertex in the current dominating set. The vertices are
+# processed in the same order as they occur in the
+# parameter vertices.
+#
+# Implements Algorithm 7 in :
+# https://www.cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
+BindGlobal("DIGRAPHS_GreedyDominatingSet",
+function(digraph, vertices, neighbour_fun)
+ local S, seen, neighbour, vertex;
+
+ Assert(1,
+ neighbour_fun = OutNeighboursOfVertex or
+ neighbour_fun = InNeighboursOfVertex);
+
+ seen := BlistList(DigraphVertices(digraph), []);
+ S := [];
+ for vertex in vertices do
+ if not seen[vertex] then
+ seen[vertex] := true;
+ Add(S, vertex);
+ for neighbour in neighbour_fun(digraph, vertex) do
+ seen[neighbour] := true;
+ od;
+ fi;
+ od;
+
+ return S;
+end);
+
+InstallMethod(DigraphGreedyOutDominatingSet, "for a digraph", [IsDigraph],
+ digraph ->
+ DIGRAPHS_GreedyDominatingSet(
+ digraph,
+ DigraphVertices(digraph),
+ OutNeighboursOfVertex));
+
+InstallMethod(DigraphGreedyInDominatingSet, "for a digraph", [IsDigraph],
+ digraph ->
+ DIGRAPHS_GreedyDominatingSet(
+ digraph,
+ DigraphVertices(digraph),
+ InNeighboursOfVertex));
# Algorithms 4-7 are used below:
# Digraph EdgeConnectivity calculated with Dominating Sets (Algorithm 6-7)
@@ -3540,19 +3593,19 @@ function(digraph)
fi;
if DigraphNrVertices(digraph) = 1 or
- DigraphNrStronglyConnectedComponents(digraph) > 1 then
+ DigraphNrConnectedComponents(digraph) > 1 then
return 0;
fi;
- weights := List([1 .. DigraphNrVertices(digraph)],
- x -> List([1 .. Length(OutNeighbours(digraph)[x])],
- y -> 1));
- EdgeD := EdgeWeightedDigraph(digraph, weights);
+ EdgeD := UnitEdgeWeightedDigraph(digraph);
min := -1;
# Algorithm 7: Creating a dominating set of the digraph
- D := DigraphDominatingSet(digraph);
+ D := DIGRAPHS_GreedyDominatingSet(
+ digraph,
+ Shuffle([1 .. DigraphNrVertices(digraph)]),
+ OutNeighboursOfVertex);
# Algorithm 6: Using the dominating set created to determine the Maximum Flow
diff --git a/gap/oper.gd b/gap/oper.gd
index a17112b16..d12b63f0b 100644
--- a/gap/oper.gd
+++ b/gap/oper.gd
@@ -118,6 +118,10 @@ DeclareOperation("IsDigraphPath",
[IsDigraph, IsHomogeneousList, IsHomogeneousList]);
DeclareOperation("IsDigraphPath", [IsDigraph, IsList]);
+DeclareOperation("IsDigraphOutDominatingSet", [IsDigraph, IsList]);
+DeclareSynonym("IsDigraphDominatingSet", IsDigraphOutDominatingSet);
+DeclareOperation("IsDigraphInDominatingSet", [IsDigraph, IsList]);
+
# 9. Connectivity . . .
DeclareOperation("DigraphIsKing", [IsDigraph, IsPosInt, IsPosInt]);
DeclareOperation("DigraphKings", [IsDigraph, IsPosInt]);
@@ -154,7 +158,8 @@ DeclareOperation("IsOrderIdeal", [IsDigraph, IsList]);
DeclareOperation("IsOrderFilter", [IsDigraph, IsList]);
DeclareOperation("Dominators", [IsDigraph, IsPosInt]);
DeclareOperation("DominatorTree", [IsDigraph, IsPosInt]);
-DeclareOperation("DigraphDominatingSet", [IsDigraph]);
+DeclareOperation("DigraphGreedyOutDominatingSet", [IsDigraph, IsList]);
+DeclareOperation("DigraphGreedyInDominatingSet", [IsDigraph, IsList]);
DeclareOperation("DigraphCycleBasis", [IsDigraph]);
DeclareOperation("DigraphColourRefinement", [IsDigraph]);
diff --git a/gap/oper.gi b/gap/oper.gi
index 02ef2a79d..5d45a2125 100644
--- a/gap/oper.gi
+++ b/gap/oper.gi
@@ -2522,33 +2522,69 @@ function(D, root)
return result;
end);
-# For calculating a dominating set for a digraph
-# Algorithm 7 in :
-# https://www.cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
-InstallMethod(DigraphDominatingSet, "for a digraph",
-[IsDigraph],
-function(digraph)
- local D, seen, Vertices, neighbour, v;
-
- Vertices := [1 .. DigraphNrVertices(digraph)];
-
- # Shuffling not technically necessary - may be better not to?
- Shuffle(Vertices);
-
- seen := BlistList([1 .. DigraphNrVertices(digraph)], []);
- D := [];
- for v in Vertices do
- if seen[v] = false then
- seen[v] := true;
- Append(D, [v]);
- for neighbour in OutNeighbours(digraph)[v] do
- seen[neighbour] := true;
- od;
+BindGlobal("DIGRAPHS_IsDominatingSet",
+function(digraph, vertices, neighbour_fun)
+ local seen, neighbour, vertex;
+
+ if not IsSet(vertices) then
+ return false;
+ fi;
+
+ seen := BlistList(DigraphVertices(digraph), []);
+ for vertex in vertices do
+ if not IsPosInt(vertex) or vertex > DigraphNrVertices(digraph) then
+ return false;
fi;
+ seen[vertex] := true;
+ for neighbour in neighbour_fun(digraph, vertex) do
+ seen[neighbour] := true;
+ od;
od;
- return D;
-end);
+ return ForAll(seen, x -> x);
+end);
+
+InstallMethod(IsDigraphOutDominatingSet,
+ "for a digraph and a list of vertices",
+ [IsDigraph, IsList],
+ {digraph, vertices} ->
+ DIGRAPHS_IsDominatingSet(digraph, vertices, OutNeighboursOfVertex));
+
+InstallMethod(IsDigraphInDominatingSet,
+ "for a digraph and a list of vertices",
+ [IsDigraph, IsList],
+ {digraph, vertices} ->
+ DIGRAPHS_IsDominatingSet(digraph, vertices, InNeighboursOfVertex));
+
+InstallMethod(DigraphGreedyOutDominatingSet,
+ "for a digraph and a list of vertices",
+ [IsDigraph, IsList],
+ function(digraph, vertex_order)
+ if not Length(vertex_order) = DigraphNrVertices(digraph) or
+ not Minimum(vertex_order) = 1 or
+ not Maximum(vertex_order) = DigraphNrVertices(digraph) or
+ not IsDuplicateFree(vertex_order) then
+ ErrorNoReturn("the 2nd argument must be a permuted list of vertices of ",
+ "the 1st argument (a digraph)");
+ fi;
+ return Set(DIGRAPHS_GreedyDominatingSet(
+ digraph, vertex_order, OutNeighboursOfVertex));
+ end);
+
+InstallMethod(DigraphGreedyInDominatingSet,
+ "for a digraph and a list of vertices",
+ [IsDigraph, IsList],
+ function(digraph, vertex_order)
+ if not Length(vertex_order) = DigraphNrVertices(digraph) or
+ not Minimum(vertex_order) = 1 or
+ not Maximum(vertex_order) = DigraphNrVertices(digraph) or
+ not IsDuplicateFree(vertex_order) then
+ ErrorNoReturn("the 2nd argument must be a permuted list of vertices of ",
+ "the 1st argument (a digraph)");
+ fi;
+ return Set(DIGRAPHS_GreedyDominatingSet(
+ digraph, vertex_order, InNeighboursOfVertex));
+ end);
# Computes the fundamental cycle basis of a symmetric digraph
# First, notice that the cycle space is composed of orthogonal subspaces
@@ -2905,4 +2941,4 @@ function(D)
return C - (cMin - 1);
-end);
\ No newline at end of file
+end);
diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst
index 9fc1e5d7a..74af0b802 100644
--- a/tst/standard/oper.tst
+++ b/tst/standard/oper.tst
@@ -3368,33 +3368,389 @@ gap> D := Digraph([[2, 3, 4, 5], [], [], [], []]);;
gap> DigraphColourRefinement(D);
[ 2, 1, 1, 1, 1 ]
-# DigraphDominatingSet
+# IsDigraphOutDominatingSet
gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
-gap> p := DigraphDominatingSet(d);;
+gap> IsDigraphOutDominatingSet(d, [1]);
+true
+gap> IsDigraphOutDominatingSet(d, [3]);
+true
+gap> IsDigraphOutDominatingSet(d, [1, 2]);
+true
+gap> IsDigraphOutDominatingSet(d, [2]);
+false
+gap> IsDigraphOutDominatingSet(d, []);
+false
+gap> IsDigraphOutDominatingSet(d, [2, 1]);
+false
+gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> IsDigraphOutDominatingSet(d, [1, 3]);
+true
+gap> IsDigraphOutDominatingSet(d, [1, 3, 5]);
+true
+gap> IsDigraphOutDominatingSet(d, [1, 2, 5]);
+true
+gap> IsDigraphOutDominatingSet(d, [2, 3, 5]);
+true
+gap> IsDigraphOutDominatingSet(d, [2, 3, 4]);
+true
+gap> IsDigraphOutDominatingSet(d, [3, 1]);
+false
+gap> IsDigraphOutDominatingSet(d, [3, 1, 5, 2, 4]);
+false
+gap> IsDigraphOutDominatingSet(d, [3, 5]);
+false
+gap> IsDigraphOutDominatingSet(d, [5, 3]);
+false
+gap> d := Digraph([
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5]]);;
+gap> IsDigraphOutDominatingSet(d, [1]);
+true
+gap> IsDigraphOutDominatingSet(d, [1, 3]);
+true
+gap> IsDigraphOutDominatingSet(d, [1, 3, 5]);
+true
+gap> IsDigraphOutDominatingSet(d, []);
+false
+gap> IsDigraphOutDominatingSet(d, [3, 1]);
+false
+gap> IsDigraphOutDominatingSet(d, [5, 1, 3]);
+false
+gap> d := DigraphFromSparse6String(":~?@O_GA?`OQCa?]FaoiIb_\
+> uLcpIQd`UTePaZCXwXeXiYeyIjIimcIyegJi_dJi[lJICgHxwdHHs`Hxs\
+> [Hh[ad`s[e@[UcqKid@{hdPORhaq_HhGPbryMNRqOBoyKE@yJEgsKAwc^\
+> IW_PNwgHAGW_OwSZLg[E@WKOJwKOFGGbIgCdHGG@@N");
+
+gap> p := [1, 5, 8, 11, 14, 17, 18, 19, 22, 25, 27, 29, \
+> 30, 31, 32, 35, 37, 38, 39, 40, 41, 42, 43, 45, 64, 65, \
+> 73, 74];;
+gap> IsDigraphOutDominatingSet(d, p);
+true
+gap> p := [1, 5, 8, 11, 14, 17, 18, 19, 22, 25, 27, 29, \
+> 30, 31, 32, 35, 37, 38, 39, 40, 41, 42, 43, 45, 64, 65, \
+> 73];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [1, 5, 8, 11, 14, 17, 18, 19, 22, 25, 27, \
+> 30, 31, 32, 35, 37, 38, 39, 40, 41, 42, 43, 45, 64, 65, \
+> 73, 74];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 17, \
+> 18, 19, 21, 23, 24, 25, 27, 29, 30, 31, 32, 35, 37, \
+> 38, 42, 44, 48, 49, 50, 51, 53, 54, 58, 60, 61, 62, \
+> 64, 66, 73, 74, 75, 78];;
+gap> IsDigraphOutDominatingSet(d, p);
+true
+gap> p := [2, 3, 4, 5, 9, 10, 11, 12, 13, 14, \
+> 18, 19, 21, 23, 24, 25, 27, 29, 30, 31, 32, 35, 37, \
+> 38, 50, 51, 53, 54, 58, 60, 61, 62, \
+> 64, 66, 73, 74, 75];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> d := DigraphFromSparse6String(":~?AA_C?_CD?cD_sE`OH`KL\
+> @cO@kOawUA[TAcVASQBCRAsTAc^Bk]a[SasTcwNCCMB{]Cc\\C[eCcdC[\
+> [CSZCKYCSXCK]bk_EK^ESdcseckvEswEk|Fcz`_JACI@kK@WIaG}aG|`{\
+> MdOqdGpdoodwld_wdWvd?scwrfSxepNehMfczf`CfXDfpRfhQ`LPJDOJD\
+> SITTI\\FHlEHdJH|IHtDHLCHDBI|AIt_Jl^Jt[KdZK\\YKTXKLgKtdK|n\
+> LThm@mlhnlpolhnmHklXqltl`@sNCFMXv`@wMsFMxt__A_gBNkBAP?_GN\
+> @sC?O@");
+
+gap> p := [1, 5, 7, 10, 13, 15, 16, 17, 19, 20, 21, 22, 23, \
+> 30, 31, 38, 39, 46, 47, 48, 49, 52, 53, 58, 59, 60, 61, \
+> 65, 67, 68, 71, 72, 75, 76, 81, 82, 87, 88, 92, 93, 98, \
+> 99, 102, 103, 110, 111, 112, 113, 118, 119, 122, 123, 127];;
+gap> IsDigraphOutDominatingSet(d, p);
+true
+gap> p := [1, 5, 7, 10, 13, 15, 16, 17, 19, 20, 21, 22, 23, \
+> 30, 31, 38, 39, 46, 47, 48, 49, 52, 53, 58, 59, 60, 61, \
+> 65, 67, 68, 71, 72, 75, 76, 81, 82, 87, 88, 92, 93, 98, \
+> 99, 102, 103, 110, 111, 112, 113, 118, 119, 122, 123];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [1, 5, 7, 10, 13, 15, 16, 17, 19, 20, 21, 22, 24, \
+> 30, 31, 38, 39, 46, 47, 48, 49, 52, 53, 58, 59, 60, 61, \
+> 65, 67, 68, 71, 72, 75, 76, 81, 82, 87, 88, 92, 93, 98, \
+> 99, 102, 103, 110, 111, 112, 113, 118, 119, 122, 123, 127];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 7, 10, 14, 15, 16, 18, 19, 20, 21, 22, \
+> 23, 26, 27, 32, 33, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
+> 54, 55, 56, 57, 62, 63, 64, 65, 66, 77, 78, 79, 80, 83, 84, \
+> 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 108, \
+> 109, 110, 111, 112, 113, 114, 115, 122, 123, 124, 125, 127];;
+gap> IsDigraphOutDominatingSet(d, p);
+true
+gap> p := [2, 3, 4, 5, 7, 10, 14, 15, 16, 18, 19, 20, 21, 22, \
+> 23, 26, 27, 32, 33, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
+> 54, 55, 56, 57, 62, 63, 64, 77, 78, 79, 80, 83, 84, \
+> 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 108, \
+> 109, 110, 111, 112, 113, 114, 115, 122, 123, 124, 125];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 7, 10, 14, 15, 16, 18, 19, 20, 21, 22, \
+> 24, 26, 27, 32, 33, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
+> 54, 55, 56, 57, 65, 66, 77, 78, 79, 80, 83, 84, \
+> 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 108, \
+> 109, 110, 111, 112, 113, 114, 115, 122, 123, 124, 125, 127];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> d := DigraphFromSparse6String(":u_OGCSHCc@xCa]MfsILOfM\
+> fSATIjLJEX`_nLKrAhqYKDQpOeNJJQpMAKbagcKXFDOHgyQeWgbydLVSs\
+> ZDUtVhUodrEEoVp?WEAAV^");
+
+gap> p := [1, 5, 8, 10, 11, 12, 13, 14, 15, 17, 19, 20, 26, \
+> 36, 38, 40, 43, 44, 46, 47, 52];;
+gap> IsDigraphOutDominatingSet(d, p);
+true
+gap> p := [1, 5, 8, 10, 11, 12, 13, 14, 15, 17, 19, 20, 26, \
+> 36, 38, 40, 43, 44, 46, 47];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [1, 5, 8, 10, 11, 12, 13, 14, 15, 17, 19, 20, \
+> 36, 38, 40, 43, 44, 46, 47, 52];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 16, 18, \
+> 20, 22, 23, 24, 25, 26, 30, 33, 37, 38, 39, 44, 46, \
+> 47, 48, 50, 52];;
+gap> IsDigraphOutDominatingSet(d, p);
+true
+gap> p := [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 16, \
+> 20, 22, 23, 24, 25, 26, 30, 33, 37, 38, 39, 44, 46, \
+> 47, 48, 50, 52];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 6, 11, 12, 13, 14, 16, 18, \
+> 20, 22, 23, 24, 25, 26, 30, 33, 37, 38, 39, 44, 46, \
+> 47, 48, 50];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [4, 7, 8, 13, 16, 19, 26, 27, 32, 38, 39, 44, \
+> 45, 50, 54];;
+gap> IsDigraphOutDominatingSet(d, p);
+true
+gap> p := [4, 7, 8, 13, 16, 19, 26, 27, 32, 38, 39, 44, \
+> 45, 50, 52];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [4, 7, 8, 13, 16, 19, 26, 27, 32, 38, 39, 44, \
+> 45, 50];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+gap> p := [1 .. 10];;
+gap> IsDigraphOutDominatingSet(d, p);
+false
+
+# IsDigraphInDominatingSet
+gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> IsDigraphInDominatingSet(d, [2]);
+true
+gap> IsDigraphInDominatingSet(d, [3]);
+true
+gap> IsDigraphInDominatingSet(d, [1, 2]);
+true
+gap> IsDigraphInDominatingSet(d, []);
+false
+gap> IsDigraphInDominatingSet(d, [1]);
+false
+gap> IsDigraphInDominatingSet(d, [2, 1]);
+false
+gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> IsDigraphInDominatingSet(d, [3, 4]);
+true
+gap> IsDigraphInDominatingSet(d, [1, 3, 5]);
+true
+gap> IsDigraphInDominatingSet(d, [1, 2, 4]);
+true
+gap> IsDigraphInDominatingSet(d, [3, 1]);
+false
+gap> IsDigraphInDominatingSet(d, [3, 1, 5, 2, 4]);
+false
+gap> IsDigraphInDominatingSet(d, [3, 5]);
+false
+gap> IsDigraphInDominatingSet(d, [5, 3]);
+false
+gap> d := Digraph([
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5]]);;
+gap> IsDigraphInDominatingSet(d, [1]);
+true
+gap> IsDigraphInDominatingSet(d, [1, 3]);
+true
+gap> IsDigraphInDominatingSet(d, [1, 3, 5]);
+true
+gap> IsDigraphInDominatingSet(d, []);
+false
+gap> IsDigraphInDominatingSet(d, [3, 1]);
+false
+gap> IsDigraphInDominatingSet(d, [5, 1, 3]);
+false
+gap> d := DigraphFromSparse6String(":~?@O_GA?`OQCa?]FaoiIb_\
+> uLcpIQd`UTePaZCXwXeXiYeyIjIimcIyegJi_dJi[lJICgHxwdHHs`Hxs\
+> [Hh[ad`s[e@[UcqKid@{hdPORhaq_HhGPbryMNRqOBoyKE@yJEgsKAwc^\
+> IW_PNwgHAGW_OwSZLg[E@WKOJwKOFGGbIgCdHGG@@N");
+
+gap> p := [1, 5, 8, 11, 14, 17, 18, 19, 22, 25, 27, 29, \
+> 30, 31, 32, 35, 37, 38, 39, 40, 41, 42, 43, 45, 64, 65, \
+> 73, 74];;
+gap> IsDigraphInDominatingSet(d, p);
+true
+gap> p := [1, 5, 8, 11, 14, 17, 18, 19, 22, 25, 27, 29, \
+> 30, 31, 32, 35, 37, 38, 39, 40, 41, 42, 43, 45, 64, 65, \
+> 73];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [1, 5, 8, 11, 14, 17, 18, 19, 22, 25, 27, \
+> 30, 31, 32, 35, 37, 38, 39, 40, 41, 42, 43, 45, 64, 65, \
+> 73, 74];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 17, \
+> 18, 19, 21, 23, 24, 25, 27, 29, 30, 31, 32, 35, 37, \
+> 38, 42, 44, 48, 49, 50, 51, 53, 54, 58, 60, 61, 62, \
+> 64, 66, 73, 74, 75, 78];;
+gap> IsDigraphInDominatingSet(d, p);
+true
+gap> p := [2, 3, 4, 5, 9, 10, 11, 12, 13, 14, \
+> 18, 19, 21, 23, 24, 25, 27, 29, 30, 31, 32, 35, 37, \
+> 38, 50, 51, 53, 54, 58, 60, 61, 62, \
+> 64, 66, 73, 74, 75];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> d := DigraphFromSparse6String(":~?AA_C?_CD?cD_sE`OH`KL\
+> @cO@kOawUA[TAcVASQBCRAsTAc^Bk]a[SasTcwNCCMB{]Cc\\C[eCcdC[\
+> [CSZCKYCSXCK]bk_EK^ESdcseckvEswEk|Fcz`_JACI@kK@WIaG}aG|`{\
+> MdOqdGpdoodwld_wdWvd?scwrfSxepNehMfczf`CfXDfpRfhQ`LPJDOJD\
+> SITTI\\FHlEHdJH|IHtDHLCHDBI|AIt_Jl^Jt[KdZK\\YKTXKLgKtdK|n\
+> LThm@mlhnlpolhnmHklXqltl`@sNCFMXv`@wMsFMxt__A_gBNkBAP?_GN\
+> @sC?O@");
+
+gap> p := [1, 5, 7, 10, 13, 15, 16, 17, 19, 20, 21, 22, 23, \
+> 30, 31, 38, 39, 46, 47, 48, 49, 52, 53, 58, 59, 60, 61, \
+> 65, 67, 68, 71, 72, 75, 76, 81, 82, 87, 88, 92, 93, 98, \
+> 99, 102, 103, 110, 111, 112, 113, 118, 119, 122, 123, 127];;
+gap> IsDigraphInDominatingSet(d, p);
+true
+gap> p := [1, 5, 7, 10, 13, 15, 16, 17, 19, 20, 21, 22, 23, \
+> 30, 31, 38, 39, 46, 47, 48, 49, 52, 53, 58, 59, 60, 61, \
+> 65, 67, 68, 71, 72, 75, 76, 81, 82, 87, 88, 92, 93, 98, \
+> 99, 102, 103, 110, 111, 112, 113, 118, 119, 122, 123];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [1, 5, 7, 10, 13, 15, 16, 17, 19, 20, 21, 22, 24, \
+> 30, 31, 38, 39, 46, 47, 48, 49, 52, 53, 58, 59, 60, 61, \
+> 65, 67, 68, 71, 72, 75, 76, 81, 82, 87, 88, 92, 93, 98, \
+> 99, 102, 103, 110, 111, 112, 113, 118, 119, 122, 123, 127];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 7, 10, 14, 15, 16, 18, 19, 20, 21, 22, \
+> 23, 26, 27, 32, 33, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
+> 54, 55, 56, 57, 62, 63, 64, 65, 66, 77, 78, 79, 80, 83, 84, \
+> 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 108, \
+> 109, 110, 111, 112, 113, 114, 115, 122, 123, 124, 125, 127];;
+gap> IsDigraphInDominatingSet(d, p);
+true
+gap> p := [2, 3, 4, 5, 7, 10, 14, 15, 16, 18, 19, 20, 21, 22, \
+> 23, 26, 27, 32, 33, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
+> 54, 55, 56, 57, 62, 63, 64, 77, 78, 79, 80, 83, 84, \
+> 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 108, \
+> 109, 110, 111, 112, 113, 114, 115, 122, 123, 124, 125];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 7, 10, 14, 15, 16, 18, 19, 20, 21, 22, \
+> 24, 26, 27, 32, 33, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
+> 54, 55, 56, 57, 65, 66, 77, 78, 79, 80, 83, 84, \
+> 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 108, \
+> 109, 110, 111, 112, 113, 114, 115, 122, 123, 124, 125, 127];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> d := DigraphFromSparse6String(":u_OGCSHCc@xCa]MfsILOfM\
+> fSATIjLJEX`_nLKrAhqYKDQpOeNJJQpMAKbagcKXFDOHgyQeWgbydLVSs\
+> ZDUtVhUodrEEoVp?WEAAV^");
+
+gap> p := [1, 5, 8, 10, 11, 12, 13, 14, 15, 17, 19, 20, 26, \
+> 36, 38, 40, 43, 44, 46, 47, 52];;
+gap> IsDigraphInDominatingSet(d, p);
+true
+gap> p := [1, 5, 8, 10, 11, 12, 13, 14, 15, 17, 19, 20, 26, \
+> 36, 38, 40, 43, 44, 46, 47];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [1, 5, 8, 10, 11, 12, 13, 14, 15, 17, 19, 20, \
+> 36, 38, 40, 43, 44, 46, 47, 52];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 16, 18, \
+> 20, 22, 23, 24, 25, 26, 30, 33, 37, 38, 39, 44, 46, \
+> 47, 48, 50, 52];;
+gap> IsDigraphInDominatingSet(d, p);
+true
+gap> p := [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 16, \
+> 20, 22, 23, 24, 25, 26, 30, 33, 37, 38, 39, 44, 46, \
+> 47, 48, 50, 52];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [2, 3, 4, 5, 6, 11, 12, 13, 14, 16, 18, \
+> 20, 22, 23, 24, 25, 26, 30, 33, 37, 38, 39, 44, 46, \
+> 47, 48, 50];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [4, 7, 8, 13, 16, 19, 26, 27, 32, 38, 39, 44, \
+> 45, 50, 54];;
+gap> IsDigraphInDominatingSet(d, p);
+true
+gap> p := [4, 7, 8, 13, 16, 19, 26, 27, 32, 38, 39, 44, \
+> 45, 50, 52];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [4, 7, 8, 13, 16, 19, 26, 27, 32, 38, 39, 44, \
+> 45, 50];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+gap> p := [1 .. 10];;
+gap> IsDigraphInDominatingSet(d, p);
+false
+
+# DigraphGreedyOutDominatingSet
+# TODO: to test check that each prefix is dominating set for induced subgraph
+gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> p := DigraphGreedyOutDominatingSet(d);;
gap> neighbours := [];;
gap> for v in p do
> Append(neighbours, OutNeighbours(d)[v]);
> od;
-gap> DigraphVertices(d) = Union(neighbours, p);
+gap> DigraphVertices(d) = AsSortedList(Union(neighbours, p));
true
gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
-gap> p := DigraphDominatingSet(d);;
+gap> p := DigraphGreedyOutDominatingSet(d);;
gap> neighbours := [];;
gap> for v in p do
> Append(neighbours, OutNeighbours(d)[v]);
> od;
gap> DigraphVertices(d) = Union(neighbours, p);
true
-gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
-gap> p := DigraphDominatingSet(d);;
+gap> d := Digraph([
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5]]);;
+gap> p := DigraphGreedyOutDominatingSet(d);;
gap> neighbours := [];;
gap> for v in p do
> Append(neighbours, OutNeighbours(d)[v]);
> od;
gap> DigraphVertices(d) = Union(neighbours, p);
true
-gap> D := RandomDigraph(1);;
-gap> p := DigraphDominatingSet(d);;
+gap> d := RandomDigraph(1);;
+gap> p := DigraphGreedyOutDominatingSet(d);;
gap> neighbours := [];;
gap> for v in p do
> Append(neighbours, OutNeighbours(d)[v]);
From 94f52e17b80a280fe88d9f049aa32c48819a6804 Mon Sep 17 00:00:00 2001
From: reiniscirpons
Date: Wed, 9 Sep 2026 18:11:57 +0200
Subject: [PATCH 21/24] Finish adding tests for dominating set
---
gap/oper.gi | 8 +-
tst/standard/attr.tst | 165 ++++++++++++++++++++++++++
tst/standard/oper.tst | 270 ++++++++++++++++++++++++++++++++++++------
3 files changed, 400 insertions(+), 43 deletions(-)
diff --git a/gap/oper.gi b/gap/oper.gi
index 5d45a2125..645a9b99e 100644
--- a/gap/oper.gi
+++ b/gap/oper.gi
@@ -2561,9 +2561,7 @@ InstallMethod(DigraphGreedyOutDominatingSet,
[IsDigraph, IsList],
function(digraph, vertex_order)
if not Length(vertex_order) = DigraphNrVertices(digraph) or
- not Minimum(vertex_order) = 1 or
- not Maximum(vertex_order) = DigraphNrVertices(digraph) or
- not IsDuplicateFree(vertex_order) then
+ not Set(vertex_order) = DigraphVertices(digraph) then
ErrorNoReturn("the 2nd argument must be a permuted list of vertices of ",
"the 1st argument (a digraph)");
fi;
@@ -2576,9 +2574,7 @@ InstallMethod(DigraphGreedyInDominatingSet,
[IsDigraph, IsList],
function(digraph, vertex_order)
if not Length(vertex_order) = DigraphNrVertices(digraph) or
- not Minimum(vertex_order) = 1 or
- not Maximum(vertex_order) = DigraphNrVertices(digraph) or
- not IsDuplicateFree(vertex_order) then
+ not Set(vertex_order) = DigraphVertices(digraph) then
ErrorNoReturn("the 2nd argument must be a permuted list of vertices of ",
"the 1st argument (a digraph)");
fi;
diff --git a/tst/standard/attr.tst b/tst/standard/attr.tst
index bf1171dd4..956591e36 100644
--- a/tst/standard/attr.tst
+++ b/tst/standard/attr.tst
@@ -17,6 +17,7 @@
#@local reflextrans, reflextrans1, reflextrans2, representatives, rev, rgr
#@local rotationSy, rotationSystem, scc, schreierVector, sink, soccer, str
#@local table, temp, topo, trans, trans1, trans2, tree, wcc, x, y, z
+#@local TestDigraphGreedyDominatingSet
gap> START_TEST("Digraphs package: standard/attr.tst");
gap> LoadPackage("digraphs", false);;
@@ -3287,6 +3288,170 @@ gap> D := DigraphFromGraph6String(
gap> DigraphVertexConnectivity(D);
7
+# DigraphGreedyOutDominatingSet
+gap> TestDigraphGreedyDominatingSet :=
+> {D, A} -> ForAll(
+> DigraphVertices(D),
+> x -> IsDigraphOutDominatingSet(
+> InducedSubdigraph(DigraphImmutableCopy(D), [1 .. x]),
+> Filtered(A, y -> y <= x)));;
+gap> D := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> A := DigraphGreedyOutDominatingSet(D);
+[ 1 ]
+gap> IsDigraphOutDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> A := DigraphGreedyOutDominatingSet(D);
+[ 1, 3 ]
+gap> IsDigraphOutDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := Digraph(IsMutableDigraph, [[2, 4], [3], [1, 5], [3], [4]]);;
+gap> A := DigraphGreedyOutDominatingSet(D);
+[ 1, 3 ]
+gap> IsDigraphOutDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D = Digraph(IsMutableDigraph, [[2, 4], [3], [1, 5], [3], [4]]);
+true
+gap> D := Digraph([
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5]]);;
+gap> A := DigraphGreedyOutDominatingSet(D);
+[ 1 ]
+gap> IsDigraphOutDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := DigraphFromSparse6String(":~?@O_GA?`OQCa?]FaoiIb_\
+> uLcpIQd`UTePaZCXwXeXiYeyIjIimcIyegJi_dJi[lJICgHxwdHHs`Hxs\
+> [Hh[ad`s[e@[UcqKid@{hdPORhaq_HhGPbryMNRqOBoyKE@yJEgsKAwc^\
+> IW_PNwgHAGW_OwSZLg[E@WKOJwKOFGGbIgCdHGG@@N");
+
+gap> A := DigraphGreedyOutDominatingSet(D);
+[ 1, 5, 8, 11, 14, 17, 18, 19, 22, 25, 27, 29, 30, 31, 32, 35, 37, 38, 39,
+ 40, 41, 42, 43, 45, 64, 65, 73, 74 ]
+gap> IsDigraphOutDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := DigraphFromSparse6String(":~?AA_C?_CD?cD_sE`OH`KL\
+> @cO@kOawUA[TAcVASQBCRAsTAc^Bk]a[SasTcwNCCMB{]Cc\\C[eCcdC[\
+> [CSZCKYCSXCK]bk_EK^ESdcseckvEswEk|Fcz`_JACI@kK@WIaG}aG|`{\
+> MdOqdGpdoodwld_wdWvd?scwrfSxepNehMfczf`CfXDfpRfhQ`LPJDOJD\
+> SITTI\\FHlEHdJH|IHtDHLCHDBI|AIt_Jl^Jt[KdZK\\YKTXKLgKtdK|n\
+> LThm@mlhnlpolhnmHklXqltl`@sNCFMXv`@wMsFMxt__A_gBNkBAP?_GN\
+> @sC?O@");
+
+gap> A := DigraphGreedyOutDominatingSet(D);
+[ 1, 5, 7, 10, 13, 15, 16, 17, 19, 20, 21, 22, 23, 30, 31, 38, 39, 46, 47,
+ 48, 49, 52, 53, 58, 59, 60, 61, 65, 67, 68, 71, 72, 75, 76, 81, 82, 87, 88,
+ 92, 93, 98, 99, 102, 103, 110, 111, 112, 113, 118, 119, 122, 123, 127 ]
+gap> IsDigraphOutDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := DigraphFromSparse6String(":u_OGCSHCc@xCa]MfsILOfM\
+> fSATIjLJEX`_nLKrAhqYKDQpOeNJJQpMAKbagcKXFDOHgyQeWgbydLVSs\
+> ZDUtVhUodrEEoVp?WEAAV^");
+
+gap> A := DigraphGreedyOutDominatingSet(D);
+[ 1, 5, 8, 10, 11, 12, 13, 14, 15, 17, 19, 20, 26, 36, 38, 40, 43, 44, 46,
+ 47, 52 ]
+gap> IsDigraphOutDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+
+# DigraphGreedyInDominatingSet
+gap> TestDigraphGreedyDominatingSet :=
+> {D, A} -> ForAll(
+> DigraphVertices(D),
+> x -> IsDigraphInDominatingSet(
+> InducedSubdigraph(DigraphImmutableCopy(D), [1 .. x]),
+> Filtered(A, y -> y <= x)));;
+gap> D := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> A := DigraphGreedyInDominatingSet(D);
+[ 1, 2 ]
+gap> IsDigraphInDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> A := DigraphGreedyInDominatingSet(D);
+[ 1, 2, 4 ]
+gap> IsDigraphInDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := Digraph(IsMutableDigraph, [[2, 4], [3], [1, 5], [3], [4]]);;
+gap> A := DigraphGreedyInDominatingSet(D);
+[ 1, 2, 4 ]
+gap> IsDigraphInDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D = Digraph(IsMutableDigraph, [[2, 4], [3], [1, 5], [3], [4]]);
+true
+gap> D := Digraph([
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5]]);;
+gap> A := DigraphGreedyInDominatingSet(D);
+[ 1 ]
+gap> IsDigraphInDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := DigraphFromSparse6String(":~?@O_GA?`OQCa?]FaoiIb_\
+> uLcpIQd`UTePaZCXwXeXiYeyIjIimcIyegJi_dJi[lJICgHxwdHHs`Hxs\
+> [Hh[ad`s[e@[UcqKid@{hdPORhaq_HhGPbryMNRqOBoyKE@yJEgsKAwc^\
+> IW_PNwgHAGW_OwSZLg[E@WKOJwKOFGGbIgCdHGG@@N");
+
+gap> A := DigraphGreedyInDominatingSet(D);
+[ 1, 5, 8, 11, 14, 17, 18, 19, 22, 25, 27, 29, 30, 31, 32, 35, 37, 38, 39,
+ 40, 41, 42, 43, 45, 64, 65, 73, 74 ]
+gap> IsDigraphInDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := DigraphFromSparse6String(":~?AA_C?_CD?cD_sE`OH`KL\
+> @cO@kOawUA[TAcVASQBCRAsTAc^Bk]a[SasTcwNCCMB{]Cc\\C[eCcdC[\
+> [CSZCKYCSXCK]bk_EK^ESdcseckvEswEk|Fcz`_JACI@kK@WIaG}aG|`{\
+> MdOqdGpdoodwld_wdWvd?scwrfSxepNehMfczf`CfXDfpRfhQ`LPJDOJD\
+> SITTI\\FHlEHdJH|IHtDHLCHDBI|AIt_Jl^Jt[KdZK\\YKTXKLgKtdK|n\
+> LThm@mlhnlpolhnmHklXqltl`@sNCFMXv`@wMsFMxt__A_gBNkBAP?_GN\
+> @sC?O@");
+
+gap> A := DigraphGreedyInDominatingSet(D);
+[ 1, 5, 7, 10, 13, 15, 16, 17, 19, 20, 21, 22, 23, 30, 31, 38, 39, 46, 47,
+ 48, 49, 52, 53, 58, 59, 60, 61, 65, 67, 68, 71, 72, 75, 76, 81, 82, 87, 88,
+ 92, 93, 98, 99, 102, 103, 110, 111, 112, 113, 118, 119, 122, 123, 127 ]
+gap> IsDigraphInDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+gap> D := DigraphFromSparse6String(":u_OGCSHCc@xCa]MfsILOfM\
+> fSATIjLJEX`_nLKrAhqYKDQpOeNJJQpMAKbagcKXFDOHgyQeWgbydLVSs\
+> ZDUtVhUodrEEoVp?WEAAV^");
+
+gap> A := DigraphGreedyInDominatingSet(D);
+[ 1, 5, 8, 10, 11, 12, 13, 14, 15, 17, 19, 20, 26, 36, 38, 40, 43, 44, 46,
+ 47, 52 ]
+gap> IsDigraphInDominatingSet(D, A);
+true
+gap> TestDigraphGreedyDominatingSet(D, A);
+true
+
# EdgeConnectivity
gap> D := Digraph([[4], [4], [4], [1, 2, 3]]);;
gap> DigraphEdgeConnectivity(D);
diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst
index 74af0b802..69943824f 100644
--- a/tst/standard/oper.tst
+++ b/tst/standard/oper.tst
@@ -10,7 +10,7 @@
##
#@local C, D, D1, D2, D3, D3_edges, DD
-#@local G, G1, L, TestPartialOrderDigraph
+#@local G, G1, L, TestPartialOrderDigraph
#@local TestPartialOrderDigraph2, TestUnion, a, adj, b, comps, copy, d, e
#@local edges, edges2, func, g, gr, gr1, gr2, gr3, gr4, gri, grrt, grt, h, i
#@local i1, i2, id, idom, in1, in2, in3, iter, j1, j2, m, m1, m2, mat, n, nbs
@@ -3382,6 +3382,10 @@ gap> IsDigraphOutDominatingSet(d, []);
false
gap> IsDigraphOutDominatingSet(d, [2, 1]);
false
+gap> IsDigraphOutDominatingSet(d, [1, 4]);
+false
+gap> IsDigraphOutDominatingSet(d, [1, 2, "abc"]);
+false
gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
gap> IsDigraphOutDominatingSet(d, [1, 3]);
true
@@ -3559,6 +3563,10 @@ gap> IsDigraphInDominatingSet(d, [1]);
false
gap> IsDigraphInDominatingSet(d, [2, 1]);
false
+gap> IsDigraphInDominatingSet(d, [1, 4]);
+false
+gap> IsDigraphInDominatingSet(d, [1, 2, "abc"]);
+false
gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
gap> IsDigraphInDominatingSet(d, [3, 4]);
true
@@ -3719,44 +3727,232 @@ gap> IsDigraphInDominatingSet(d, p);
false
# DigraphGreedyOutDominatingSet
-# TODO: to test check that each prefix is dominating set for induced subgraph
gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
-gap> p := DigraphGreedyOutDominatingSet(d);;
-gap> neighbours := [];;
-gap> for v in p do
-> Append(neighbours, OutNeighbours(d)[v]);
-> od;
-gap> DigraphVertices(d) = AsSortedList(Union(neighbours, p));
-true
+gap> DigraphGreedyOutDominatingSet(d, [1, 2, 3]);
+[ 1 ]
+gap> DigraphGreedyOutDominatingSet(d, [1, 3, 2]);
+[ 1 ]
+gap> DigraphGreedyOutDominatingSet(d, [2, 1, 3]);
+[ 1, 2 ]
+gap> DigraphGreedyOutDominatingSet(d, [2, 3, 1]);
+[ 1, 2 ]
+gap> DigraphGreedyOutDominatingSet(d, [3, 1, 2]);
+[ 3 ]
+gap> DigraphGreedyOutDominatingSet(d, [3, 2, 1]);
+[ 3 ]
+gap> DigraphGreedyOutDominatingSet(d, [1, 2]);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> DigraphGreedyOutDominatingSet(d, [1, 2, 3, 3]);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> DigraphGreedyOutDominatingSet(d, ["a", "b", "c"]);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> DigraphGreedyOutDominatingSet(d, [2, 3, 4]);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> DigraphGreedyOutDominatingSet(d, []);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
-gap> p := DigraphGreedyOutDominatingSet(d);;
-gap> neighbours := [];;
-gap> for v in p do
-> Append(neighbours, OutNeighbours(d)[v]);
-> od;
-gap> DigraphVertices(d) = Union(neighbours, p);
-true
-gap> d := Digraph([
-> [1, 2, 3, 4, 5],
-> [1, 2, 3, 4, 5],
-> [1, 2, 3, 4, 5],
-> [1, 2, 3, 4, 5],
-> [1, 2, 3, 4, 5]]);;
-gap> p := DigraphGreedyOutDominatingSet(d);;
-gap> neighbours := [];;
-gap> for v in p do
-> Append(neighbours, OutNeighbours(d)[v]);
-> od;
-gap> DigraphVertices(d) = Union(neighbours, p);
-true
-gap> d := RandomDigraph(1);;
-gap> p := DigraphGreedyOutDominatingSet(d);;
-gap> neighbours := [];;
-gap> for v in p do
-> Append(neighbours, OutNeighbours(d)[v]);
-> od;
-gap> DigraphVertices(d) = Union(neighbours, p);
-true
+gap> DigraphGreedyOutDominatingSet(d, [1, 2, 3, 4, 5]);
+[ 1, 3 ]
+gap> DigraphGreedyOutDominatingSet(d, [2, 1, 3, 4, 5]);
+[ 1, 2, 5 ]
+gap> DigraphGreedyOutDominatingSet(d, [2, 5, 1, 3, 4]);
+[ 1, 2, 5 ]
+gap> DigraphGreedyOutDominatingSet(d, [5, 1, 3, 4, 2]);
+[ 1, 3, 5 ]
+gap> d := DigraphFromSparse6String(":~?@O_GA?`OQCa?]FaoiIb_\
+> uLcpIQd`UTePaZCXwXeXiYeyIjIimcIyegJi_dJi[lJICgHxwdHHs`Hxs\
+> [Hh[ad`s[e@[UcqKid@{hdPORhaq_HhGPbryMNRqOBoyKE@yJEgsKAwc^\
+> IW_PNwgHAGW_OwSZLg[E@WKOJwKOFGGbIgCdHGG@@N");
+
+gap> g := (1, 9, 27, 79, 50, 72, 11, 17, 77, 25, 18, 42, \
+> 63, 57, 62, 64, 48, 40, 39, 34, 8, 65, 38, 75, 70, 52, \
+> 41, 49, 22, 3, 45, 7, 37, 30)(2, 31, 80, 24, 51, 21, 73, \
+> 6, 28, 55, 13, 66, 26, 59, 44, 46, 29, 67, 78, 61, 68, \
+> 53, 43, 19, 10, 16, 54)(5, 15, 69, 23, 14)(12, 58, 20, \
+> 36, 35, 71, 33, 60, 56, 32, 47, 74, 76);;
+gap> DigraphGreedyOutDominatingSet(d, OnTuples([1 .. 80], g));
+[ 2, 3, 4, 5, 9, 10, 11, 15, 16, 17, 27, 28, 31, 32, 37, 42, 45, 48, 49, 51,
+ 53, 54, 55, 56, 57, 58, 60, 62, 63, 69, 73, 75 ]
+gap> g := (1, 44, 71, 66, 73, 29, 68, 50, 63, 49, 59, 75, \
+> 47, 36, 79, 33, 48, 74, 24, 20, 25, 77, 10, 19, 72, 9, \
+> 23, 8, 54, 37)(2, 5, 18, 16, 21, 61, 53, 56, 55, 4, 42, \
+> 39, 76, 12, 32, 14, 46, 52, 38, 27, 78, 65, 67, 57, 45, \
+> 11, 3, 13, 17, 7, 40, 70, 34, 15, 51, 22, 31, 60, 80, 26, \
+> 35, 58, 41, 30, 64, 43, 6, 62);;
+gap> DigraphGreedyOutDominatingSet(d, OnTuples([1 .. 80], g));
+[ 3, 4, 5, 8, 13, 15, 16, 17, 18, 19, 23, 24, 25, 31, 32, 34, 35, 40, 42, 44,
+ 48, 49, 54, 58, 60, 61, 62, 68, 72, 74, 79 ]
+gap> d := DigraphFromSparse6String(":~?AA_C?_CD?cD_sE`OH`KL\
+> @cO@kOawUA[TAcVASQBCRAsTAc^Bk]a[SasTcwNCCMB{]Cc\\C[eCcdC[\
+> [CSZCKYCSXCK]bk_EK^ESdcseckvEswEk|Fcz`_JACI@kK@WIaG}aG|`{\
+> MdOqdGpdoodwld_wdWvd?scwrfSxepNehMfczf`CfXDfpRfhQ`LPJDOJD\
+> SITTI\\FHlEHdJH|IHtDHLCHDBI|AIt_Jl^Jt[KdZK\\YKTXKLgKtdK|n\
+> LThm@mlhnlpolhnmHklXqltl`@sNCFMXv`@wMsFMxt__A_gBNkBAP?_GN\
+> @sC?O@");
+
+gap> g := (1, 121, 127, 123, 51, 64, 113, 38, 2, 87, 70, 58, \
+> 129, 52, 6, 101, 33, 73, 37, 98, 63, 65, 69, 20, 61, 18, \
+> 62, 94, 11, 130, 97, 55, 48, 74, 89, 90, 122, 41, 9, 83, \
+> 102, 15, 84, 45, 8, 119, 46, 4, 50, 72, 95, 29, 24, 80, 31, \
+> 85, 118, 103, 106, 16, 116, 96, 42, 59, 91, 126, 92, 53, 67, \
+> 100, 60, 105, 39, 82, 124, 109, 40, 111, 104, 49, 47, 88, \
+> 44, 68, 19, 66)(3, 57, 114, 125, 93, 25, 26, 120, 7, 12, 112, \
+> 115, 36, 43, 22, 75, 23, 56, 107, 34, 13, 110, 117, 81, 108, \
+> 86, 5, 32)(10, 128, 35, 14, 77, 99, 21)(17, 71, 28, 78)(27, \
+> 76)(30, 54, 79);;
+gap> DigraphGreedyOutDominatingSet(d, OnTuples([1 .. 130], g));
+[ 1, 6, 8, 9, 11, 12, 13, 17, 20, 21, 22, 23, 26, 32, 33, 42, 44, 45, 46, 48,
+ 50, 54, 55, 56, 57, 60, 62, 67, 71, 73, 77, 78, 79, 80, 83, 85, 87, 90, 91,
+ 98, 102, 103, 104, 105, 112, 114, 116, 119, 120, 121, 126, 128, 129, 130 ]
+gap> g := (1, 70, 120, 119, 50, 116, 45, 96, 130, 51, 52, 7, 80, \
+> 77, 4, 37, 95, 28, 62, 124, 18, 33, 53, 8, 42, 22, 101, 81, 14, \
+> 31, 128, 125, 27, 129, 5, 85, 41, 87, 25, 55, 38, 24, 71, 19, \
+> 84, 113, 92, 58, 17, 65, 64, 29)(2, 112, 6, 90, 32, 93, 3, 15, \
+> 107, 67, 30, 127, 115, 47, 103, 94, 44, 108, 56, 88, 21, 114, \
+> 75, 60, 122, 123, 66, 99, 74, 86, 16, 72, 63, 46, 89, 102, 97, 78, \
+> 34, 69, 83, 43, 98, 111, 12, 10, 59, 82, 40, 13, 121, 100, 117, \
+> 109, 104)(9, 20, 48, 26, 49, 126, 118, 79)(11, 36, 91, 68, 57, 35, \
+> 23)(39, 106, 110, 61, 73);;
+gap> DigraphGreedyOutDominatingSet(d, OnTuples([1 .. 130], g));
+[ 1, 7, 10, 13, 17, 19, 20, 25, 30, 31, 36, 37, 38, 40, 41, 46, 47, 48, 49,
+ 52, 53, 55, 59, 62, 63, 65, 70, 71, 72, 75, 76, 80, 83, 84, 85, 90, 91, 99,
+ 100, 101, 102, 108, 112, 114, 116, 120, 121, 127, 129, 130 ]
+gap> d := DigraphFromSparse6String(":u_OGCSHCc@xCa]MfsILOfM\
+> fSATIjLJEX`_nLKrAhqYKDQpOeNJJQpMAKbagcKXFDOHgyQeWgbydLVSs\
+> ZDUtVhUodrEEoVp?WEAAV^");
+
+gap> g := (1, 5, 14, 49, 17, 51, 8, 27, 46, 48, 23, 25, 41, 10, 39, \
+> 28, 40, 6, 33, 36, 7, 42, 37, 26, 12, 31, 20, 45, 15, 29, 38, 30, \
+> 22, 50, 18, 19, 47, 16, 9, 54, 43)(2, 21, 44, 53, 13)(3, 52)(11, \
+> 35)(24, 34, 32);;
+gap> DigraphGreedyOutDominatingSet(d, OnTuples([1 .. 54], g));
+[ 1, 5, 9, 14, 16, 19, 21, 22, 28, 32, 33, 34, 35, 39, 41, 42, 45, 51, 52, 54
+ ]
+gap> g := (1, 15, 12, 46, 21, 17, 4, 11, 16, 9, 10, 14)(2, 50, 3, 23, \
+> 43, 29)(5, 42, 54)(6, 24, 34, 35, 7, 39, 20, 26, 49, 36, 33, 30, 41, \
+> 22, 52, 25, 8, 51, 32, 31, 37, 27, 47, 40, 13, 53, 28, 38, 18)(44, 48);;
+gap> DigraphGreedyOutDominatingSet(d, OnTuples([1 .. 54], g));
+[ 1, 6, 8, 10, 11, 12, 14, 15, 20, 24, 25, 26, 30, 37, 39, 43, 44, 47, 50,
+ 52, 53 ]
+
+# DigraphGreedyInDominatingSet
+gap> d := Digraph([[2, 3], [2, 3], [1, 2, 3]]);;
+gap> DigraphGreedyInDominatingSet(d, [1, 2, 3]);
+[ 1, 2 ]
+gap> DigraphGreedyInDominatingSet(d, [1, 3, 2]);
+[ 1, 2 ]
+gap> DigraphGreedyInDominatingSet(d, [2, 1, 3]);
+[ 2 ]
+gap> DigraphGreedyInDominatingSet(d, [2, 3, 1]);
+[ 2 ]
+gap> DigraphGreedyInDominatingSet(d, [3, 1, 2]);
+[ 3 ]
+gap> DigraphGreedyInDominatingSet(d, [3, 2, 1]);
+[ 3 ]
+gap> DigraphGreedyInDominatingSet(d, [1, 2]);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> DigraphGreedyInDominatingSet(d, [1, 2, 3, 3]);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> DigraphGreedyInDominatingSet(d, ["a", "b", "c"]);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> DigraphGreedyInDominatingSet(d, [2, 3, 4]);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> DigraphGreedyInDominatingSet(d, []);
+Error, the 2nd argument must be a permuted list of vertices of the 1st argumen\
+t (a digraph)
+gap> d := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> DigraphGreedyInDominatingSet(d, [1, 2, 3, 4, 5]);
+[ 1, 2, 4 ]
+gap> DigraphGreedyInDominatingSet(d, [2, 1, 3, 4, 5]);
+[ 2, 3, 5 ]
+gap> DigraphGreedyInDominatingSet(d, [2, 5, 1, 3, 4]);
+[ 2, 4, 5 ]
+gap> DigraphGreedyInDominatingSet(d, [5, 1, 3, 4, 2]);
+[ 1, 2, 4, 5 ]
+gap> d := DigraphFromSparse6String(":~?@O_GA?`OQCa?]FaoiIb_\
+> uLcpIQd`UTePaZCXwXeXiYeyIjIimcIyegJi_dJi[lJICgHxwdHHs`Hxs\
+> [Hh[ad`s[e@[UcqKid@{hdPORhaq_HhGPbryMNRqOBoyKE@yJEgsKAwc^\
+> IW_PNwgHAGW_OwSZLg[E@WKOJwKOFGGbIgCdHGG@@N");
+
+gap> g := (1, 9, 27, 79, 50, 72, 11, 17, 77, 25, 18, 42, \
+> 63, 57, 62, 64, 48, 40, 39, 34, 8, 65, 38, 75, 70, 52, \
+> 41, 49, 22, 3, 45, 7, 37, 30)(2, 31, 80, 24, 51, 21, 73, \
+> 6, 28, 55, 13, 66, 26, 59, 44, 46, 29, 67, 78, 61, 68, \
+> 53, 43, 19, 10, 16, 54)(5, 15, 69, 23, 14)(12, 58, 20, \
+> 36, 35, 71, 33, 60, 56, 32, 47, 74, 76);;
+gap> DigraphGreedyInDominatingSet(d, OnTuples([1 .. 80], g));
+[ 2, 3, 4, 5, 9, 10, 11, 15, 16, 17, 27, 28, 31, 32, 37, 42, 45, 48, 49, 51,
+ 53, 54, 55, 56, 57, 58, 60, 62, 63, 69, 73, 75 ]
+gap> g := (1, 44, 71, 66, 73, 29, 68, 50, 63, 49, 59, 75, \
+> 47, 36, 79, 33, 48, 74, 24, 20, 25, 77, 10, 19, 72, 9, \
+> 23, 8, 54, 37)(2, 5, 18, 16, 21, 61, 53, 56, 55, 4, 42, \
+> 39, 76, 12, 32, 14, 46, 52, 38, 27, 78, 65, 67, 57, 45, \
+> 11, 3, 13, 17, 7, 40, 70, 34, 15, 51, 22, 31, 60, 80, 26, \
+> 35, 58, 41, 30, 64, 43, 6, 62);;
+gap> DigraphGreedyInDominatingSet(d, OnTuples([1 .. 80], g));
+[ 3, 4, 5, 8, 13, 15, 16, 17, 18, 19, 23, 24, 25, 31, 32, 34, 35, 40, 42, 44,
+ 48, 49, 54, 58, 60, 61, 62, 68, 72, 74, 79 ]
+gap> d := DigraphFromSparse6String(":~?AA_C?_CD?cD_sE`OH`KL\
+> @cO@kOawUA[TAcVASQBCRAsTAc^Bk]a[SasTcwNCCMB{]Cc\\C[eCcdC[\
+> [CSZCKYCSXCK]bk_EK^ESdcseckvEswEk|Fcz`_JACI@kK@WIaG}aG|`{\
+> MdOqdGpdoodwld_wdWvd?scwrfSxepNehMfczf`CfXDfpRfhQ`LPJDOJD\
+> SITTI\\FHlEHdJH|IHtDHLCHDBI|AIt_Jl^Jt[KdZK\\YKTXKLgKtdK|n\
+> LThm@mlhnlpolhnmHklXqltl`@sNCFMXv`@wMsFMxt__A_gBNkBAP?_GN\
+> @sC?O@");
+
+gap> g := (1, 121, 127, 123, 51, 64, 113, 38, 2, 87, 70, 58, \
+> 129, 52, 6, 101, 33, 73, 37, 98, 63, 65, 69, 20, 61, 18, \
+> 62, 94, 11, 130, 97, 55, 48, 74, 89, 90, 122, 41, 9, 83, \
+> 102, 15, 84, 45, 8, 119, 46, 4, 50, 72, 95, 29, 24, 80, 31, \
+> 85, 118, 103, 106, 16, 116, 96, 42, 59, 91, 126, 92, 53, 67, \
+> 100, 60, 105, 39, 82, 124, 109, 40, 111, 104, 49, 47, 88, \
+> 44, 68, 19, 66)(3, 57, 114, 125, 93, 25, 26, 120, 7, 12, 112, \
+> 115, 36, 43, 22, 75, 23, 56, 107, 34, 13, 110, 117, 81, 108, \
+> 86, 5, 32)(10, 128, 35, 14, 77, 99, 21)(17, 71, 28, 78)(27, \
+> 76)(30, 54, 79);;
+gap> DigraphGreedyInDominatingSet(d, OnTuples([1 .. 130], g));
+[ 1, 6, 8, 9, 11, 12, 13, 17, 20, 21, 22, 23, 26, 32, 33, 42, 44, 45, 46, 48,
+ 50, 54, 55, 56, 57, 60, 62, 67, 71, 73, 77, 78, 79, 80, 83, 85, 87, 90, 91,
+ 98, 102, 103, 104, 105, 112, 114, 116, 119, 120, 121, 126, 128, 129, 130 ]
+gap> g := (1, 70, 120, 119, 50, 116, 45, 96, 130, 51, 52, 7, 80, \
+> 77, 4, 37, 95, 28, 62, 124, 18, 33, 53, 8, 42, 22, 101, 81, 14, \
+> 31, 128, 125, 27, 129, 5, 85, 41, 87, 25, 55, 38, 24, 71, 19, \
+> 84, 113, 92, 58, 17, 65, 64, 29)(2, 112, 6, 90, 32, 93, 3, 15, \
+> 107, 67, 30, 127, 115, 47, 103, 94, 44, 108, 56, 88, 21, 114, \
+> 75, 60, 122, 123, 66, 99, 74, 86, 16, 72, 63, 46, 89, 102, 97, 78, \
+> 34, 69, 83, 43, 98, 111, 12, 10, 59, 82, 40, 13, 121, 100, 117, \
+> 109, 104)(9, 20, 48, 26, 49, 126, 118, 79)(11, 36, 91, 68, 57, 35, \
+> 23)(39, 106, 110, 61, 73);;
+gap> DigraphGreedyInDominatingSet(d, OnTuples([1 .. 130], g));
+[ 1, 7, 10, 13, 17, 19, 20, 25, 30, 31, 36, 37, 38, 40, 41, 46, 47, 48, 49,
+ 52, 53, 55, 59, 62, 63, 65, 70, 71, 72, 75, 76, 80, 83, 84, 85, 90, 91, 99,
+ 100, 101, 102, 108, 112, 114, 116, 120, 121, 127, 129, 130 ]
+gap> d := DigraphFromSparse6String(":u_OGCSHCc@xCa]MfsILOfM\
+> fSATIjLJEX`_nLKrAhqYKDQpOeNJJQpMAKbagcKXFDOHgyQeWgbydLVSs\
+> ZDUtVhUodrEEoVp?WEAAV^");
+
+gap> g := (1, 5, 14, 49, 17, 51, 8, 27, 46, 48, 23, 25, 41, 10, 39, \
+> 28, 40, 6, 33, 36, 7, 42, 37, 26, 12, 31, 20, 45, 15, 29, 38, 30, \
+> 22, 50, 18, 19, 47, 16, 9, 54, 43)(2, 21, 44, 53, 13)(3, 52)(11, \
+> 35)(24, 34, 32);;
+gap> DigraphGreedyInDominatingSet(d, OnTuples([1 .. 54], g));
+[ 1, 5, 9, 14, 16, 19, 21, 22, 28, 32, 33, 34, 35, 39, 41, 42, 45, 51, 52, 54
+ ]
+gap> g := (1, 15, 12, 46, 21, 17, 4, 11, 16, 9, 10, 14)(2, 50, 3, 23, \
+> 43, 29)(5, 42, 54)(6, 24, 34, 35, 7, 39, 20, 26, 49, 36, 33, 30, 41, \
+> 22, 52, 25, 8, 51, 32, 31, 37, 27, 47, 40, 13, 53, 28, 38, 18)(44, 48);;
+gap> DigraphGreedyInDominatingSet(d, OnTuples([1 .. 54], g));
+[ 1, 6, 8, 10, 11, 12, 14, 15, 20, 24, 25, 26, 30, 37, 39, 43, 44, 47, 50,
+ 52, 53 ]
#
gap> DIGRAPHS_StopTest();
From 47be251fe6ab42a1d84504a928696832da47f14c Mon Sep 17 00:00:00 2001
From: reiniscirpons
Date: Wed, 23 Sep 2026 15:52:42 +0200
Subject: [PATCH 22/24] Add more tests for EdgeConnectivity, fix mutability bug
---
gap/attr.gi | 4 +-
tst/standard/attr.tst | 130 +++++++++++++++++++++++++++++++++++++++++-
2 files changed, 130 insertions(+), 4 deletions(-)
diff --git a/gap/attr.gi b/gap/attr.gi
index 2b2cec5c0..2dc0ea4d9 100644
--- a/gap/attr.gi
+++ b/gap/attr.gi
@@ -3589,7 +3589,7 @@ function(digraph)
# check for symmetric digraph
if not IsSymmetricDigraph(digraph) then
- ErrorNoReturn("Digraph given must be a symmetric digraph");
+ ErrorNoReturn("the argument must be a symmetric digraph,");
fi;
if DigraphNrVertices(digraph) = 1 or
@@ -3597,7 +3597,7 @@ function(digraph)
return 0;
fi;
- EdgeD := UnitEdgeWeightedDigraph(digraph);
+ EdgeD := UnitEdgeWeightedDigraph(DigraphImmutableCopyIfMutable(digraph));
min := -1;
diff --git a/tst/standard/attr.tst b/tst/standard/attr.tst
index 956591e36..5f1eb9db9 100644
--- a/tst/standard/attr.tst
+++ b/tst/standard/attr.tst
@@ -3453,21 +3453,147 @@ gap> TestDigraphGreedyDominatingSet(D, A);
true
# EdgeConnectivity
-gap> D := Digraph([[4], [4], [4], [1, 2, 3]]);;
+gap> D := Digraph([[4], [4], [4], [1, 2, 3]]);
+
+gap> DigraphEdgeConnectivity(D);
+1
+gap> D := Digraph(IsMutableDigraph, [[4], [4], [4], [1, 2, 3]]);
+
gap> DigraphEdgeConnectivity(D);
1
+gap> D;
+
gap> D := RandomDigraph(1);;
gap> DigraphEdgeConnectivity(D);
0
gap> D := Digraph([[2, 3], [1, 4], [1, 4], [2, 3]]);;
gap> DigraphEdgeConnectivity(D);
2
-gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
+gap> D := Digraph([[2], [1], [4, 5], [3, 5], [3, 4]]);;
+gap> DigraphEdgeConnectivity(D);
+0
+gap> D := Digraph([[1, 2], [3, 4], [], []]);;
+gap> DigraphEdgeConnectivity(D);
+Error, the argument must be a symmetric digraph,
+gap> D := Digraph([
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5],
+> [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivity(D);
4
gap> D := DigraphFromGraph6String("I~~~~~~~w");;
gap> DigraphEdgeConnectivity(D);
9
+gap> D := CompleteDigraph(10);;
+gap> DigraphEdgeConnectivity(D);
+9
+gap> D := CirculantGraph(10, [1, 2, 3, 4]);;
+gap> DigraphEdgeConnectivity(D);
+8
+gap> D := DigraphFromGraph6String("L~~~?CB?wb`N@^");
+
+gap> DigraphEdgeConnectivity(D);
+6
+gap> # House of Graphs 56962
+gap> D := DigraphFromGraph6String("~?Al~~emZB}NFxEqSvjWcNg?oqBqGEz@fMcVKe_t\
+> ALNC?|x@PnotaNoD[n|JqbNvM`D|\\`WfeLkb]bVebVBY]XnWuU[jt_mxfe\\JovHwyTncfrO\
+> }bc[oNxliT~SLhb^uQ[vUlS|S]S^rbA{lpm@~sDlilMngww^QuiNhOceMBkDwJPUFDs`ES@q{\
+> qDJfTSoUkRMd@LRY`TrxHxGKousyIWmATYW{aoHqN`K|OxgsY]TMNI[_[MkRrYiAzCV|TdvmO\
+> QH]aQk[f\\aIlf_euUdoxnq\\e{aeoSfF}rokQeLplSljymFwO?}Jgf_T_zc\\iUhpQakmOvu\
+> nRlAjnURDDlNWdZL^FU?FUiqRbl`XJBCF^sqtPJppR{[DKUXGtcxw|lyEgVc]Nw_xTnymPuUA\
+> UWsOvrtyF[MHE[rxk?vjHVOWeriaMFjlFQJkTJBotQdhuthm?X|OPjqvW\\n@bEkc`xlV\\L@\
+> JKZuA\\OuiYXv]ckNKOfWu^zqiCAtTY\\JW\\{rvX`i?lKzkELngbealXxbDoseptMBF^J]gH\
+> Udojhi]Ci\\onSJL[TXt|DYio[abXH|SvvP`[qmDCqYsxlJpTAmu|elAFgDiwfi\\BYo}Gdvi\
+> KQjG^}Q\\lXiVW@KRYWEhWUd|DbK`v{SmoaSLTV{xzDk?xBbKVOqXy]D{dX]IJHbZWBL[[Xv|\
+> GUjx`wQadJ@\\pT\\dtTZEdIkMD}sQ{L{AxXLuKCN`dV_h}uXMRu`wg[C[m]l\\DHihlbnCQX\
+> C\\]Yqh{HSVUcjwapAxmX]{CBx\\TpDiYtqEV{\\tSPFmK`TTJ}A^zyaYFQ@yzenO^CBXmgQJ\
+> U]kmcXidDdyLAxPxl@zN{HkNVzCHG_uouzEL|aJxLRiBDolfVEMH[\\WIc}n{?h`DW{`hzUsy\
+> `QKiU~PBOwKy^NTUnG\\hRigQ[^Zp[_BE{^{yEVXqTDxQaYktbZyW~mKUwsHnFBMs|KJOWJmP\
+> HMvkOzDVVqK{gUq|q[ZVGOj]Jj]AeF{@AZtHNcPPu{Meu[NG]FDctzmTbcDIsa@UzD|fR||nQ\
+> ]akLUFjCnUjoouSk^xXs^wKiSRhdLPMbr]HKbRvgt_mGLQIvzIgZ]GEZGv]Hgs\\bZQrGSjwo\
+> Na\\nxOlIPJzci_tiXNLOheV{@ttOK|wCso|[Lqi`bisZuAXlJ]pTLGqiv@iHmNSh\\u]@PpP\
+> ThUfFoq{WX\\Uw[zwGRILrtSoV`lr@QV~sdPX@c`ufRQBXsuLNBL~oxkROHGJllS[WtlQNWZF\
+> bqTp]t~cUooCS\\coxJ_VWZ[MJ\\QRNdJAbLlO_um@MV^PgWn\\rqOOkeSa{BG|ioU~IUyj_n\
+> UBTm?BmFYJgQ[~iWhLUWz_uEhoSiFXBfh_\\vFVNQLEKlVwC?}{FAyQ^{?N~~?G}~?BbGE]^w\
+> ?@e?ilw@cyBiBhy{Xz]@|ZIi^`fDepVPBfBuhrUWKLLpnuvGKSZbLMQql[U~D\\E`N]lrLI_q\
+> y\\opBm\\agRlymuhRGf{DDA{ivCeRaJzCN}ezhSOn]hHEAzQK]W~YIjZpb`Tx^YFc@dRe}Gq\
+> ?oKw~mu|diw\\VMiS?[zPptRLsvMglwT[PwQY~Y_BK`Wen^thiJK|EnkwEjDMch[LHDC|eZ\\\
+> SQIf^i]qVXMXQ_OBoL~kp^xWKibLymGjh\\yARI_X^VPU[IUPvuh`O{o^e]SNW`dxPMc~FDUj\
+> bJwDJuHuXwnoBEBQrP^nK^@W~@jhgeqHZMDZGJAzqbJpSB~bThidRHVvMPptBOpefzQjXq?{d\
+> \\mpVMC~@pPN_gz_neeqSB~QZTTK_^zSXk~@hfXVpkgdqZ\\Dk@L?CL|LXzpk`HtGaR^{gcUv\
+> xgDmYSbQtomrogVJTwBZT]aGynPpQQEWIZzzIkPOUaDy~xk]N_LRE[XVLkQKuIeGrNSvSXLC[\
+> eolfwJtJIAdm_tLcfheEGjvVXgrgf`WQweQenOxC~MrXP{cDoCxC]]nmuXRkSEUoY`OwxBHBV\
+> ~UHA{mYbPE~Er_bxjoF@xBS|N[_cllJeFcZQQML]e{eKzEe`mX]yCVbF?luhBLJNMB[]rfp?u\
+> MSx}m?IwLn~Ae|qWVh@OAkENbVhJ?lzTBBDML\\k}[tQc\\Ow`H^@fsoNhZCovA_InnlJccms\
+> TXdB_nGgcsJ}Z|HFk]TAZmHsI\\eaLTaH{XduuTPXF\\AdUBNgwZSHyleAxXvhk[HdrfLvouM\
+> ROW?jK}NygGDC}~?y_Y]NW~hYNWoUooL_fNMQpC^\\fKtOM{[FvgqCkjlcm[tDkEch?|plyBt\
+> S\\exRYE`uhHlOIIU}BTz]dBCVxhtCu{\\QCL~H?w}oeedPbV^PEmQfEEC}]es{gx?RnwW{@V\
+> [G]s\\xjQKzJPQ[x|dTolDW`urQPDDn{`\\X[]QnFnq@Rd}`LP_mbQwazSoe[LFznEmO_[uxz\
+> ^@pWUDPHxwLez@tCFBi[~Fz?NrlPrO}_mdLIkdG]ILIMkk^r|w`JMB}NN_}?xw}A[cKW]E@`|\
+> r`Vfw^MO");
+
+gap> DigraphEdgeConnectivity(D);
+86
+gap> # House of Graphs 51424
+gap> D := DigraphFromGraph6String("~?Aa~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}yb~Yh~p\
+> L~}E^~uw^~jh^~kM~~tJn~~~|h~~~qv|rt~fzZV~Nw{~~N|sL~~~Yc~~~wNr~~~bK~~~{z{\\l\
+> ey|yZri}]qzxm^V[\\|ff{{Zn\\h~jhvZmV~Munxil~Mx^uVJ~eu{vtjzxjuryu|~cvzVY^^|R\
+> n]mXz~x\\[tVnz|xYzInnv}}Jx\\b^~Z~Q|jcz~n^{JNc}~n^~gr]L||}~}nT|vMd~qU^i}zNB\
+> ~kNZ^f}FF~Krt{uZ^Mymxu^Xrftujmuy|gzvUvy\\^r{hnvL^wt~uuF}]\\NrN~zUmi~d|drn}\
+> tVT^s}wz\\~tfk|uVg~mn~M^LmxlR|t~}rltinvpL~vur]yT^vgr~znT\\|ovmJnz|nrU}yRvP\
+> v|}v}hn[]^ZRv^l~xd}quzquz|v~op~eEA~~~~~~oM?Xx|~~~~~~U~xls{^^K]_lL^|fmMfnkf\
+> SSjmh~fxq~NBwKrmvwtr{unjY^g`t^qVZti}nI}gblnLT}tvrfS{sT}nfT]{zurT]dE~ms{~VF\
+> zblK}cf|uZZtt]yZpZjD^vVrK~N]FfbNwN~ldVv]ZI~jTZIj~janm}VD~VavDf~vNiye}vovkk\
+> [nvtrt\\U^jyR|Eer}zlR|ubvhu}hA^n]}lVm{VlZftaE}zz|hvtJm{T~[_tz}n|XzyF^YJ}yP\
+> Jz|^}a~eEWF~~{e{N~~~gOE]X}~~~uO{~~~s}lzuZRBOfv^tz}yrxz^eZQQc^j}v^|rfmtrzTH\
+> e@|~V^l}zfnJl{xEXAz~j^r|zrn{Krvw?]Fv~m~f|{zB{r|wWE]~f{^v}~c~]oQ_zVi~]}~vm~\
+> }Jz{_sB]lVzvv}|v~{KBB~K]^}F|x~~u^~{J{{?r`ff}}^~nN~~yOAC}t}yh}v~nl~}~va@?vq\
+> ~\\TnZ~vu~~^}znvF][n]vDkorm_tDSL~kmusz{yLscmtCkKp\\~E|[{m|ivQg\\pgdQRZ}fYz\
+> [\\}TupS\\hSU`Rm{nj\\t\\nXZcLTlPJBPz^Ftzku|mMsckvaKgk^]tv^LY}jL[XwiNhF@H|z\
+> MzzJZt[yhZQX\\W[GZzttlnil|W|FsIwjdEH]zty]^VJyxZJiRS\\bEO~\\uNm}rMZ|ic[mhJM\
+> dAm~Zd|vrRX~dWjFeKrY_f^zrrrB|}W^wrfaKxe`w^}NK{rrv~_^cuXpNFcEFf~\\SnmV^Iy~c\
+> qm`SveCY~nZRVuM~Dt~RP\\_izTCT~^mfygvnsV^adlkct[SL|^zX|TMvybnwS{yeInBA}n~W_\
+> ?^}N~~~F~?p~oK?n~~|`~}?FB~~~_B~w?~oLN~~q|~rNMU@wFp~zoGE^[^~pi}jVytYQLB~|sE\
+> sGZs|z}t^Jty{]EHQ~|uCxGMul}~jVhff}]KKBv~raXoBs[~|}yzxme^hICv^Vyg@qVq~M~njn\
+> Xte}bOK}y~kOEo}lz\\}~S~jGeG}Y]n~yxRCIZZzzn~Q~spEC|dl^~tslGHjVvv^~gvNoN?`~x\
+> z~fwoW[Zx}^^~yIKB{Nvfff{^~b?WxF~xn~}S?SvXvjfj|]~qCidemn~z~\\G?kzfl\\l^jv~G\
+> HTXUt~~^}x}r~rMG]WFA@`{v}}{^~uNXX}{N{rhe@`MW@n~x^B}^nr}c}rkn{lGhCQsGn~Vjul\
+> z}zufNj[t}f`DaBM@F~yx}fl~]}YxzmuY^r?dI_Epvl}|qvy~myvflveU~QCJP?[flnzmk~t}v\
+> q~KyvaMCneZdSOj~}lfY~zzLy~I|NcUG^XfQw_f~|]VT~vvUx~cz~KB@W^}B@eU~x~dx~f^{]^\
+> x_hBmN^R\\p@TRy|~rT|^|}S~zIAoZhvtf\\GDT]n^|hnV~^hV~kc_E^fs~rNE?L~b~rR~rv{[\
+> ~~WnnkggDTCFlT\\zd\\^~\\tlN~v~g^^[SSAiaF[i|vQz^}zjin~n~[Z_@~er{?B~r@~{o^}~\
+> ~KJ~^~^EF~_ER?BNG^~aF~z~[B~|~z~}ogORVVwArSyzrM]u~vvJVv|~|z`aAMmn_Sqj\\uiu{\
+> z}}zR^^n~nv?cajOO]~H{ve}ttnr}v{ft~y~~?bDSgOl~EzZX~Jy^r|z{Zm~t~~_IGh@clx]m{\
+> n[vVnV~lJ|l~|^~wAPD_ck}Nt]tmmr|j~{l]z^}n~~?HQ@KiuLzVLzyzh|^|mZ^t~N~~{?aoBK\
+> Zcz]Yz^\\tZy~xu]}z{~~~w");
+
+gap> DigraphEdgeConnectivity(D);
+105
+gap> # House of Graphs 55829
+gap> D := DigraphFromGraph6String("~?@|}rFEJGsFGZ?oKoo^_F?jpHZHIecTFH_BZ??y?\
+> q}gEjWJ`[ojDWo{F_\\Jw?El]??~{??A~~??CAxVO{DXj`Y_Taj\\`HXLZcQTQUyQPUIloi?qw\
+> vDd?tXZIV_BoufcF_{phwhK@floqZ?W]vBCEPqppfS@hLpo^Ic@EfzKSe?eP}{EDHj?}E^gRXS\
+> Bw]^?n?vw?~F?_~Fw?Nz?TJ{@WA`}[l^?i@O^en{?F_N?{qh^J_@@r{[l]j?CDfxT~_{?EEFxa\
+> h^jj[?B~?dj|\\Z??~oD~_{|g?F}?O^f~FF`_?whLXn}o{?M?eqmV}o{?M?V_Z{~F`_?wD~~?}\
+> @wW?M?n~vw?o{?M?@h^jj\\T~~Z^yl^jj\\T~~Z^r~_{|n}F~lnpcte~~NuV~|wUqmV~{}Y~~m\
+> AFx~px~X|~voN_Z{~~bxn~z?^~wFo~~{p~y?^~vw?~~~MN{?F~~~~f`~wwX?@~~~~}Ff~oH_?N\
+> ~~~}~~?N}??@_Taj\\DuVZ\\wMQHJHj[TknZZo[aQTQUybrUu|o[`QIpTmaxjlmwMOOVIyFDZN\
+> eu}KWiDXj`XTX|ZVpbIKe?ruxwQ}un@qBUoEFl{oY|lmBcEY?qwvTFrUvuKWhi_YkltBxllzEK\
+> grw?{LnwEZlmpbN?O{FeLNoNlk}KXw@?sew{NcU~x~?HbqEPqpxfPT~t}?[JbGALN}WkJ~y}?R\
+> sPWAXF~oXH~}^?M[GYVwAoT^{ovyKWh`yl^?iDT~eJ^PbIKNN}?Bo^w]Wu|EK{?{YVqw?T^~EF\
+> {BcANzTjtW?in~IJ{BcCV|N}Bo?^w^eE}@qBK~BHj?}E^keNz]?RvoFUqgFo{}Wp~joBf]?x{B\
+> ^_B{^Kw~V?N}G[AFw~?@~Xxpvm?^N_wB~}??F~~_@~M?^~o??B{~w{{K}FBN?Nfo^_HLXn~o{d\
+> }@LoA]}Fw?uTq~}FbVoHm?[zo~?F_Z{~f`xgwXw@~pB{?IVyyvDB~ooqBcANzFuDj|\\ZIB~pO\
+> qBcCV|FuDJ|\\ZgM^z?eEKSo{N{gl^jj[Df~OH`bIKND~KN{FflN?~p_qBcEX}FuK~o]]vBB~o\
+> Copf_Fb^f@HjL~u^g@~o?[_rtw^XguTq~vfo@~o?[_rywnhgB{~ww~k?~w?pfe@b|^GN?vx}~F\
+> ?N}?KXx`_}}q@~~?}F~w?No@bNKNFL}OF~z{?^~_FF?@qBN~bFe_N~wFoNB{poroB~}?w?L|N~\
+> vw?o{~M@LoB~}F??q}F~~~~_?^w??w@~~B{??^`~~~~pwW?M??[_r~w}pgAN~~~}o{?M??KXx`\
+> w~xq?_");
+
+gap> DigraphEdgeConnectivity(D);
+64
# Semimodular lattices
gap> D := DigraphFromDigraph6String("&C[o?");
From 06e5fdf5e82d6e650ad5cc1c1c856537afd134c8 Mon Sep 17 00:00:00 2001
From: reiniscirpons
Date: Wed, 23 Sep 2026 16:41:12 +0200
Subject: [PATCH 23/24] Add docs
---
doc/attr.xml | 48 ++++++++++++++++++++++---
doc/oper.xml | 94 ++++++++++++++++++++++++++++++++++++-------------
doc/z-chap4.xml | 4 ++-
3 files changed, 117 insertions(+), 29 deletions(-)
diff --git a/doc/attr.xml b/doc/attr.xml
index af460165b..ce70a7bb1 100644
--- a/doc/attr.xml
+++ b/doc/attr.xml
@@ -2702,6 +2702,47 @@ gap> Length(M);
<#/GAPDoc>
+<#GAPDoc Label="AttrDigraphGreedyOutDominatingSet">
+
+
+
+ A list of positive integers
+
+ DigraphGreedyOutDominatingSet returns the unique greedy
+ out-dominating set of digraph with respect to the ordering
+ 1 < 2 < ... < n where n is the number of vertices in
+ digraph. An out-dominating set is a subset S of
+ vertices of digraph such that every vertex of digraph is
+ either in S or an out-neighbour of a vertex in S. Such a
+ set is greedy, if it is obtained by starting with an empty set
+ S and repeatedly adding to S the least vertex that is not
+ in S and not and out-neighbour of S.
+
+ See also for a further
+ information on dominating sets, and for a version of this function
+ that finds a greedy out-dominating set with respect to an arbitrary
+ ordering on vertices.
+
+ Similarly, DigraphGreedyInDominatingSet returns the unique greedy
+ in-dominating set of digraph with respect to the ordering
+ 1 < 2 < ... < n where n is the number of vertices in
+ digraph. This is equivalently the greedy out-dominating set of
+ the of digraph.
+
+ See also and .
+ D := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> A := DigraphGreedyOutDominatingSet(D);
+[ 1, 3 ]
+gap> A := DigraphGreedyInDominatingSet(D);
+[ 1, 2, 4 ]
+]]>
+
+
+<#/GAPDoc>
+
<#GAPDoc Label="DigraphVertexConnectivity">
@@ -2790,10 +2831,9 @@ gap> DigraphVertexConnectivity(CompleteDigraph(5));
(in the sense of ).
The implementation makes use of the
- DigraphMaximumFlow(digraph) function, by constructing an
- edge-weighted Digraph with edge weights of 1, then using the max-flow
- min-cut theorem to determine the size of the minimum cut. See also
- .
+ DigraphMaximumFlow(digraph) function, assuming each edge has
+ weight 1, then using the max-flow min-cut theorem to determine the size of
+ the minimum cut. See also .
The edge connectivity of any symmetric bridgeless digraph is at least 2.
See also .
diff --git a/doc/oper.xml b/doc/oper.xml
index d6e614393..a3777e953 100644
--- a/doc/oper.xml
+++ b/doc/oper.xml
@@ -1954,41 +1954,87 @@ rec( idom := [ 2, fail, 2, 2, 2 ], preorder := [ 2, 1, 3, 4, 5 ] )
<#/GAPDoc>
-<#GAPDoc Label="DigraphOutDominatingSet">
+<#GAPDoc Label="IsDigraphOutDominatingSet">
-
- A List
+
+
+ true or false.
- This function returns an out-dominating set of digraph, i.e.
- a subset S of vertices of digraph such that every vertex of
- digraph is either in S or an out-neighbour of a vertex in
- S, see also .
+ If digraph is a digraph and list is a strictly sorted list of
+ vertices of digraph, then IsDigraphOutDominatingSet
+ returns true if list is an out-dominating set of digraph.
+ Similarly, the operation IsDigraphInDominatingSet returns true
+ if list is an in-dominating set of digraph.
+ Otherwise, each of these operations return false.
+
+
+ An out-dominating set of digraph is a subset S of
+ vertices of digraph such that every vertex of digraph is
+ either in S or an out-neighbour of a vertex in S.
+ An in-dominating set of digraph is a subset S of
+ vertices of digraph such that every vertex of digraph is
+ either in S or an in-neighbour of a vertex in S.
+
D := Digraph([[2,3,4], [],[],[]]);;
-gap> DigraphOutDominatingSet(D);
-[ 4, 1 ]
-gap> DigraphOutDominatingSet(D);
-[ 1 ]
+gap> D := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> IsDigraphOutDominatingSet(D, [1, 3]);
+true
+gap> IsDigraphOutDominatingSet(D, [1, 3, 5]);
+true
+gap> IsDigraphOutDominatingSet(D, [3, 5]);
+false
+gap> IsDigraphOutDominatingSet(D, [3, 1, 5, 2, 4]);
+false
+gap> IsDigraphInDominatingSet(D, [3, 4]);
+true
+gap> IsDigraphInDominatingSet(D, [1, 3, 5]);
+true
+gap> IsDigraphInDominatingSet(D, [3, 5]);
+false
+gap> IsDigraphInDominatingSet(D, [3, 1, 5, 2, 4]);
+false
]]>
<#/GAPDoc>
-<#GAPDoc Label="DigraphInDominatingSet">
+<#GAPDoc Label="OperDigraphGreedyOutDominatingSet">
-
- A List
+
+
+ A list of positive integers
- This function returns an in-dominating set of digraph, i.e.
- a subset S of vertices of digraph such that every vertex of
- digraph is either in S or an in-neighbour of a vertex in
- S, see also .
+ DigraphGreedyOutDominatingSet returns the unique greedy
+ out-dominating set of digraph with respect to the ordering
+ that the list order induced on the vertices in
+ digraph. An out-dominating set is a subset S of
+ vertices of digraph such that every vertex of digraph is
+ either in S or an out-neighbour of a vertex in S. Such a
+ set is greedy, if it is obtained by starting with an empty set
+ S and repeatedly adding to S the least (with respect to the
+ ordering order) vertex that is not in S and not and
+ out-neighbour of S.
+
+ See also for a further
+ information on dominating sets, and for the attribute version of this
+ function that finds a greedy out-dominating set with respect to the
+ ordering 1 < 2 < ... < n on the vertices of digraph.
+
+ Similarly, DigraphGreedyInDominatingSet returns the unique greedy
+ in-dominating set of digraph with respect to the ordering
+ that the list order induces on the vertices in
+ digraph. This is equivalently the greedy out-dominating set of
+ the of digraph.
+
+ See also and .
D := Digraph([[2,3,4], [],[],[]]);;
-gap> DigraphInDominatingSet(D);
-[ 4, 1 ]
-gap> DigraphInDominatingSet(D);
-[ 1 ]
+gap> D := Digraph([[2, 4], [3], [1, 5], [3], [4]]);;
+gap> DigraphGreedyOutDominatingSet(D, [2, 1, 3, 4, 5]);
+[ 1, 2, 5 ]
+gap> DigraphGreedyInDominatingSet(D, [5, 1, 3, 4, 2]);
+[ 1, 2, 4, 5 ]
]]>
diff --git a/doc/z-chap4.xml b/doc/z-chap4.xml
index 64fd36535..a70947ace 100644
--- a/doc/z-chap4.xml
+++ b/doc/z-chap4.xml
@@ -76,7 +76,9 @@
<#Include Label="DigraphAbsorptionExpectedSteps">
<#Include Label="Dominators">
<#Include Label="DominatorTree">
- <#Include Label="DigraphDominatingSet">
+ <#Include Label="IsDigraphOutDominatingSet">
+ <#Include Label="AttrDigraphGreedyOutDominatingSet">
+ <#Include Label="OperDigraphGreedyOutDominatingSet">
<#Include Label="IteratorOfPaths">
<#Include Label="DigraphAllSimpleCircuits">
<#Include Label="DigraphLongestSimpleCircuit">
From 38b480390aad7a7ed6e0dfe7202415fc947dc47b Mon Sep 17 00:00:00 2001
From: reiniscirpons
Date: Wed, 23 Sep 2026 16:43:34 +0200
Subject: [PATCH 24/24] Fix minor issue with testinstall
---
tst/testinstall.tst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tst/testinstall.tst b/tst/testinstall.tst
index 52b696553..7ee79de9f 100644
--- a/tst/testinstall.tst
+++ b/tst/testinstall.tst
@@ -591,7 +591,7 @@ gap> DigraphEdgeConnectivity(D);
0
gap> C := Digraph([[3, 4], [1, 3, 4], [2], [3]]);;
gap> DigraphEdgeConnectivity(C);
-Error, Digraph given must be a symmetric digraph
+Error, the argument must be a symmetric digraph,
gap> D := Digraph([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]);;
gap> DigraphEdgeConnectivity(D);
4