diff --git a/.gitignore b/.gitignore index 0d06ec435..654b88ca8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,12 @@ -*.DS_Store -*.Plo -*.Tpo +.ipynb_checkpoints +*.a *.aux *.bbl *.blg *.brf *.digraphs +*.DS_Store +*.dylib *.g6 *.gcda *.gcno @@ -22,58 +23,38 @@ *.o *.out *.pdf +*.Plo *.pnr *.pyc *.six *.status *.sub +*.swo *.swp *.synctex.gz *.tex *.toc *.top +*.Tpo *.tui *.txt -.dirstamp -.libs/* -Makefile -Makefile.in +/doc/*.css +/doc/*.js aclocal.m4 autom4te.* -bin/* -cnf/* +bin/ +bliss +compile configure +coverage +depcomp digraphs-config.h digraphs-lib +gen/ gh-pages/ -libtool -ltmain.sh -m4/* -planarity -src/.deps/* -src/.libs/* -src/_pkgconfig.h -extern/edge-addition-planarity-suite-Version_*/.libs -extern/edge-addition-planarity-suite-Version_*/c/.deps -extern/edge-addition-planarity-suite-Version_*/m4 -src/stamp-h1 -tags -tst/out/* -data/digraphs-lib-0.5 -gh-pages/ +Makefile manual.lab -ltmain.sh -.libs/**/Info.plist -digraphs-config.h -compile -depcomp -install-sh missing -*.swo -coverage -.ipynb_checkpoints -bliss -*.a -*.dylib -/doc/*.js -/doc/*.css +src/pkgconfig.h.in +tags +tst/out/ diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 333426a2f..000000000 --- a/Makefile.am +++ /dev/null @@ -1,139 +0,0 @@ -# -# digraphs: -# -# This file is part of the build system of a GAP kernel extension. -# Requires automake. -# - -ACLOCAL_AMFLAGS = -I m4 - -if WITH_INCLUDED_PLANARITY - SUBDIRS = @PLANARITY_SUITE_DIR@ - PLANAR_INCLUDE = -I$(top_srcdir)/@PLANARITY_SUITE_DIR@/ -endif - -if WITH_INCLUDED_BLISS - DIGRAPHS_INCLUDE = -I$(top_srcdir)/extern/ -endif - -BINARCHDIR = bin/$(GAPARCH) -GAPINSTALLLIB = $(abs_top_srcdir)/$(BINARCHDIR) - -lib_LTLIBRARIES = digraphs.la - -pkginclude_HEADERS = src/bitarray.h -pkginclude_HEADERS += src/conditions.h -pkginclude_HEADERS += src/digraphs-debug.h -pkginclude_HEADERS += src/digraphs.h -pkginclude_HEADERS += src/homos-graphs.h -pkginclude_HEADERS += src/homos.h -pkginclude_HEADERS += src/cliques.h -pkginclude_HEADERS += src/perms.h -pkginclude_HEADERS += src/planar.h -pkginclude_HEADERS += src/schreier-sims.h - -if WITH_INCLUDED_BLISS - pkginclude_HEADERS += extern/bliss-0.73/bignum.hh - pkginclude_HEADERS += extern/bliss-0.73/bliss_C.h - pkginclude_HEADERS += extern/bliss-0.73/defs.hh - pkginclude_HEADERS += extern/bliss-0.73/graph.hh - pkginclude_HEADERS += extern/bliss-0.73/heap.hh - pkginclude_HEADERS += extern/bliss-0.73/kqueue.hh - pkginclude_HEADERS += extern/bliss-0.73/kstack.hh - pkginclude_HEADERS += extern/bliss-0.73/orbit.hh - pkginclude_HEADERS += extern/bliss-0.73/partition.hh - pkginclude_HEADERS += extern/bliss-0.73/timer.hh - pkginclude_HEADERS += extern/bliss-0.73/uintseqhash.hh - pkginclude_HEADERS += extern/bliss-0.73/utils.hh -endif - -digraphs_la_SOURCES = src/digraphs.c -digraphs_la_SOURCES += src/bitarray.c -digraphs_la_SOURCES += src/conditions.c -digraphs_la_SOURCES += src/homos.c -digraphs_la_SOURCES += src/cliques.c -digraphs_la_SOURCES += src/homos-graphs.c -digraphs_la_SOURCES += src/perms.c -digraphs_la_SOURCES += src/planar.c -digraphs_la_SOURCES += src/schreier-sims.c - -if WITH_INCLUDED_BLISS - digraphs_la_SOURCES += extern/bliss-0.73/defs.cc - digraphs_la_SOURCES += extern/bliss-0.73/graph.cc - digraphs_la_SOURCES += extern/bliss-0.73/partition.cc - digraphs_la_SOURCES += extern/bliss-0.73/orbit.cc - digraphs_la_SOURCES += extern/bliss-0.73/uintseqhash.cc - digraphs_la_SOURCES += extern/bliss-0.73/heap.cc - digraphs_la_SOURCES += extern/bliss-0.73/timer.cc - digraphs_la_SOURCES += extern/bliss-0.73/utils.cc - digraphs_la_SOURCES += extern/bliss-0.73/bliss_C.cc -endif - -digraphs_la_CPPFLAGS = $(GAP_CPPFLAGS) -digraphs_la_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) - -digraphs_la_CXXFLAGS = $(PLANAR_INCLUDE) $(DIGRAPHS_INCLUDE) -digraphs_la_CXXFLAGS += $(CODE_COVERAGE_CXXFLAGS) -digraphs_la_CXXFLAGS += $(WARNING_CXXFLAGS) - -digraphs_la_CFLAGS = $(GAP_CFLAGS) $(PLANAR_INCLUDE) $(DIGRAPHS_INCLUDE) -digraphs_la_CFLAGS += $(CODE_COVERAGE_CFLAGS) -digraphs_la_CFLAGS += $(WARNING_CFLAGS) - -digraphs_la_LDFLAGS = $(GAP_LDFLAGS) -module -avoid-version - -if WITH_INCLUDED_PLANARITY -digraphs_la_LIBADD = @PLANARITY_SUITE_DIR@/libplanarity.la -endif - -if SYS_IS_CYGWIN -digraphs_la_LDFLAGS += -no-undefined -version-info 0:0:0 -Wl,$(GAPROOT)/bin/$(GAPARCH)/gap.dll -endif - -all-local: digraphs.la - $(mkdir_p) $(top_srcdir)/$(BINARCHDIR) $(top_srcdir)/bin/lib -if WITH_INCLUDED_PLANARITY - rm -f $(top_srcdir)/bin/lib/* # workaround for macOS code signing - cp -RL @PLANARITY_SUITE_DIR@/.libs/* $(top_srcdir)/bin/lib/ -endif - rm -f $(GAPINSTALLLIB)/digraphs.so # workaround for macOS code signing -if SYS_IS_CYGWIN - cp .libs/digraphs.dll $(GAPINSTALLLIB)/digraphs.so -if WITH_INCLUDED_PLANARITY - cp bin/lib/cygplanarity-0.dll $(GAPROOT)/.libs -endif -else - cp .libs/digraphs.so $(GAPINSTALLLIB)/ -endif -if KERNEL_DEBUG - @echo "SUCCESS (debug mode enabled)!" -else - @echo "SUCCESS!" -endif - -clean-local: - find . -name '*.gcda' -delete - -distclean-local: - rm -f *.tmp - rm -f coverage.info - rm -rf coverage/* - rm -rf bin/* - -doc: doc/manual.six - -doc/manual.six: doc/*.xml PackageInfo.g - ($(GAPROOT)/bin/gap.sh -A makedoc.g) - -lint: - etc/gaplint.sh - etc/cpplint.sh - -format: - clang-format -i src/*.[hc] - -.PHONY: debug, lint, format - -superclean: distclean - git clean -xdf --exclude *.swp --exclude *.swo -.PHONY: superclean diff --git a/Makefile.gappkg b/Makefile.gappkg new file mode 100644 index 000000000..6e3491e28 --- /dev/null +++ b/Makefile.gappkg @@ -0,0 +1,220 @@ +######################################################################## +# +# The build rules in this file are intended for use by GAP packages that +# want to build a simple GAP kernel extensions. They are based on the +# GAP build system, and require GNU make. To use this in your GAP +# package, `include` this file from your primary Makefile. You must also +# set several variables beforehand: +# +# - GAPPATH must be set to the location of the GAP installation against +# which to build your package. +# - KEXT_NAME should be the name of your kernel extension (without +# file extensions like .so or .dll) +# - KEXT_SOURCES must contain a list of .c or .cc files to be linked +# into your kernel extension +# - optionally, you can set KEXT_CFLAGS, KEXT_CXXFLAGS, KEXT_LDFLAGS +# - if you are using autoconf to produce your configure script, set +# KEXT_USE_AUTOCONF to 1 to enable dependency rules that enable +# regenerating the configure script etc. when necessary +# +# The contents of this file are released into the public domain; hence +# you may edit this file as you wish, bundle and distribute it with your +# package, etc. +# +# If you bundle this file with your package, please try not to edit it, +# so that we can keep it identical across all GAP packages. Instead, if +# you find that you must edit it, please submit your changes back to +# the GAP team, so that a future version of this file can be adjusted +# to cover your usecase without modifications, thus ensuring you can +# always easily update to newer version of it. +# +######################################################################## + +# read GAP's build settings +include $(GAPPATH)/sysinfo.gap + +# hack to support GAP <= 4.9 +ifndef GAP_KERNEL_MAJOR_VERSION + KEXT_CFLAGS += -I$(GAP_LIB_DIR)/src + KEXT_CXXFLAGS += -I$(GAP_LIB_DIR)/src +endif + +# honor used supplied flags +KEXT_CFLAGS += $(CPPFLAGS) +KEXT_CFLAGS += $(CFLAGS) +KEXT_CXXFLAGS += $(CPPFLAGS) +KEXT_CXXFLAGS += $(CXXFLAGS) +KEXT_LDFLAGS += $(LDFLAGS) + +# various derived settings +KEXT_BINARCHDIR = bin/$(GAParch) +KEXT_SO = $(KEXT_BINARCHDIR)/$(KEXT_NAME).so + +# the following settings are provided by sysinfo.gap in GAP >= 4.12; +# for compatibility with older GAP version (at least 4.9, 4.10, 4.11) +# we try to "guess" suitable values here +GAP ?= $(GAPPATH)/gap +GAC ?= $(GAPPATH)/gac +GAP_OBJEXT ?= lo + +# override KEXT_RECONF if your package needs a different invocation +# for reconfiguring (e.g. `./config.status --recheck` for autoconf) +ifdef KEXT_USE_AUTOCONF +KEXT_RECONF ?= ./config.status Makefile +else +KEXT_RECONF ?= ./configure "$(GAPPATH)" +endif + +# default target +all: $(KEXT_SO) +.PHONY: all + +######################################################################## +# Object files +# For each file FOO.c in SOURCES, add gen/FOO.$(GAP_OBJEXT) to KEXT_OBJS +# and similar for .cc files +######################################################################## +KEXT_OBJS = $(patsubst %.s,gen/%.$(GAP_OBJEXT), \ + $(patsubst %.cc,gen/%.$(GAP_OBJEXT), \ + $(patsubst %.c,gen/%.$(GAP_OBJEXT), \ + $(KEXT_SOURCES)))) + +######################################################################## +# Quiet rules. +# +# Replace regular output with quiet messages, unless V is set, +# e.g. "make V=1" +######################################################################## +ifneq ($(findstring $(MAKEFLAGS),s),s) +ifndef V +QUIET_GAC = @echo " GAC $< => $@";>/dev/null # keep the trailing space! +endif +endif + +######################################################################## +# Rules for automatic header dependency tracking. +# This is based on the GAP build system. +######################################################################## + +# List of all (potential) dependency files, derived from KEXT_OBJS +KEXT_DEPFILES = $(patsubst %.$(GAP_OBJEXT),%.d,$(KEXT_OBJS)) + +# Include the dependency tracking files +-include $(KEXT_DEPFILES) + +# Mark *.d files as PHONY. This stops make from trying to recreate them +# (which it can't), and in particular from looking for potential source +# files. This can save quite a bit of disk access time. +.PHONY: $(KEXT_DEPFILES) + +# The following flags instruct the compiler to enable advanced +# dependency tracking. Supported by GCC 3 and newer; clang; Intel C +# compiler; and more. +KEXT_DEPFLAGS = -MQ "$@" -MMD -MP -MF $(@D)/$(*F).d + +# build rule for C code +# The dependency on Makefile ensures that re-running configure recompiles everything +gen/%.$(GAP_OBJEXT): %.c Makefile + @mkdir -p $(@D) + $(QUIET_GAC)$(GAC) -d -p "$(KEXT_DEPFLAGS)" -p "$(KEXT_CFLAGS)" -c $< -o $@ + +# build rule for C++ code +# The dependency on Makefile ensures that re-running configure recompiles everything +gen/%.$(GAP_OBJEXT): %.cc Makefile + @mkdir -p $(@D) + $(QUIET_GAC)$(GAC) -d -p "$(KEXT_DEPFLAGS)" -p "$(KEXT_CXXFLAGS)" -c $< -o $@ + +# build rule for assembler code +# The dependency on Makefile ensures that re-running configure recompiles everything +gen/%.$(GAP_OBJEXT): %.s Makefile + @mkdir -p $(@D) + $(QUIET_GAC)$(GAC) -d -p "$(KEXT_DEPFLAGS)" -p "$(KEXT_CFLAGS)" -c $< -o $@ + +# build rule for linking all object files together into a kernel extension +$(KEXT_SO): $(KEXT_OBJS) + @mkdir -p $(@D) + $(QUIET_GAC)$(GAC) -d -p "$(KEXT_DEPFLAGS)" -P "$(KEXT_LDFLAGS)" $(KEXT_OBJS) -o $@ + +# hook into `make clean` +clean: clean-kext +clean-kext: + rm -rf $(KEXT_BINARCHDIR) gen + +# hook into `make distclean` +distclean: distclean-kext +distclean-kext: + rm -rf bin gen Makefile + rm -rf doc/_*.xml + rm -rf doc/*.aux doc/*.bbl doc/*.blg doc/*.brf doc/*.idx doc/*.idx + rm -rf doc/*.ilg doc/*.ind doc/*.log doc/*.out doc/*.pnr doc/*.toc + +# hook into `make doc` +doc: doc-kext +doc-kext: + $(GAP) --quitonbreak -b -q < makedoc.g + +# hook into `make check` +check: check-kext +check-kext: + $(GAP) tst/testall.g + +# re-run configure if configure, Makefile.in or GAP itself changed +Makefile: configure Makefile.in $(GAPPATH)/sysinfo.gap + $(KEXT_RECONF) + +ifdef KEXT_USE_AUTOCONF + +# react to modifications of the build system +configure_deps = configure.ac $(wildcard m4/*.m4) + +ifneq ($(MAINTAINER_MODE),no) +configure: $(configure_deps) + @if command -v autoconf >/dev/null 2>&1 ; then \ + echo "running autoconf" ; \ + autoconf ; \ + else \ + echo "autoconf not available, proceeding with stale configure" ; \ + fi +endif # MAINTAINER_MODE + +# re-run configure if configure, Makefile.in or GAP itself changed +config.status: configure $(GAPPATH)/sysinfo.gap + ./config.status --recheck + +# update Makefile if config.status changed +Makefile: config.status + +gen/pkgconfig.h: gen/pkgconfig.h.stamp + @if test ! -f $@; then rm -f $<; else :; fi + @if test ! -f $@; then $(MAKE) $<; else :; fi + +gen/pkgconfig.h.stamp: src/pkgconfig.h.in config.status + @rm -f $@ + @mkdir -p $(@D) + ./config.status gen/pkgconfig.h + echo > $@ + +ifneq ($(MAINTAINER_MODE),no) +src/pkgconfig.h.in: $(configure_deps) + @if command -v autoheader >/dev/null 2>&1 ; then \ + mkdir -p $(@D) ; \ + echo "running autoheader" ; \ + autoheader ; \ + rm -f gen/pkgconfig.h.stamp ; \ + else \ + echo "autoheader not available, proceeding with stale config.h" ; \ + fi + touch $@ +endif # MAINTAINER_MODE + +endif # KEXT_USE_AUTOCONF + +.PHONY: check clean distclean doc +.PHONY: check-kext clean-kext distclean-kext doc-kext + +######################################################################## +# Makefile debugging trick: +# call print-VARIABLE to see the runtime value of any variable +######################################################################## +print-%: + @echo '$*=$($*)' diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 000000000..c88e97118 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,103 @@ +# +# Makefile rules for the digraphs package +# +KEXT_NAME = digraphs + +KEXT_CFLAGS = @CODE_COVERAGE_CFLAGS@ @WARNING_CFLAGS@ +KEXT_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ @WARNING_CXXFLAGS@ +KEXT_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ + +KEXT_LDFLAGS += -lstdc++ # for bliss: add C++ library + +# configure settings +GAPPATH = @GAPROOT@ +WITH_INCLUDED_BLISS = @WITH_INCLUDED_BLISS@ +WITH_INCLUDED_PLANARITY = @WITH_INCLUDED_PLANARITY@ +PLANARITY_SUITE_DIR = @PLANARITY_SUITE_DIR@ + +# sources +KEXT_SOURCES = src/digraphs.c +KEXT_SOURCES += src/bitarray.c +KEXT_SOURCES += src/conditions.c +KEXT_SOURCES += src/homos.c +KEXT_SOURCES += src/cliques.c +KEXT_SOURCES += src/homos-graphs.c +KEXT_SOURCES += src/perms.c +KEXT_SOURCES += src/planar.c +KEXT_SOURCES += src/schreier-sims.c + +ifdef WITH_INCLUDED_BLISS + KEXT_SOURCES += extern/bliss-0.73/defs.cc + KEXT_SOURCES += extern/bliss-0.73/graph.cc + KEXT_SOURCES += extern/bliss-0.73/partition.cc + KEXT_SOURCES += extern/bliss-0.73/orbit.cc + KEXT_SOURCES += extern/bliss-0.73/uintseqhash.cc + KEXT_SOURCES += extern/bliss-0.73/heap.cc + KEXT_SOURCES += extern/bliss-0.73/timer.cc + KEXT_SOURCES += extern/bliss-0.73/utils.cc + KEXT_SOURCES += extern/bliss-0.73/bliss_C.cc + + KEXT_CFLAGS += -Iextern +else + KEXT_LDFLAGS += -lbliss +endif + + +ifdef WITH_INCLUDED_PLANARITY + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphDFSUtils.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphDrawPlanar.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphDrawPlanar_Extensions.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphEmbed.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphExtensions.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphIO.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphIsolator.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphK23Search.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphK23Search_Extensions.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphK33Search.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphK33Search_Extensions.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphK4Search.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphK4Search_Extensions.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphNonplanar.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphOuterplanarObstruction.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphTests.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/graphUtils.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/listcoll.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/planarityRandomGraphs.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/planaritySpecificGraph.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/planarityUtils.c + KEXT_SOURCES += $(PLANARITY_SUITE_DIR)/c/stack.c + + KEXT_CFLAGS += -I$(PLANARITY_SUITE_DIR) +else + KEXT_LDFLAGS += -lplanarity +endif + + +# include shared GAP package build system +KEXT_USE_AUTOCONF = 1 +include Makefile.gappkg + +# ensure pkgconfig.h is built +$(KEXT_OBJS): gen/pkgconfig.h + +clean: + find . -name '*.gcda' -delete + +distclean: + rm -f *.tmp + rm -f coverage.info + rm -rf coverage/* + rm -rf bin/* + +lint: + etc/gaplint.sh + etc/cpplint.sh + +format: + clang-format -i src/*.[hc] + +.PHONY: debug lint format + +superclean: distclean + git clean -xdf --exclude *.swp --exclude *.swo +.PHONY: superclean diff --git a/PackageInfo.g b/PackageInfo.g index 882826f18..3b2edd693 100644 --- a/PackageInfo.g +++ b/PackageInfo.g @@ -209,8 +209,7 @@ Persons := [ IsMaintainer := false, PostalAddress := _STANDREWSCS, Email := "obk1@st-andrews.ac.uk", - WWWHome := - "https://www.st-andrews.ac.uk/computer-science/people/obk1/", + WWWHome := "https://olexandr-konovalov.github.io/", Place := "St Andrews", Institution := "University of St Andrews"), diff --git a/autogen.sh b/autogen.sh index e2fe78c5c..67bc0d8bd 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,2 +1,8 @@ #!/bin/sh -autoreconf -if `dirname "$0"` +# +# Regenerate configure from configure.ac. Requires GNU autoconf. +set -ex +mkdir -p gen +aclocal -Wall --force +autoconf -Wall -f +autoheader -Wall -f diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 5689cb0df..5dfe9596b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,9 +1,9 @@ pr: -- master +- main - stable-*.* trigger: -- master +- main - stable-*.* pool: @@ -71,7 +71,7 @@ jobs: displayName: 'Running the Digraphs package for GAP tests in docker container. . .' - job: coverage variables: - SUITE: coverage + SUITE: coverage ABI: 64 GAP_VERSION: 4.11.0 PACKAGES: latest diff --git a/ci/docker-test.sh b/ci/docker-test.sh index 0bbc1a668..d1f59d0c4 100755 --- a/ci/docker-test.sh +++ b/ci/docker-test.sh @@ -107,6 +107,11 @@ sudo chown -R gap: $GAP_HOME/pkg/digraphs bold "Compiling the Digraphs package..." cd "$GAP_HOME/pkg/digraphs" + +aclocal --version +autoconf --version +autoheader --version + ./autogen.sh ./configure $PKG_FLAGS $EXTRA_PKG_FLAGS make diff --git a/configure.ac b/configure.ac index b742c0851..60f52a93a 100644 --- a/configure.ac +++ b/configure.ac @@ -9,25 +9,12 @@ dnl ## dnl ## Setup autoconf dnl ## AC_PREREQ([2.68]) -AC_INIT([digraphs], m4_esyscmd([tr -d '\n' < .VERSION])) +AC_INIT([digraphs], [GAP package]) AC_CONFIG_SRCDIR([src/digraphs.c]) -AC_CONFIG_HEADERS([src/_pkgconfig.h:cnf/pkgconfig.h.in]) +AC_CONFIG_HEADERS([gen/pkgconfig.h:src/pkgconfig.h.in]) AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_AUX_DIR([cnf]) -dnl ## -dnl ## Get canonical host info -dnl ## -AC_CANONICAL_HOST - -dnl ## -dnl ## Setup automake -dnl ## -AM_INIT_AUTOMAKE([1.11 -Wall foreign subdir-objects]) -AM_SILENT_RULES([yes]) -AM_PROG_AR - -AX_PREFIX_CONFIG_H([src/digraphs-config.h],[],[src/_pkgconfig.h]) +AX_PREFIX_CONFIG_H([src/digraphs-config.h],[digraphs],[gen/pkgconfig.h]) AC_PREFIX_DEFAULT('${abs_top_builddir}/../../bin/') @@ -38,26 +25,11 @@ AC_PROG_CC AC_PROG_CXX AC_LANG([C++]) -dnl ## -dnl ## Setup libtool (for building the GAP kernel extension) -dnl ## -LT_PREREQ([2.4.2]) -LT_INIT([disable-static dlopen win32-dll]) - dnl ## dnl ## Locate the GAP root dir dnl ## FIND_GAP -dnl ## -dnl ## Detect Windows resp. Cygwin -dnl ## -case $host_os in - *cygwin* ) CYGWIN=yes;; - * ) CYGWIN=no;; -esac -AM_CONDITIONAL([SYS_IS_CYGWIN], [test "$CYGWIN" = "yes"]) - dnl ## User setting: Debug mode (off by default) AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug], [enable debug mode])], @@ -66,8 +38,8 @@ AC_ARG_ENABLE([debug], ) AC_MSG_CHECKING([whether to enable debug mode]) AC_MSG_RESULT([$enable_debug]) - -AM_CONDITIONAL([KERNEL_DEBUG], [test "x$enable_debug" = xyes]) +KERNEL_DEBUG=$enable_debug +AC_SUBST(KERNEL_DEBUG) AC_ARG_ENABLE([stats], [AS_HELP_STRING([--enable-stats], [enable stats mode])], @@ -76,10 +48,25 @@ AC_ARG_ENABLE([stats], ) AC_MSG_CHECKING([whether to enable stats mode]) AC_MSG_RESULT([$enable_stats]) +ENABLE_STATS=$enable_debug +AC_SUBST(ENABLE_STATS) + +AC_ARG_ENABLE([code-coverage], + AS_HELP_STRING([--enable-code-coverage], + [Whether to enable code coverage support]),, + enable_code_coverage=no) +AC_MSG_CHECKING([whether to build with code coverage support]) +AC_MSG_RESULT($enable_code_coverage) + +AS_IF([ test "$enable_code_coverage" = "yes" ], [ + CODE_COVERAGE_CFLAGS="-DNDEBUG -O0 -g --coverage" + CODE_COVERAGE_CXXFLAGS="-DNDEBUG -O0 -g --coverage" + CODE_COVERAGE_LDFLAGS="--coverage" + AC_SUBST([CODE_COVERAGE_CFLAGS]) + AC_SUBST([CODE_COVERAGE_CXXFLAGS]) + AC_SUBST([CODE_COVERAGE_LDFLAGS]) +]) -AM_CONDITIONAL([ENABLE_STATS], [test "x$enable_stats" = xyes]) - -AX_CODE_COVERAGE() # Enable compiler warnings @@ -106,17 +93,14 @@ AS_IF([test "x$enable_compile_warnings" != "xno"], # Check for system planarity suite -AX_CHECK_PLANARITY() - +AX_CHECK_PLANARITY if test "x$with_external_planarity" = xno ; then - AC_CONFIG_SUBDIRS([extern/edge-addition-planarity-suite-Version_3.0.1.0]) PLANARITY_SUITE_DIR=extern/edge-addition-planarity-suite-Version_3.0.1.0 AC_SUBST(PLANARITY_SUITE_DIR) fi # Check for system bliss suite - -AX_CHECK_BLISS() +AX_CHECK_BLISS # Check whether to use -mpopcnt and __builtin_ctzl AC_ARG_WITH([intrinsics], diff --git a/m4/ax_append_compile_flags.m4 b/m4/ax_append_compile_flags.m4 index 5b6f1af51..9c856356c 100644 --- a/m4/ax_append_compile_flags.m4 +++ b/m4/ax_append_compile_flags.m4 @@ -30,33 +30,12 @@ # # Copyright (c) 2011 Maarten Bosmans # -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. -#serial 6 +#serial 7 AC_DEFUN([AX_APPEND_COMPILE_FLAGS], [AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG]) diff --git a/m4/ax_append_flag.m4 b/m4/ax_append_flag.m4 index e8c5312af..dd6d8b614 100644 --- a/m4/ax_append_flag.m4 +++ b/m4/ax_append_flag.m4 @@ -23,33 +23,12 @@ # Copyright (c) 2008 Guido U. Draheim # Copyright (c) 2011 Maarten Bosmans # -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. -#serial 7 +#serial 8 AC_DEFUN([AX_APPEND_FLAG], [dnl diff --git a/m4/ax_check_bliss.m4 b/m4/ax_check_bliss.m4 index b73524b0e..b418072a2 100644 --- a/m4/ax_check_bliss.m4 +++ b/m4/ax_check_bliss.m4 @@ -24,8 +24,9 @@ AC_DEFUN([AX_CHECK_BLISS], [ [AC_MSG_ERROR([no external bliss headers found])]) AC_LANG_POP() fi - AM_CONDITIONAL([WITH_INCLUDED_BLISS], [test "x$with_external_bliss" = xno]) if test "x$with_external_bliss" = xno ; then + WITH_INCLUDED_BLISS=yes + AC_SUBST(WITH_INCLUDED_BLISS) AC_DEFINE([WITH_INCLUDED_BLISS], [1], [define that we should use the vendored bliss]) diff --git a/m4/ax_check_planarity.m4 b/m4/ax_check_planarity.m4 index e18bbb5cb..2d44c9068 100644 --- a/m4/ax_check_planarity.m4 +++ b/m4/ax_check_planarity.m4 @@ -24,8 +24,9 @@ AC_DEFUN([AX_CHECK_PLANARITY], [ [AC_MSG_ERROR([no external planarity headers found])]) AC_LANG_POP() fi - AM_CONDITIONAL([WITH_INCLUDED_PLANARITY], [test "x$with_external_planarity" = xno]) if test "x$with_external_planarity" = xno ; then + WITH_INCLUDED_PLANARITY=yes + AC_SUBST(WITH_INCLUDED_PLANARITY) AC_DEFINE([WITH_INCLUDED_PLANARITY], [1], [define that we should use the vendored planarity]) diff --git a/m4/ax_code_coverage.m4 b/m4/ax_code_coverage.m4 deleted file mode 100644 index 6484f0332..000000000 --- a/m4/ax_code_coverage.m4 +++ /dev/null @@ -1,264 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_code_coverage.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CODE_COVERAGE() -# -# DESCRIPTION -# -# Defines CODE_COVERAGE_CPPFLAGS, CODE_COVERAGE_CFLAGS, -# CODE_COVERAGE_CXXFLAGS and CODE_COVERAGE_LIBS which should be included -# in the CPPFLAGS, CFLAGS CXXFLAGS and LIBS/LIBADD variables of every -# build target (program or library) which should be built with code -# coverage support. Also defines CODE_COVERAGE_RULES which should be -# substituted in your Makefile; and $enable_code_coverage which can be -# used in subsequent configure output. CODE_COVERAGE_ENABLED is defined -# and substituted, and corresponds to the value of the -# --enable-code-coverage option, which defaults to being disabled. -# -# Test also for gcov program and create GCOV variable that could be -# substituted. -# -# Note that all optimization flags in CFLAGS must be disabled when code -# coverage is enabled. -# -# Usage example: -# -# configure.ac: -# -# AX_CODE_COVERAGE -# -# Makefile.am: -# -# @CODE_COVERAGE_RULES@ -# my_program_LIBS = ... $(CODE_COVERAGE_LIBS) ... -# my_program_CPPFLAGS = ... $(CODE_COVERAGE_CPPFLAGS) ... -# my_program_CFLAGS = ... $(CODE_COVERAGE_CFLAGS) ... -# my_program_CXXFLAGS = ... $(CODE_COVERAGE_CXXFLAGS) ... -# -# This results in a "check-code-coverage" rule being added to any -# Makefile.am which includes "@CODE_COVERAGE_RULES@" (assuming the module -# has been configured with --enable-code-coverage). Running `make -# check-code-coverage` in that directory will run the module's test suite -# (`make check`) and build a code coverage report detailing the code which -# was touched, then print the URI for the report. -# -# In earlier versions of this macro, CODE_COVERAGE_LDFLAGS was defined -# instead of CODE_COVERAGE_LIBS. They are both still defined, but use of -# CODE_COVERAGE_LIBS is preferred for clarity; CODE_COVERAGE_LDFLAGS is -# deprecated. They have the same value. -# -# This code was derived from Makefile.decl in GLib, originally licenced -# under LGPLv2.1+. -# -# LICENSE -# -# Copyright (c) 2012, 2016 Philip Withnall -# Copyright (c) 2012 Xan Lopez -# Copyright (c) 2012 Christian Persch -# Copyright (c) 2012 Paolo Borelli -# Copyright (c) 2012 Dan Winship -# Copyright (c) 2015 Bastien ROUCARIES -# -# This library is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at -# your option) any later version. -# -# This library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser -# General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . - -#serial 25 - -AC_DEFUN([AX_CODE_COVERAGE],[ - dnl Check for --enable-code-coverage - AC_REQUIRE([AC_PROG_SED]) - - # allow to override gcov location - AC_ARG_WITH([gcov], - [AS_HELP_STRING([--with-gcov[=GCOV]], [use given GCOV for coverage (GCOV=gcov).])], - [_AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov], - [_AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov]) - - AC_MSG_CHECKING([whether to build with code coverage support]) - AC_ARG_ENABLE([code-coverage], - AS_HELP_STRING([--enable-code-coverage], - [Whether to enable code coverage support]),, - enable_code_coverage=no) - - AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) - AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage]) - AC_MSG_RESULT($enable_code_coverage) - - AS_IF([ test "$enable_code_coverage" = "yes" ], [ - # check for gcov - AC_CHECK_TOOL([GCOV], - [$_AX_CODE_COVERAGE_GCOV_PROG_WITH], - [:]) - AS_IF([test "X$GCOV" = "X:"], - [AC_MSG_ERROR([gcov is needed to do coverage])]) - AC_SUBST([GCOV]) - - dnl Check if gcc is being used - AS_IF([ test "$GCC" = "no" ], [ - AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage]) - ]) - - AC_CHECK_PROG([LCOV], [lcov], [lcov]) - AC_CHECK_PROG([GENHTML], [genhtml], [genhtml]) - - AS_IF([ test -z "$LCOV" ], [ - AC_MSG_ERROR([To enable code coverage reporting you must have lcov installed]) - ]) - - AS_IF([ test -z "$GENHTML" ], [ - AC_MSG_ERROR([Could not find genhtml from the lcov package]) - ]) - - dnl Build the code coverage flags - dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility - CODE_COVERAGE_CPPFLAGS="-DNDEBUG" - CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" - CODE_COVERAGE_LIBS="-lgcov" - CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" - - AC_SUBST([CODE_COVERAGE_CPPFLAGS]) - AC_SUBST([CODE_COVERAGE_CFLAGS]) - AC_SUBST([CODE_COVERAGE_CXXFLAGS]) - AC_SUBST([CODE_COVERAGE_LIBS]) - AC_SUBST([CODE_COVERAGE_LDFLAGS]) - - [CODE_COVERAGE_RULES_CHECK=' - -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check - $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture -'] - [CODE_COVERAGE_RULES_CAPTURE=' - $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) - $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) - -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp - $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) - @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" -'] - [CODE_COVERAGE_RULES_CLEAN=' -clean: code-coverage-clean -distclean: code-coverage-clean -code-coverage-clean: - -$(LCOV) --directory $(top_builddir) -z - -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete -'] - ], [ - [CODE_COVERAGE_RULES_CHECK=' - @echo "Need to reconfigure with --enable-code-coverage" -'] - CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" - CODE_COVERAGE_RULES_CLEAN='' - ]) - -[CODE_COVERAGE_RULES=' -# Code coverage -# -# Optional: -# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. -# Multiple directories may be specified, separated by whitespace. -# (Default: $(top_builddir)) -# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated -# by lcov for code coverage. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) -# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage -# reports to be created. (Default: -# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) -# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, -# set to 0 to disable it and leave empty to stay with the default. -# (Default: empty) -# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov -# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov -# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov -# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the -# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov -# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering -# lcov instance. (Default: empty) -# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov -# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the -# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) -# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml -# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore -# -# The generated report will be titled using the $(PACKAGE_NAME) and -# $(PACKAGE_VERSION). In order to add the current git hash to the title, -# use the git-version-gen script, available online. - -# Optional variables -CODE_COVERAGE_DIRECTORY ?= $(top_builddir) -CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info -CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage -CODE_COVERAGE_BRANCH_COVERAGE ?= -CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) -CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" -CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) -CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) -CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= -CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) -CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ -$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ ---rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) -CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) -CODE_COVERAGE_IGNORE_PATTERN ?= - -GITIGNOREFILES ?= -GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) - -code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) -code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ - $(CODE_COVERAGE_OUTPUT_FILE); -code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) -code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ - $(CODE_COVERAGE_IGNORE_PATTERN); -code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) -code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) -code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); -code_coverage_quiet = $(code_coverage_quiet_$(V)) -code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) -code_coverage_quiet_0 = --quiet - -# sanitizes the test-name: replaces with underscores: dashes and dots -code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) - -# Use recursive makes in order to ignore errors during check -check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' - -# Capture code coverage data -code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' - -# Hook rule executed before code-coverage-capture, overridable by the user -code-coverage-capture-hook: - -'"$CODE_COVERAGE_RULES_CLEAN"' - -A''M_DISTCHECK_CONFIGURE_FLAGS ?= -A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage - -.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean -'] - - AC_SUBST([CODE_COVERAGE_RULES]) - m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES])]) -]) diff --git a/src/CPPLINT.cfg b/src/CPPLINT.cfg index ebe3d5303..5409d4c1e 100644 --- a/src/CPPLINT.cfg +++ b/src/CPPLINT.cfg @@ -2,4 +2,4 @@ set noparent filter=-build/include_subdir,-runtime/indentation_namespace,-runtime/references, -readability/casting,-runtime/threadsafe_fn,-runtime/int,-readability/todo linelength=80 root=../.. -exclude_files=(_pkgconfig.h|digraphs-config.h) +exclude_files=(pkgconfig.h|digraphs-config.h) diff --git a/src/cliques.c b/src/cliques.c index abb86907c..487608df9 100644 --- a/src/cliques.c +++ b/src/cliques.c @@ -6,7 +6,7 @@ // // This file is free software, see the digraphs/LICENSE. -#include +#include "cliques.h" // C headers #include // for true, false, bool