From 0ad317ec16fa836321617c10a8c6ba5c70f156b8 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Fri, 3 Mar 2017 15:13:30 +0100 Subject: build system portability fixes * especially to improve building on FreeBSD 11 * We need GNU Make, yet alone because Scintilla/Scinterm needs it. We now document that dependency and added an Autoconf check from the autoconf-archive. We make sure that the build process is invoked with GNU make by generating only GNUmakefiles. The Makefile.am files have not been renamed, so this change can be rolled back easily. * Some GNU-Make-specific autoreconf warnings have still been resolved. But not all of them, as this would have been unelegant and we need GNU Make anyway. * Declare ACLOCAL_AMFLAGS to appease autoreconf * Added an explicit check for C++11 from the autoconf-archives. In general we should support building with every C++11 compiler that is sufficiently GNU-like. * Do not use `sed` for inplace editing, as different sed-implementations have mutually incompatible syntax for this. Instead of declaring and checking a dependency on GNU sed, we simply use SciTECO for the editing task. This improves code portability on BSDs. * Similarily, BSD/POSIX `cmp` is supported now. This fixes the test suite on BSD without declaring a dependency on the GNU coreutils. * Simplified sciteco-wrapper generation. --- doc/Makefile.am | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index 45a1428..ad60d7c 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,5 +1,5 @@ -# Make sure that $BOOTSTRAP_SCITECO and the SciTECO-based -# substitutor is available. +# Make sure that $(SCITECO_FULL) and the SciTECO-based +# substitutor for *.in is available. include $(top_srcdir)/bootstrap.am # tedoc is a code documentation tool for SciTECO commands @@ -9,9 +9,9 @@ include $(top_srcdir)/bootstrap.am # preprocessor to manpage templates. dist_bin_SCRIPTS = tedoc.tes -%.in : %.template tedoc.tes $(SOURCES) +%.in : %.template tedoc.tes @top_srcdir@/src/*.cpp $(SCITECO_FULL) -m -- @srcdir@/tedoc.tes \ - -C $@ $< $(SOURCES) + -C $@ $< @top_srcdir@/src/*.cpp # grosciteco is a troff postprocessor similar to grotty # which can be used to produce SciTECO-friendly output @@ -28,13 +28,13 @@ dist_bin_SCRIPTS += grosciteco.tes dist_pkgdata_DATA = sciteco.tmac # Fix up the hash-bang line of installed SciTECO scripts upon -# installation to refer to the installed sciteco binary. +# installation to refer to the installed sciteco binary, +# or rather to the sciteco-wrapper script. # This takes --program-prefix into account. install-exec-hook: - for script in $(DESTDIR)$(bindir)/*.tes; do \ - @SED@ -i "1s,#!.*sciteco,#!$(libexecdir)/`echo sciteco-wrapper | @SED@ '$(transform)'`$(EXEEXT)," \ - $$script; \ - done + $(SCITECO_FULL) -e "@EB'$(DESTDIR)$(bindir)/*.tes' 1U* \ + EJ-1<%*^[ 0,L.@FR'#!^EM^Xsciteco'#!$(SCITECO_WRAPPER_INSTALLED)'> \ + :EX" womendir = $(scitecolibdir)/women @@ -74,7 +74,6 @@ EXTRA_DIST += sciteco.1.in man_MANS += sciteco.7 EXTRA_DIST += sciteco.7.template CLEANFILES += sciteco.7.in sciteco.7.htbl -SOURCES = $(wildcard @top_srcdir@/src/*.cpp) CLEANFILES += $(man_MANS) @@ -91,7 +90,8 @@ endif %.htbl : % htbl.tes $(SCITECO_FULL) -m -- @srcdir@/htbl.tes $< $@ -%.html : %.htbl +SUFFIXES += .htbl .html +.htbl.html: @GROFF@ -wall -Thtml -man $< >$@ # -- cgit v1.2.3