Version 2.7.1.

This commit is contained in:
Jerry James 2020-06-02 08:48:24 -06:00
parent dd63fb9060
commit d3634d0254
9 changed files with 4199 additions and 391 deletions

View File

@ -2,12 +2,12 @@ Description: upstream autotoolization
Attempt to autotoolize nauty source.
Origin: debian
Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2016-03-19
Last-Update: 2017-11-24
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,22 @@
dnl Process this file with autoconf to produce a configure script.
# Process this file with autoconf to produce a configure script.
-AC_INIT(nauty-h.in)
+AC_INIT([nauty],[@INJECTVER@],[bdm@cs.anu.edu.au],[nauty],[http://pallini.di.uniroma1.it/])
+AC_CONFIG_MACRO_DIR([m4])
@ -28,51 +28,81 @@ Last-Update: 2016-03-19
+AC_SUBST(LIBNAUTY_VERSION_MICRO)
+AC_SUBST(LIBNAUTY_LT_VERSION)
AC_DEFUN([AX_TLS], [
AC_MSG_CHECKING(for thread local storage (TLS) class)
@@ -48,7 +65,7 @@
dnl CVT_YESNO([YES-NO VARIABLE],[0-1 VARIABLE])
dnl Make a 0-1 output variable from a yes/no shell variable
-AC_DEFUN(CVT_YESNO,[if test x"$$1" = x"yes"; then
+AC_DEFUN([CVT_YESNO],[if test x"$$1" = x"yes"; then
$2=1
else
$2=0
@@ -77,10 +94,15 @@
*)
gccver=0.0.0 ;;
# ======================================================================
# First we define some functions
@@ -124,30 +141,37 @@
is_cygwin=0 ;;
esac
+AC_PATH_PROG([HELP2MAN],[help2man])
dnl Checks for C compiler and sets CFLAGS if not set by user
user_cflags="$CFLAGS"
-dnl Checks for C compiler and sets CFLAGS if not set by user
-user_cflags="$CFLAGS"
+AC_PATH_PROG([HELP2MAN],[help2man])
AC_PROG_CC
-CFLAGS=$user_cflags
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+LT_INIT
CFLAGS=$user_cflags
+
+dnl dnl Checks for C compiler and sets CFLAGS if not set by user
+dnl user_cflags="$CFLAGS"
+dnl AC_PROG_CC
+dnl CFLAGS=$user_cflags
MORECFLAGS=""
dnl we need AC_SYS_LARGEFILE and AC_FUNC_FSEEKO
@@ -400,6 +422,26 @@
echo CFLAGS=$CFLAGS
echo MORECFLAGS=$MORECFLAGS
AC_SYS_LARGEFILE
AS_IF([test "x$ac_cv_sys_file_offset_bits" = xno],[ac_cv_sys_file_offset_bits=0])
AC_SUBST(ac_cv_sys_file_offset_bits)
-AS_IF([test "x$user_cflags" = x || test "x$user_cflags" = x-m32],
-[
- AS_IF([test "$CC" = "icc"],
- [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]);
- AS_IF([test "x$ac_cv_try_cflags_ok" = xno],
- [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])])],
- [AC_TRY_CFLAGS([-O4 -Werror],[CFLAGS="$CFLAGS -O4"]);
- AS_IF([test "x$ac_cv_try_cflags_ok" = xno],
- [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"])
- AS_IF([test "x$ac_cv_try_cflags_ok" = xno],
- [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])])
- ])
- ])
-])
+dnl AS_IF([test "x$user_cflags" = x || test "x$user_cflags" = x-m32],
+dnl [
+dnl AS_IF([test "$CC" = "icc"],
+dnl [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]);
+dnl AS_IF([test "x$ac_cv_try_cflags_ok" = xno],
+dnl [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])])],
+dnl [AC_TRY_CFLAGS([-O4 -Werror],[CFLAGS="$CFLAGS -O4"]);
+dnl AS_IF([test "x$ac_cv_try_cflags_ok" = xno],
+dnl [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"])
+dnl AS_IF([test "x$ac_cv_try_cflags_ok" = xno],
+dnl [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])])
+dnl ])
+dnl ])
+dnl ])
case "$CC" in
gcc*)
@@ -448,5 +472,26 @@
edit_msg="++++++ This file is automatically generated, don't edit it by hand! ++++++"
AC_SUBST(edit_msg)
-AC_OUTPUT(makefile:makefile.in nauty.h:nauty-h.in
- naututil.h:naututil-h.in gtools.h:gtools-h.in)
+dnl Checks for linker script support
+gl_LD_VERSION_SCRIPT
+
+dnl Checks for libraries
+## pkg-config
+PKG_PROG_PKG_CONFIG
+## math library
+LT_LIB_M
+## zlib Library (zlib)
+AM_PATH_ZLIB(1.2.7,[],[AC_MSG_WARN([could not find required version of zlib])])
+AM_PATH_ZLIB(1.2.8,[],[AC_MSG_WARN([could not find required version of zlib])])
+## GNU MultiPrecision arithmetic library (GMP)
+AM_PATH_GMP(5.1.2,[],[AC_MSG_WARN([could not find required version of GMP])])
+AM_PATH_GMP(6.1.2,[],[AC_MSG_WARN([could not find required version of GMP])])
+
+AC_CONFIG_FILES([
+ nauty.pc
@ -86,7 +116,7 @@ Last-Update: 2016-03-19
+AC_OUTPUT
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,483 @@
@@ -0,0 +1,519 @@
+AUTOMAKE_OPTIONS = foreign
+ACLOCAL_AMFLAGS = -I m4
+
@ -99,6 +129,10 @@ Last-Update: 2016-03-19
+ nausparse.h \
+ naututil.h \
+ naugroup.h \
+ naugstrings.h \
+ nautaux.h \
+ nautycliquer.h \
+ planarity.h \
+ schreier.h \
+ traces.h \
+ gtools.h \
@ -112,6 +146,7 @@ Last-Update: 2016-03-19
+ \
+ addedgeg \
+ amtog \
+ assembleg \
+ biplabg \
+ catg \
+ complg \
@ -124,6 +159,7 @@ Last-Update: 2016-03-19
+ directg \
+ dretodot \
+ dretog \
+ edgetransg \
+ genbg \
+ genbgL \
+ geng \
@ -146,6 +182,7 @@ Last-Update: 2016-03-19
+ showg \
+ subdivideg \
+ twohamg \
+ underlyingg \
+ vcolg \
+ watercluster2 \
+ \
@ -158,6 +195,7 @@ Last-Update: 2016-03-19
+ \
+ addedgeg.1 \
+ amtog.1 \
+ assembleg.1 \
+ biplabg.1 \
+ catg.1 \
+ complg.1 \
@ -170,6 +208,7 @@ Last-Update: 2016-03-19
+ directg.1 \
+ dretodot.1 \
+ dretog.1 \
+ edgetransg.1 \
+ genbg.1 \
+ genbgL.1 \
+ geng.1 \
@ -192,6 +231,7 @@ Last-Update: 2016-03-19
+ showg.1 \
+ subdivideg.1 \
+ twohamg.1 \
+ underlyingg.1 \
+ vcolg.1 \
+ watercluster2.1 \
+ \
@ -219,6 +259,9 @@ Last-Update: 2016-03-19
+ dreadtestW1 \
+ dreadtestL1 \
+ dreadtest4K \
+ nautestS \
+ nautestW \
+ nautestL \
+ naucompare
+
+TESTS = runalltests
@ -239,7 +282,7 @@ Last-Update: 2016-03-19
+ --no-info
+
+%.1: %
+ $(HELP2MAN) \
+ LD_LIBRARY_PATH=$(top_builddir)/.libs $(HELP2MAN) \
+ -s 1 \
+ $(AM_H2MFLAGS) \
+ -I $(top_srcdir)/man/$*.h2m \
@ -266,6 +309,7 @@ Last-Update: 2016-03-19
+dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library"
+addedgeg_DESCRIPTION = "add an edge in each possible way"
+amtog_DESCRIPTION = "read graphs in matrix format"
+assembleg_DESCRIPTION = "assemble input graphs as components of output graphs"
+biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous"
+catg_DESCRIPTION = "concatenate files of graphs"
+complg_DESCRIPTION = "complement graphs"
@ -278,6 +322,7 @@ Last-Update: 2016-03-19
+directg_DESCRIPTION = "generate small digraphs with given underlying graph"
+dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format"
+dretog_DESCRIPTION = "read graphs in dreadnaut format"
+edgetransg_DESCRIPTION = "select undirected graphs according to group action on vertices, edges and arcs"
+genbg_DESCRIPTION = "generate small bicoloured graphs"
+genbgL_DESCRIPTION = "$(shell printf "%s %s" $(genbg_DESCRIPTION) "(L1 flavour)")"
+geng_DESCRIPTION = "generate small graphs"
@ -300,6 +345,7 @@ Last-Update: 2016-03-19
+showg_DESCRIPTION = "$(shell printf "%s %s" $(listg_DESCRIPTION) "(stand-alone subset of listg)")"
+subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs"
+twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles"
+underlyingg_DESCRIPTION = "take the underlying undirected graphs of a file of graphs"
+vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways"
+watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(directg_DESCRIPTION) "(faster alternative to directg)")"
+blisstog_DESCRIPTION = "convert files of graphs in bliss format to stdout in sparse6 format"
@ -309,6 +355,7 @@ Last-Update: 2016-03-19
+dreadnaut_CPPFLAGS =
+addedgeg_CPPFLAGS =
+amtog_CPPFLAGS =
+assembleg_CPPFLAGS =
+biplabg_CPPFLAGS =
+catg_CPPFLAGS =
+complg_CPPFLAGS =
@ -321,6 +368,7 @@ Last-Update: 2016-03-19
+directg_CPPFLAGS =
+dretodot_CPPFLAGS =
+dretog_CPPFLAGS =
+edgetransg_CPPFLAGS =
+genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
+genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30
+geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
@ -343,6 +391,7 @@ Last-Update: 2016-03-19
+showg_CPPFLAGS =
+subdivideg_CPPFLAGS =
+twohamg_CPPFLAGS =
+underlyingg_CPPFLAGS =
+vcolg_CPPFLAGS =
+watercluster2_CPPFLAGS = -DMAXN=32
+blisstog_CPPFLAGS = $(ZLIB_CFLAGS)
@ -352,6 +401,7 @@ Last-Update: 2016-03-19
+dreadnaut_SOURCES = dreadnaut.c
+addedgeg_SOURCES = addedgeg.c
+amtog_SOURCES = amtog.c
+assembleg_SOURCES = assembleg.c
+biplabg_SOURCES = biplabg.c
+catg_SOURCES = catg.c
+complg_SOURCES = complg.c
@ -364,6 +414,7 @@ Last-Update: 2016-03-19
+directg_SOURCES = directg.c
+dretodot_SOURCES = dretodot.c
+dretog_SOURCES = dretog.c
+edgetransg_SOURCES = edgetransg.c
+genbg_SOURCES = genbg.c
+genbgL_SOURCES = genbg.c
+geng_SOURCES = geng.c
@ -386,6 +437,7 @@ Last-Update: 2016-03-19
+showg_SOURCES = showg.c
+subdivideg_SOURCES = subdivideg.c
+twohamg_SOURCES = twohamg.c
+underlyingg_SOURCES = underlyingg.c
+vcolg_SOURCES = vcolg.c
+watercluster2_SOURCES = watercluster2.c
+blisstog_SOURCES = blisstog.c
@ -395,6 +447,7 @@ Last-Update: 2016-03-19
+dreadnaut_LDADD = $(NAUTY_LDADD)
+addedgeg_LDADD = $(NAUTY_LDADD)
+amtog_LDADD = $(NAUTY_LDADD)
+assembleg_LDADD = $(NAUTY_LDADD)
+biplabg_LDADD = $(NAUTY_LDADD)
+catg_LDADD = $(NAUTY_LDADD)
+complg_LDADD = $(NAUTY_LDADD)
@ -407,6 +460,7 @@ Last-Update: 2016-03-19
+directg_LDADD = $(NAUTY_LDADD)
+dretodot_LDADD = $(NAUTY_LDADD) $(LIBM)
+dretog_LDADD = $(NAUTY_LDADD)
+edgetransg_LDADD = $(NAUTY_LDADD)
+genbg_LDADD = $(NAUTYW1_LDADD)
+genbgL_LDADD = $(NAUTYL1_LDADD)
+geng_LDADD = $(NAUTYW1_LDADD)
@ -429,6 +483,7 @@ Last-Update: 2016-03-19
+showg_LDADD =
+subdivideg_LDADD = $(NAUTY_LDADD)
+twohamg_LDADD = $(NAUTY_LDADD)
+underlyingg_LDADD = $(NAUTY_LDADD)
+vcolg_LDADD = $(NAUTY_LDADD)
+watercluster2_LDADD = $(NAUTY_LDADD)
+blisstog_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
@ -482,6 +537,8 @@ Last-Update: 2016-03-19
+ gtools.c \
+ naututil.c \
+ nautinv.c \
+ nautycliquer.c \
+ planarity.c \
+ gutil1.c \
+ gutil2.c \
+ gtnauty.c \
@ -538,6 +595,9 @@ Last-Update: 2016-03-19
+dreadtestL_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyL0_flavour_CPPFLAGS)
+dreadtestL1_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyL1_flavour_CPPFLAGS)
+dreadtest4K_CPPFLAGS = $(dreadtest_CPPFLAGS) -DMAXN=4096
+nautestS_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyS0_flavour_CPPFLAGS)
+nautestW_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyW0_flavour_CPPFLAGS)
+nautestL_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyL0_flavour_CPPFLAGS)
+
+dreadtest_SOURCES = $(dreadnaut_SOURCES)
+dreadtest1_SOURCES = $(dreadnaut_SOURCES)
@ -548,6 +608,9 @@ Last-Update: 2016-03-19
+dreadtestL_SOURCES = $(dreadnaut_SOURCES)
+dreadtestL1_SOURCES = $(dreadnaut_SOURCES)
+dreadtest4K_SOURCES = $(dreadnaut_SOURCES) $(libnauty_la_SOURCES)
+nautestS_SOURCES = nauty.h naututil.h nautest.c
+nautestW_SOURCES = nauty.h naututil.h nautest.c
+nautestL_SOURCES = nauty.h naututil.h nautest.c
+
+dreadtest_LDADD = $(NAUTY_LDADD)
+dreadtest1_LDADD = $(top_builddir)/libnautyA1.la $(threadlib)
@ -558,6 +621,9 @@ Last-Update: 2016-03-19
+dreadtestL_LDADD = $(top_builddir)/libnautyL0.la $(threadlib)
+dreadtestL1_LDADD = $(top_builddir)/libnautyL1.la $(threadlib)
+dreadtest4K_LDADD = $(threadlib)
+nautestS_LDADD = $(top_builddir)/libnautyS0.la $(threadlib)
+nautestW_LDADD = $(top_builddir)/libnautyW0.la $(threadlib)
+nautestL_LDADD = $(top_builddir)/libnautyL0.la $(threadlib)
+
+CLEANFILES = \
+ $(man_MANS) \
@ -628,7 +694,7 @@ Last-Update: 2016-03-19
+])
--- a/runalltests
+++ b/runalltests
@@ -1,12 +1,16 @@
@@ -1,13 +1,17 @@
#!/bin/sh
# Run all nauty checks
@ -636,6 +702,7 @@ Last-Update: 2016-03-19
+
+tdx=0
+
# runonetest command input output
runonetest() {
cmd="$1"
in="$2"
@ -646,7 +713,7 @@ Last-Update: 2016-03-19
if [ "X$in" = "X" ] ; then
in=/dev/null
elif [ ! -r "$in" ] ; then
@@ -19,10 +23,16 @@
@@ -20,10 +24,16 @@
exit 1
fi
@ -662,12 +729,12 @@ Last-Update: 2016-03-19
+ sed -i 's@'$top_workingdir'/.libs/lt-@./@' $out2
+fi
+
LC_COLLATE=C sort $out2 >>$out1
LC_LANG=C sort $out2 >>$out1
if ./naucompare "$out1" "$ok" ; then
rm $out1 $out2
--- /dev/null
+++ b/nauty.map
@@ -0,0 +1,279 @@
@@ -0,0 +1,291 @@
+LIBNAUTY_2.5 {
+global:
+## nauty.h
@ -947,6 +1014,18 @@ Last-Update: 2016-03-19
+
+local: *;
+};
+
+LIBNAUTY_2.7 {
+## gtools.h
+arg_sequence_min;
+## gutils.h
+degstats3;
+maxcliquesize;
+maxindsetsize;
+## nautycliquer.h
+find_clique;
+find_indset;
+};
--- /dev/null
+++ b/m4/gmp.m4
@@ -0,0 +1,168 @@
@ -1133,24 +1212,17 @@ Last-Update: 2016-03-19
#include <errno.h>
--- a/naugroup.h
+++ b/naugroup.h
@@ -3,7 +3,10 @@
@@ -3,7 +3,9 @@
Procedures for handling groups found by nauty.
*/
-#include "nauty.h"
+#ifndef _NAUGROUP_H_ /* only process this file once */
+#define _NAUGROUP_H_
+#pragma once
+
+#include <nauty/nauty.h>
typedef struct perm_struct
{
@@ -53,3 +56,5 @@
#ifdef __cplusplus
}
#endif
+
+#endif /* _NAUGROUP_H_ */
--- a/naurng.h
+++ b/naurng.h
@@ -11,8 +11,10 @@
@ -1184,7 +1256,7 @@ Last-Update: 2016-03-19
#ifndef SG_WEIGHT
#define SG_WEIGHT int
@@ -125,4 +125,4 @@
@@ -127,4 +127,4 @@
}
#endif
@ -1192,35 +1264,27 @@ Last-Update: 2016-03-19
+#endif /* _NAUSPARSE_H_ */
--- a/nautinv.h
+++ b/nautinv.h
@@ -10,7 +10,10 @@
@@ -10,7 +10,9 @@
* *
*****************************************************************************/
-#include "nauty.h" /* which includes stdio.h */
+#ifndef _NAUTINV_H_ /* only process this file once */
+#define _NAUTINV_H_
+#pragma once
+
+#include <nauty/nauty.h> /* which includes stdio.h */
#ifdef __cplusplus
extern "C" {
@@ -40,3 +43,5 @@
#ifdef __cplusplus
}
#endif
+
+#endif /* _NAUTINV_H_ */
--- a/naututil-h.in
+++ b/naututil-h.in
@@ -115,9 +115,13 @@
@@ -116,9 +116,12 @@
* *
*****************************************************************************/
-#include "nauty.h" /* which includes stdio.h */
-#include "nausparse.h"
-#include "naurng.h"
+#ifndef _NAUTUTIL_H_ /* only process this file once */
+#define _NAUTUTIL_H_
+#pragma once
+
+#include <nauty/nauty.h> /* which includes stdio.h */
+#include <nauty/nausparse.h>
@ -1229,12 +1293,6 @@ Last-Update: 2016-03-19
/* At this point we can assume that <sys/types.h>, <unistd.h>, <stddef.h>,
<stdlib.h>, <string.h> or <strings.h> and <malloc.h> if necessary have
been included if they exist. */
@@ -287,3 +291,5 @@
#endif /*NAUTY_SEED_DEFINED*/
/* @edit_msg@ */
+
+#endif /* _NAUTUTIL_H_ */
--- a/schreier.h
+++ b/schreier.h
@@ -3,8 +3,8 @@
@ -1328,36 +1386,22 @@ Last-Update: 2016-03-19
+])
--- a/traces.h
+++ b/traces.h
@@ -23,6 +23,9 @@
@@ -23,6 +23,8 @@
* 12-Jul-16 : bug correction (reaching degree 2 vertices) *
*****************************************************************************/
+#ifndef _TRACES_H_ /* only process this file once */
+#define _TRACES_H_
+#pragma once
+
#include "gtools.h"
#include "schreier.h"
@@ -62,3 +65,5 @@ extern void Traces(sparsegraph*,int*,int
TracesStats*,sparsegraph*);
extern void refine_tr(sparsegraph*,int*,int*,int*,int*,TracesOptions*);
extern void traces_freedyn(void);
+
+#endif /* _TRACES_H_ */
--- a/gutils.h
+++ b/gutils.h
@@ -1,5 +1,8 @@
@@ -1,5 +1,7 @@
/* gutils.h - procedure declarations for gutil1.c and gutil2.c */
+#ifndef _GUTILS_H_ /* only process this file once */
+#define _GUTILS_H_
+#pragma once
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -44,3 +47,5 @@
#ifdef __cplusplus
}
#endif
+
+#endif /* _GUTILS_H_ */

View File

@ -1,11 +1,11 @@
Description: explicit extern declaration for gt_numorbits
Origin: debian
Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2013-11-22
Last-Update: 2017-11-24
--- a/labelg.c
+++ b/labelg.c
@@ -88,7 +88,6 @@
@@ -89,7 +89,6 @@
static nauty_counter orbtotal;
static double unorbtotal;
@ -15,7 +15,7 @@ Last-Update: 2013-11-22
--- a/gtools-h.in
+++ b/gtools-h.in
@@ -283,6 +283,7 @@
@@ -296,6 +296,7 @@
extern TLS_ATTR char *readg_line;
extern TLS_ATTR size_t ogf_linelen;
extern TLS_ATTR boolean is_pipe;
@ -25,7 +25,7 @@ Last-Update: 2013-11-22
}
--- a/gtnauty.c
+++ b/gtnauty.c
@@ -18,7 +18,7 @@
@@ -19,7 +19,7 @@
static int fuzz2[] = {006532,070236,035523,062437};
#define FUZZ2(x) ((x) ^ fuzz2[(x)&3])

View File

@ -1,18 +0,0 @@
Description: explicit extern declaration in naurng.h
Origin: debian
Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2013-11-22
--- a/naurng.h
+++ b/naurng.h
@@ -18,8 +18,8 @@
extern "C" {
#endif
-void ran_init(long seed);
-long ran_nextran(void);
+extern void ran_init(long seed);
+extern long ran_nextran(void);
#ifdef __cplusplus
}

View File

@ -7,7 +7,7 @@ Last-Update: 2016-03-19
--- a/watercluster2.c
+++ b/watercluster2.c
@@ -1,54 +1,58 @@
@@ -1,53 +1,65 @@
// cc -O4 -o water2 -DWORDSIZE=32 -DMAXN=WORDSIZE nauty.c naugraph.c nautil.c gtools.c schreier.c naurng.c watercluster2.c
-/*
@ -35,6 +35,8 @@ Last-Update: 2016-03-19
- ended by a 0. Then the list of outgoing neighbours of 2 follows -- again ended with a 0, etc.
- The code is complete with the 0 ending the list of outgoing neighbours of nv.
-
- Z means: Output the directed graphs in digraph6 code. See formats.txt for a complete definition.
-
- C means: Do really construct all the directed graphs in memory, but don't output them. This is not
- a big difference in case of restricted in- and outdegrees, because all that is done extra is that
- edges are directed instead of just keeping track of in- and out-degrees. This option is intended only
@ -52,68 +54,72 @@ Last-Update: 2016-03-19
- m read multicode
-
-This program uses different labelling routines -- all based on the ideas of
-
-G. Brinkmann, Generating water clusters and other directed graphs,
-Journal of Mathematical Chemistry 46, 1112--1121 (2009)
+#define GTOOL_USAGEHELP_COMPATIBILITY
-October 10, 2011: corrected error caused by overflow of 32bit int used as hashvalue.
+#define USAGE "watercluster2 [ix] [oy] [S] [T] [B] [C] [m]"
-G. Brinkmann, Generating water clusters and other directed graphs,
-Journal of Mathematical Chemistry 46, 1112--1121 (2009)
+#define USAGE "watercluster2 [ix] [oy] [S] [T] [B] [Z] [C] [m]"
-Sep, 2012: PROCESS feature added by BDM.
+#define HELPTEXT \
+" Reads graphs in g6 code or multicode (optional) from stdin and directs them\n\
+\n\
+ ix : the indegree of every vertex may be at most x.\n\
+ The default maximum indegree is unlimited.\n\
+ ix: the indegree of every vertex may be at most x.\n\
+ The default maximum indegree is unlimited.\n\
+\n\
+ oy : the outdegree of every vertex may be at most y.\n\
+ The default maximum outdegree is unlimited.\n\
+ oy: the outdegree of every vertex may be at most y.\n\
+ The default maximum outdegree is unlimited.\n\
+\n\
+ S : allow that for every pair of vertices x,y at most one of the edges x-->y\n\
+ and y-->x may be present. By default both of them may be present in the same graph.\n\
+ S : allow that for every pair of vertices x,y at most one of the edges x-->y\n\
+ and y-->x may be present. By default both of them may be present in the\n\
+ same graph.\n\
+\n\
+ T : Output directed graphs in T-code. This is a simple ASCII output format.\n\
+ Every line contains one graph. First the number of vertices, then the\n\
+ number of directed edges and then the list of directed edges with the\n\
+ start first and the end then. E.g.: 3 2 0 1 2 1 means 3 vertices, 2\n\
+ directed edges:\n\
+ 0-->1 and 2-->1\n\
+\n\
+ T : Output directed graphs in T-code. This is a simple ASCII output format. Every line\n\
+ contains one graph. First the number of vertices, then the number of\n\
+ directed edges and then the list of directed edges with the start first\n\
+ and the end then. E.g.: 3 2 0 1 2 1 means 3 vertices, 2 directed edges:\n\
+ 0-->1 and 2-->1\n\
+ B : Output the directed graphs in a binary code. Every item of the code is an\n\
+ unsigned char. The first unsigned char is the number nv of vertices. The\n\
+ vertices are numbered 1..nv. Then the list of vertices x for which there\n\
+ is a directed edge 1->x follow. This list is ended by a 0. Then the list\n\
+ of outgoing neighbours of 2 follows -- again ended with a 0, etc.\n\
+ The code is complete with the 0 ending the list of outgoing neighbours of\n\
+ nv.\n\
+\n\
+ B : Output the directed graphs in a binary code. Every item of the code is an unsigned\n\
+ char. The first unsigned char is the number nv of vertices. The vertices are numbered 1..nv\n\
+ Then the list of vertices x for which there is a directed edge 1->x follow. This list is\n\
+ ended by a 0. Then the list of outgoing neighbours of 2 follows -- again ended with a 0, etc.\n\
+ The code is complete with the 0 ending the list of outgoing neighbours of nv.\n\
+ Z : Output the directed graphs in digraph6 code. See formats.txt for a\n\
+ complete definition.\n\
+\n\
+ C : Do really construct all the directed graphs in memory, but don't output them. This is not\n\
+ a big difference in case of restricted in- and outdegrees, because all that is done extra is that\n\
+ edges are directed instead of just keeping track of in- and out-degrees. This option is intended only\n\
+ for testing purposes to test also routines that are normally not used when counting. Things that would\n\
+ speed up the counting also in some cases of restricted in- and out-degrees -- like multiplying the\n\
+ possibilities of assigning directions to edges that can be assigned directions independent\n\
+ of each other (depending on the degrees of the endvertices and overlaps) -- are not included.\n\
+ In case of not restrictive bounds on the in- and out-degree it not really constructing the graphs\n\
+ can be considerably faster. In cases of restricted in- and out-degrees the only difference is that\n\
+ the graph isn't modified...\n\
+ The fact that in case of no output the graph is not modified is mainly to save time for the one\n\
+ case of waterclusters, where large numbers were determined. If large numbers (without output)\n\
+ for other cases shall be determined, one should think about adding the multiplication routines.\n\
+ C : Do really construct all the directed graphs in memory, but don't output\n\
+ them. This is not a big difference in case of restricted in- and\n\
+ outdegrees, because all that is done extra is that edges are directed\n\
+ instead of just keeping track of in- and out-degrees. This option is\n\
+ intended only for testing purposes to test also routines that are normally\n\
+ not used when counting. Things that would speed up the counting also in\n\
+ some cases of restricted in- and out-degrees -- like multiplying the\n\
+ possibilities of assigning directions to edges that can be assigned\n\
+ directions independent of each other (depending on the degrees of the\n\
+ endvertices and overlaps) -- are not included.\n\
+ In case of not restrictive bounds on the in- and out-degree it not really\n\
+ constructing the graphs can be considerably faster. In cases of restricted\n\
+ in- and out-degrees the only difference is that the graph isn't modified.\n\
+ The fact that in case of no output the graph is not modified is mainly to\n\
+ save time for the one case of waterclusters, where large numbers were\n\
+ determined. If large numbers (without output) for other cases shall be\n\
+ determined, one should think about adding the multiplication routines.\n\
+\n\
+ m : read multicode instead of g6 code\n\
+ m : read multicode instead of g6 code\n\
+\n\
+This program uses different labelling routines -- all based on the ideas of\n\
+\n\
+G. Brinkmann, Generating water clusters and other directed graphs,\n\
+G. Brinkmann, Generating water clusters and other directed graphs,\m\
+Journal of Mathematical Chemistry 46, 1112--1121 (2009)\n"
+/*
+ * October 10, 2011: corrected error caused by overflow of 32bit int used as hashvalue.
+ *
+ * Sep, 2012: PROCESS feature added by BDM.
*/
October 10, 2011: corrected error caused by overflow of 32bit int used as hashvalue.
/* PROCESS feature
@@ -67,7 +71,7 @@
Sep, 2012: PROCESS feature added by BDM.
@@ -71,7 +83,7 @@ Oct, 2017: digraph6 output added by BDM.
*
* If SUMMARY is defined, it must expand as the name of a procedure
* with prototype void SUMMARY(void). It is called at the end after
@ -122,7 +128,7 @@ Last-Update: 2016-03-19
*/
//#include<stdio.h>
@@ -500,7 +504,7 @@
@@ -526,7 +538,7 @@ while (nuller<knotenzahl-1)
return 1;
}
@ -131,7 +137,7 @@ Last-Update: 2016-03-19
void usage(char name[])
{
@@ -518,6 +522,7 @@
@@ -546,6 +558,7 @@ void usage(char name[])
exit(1);
}
@ -139,7 +145,7 @@ Last-Update: 2016-03-19
/**********DECODE_TO_NAUTY****************************************************/
@@ -4013,6 +4018,15 @@
@@ -4041,6 +4054,15 @@ int main(int argc, char *argv[])
int multicode=0, g6code=1;
long long int last=0LL;
@ -154,21 +160,21 @@ Last-Update: 2016-03-19
+
if (sizeof(long long int)<8)
{
fprintf(stderr,"This may cause problems with the hashing function for large degree -- exit().\n");
@@ -4028,7 +4042,15 @@
else if (argv[i][0]=='B') direct_output=3;
else if (argv[i][0]=='S') double_allowed=0;
else if (argv[i][0]=='m') { g6code=0; multicode=1; }
fprintf(stderr,">E long long too short; This may cause problems with the hashing function for large degree -- exit().\n");
@@ -4059,7 +4081,15 @@ int main(int argc, char *argv[])
else if (argv[i][0]=='Z') direct_output=4; /* BDM */
else if (argv[i][0]=='S') double_allowed=0;
else if (argv[i][0]=='m') { g6code=0; multicode=1; }
- else usage(argv[0]);
+ else {
+#ifdef GTOOL_USAGEHELP_COMPATIBILITY
+ fprintf(stderr,">E Usage: %s\n",USAGE);
+ fprintf(stderr,"Use watercluster2 -help to see a list of the options.\n");
+ exit(1);
+ fprintf(stderr, ">E Usage: %s\n", USAGE);
+ fprintf(stderr, "Use watercluster2 -help to see a list of the options.\n");
+ exit(1);
+#else
+ usage(argv[0]);
+ usage(argv[0]);
+#endif
+ }
+ }
}
#ifdef PROCESS
@ -187,7 +193,7 @@ Last-Update: 2016-03-19
--- a/geng.c
+++ b/geng.c
@@ -6,8 +6,7 @@
/* geng.c version 2.9; B D McKay, Jan 2016. */
/* geng.c version 3.1; B D McKay, Jan 2019. */
#define USAGE \
-"geng [-cCmtfbd#D#] [-uygsnh] [-lvq] \n\
@ -208,30 +214,18 @@ Last-Update: 2016-03-19
#define HELPTEXT \
" Generate random graphs.\n\
--- a/vcolg.c
+++ b/vcolg.c
@@ -1,8 +1,7 @@
/* vcolg.c version 1.0; B D McKay, Aug 31, 2013 */
#define USAGE \
-"vcolg [-q] [-u|-T|-G|-A|-B] [-e#|-e#:#] \n" \
-" [-m#] [-f#] [-D#|-r#|-l#] [infile [outfile]]"
+"vcolg [-q] [-u|-T|-G|-A|-B] [-e#|-e#:#] [-m#] [-f#] [-D#|-r#|-l#] [infile [outfile]]"
#define HELPTEXT \
" Read undirected loop-free graphs and colour their vertices in\n\
--- a/genspecialg.c
+++ b/genspecialg.c
@@ -1,20 +1,22 @@
/* genspecialg.c version 1.1; B D McKay, Feb 12, 2016 */
@@ -1,13 +1,12 @@
/* genspecialg.c version 1.3; B D McKay, Mar 19, 2018 */
-#define USAGE "genspecialg \n\
-[-s|-g|-z|-d] [-q] \
-[-p#|-c#|-e#|-k#|-b#,#|-Q#|-f#|-J#,#|-P#,#|C#,#...|G#,#...|T#,#...] [outfile]"
+#define USAGE "genspecialg [-s|-g|-z|-d] [-q] [-p#|-c#|-e#|-k#|-b#,#|-Q#|-f#|-J#,#|-P#,#|C#[,#]|G#[,#]|T#[,#]] [outfile]"
-#define USAGE "genspecialg [-s|-g|-z|-d|-v] [-q]\n\
- [-p#|-c#|-e#|-k#|-b#,#[,#]|-Q#|-f#|-J#,#\n\
- |-P#,#|C#,#...|G#,#...|T#,#...]* [outfile]"
+#define USAGE "genspecialg [-s|-g|-z|-d|-v] [-q] [-p#|-c#|-e#|-k#|-b#,#[,#]|-Q#|-f#|-J#,#|-P#,#|C#,#...|G#,#...|T#,#...]* [outfile]"
#define HELPTEXT \
" Generate one particular graph.\n\
" Generate special graphs.\n\
- # : size parameter called n in the descriptions\n\
\n\
+Options:\n\
@ -239,7 +233,8 @@ Last-Update: 2016-03-19
-s : Write in sparse6 format (default)\n\
-g : Write in graph6 format\n\
-z : Make digraph versions and write in digraph6 format\n\
-d : Write in dreadnaut format (can be used with -z)\n\
@@ -15,7 +14,10 @@
-v : For each graph, report the size to stderr\n\
-q : Suppress summary\n\
\n\
- If defined, the digraph version is shown in parentheses:\n\
@ -250,32 +245,73 @@ Last-Update: 2016-03-19
-p# : path (directed path) on n vertices.\n\
-c# : cycle (directed cycle) on n vertices.\n\
-e# : empty graph (digraph with loops only) on n vertices.\n\
@@ -24,9 +26,9 @@
@@ -26,9 +28,9 @@
-P#,# : generalized Petersen graph; usual one is -P5,2\n\
-Q# : hypercube on 2^n vertices and degree n.\n\
-J#,# : Johnson graph J(n,k), args are n and k.\n\
- -C#,#... : circulant (di)graph.\n\
- -T#,#... : theta (di)graph Theta(#,#,...), give path lengths.\n\
- -G#,#... : (directed) grid, use negative values for open directions\n"
- -G#,#... : (directed) grid, use negative values for open directions\n\
+ -C#[,#] : circulant (di)graph.\n\
+ -T#[,#] : theta (di)graph Theta(#[,#]), give path lengths.\n\
+ -G#[,#] : (directed) grid, use negative values for open directions\n"
/* Ideas: multipartite, knesser, full trees */
+ -T#[,#] : theta (di)graph Theta(#,#,...), give path lengths.\n\
+ -G#[,#] : (directed) grid, use negative values for open directions\n\
\n\
Any number of graphs can be generated at once.\n"
--- a/cubhamg.c
+++ b/cubhamg.c
@@ -1,54 +1,53 @@
-/* cubhamg.c : pick those inputs that are nonhamiltonian and
- have max degree <= 3.
+/* cubhamg.c : pick those inputs that are nonhamiltonian and have max degree <= 3. */
-
- Usage:
-cubhamg [-#] [-v|-V] [-n#-#|-y#-#|-i|-I|-o|-x|-e|-E] [-b|-t] [infile [outfile]]
+#define USAGE "cubhamg [-#] [-v|-V] [-n#-#|-y#-#|-i|-I|-o|-x|-e|-E] [-b|-t] [infile [outfile]]"
-
- infile is the name of the input file in graph6/sparse6 format
- outfile is the name of the output file in the same format
-
- stdin and stdout are the defaults for infile and outfile
-
- The output file will have a header >>graph6<< or >>sparse6<<
- if and only if the input file does.
-
- Optional switches:
+/* cubhamg.c : pick those inputs that are nonhamiltonian and have max degree <= 3. */
- -# A parameter useful for tuning (default 100)
- -v Report nonhamiltonian graphs and noncubic graphs
- -V .. in addition give a cycle for the hamiltonian ones
- -n#-# If the two numbers are v and i, then the i-th edge
- out of vertex v is required to be not in the cycle.
- It must be that i=1..3 and v=0..n-1.
- -y#-# If the two numbers are v and i, then the i-th edge
- out of vertex v is required to be in the cycle.
- It must be that i=1..3 and v=0..n-1.
- You can use any number of -n/-y switches to force
- edges. Out of range first arguments are ignored.
- If -y and -n give same edge, -y wins.
- -i Test + property: for each edge e, there is a hamiltonian
- cycle using e.
- -I Test ++ property: for each pair of edges e,e', there is
- a hamiltonian cycle which uses both e and e'.
- -o Test - property: for each edge e, there is a hamiltonian
- cycle avoiding e.
- -x Test +- property: for each pair of edges e,e', there is
- a hamiltonian cycle which uses e but avoids e'.
- -e Test 3/4 property: for each edge e, at least 3 of the 4
- paths of length 3 passing through e lie on hamiltonian cycles.
- -E Test 3/4+ property: for each edge e failing the 3/4 property,
- all three ways of joining e to the rest of the graph are
- hamiltonian avoiding e.
- -T# Specify a timeout, being a limit on how many search tree
- nodes are made. If the timeout occurs, the graph is
- written to the output as if it is nonhamiltonian.
- -R# Specify the number of repeat attempts for each stage.
- -F Analyze covering paths from 2 or 4 vertices of degree 2.
+#define USAGE "cubhamg [-#] [-v|-V] [-n#-#|-y#-#|-i|-I|-o|-x|-e|-E] [-b|-t] [infile [outfile]]"
- -b Require biconnectivity
- -t Require triconnectivity (note: quadratic algorithm)
+#define HELPTEXT \
+" Pick those inputs that are nonhamiltonian and have max degree <= 3.\n\
+\n\
@ -321,53 +357,12 @@ Last-Update: 2016-03-19
+Comments:\n\
+ -y, -n, -#, -R and -T are ignored for -i, -I, -x, -o, -e, -E, -F\n"
- stdin and stdout are the defaults for infile and outfile
-
- The output file will have a header >>graph6<< or >>sparse6<<
- if and only if the input file does.
-
- Optional switches:
-
- -# A parameter useful for tuning (default 100)
- -v Report nonhamiltonian graphs and noncubic graphs
- -V .. in addition give a cycle for the hamiltonian ones
- -n#-# If the two numbers are v and i, then the i-th edge
- out of vertex v is required to be not in the cycle.
- It must be that i=1..3 and v=0..n-1.
- -y#-# If the two numbers are v and i, then the i-th edge
- out of vertex v is required to be in the cycle.
- It must be that i=1..3 and v=0..n-1.
- You can use any number of -n/-y switches to force
- edges. Out of range first arguments are ignored.
- If -y and -n give same edge, -y wins.
- -i Test + property: for each edge e, there is a hamiltonian
- cycle using e.
- -I Test ++ property: for each pair of edges e,e', there is
- a hamiltonian cycle which uses both e and e'.
- -o Test - property: for each edge e, there is a hamiltonian
- cycle avoiding e.
- -x Test +- property: for each pair of edges e,e', there is
- a hamiltonian cycle which uses e but avoids e'.
- -e Test 3/4 property: for each edge e, at least 3 of the 4
- paths of length 3 passing through e lie on hamiltonian cycles.
- -E Test 3/4+ property: for each edge e failing the 3/4 property,
- all three ways of joining e to the rest of the graph are
- hamiltonian avoiding e.
- -T# Specify a timeout, being a limit on how many search tree
- nodes are made. If the timeout occurs, the graph is
- written to the output as if it is nonhamiltonian.
- -R# Specify the number of repeat attempts for each stage.
- -F Analyze covering paths from 2 or 4 vertices of degree 2.
-
- -b Require biconnectivity
- -t Require triconnectivity (note: quadratic algorithm)
-
- -y, -n, -#, -R and -T are ignored for -i, -I, -x, -o, -e, -E, -F
+/**************************************************************************
B. D. McKay, Nov 1995 + Aug 1996 + Feb 2002 + Jul 2008 + Nov 2015
@@ -1611,6 +1610,8 @@
@@ -1611,6 +1610,8 @@ main(int argc, char *argv[])
char *arg;
int codetype;
@ -376,7 +371,7 @@ Last-Update: 2016-03-19
infilename = outfilename = NULL;
badargs = FALSE;
e34plus = e34 = in = out = inin = inout = FALSE;
@@ -1729,8 +1730,8 @@
@@ -1729,8 +1730,8 @@ main(int argc, char *argv[])
if (badargs)
{

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,17 @@
Description: debianization: nauty tools suite prefix
Prepend nauty- to the names of the nauty tools, named gtools.
Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2016-03-19
Last-Update: 2017-11-24
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,94 +21,94 @@
@@ -25,100 +25,100 @@
bin_PROGRAMS = \
dreadnaut \
\
- addedgeg \
- amtog \
- assembleg \
- biplabg \
- catg \
- complg \
@ -23,6 +24,7 @@ Last-Update: 2016-03-19
- directg \
- dretodot \
- dretog \
- edgetransg \
- genbg \
- genbgL \
- geng \
@ -45,10 +47,12 @@ Last-Update: 2016-03-19
- showg \
- subdivideg \
- twohamg \
- underlyingg \
- vcolg \
- watercluster2 \
+ nauty-addedgeg \
+ nauty-amtog \
+ nauty-assembleg \
+ nauty-biplabg \
+ nauty-catg \
+ nauty-complg \
@ -61,6 +65,7 @@ Last-Update: 2016-03-19
+ nauty-directg \
+ nauty-dretodot \
+ nauty-dretog \
+ nauty-edgetransg \
+ nauty-genbg \
+ nauty-genbgL \
+ nauty-geng \
@ -83,6 +88,7 @@ Last-Update: 2016-03-19
+ nauty-showg \
+ nauty-subdivideg \
+ nauty-twohamg \
+ nauty-underlyingg \
+ nauty-vcolg \
+ nauty-watercluster2 \
\
@ -98,6 +104,7 @@ Last-Update: 2016-03-19
\
- addedgeg.1 \
- amtog.1 \
- assembleg.1 \
- biplabg.1 \
- catg.1 \
- complg.1 \
@ -110,6 +117,7 @@ Last-Update: 2016-03-19
- directg.1 \
- dretodot.1 \
- dretog.1 \
- edgetransg.1 \
- genbg.1 \
- genbgL.1 \
- geng.1 \
@ -132,10 +140,12 @@ Last-Update: 2016-03-19
- showg.1 \
- subdivideg.1 \
- twohamg.1 \
- underlyingg.1 \
- vcolg.1 \
- watercluster2.1 \
+ nauty-addedgeg.1 \
+ nauty-amtog.1 \
+ nauty-assembleg.1 \
+ nauty-biplabg.1 \
+ nauty-catg.1 \
+ nauty-complg.1 \
@ -148,6 +158,7 @@ Last-Update: 2016-03-19
+ nauty-directg.1 \
+ nauty-dretodot.1 \
+ nauty-dretog.1 \
+ nauty-edgetransg.1 \
+ nauty-genbg.1 \
+ nauty-genbgL.1 \
+ nauty-geng.1 \
@ -170,6 +181,7 @@ Last-Update: 2016-03-19
+ nauty-showg.1 \
+ nauty-subdivideg.1 \
+ nauty-twohamg.1 \
+ nauty-underlyingg.1 \
+ nauty-vcolg.1 \
+ nauty-watercluster2.1 \
\
@ -182,8 +194,8 @@ Last-Update: 2016-03-19
lib_LTLIBRARIES = \
libnauty.la \
@@ -153,8 +153,8 @@
$(HELP2MAN) \
@@ -166,8 +166,8 @@
LD_LIBRARY_PATH=$(top_builddir)/.libs $(HELP2MAN) \
-s 1 \
$(AM_H2MFLAGS) \
- -I $(top_srcdir)/man/$*.h2m \
@ -193,12 +205,14 @@ Last-Update: 2016-03-19
-o $@ \
$(top_builddir)/$<
@@ -175,176 +175,176 @@
@@ -187,189 +187,189 @@
## short descriptions inspired from the basic functions of the programs as described
## in section `Utilities' (15) of the `Nauty and Traces User's Guide' (version 2.6)
dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library"
-dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library"
-addedgeg_DESCRIPTION = "add an edge in each possible way"
-amtog_DESCRIPTION = "read graphs in matrix format"
-assembleg_DESCRIPTION = "assemble input graphs as components of output graphs"
-biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous"
-catg_DESCRIPTION = "concatenate files of graphs"
-complg_DESCRIPTION = "complement graphs"
@ -211,6 +225,7 @@ Last-Update: 2016-03-19
-directg_DESCRIPTION = "generate small digraphs with given underlying graph"
-dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format"
-dretog_DESCRIPTION = "read graphs in dreadnaut format"
-edgetransg_DESCRIPTION = "select undirected graphs according to group action on vertices, edges and arcs"
-genbg_DESCRIPTION = "generate small bicoloured graphs"
-genbgL_DESCRIPTION = "$(shell printf "%s %s" $(genbg_DESCRIPTION) "(L1 flavour)")"
-geng_DESCRIPTION = "generate small graphs"
@ -233,13 +248,16 @@ Last-Update: 2016-03-19
-showg_DESCRIPTION = "$(shell printf "%s %s" $(listg_DESCRIPTION) "(stand-alone subset of listg)")"
-subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs"
-twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles"
-underlyingg_DESCRIPTION = "take the underlying undirected graphs of a file of graphs"
-vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways"
-watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(directg_DESCRIPTION) "(faster alternative to directg)")"
-blisstog_DESCRIPTION = "convert files of graphs in bliss format to stdout in sparse6 format"
-checks6_DESCRIPTION = "check a file of graphs and optionally perform corrections"
-sumlines_DESCRIPTION = "sum lines matching specified graph formats"
+dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library"
+nauty_addedgeg_DESCRIPTION = "add an edge in each possible way"
+nauty_amtog_DESCRIPTION = "read graphs in matrix format"
+nauty_assembleg_DESCRIPTION = "assemble input graphs as components of output graphs"
+nauty_biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous"
+nauty_catg_DESCRIPTION = "concatenate files of graphs"
+nauty_complg_DESCRIPTION = "complement graphs"
@ -252,8 +270,9 @@ Last-Update: 2016-03-19
+nauty_directg_DESCRIPTION = "generate small digraphs with given underlying graph"
+nauty_dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format"
+nauty_dretog_DESCRIPTION = "read graphs in dreadnaut format"
+nauty_edgetransg_DESCRIPTION = "select undirected graphs according to group action on vertices, edges and arcs"
+nauty_genbg_DESCRIPTION = "generate small bicoloured graphs"
+nauty_genbgL_DESCRIPTION = "$(shell printf "%s %s" $(nauty_genbg_DESCRIPTION) "(L1 flavour)")"
+nauty_genbgL_DESCRIPTION = "$(shell printf "%s %s" $(genbg_DESCRIPTION) "(L1 flavour)")"
+nauty_geng_DESCRIPTION = "generate small graphs"
+nauty_genquarticg_DESCRIPTION = "generate quartic graphs"
+nauty_genrang_DESCRIPTION = "generate random graphs"
@ -271,11 +290,12 @@ Last-Update: 2016-03-19
+nauty_planarg_DESCRIPTION = "test graphs for planarity and find embeddings or obstructions"
+nauty_ranlabg_DESCRIPTION = "randomly relabel graphs"
+nauty_shortg_DESCRIPTION = "remove isomorphs from a file of graphs"
+nauty_showg_DESCRIPTION = "$(shell printf "%s %s" $(nauty_listg_DESCRIPTION) "(stand-alone subset of listg)")"
+nauty_showg_DESCRIPTION = "$(shell printf "%s %s" $(listg_DESCRIPTION) "(stand-alone subset of listg)")"
+nauty_subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs"
+nauty_twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles"
+nauty_underlyingg_DESCRIPTION = "take the underlying undirected graphs of a file of graphs"
+nauty_vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways"
+nauty_watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(nauty_directg_DESCRIPTION) "(faster alternative to directg)")"
+nauty_watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(directg_DESCRIPTION) "(faster alternative to directg)")"
+nauty_blisstog_DESCRIPTION = "convert files of graphs in bliss format to stdout in sparse6 format"
+nauty_checks6_DESCRIPTION = "check a file of graphs and optionally perform corrections"
+nauty_sumlines_DESCRIPTION = "sum lines matching specified graph formats"
@ -283,6 +303,7 @@ Last-Update: 2016-03-19
dreadnaut_CPPFLAGS =
-addedgeg_CPPFLAGS =
-amtog_CPPFLAGS =
-assembleg_CPPFLAGS =
-biplabg_CPPFLAGS =
-catg_CPPFLAGS =
-complg_CPPFLAGS =
@ -295,6 +316,7 @@ Last-Update: 2016-03-19
-directg_CPPFLAGS =
-dretodot_CPPFLAGS =
-dretog_CPPFLAGS =
-edgetransg_CPPFLAGS =
-genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
-genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30
-geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
@ -317,6 +339,7 @@ Last-Update: 2016-03-19
-showg_CPPFLAGS =
-subdivideg_CPPFLAGS =
-twohamg_CPPFLAGS =
-underlyingg_CPPFLAGS =
-vcolg_CPPFLAGS =
-watercluster2_CPPFLAGS = -DMAXN=32
-blisstog_CPPFLAGS = $(ZLIB_CFLAGS)
@ -324,6 +347,7 @@ Last-Update: 2016-03-19
-sumlines_CPPFLAGS = $(GMP_CFLAGS)
+nauty_addedgeg_CPPFLAGS =
+nauty_amtog_CPPFLAGS =
+nauty_assembleg_CPPFLAGS =
+nauty_biplabg_CPPFLAGS =
+nauty_catg_CPPFLAGS =
+nauty_complg_CPPFLAGS =
@ -336,6 +360,7 @@ Last-Update: 2016-03-19
+nauty_directg_CPPFLAGS =
+nauty_dretodot_CPPFLAGS =
+nauty_dretog_CPPFLAGS =
+nauty_edgetransg_CPPFLAGS =
+nauty_genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
+nauty_genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30
+nauty_geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
@ -358,6 +383,7 @@ Last-Update: 2016-03-19
+nauty_showg_CPPFLAGS =
+nauty_subdivideg_CPPFLAGS =
+nauty_twohamg_CPPFLAGS =
+nauty_underlyingg_CPPFLAGS =
+nauty_vcolg_CPPFLAGS =
+nauty_watercluster2_CPPFLAGS = -DMAXN=32
+nauty_blisstog_CPPFLAGS = $(ZLIB_CFLAGS)
@ -367,6 +393,7 @@ Last-Update: 2016-03-19
dreadnaut_SOURCES = dreadnaut.c
-addedgeg_SOURCES = addedgeg.c
-amtog_SOURCES = amtog.c
-assembleg_SOURCES = assembleg.c
-biplabg_SOURCES = biplabg.c
-catg_SOURCES = catg.c
-complg_SOURCES = complg.c
@ -379,6 +406,7 @@ Last-Update: 2016-03-19
-directg_SOURCES = directg.c
-dretodot_SOURCES = dretodot.c
-dretog_SOURCES = dretog.c
-edgetransg_SOURCES = edgetransg.c
-genbg_SOURCES = genbg.c
-genbgL_SOURCES = genbg.c
-geng_SOURCES = geng.c
@ -401,6 +429,7 @@ Last-Update: 2016-03-19
-showg_SOURCES = showg.c
-subdivideg_SOURCES = subdivideg.c
-twohamg_SOURCES = twohamg.c
-underlyingg_SOURCES = underlyingg.c
-vcolg_SOURCES = vcolg.c
-watercluster2_SOURCES = watercluster2.c
-blisstog_SOURCES = blisstog.c
@ -408,6 +437,7 @@ Last-Update: 2016-03-19
-sumlines_SOURCES = sumlines.c
+nauty_addedgeg_SOURCES = addedgeg.c
+nauty_amtog_SOURCES = amtog.c
+nauty_assembleg_SOURCES = assembleg.c
+nauty_biplabg_SOURCES = biplabg.c
+nauty_catg_SOURCES = catg.c
+nauty_complg_SOURCES = complg.c
@ -420,6 +450,7 @@ Last-Update: 2016-03-19
+nauty_directg_SOURCES = directg.c
+nauty_dretodot_SOURCES = dretodot.c
+nauty_dretog_SOURCES = dretog.c
+nauty_edgetransg_SOURCES = edgetransg.c
+nauty_genbg_SOURCES = genbg.c
+nauty_genbgL_SOURCES = genbg.c
+nauty_geng_SOURCES = geng.c
@ -442,15 +473,17 @@ Last-Update: 2016-03-19
+nauty_showg_SOURCES = showg.c
+nauty_subdivideg_SOURCES = subdivideg.c
+nauty_twohamg_SOURCES = twohamg.c
+nauty_underlyingg_SOURCES = underlyingg.c
+nauty_vcolg_SOURCES = vcolg.c
+nauty_watercluster2_SOURCES = watercluster2.c
+nauty_blisstog_SOURCES = blisstog.c
+nauty_checks6_SOURCES = checks6.c
+nauty_sumlines_SOURCES = sumlines.c
dreadnaut_LDADD = $(NAUTY_LDADD)
-dreadnaut_LDADD = $(NAUTY_LDADD)
-addedgeg_LDADD = $(NAUTY_LDADD)
-amtog_LDADD = $(NAUTY_LDADD)
-assembleg_LDADD = $(NAUTY_LDADD)
-biplabg_LDADD = $(NAUTY_LDADD)
-catg_LDADD = $(NAUTY_LDADD)
-complg_LDADD = $(NAUTY_LDADD)
@ -463,6 +496,7 @@ Last-Update: 2016-03-19
-directg_LDADD = $(NAUTY_LDADD)
-dretodot_LDADD = $(NAUTY_LDADD) $(LIBM)
-dretog_LDADD = $(NAUTY_LDADD)
-edgetransg_LDADD = $(NAUTY_LDADD)
-genbg_LDADD = $(NAUTYW1_LDADD)
-genbgL_LDADD = $(NAUTYL1_LDADD)
-geng_LDADD = $(NAUTYW1_LDADD)
@ -485,13 +519,16 @@ Last-Update: 2016-03-19
-showg_LDADD =
-subdivideg_LDADD = $(NAUTY_LDADD)
-twohamg_LDADD = $(NAUTY_LDADD)
-underlyingg_LDADD = $(NAUTY_LDADD)
-vcolg_LDADD = $(NAUTY_LDADD)
-watercluster2_LDADD = $(NAUTY_LDADD)
-blisstog_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
-checks6_LDADD = $(NAUTY_LDADD)
-sumlines_LDADD = $(GMP_LIBS)
+dreadnaut_LDADD = $(NAUTY_LDADD)
+nauty_addedgeg_LDADD = $(NAUTY_LDADD)
+nauty_amtog_LDADD = $(NAUTY_LDADD)
+nauty_assembleg_LDADD = $(NAUTY_LDADD)
+nauty_biplabg_LDADD = $(NAUTY_LDADD)
+nauty_catg_LDADD = $(NAUTY_LDADD)
+nauty_complg_LDADD = $(NAUTY_LDADD)
@ -504,6 +541,7 @@ Last-Update: 2016-03-19
+nauty_directg_LDADD = $(NAUTY_LDADD)
+nauty_dretodot_LDADD = $(NAUTY_LDADD) $(LIBM)
+nauty_dretog_LDADD = $(NAUTY_LDADD)
+nauty_edgetransg_LDADD = $(NAUTY_LDADD)
+nauty_genbg_LDADD = $(NAUTYW1_LDADD)
+nauty_genbgL_LDADD = $(NAUTYL1_LDADD)
+nauty_geng_LDADD = $(NAUTYW1_LDADD)
@ -526,6 +564,7 @@ Last-Update: 2016-03-19
+nauty_showg_LDADD =
+nauty_subdivideg_LDADD = $(NAUTY_LDADD)
+nauty_twohamg_LDADD = $(NAUTY_LDADD)
+nauty_underlyingg_LDADD = $(NAUTY_LDADD)
+nauty_vcolg_LDADD = $(NAUTY_LDADD)
+nauty_watercluster2_LDADD = $(NAUTY_LDADD)
+nauty_blisstog_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
@ -536,7 +575,7 @@ Last-Update: 2016-03-19
libnautyA1_la_MAP =
--- a/runalltests
+++ b/runalltests
@@ -30,7 +30,7 @@
@@ -31,7 +31,7 @@
eval $cmd <"$in" 2>$out2 >$out1
if [ -d $top_workingdir/.libs ]; then
@ -544,8 +583,8 @@ Last-Update: 2016-03-19
+ sed -i 's@'$top_workingdir'/.libs/lt-nauty-@./@' $out2
fi
LC_COLLATE=C sort $out2 >>$out1
@@ -82,13 +82,13 @@
LC_LANG=C sort $out2 >>$out1
@@ -100,13 +100,13 @@
runonetest ./dreadtest4K nautest2.dre nautest2a.ans
runonetest "./dreadtest4K -o As" nautest2.dre nautest2b.ans

3325
nauty-unbundle-cliquer.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
%global nautybasever 2.6r12
%global nautybasever 2.7r1
%global nautytarver %(tr -d . <<< %{nautybasever})
Name: nauty
Version: %(tr r . <<< %{nautybasever})
Release: 2%{?dist}
Release: 1%{?dist}
Summary: Graph canonical labeling and automorphism group computation
License: ASL 2.0
@ -12,26 +12,32 @@ Source0: http://pallini.di.uniroma1.it/%{name}%{nautytarver}.tar.gz
# Debian patch to fix the gt_numorbits declaration
Patch0: %{name}-fix-gt_numorbits.patch
# Debian patch to add explicit extern declarations where needed
Patch1: %{name}-fix-include-extern.patch
# Debian patch to use zlib instead of invoking zcat through a pipe
Patch2: %{name}-zlib-blisstog.patch
Patch1: %{name}-zlib-blisstog.patch
# Debian patch to improve usage and help information
Patch3: %{name}-help2man.patch
Patch2: %{name}-help2man.patch
# Debian patch to add libtool support for building a shared library
Patch4: %{name}-autotoolization.patch
Patch3: %{name}-autotoolization.patch
# Debian patch to canonicalize header file usage
Patch5: %{name}-includes.patch
Patch4: %{name}-includes.patch
# Debian patch to prefix "nauty-" to the names of the generic tools
Patch6: %{name}-tool-prefix.patch
Patch5: %{name}-tool-prefix.patch
# Detect availability of the popcnt instruction at runtime
Patch7: %{name}-popcnt.patch
Patch6: %{name}-popcnt.patch
# Unbundle cliquer
Patch7: %{name}-unbundle-cliquer.patch
BuildRequires: cliquer-devel
BuildRequires: gcc
BuildRequires: gmp-devel
BuildRequires: help2man
BuildRequires: libtool
BuildRequires: zlib-devel
BuildRequires: pkgconfig(zlib)
# Some version of planarity is bundled. I do not know which version it is,
# but the interface is completely different from the one provided by Fedora's
# planarity package.
Provides: bundled(planarity)
# The shortg program invokes sort.
Requires: coreutils
@ -65,15 +71,7 @@ Requires: lib%{name}%{?_isa} = %{version}-%{release}
This package contains files needed to develop programs that use libnauty.
%prep
%setup -q -n %{name}%{nautytarver}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%autosetup -p1 -n %{name}%{nautytarver}
# Remove the pregenerated makefile
rm -f makefile
@ -85,36 +83,42 @@ sed -i 's/@INJECTVER@/%{version}/' configure.ac
autoreconf -fi
%build
export CFLAGS="%{optflags} -fwrapv"
%configure --disable-static \
export CFLAGS="%{optflags} -fwrapv -I%{_includedir}/cliquer"
%configure --disable-static --enable-generic \
%ifarch %ix86 x86_64
--enable-runtime-popcnt \
%endif
--enable-tls
make %{?_smp_mflags}
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
%make_build
%install
make install DESTDIR=%{buildroot}
%make_install
# We do not want the libtool archives
rm %{buildroot}%{_libdir}/*.la
%check
make check
%ldconfig_scriptlets -n libnauty
LD_LIBRARY_PATH=$PWD/.libs make check
%files
%doc README nug26.pdf
%doc README nug27.pdf
%{_bindir}/dreadnaut
%{_bindir}/nauty-*
%{_mandir}/man1/dreadnaut.1*
%{_mandir}/man1/nauty-*.1*
%files -n libnauty
%doc changes24-26.txt formats.txt
%doc changes24-27.txt formats.txt
%license COPYRIGHT
%{_libdir}/libnauty*.so.*
%{_libdir}/libnauty*.so.2*
%files -n libnauty-devel
%doc schreier.txt
@ -123,6 +127,9 @@ make check
%{_libdir}/pkgconfig/%{name}.pc
%changelog
* Tue Jun 2 2020 Jerry James <loganjerry@gmail.com> - 2.7.1-1
- Version 2.7.1
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (nauty26r12.tar.gz) = ac71af163bd2490171adea31bb3dec12a900c495365c069a5a7bbb42ca20d668bb4f319e9f9a43d85d6bd8b1842ff1a60dda5d2dc4cd89a902d78c40bfd6beb6
SHA512 (nauty27r1.tar.gz) = f3a228b2967553f0096f9f70eaa1c25b0a929c315b4a6c6948903d197aa6431b7068ca19b1f7902c41597e1abfa81fb709fc7c4a8d193a187491239df8507b33