Hi Mike, On Thu, Apr 16 2015 at 08:23:21 PM, Mike Bianchi <mbian...@foveal.com> wrote: > I've been dealing with updates to contrib/gmkdiff within groff, and there > is an issue that I could use some help with ... > > Over the years, the bash-isms of the original shell script have been removed, > but the basic algorithm depends of Gnu's sed(1) and diff(1) . As I > understand it, it _might_ be possible to have autoconf/automake apply the > appropriate changes to the script to use the appropriate version of those > commands when it shows up on non-Gnu environments. Solaris is the problematic > OS of the moment, but my head swims when I ponder Makefile.am , Makefile.in > , > etc. > > Is there any autoconf/automake guru out there > willing to help me get this right? > > Discussion can be found at > http://savannah.gnu.org/bugs/?44768
I've just read the discussion but I'm not sure to understand: do you absolutely need the GNU's variant of `sed' and `diff' programs or do you have a possible substitute for `sed' and `diff' (for example using Solaris' `sed' and `diff' with different options) ? What exactly is the problem with Solaris' `sed' and `diff'? Currently, how do you make work the gdiffmk script on your system, you use -x and -s option with GNU programs or something else? Werner has already given some explanations on how solve this problem: "1. In configure.ac (or in m4/groff.m4) a test for the `diff' program is needed, probably using AC_CHECK_PROGS; autoconf doesn't provide something in advance – note that the `configure' script itself already needs the `diff' program, but it doesn't provide a macro; it simply assumes that it is available in the path. `sed' is covered by AC_PROG_SED. 2. In gdiffmk.sh, use @SED@ and @DIFF@ (or whatever symbols are actually used in configure.ac) instead of `sed' and `diff'. 3. In the sub-makefile `contrib/gdiffmk/gdiffmk.am' you have to extend the `gdiffmk' rule to substitute @SED@ and @DIFF@ with its real values." The only thing is that AC_PROG_SED, according to autoconf's documentation, "Set output variable SED to a Sed implementation that conforms to Posix and does not have arbitrary length limits. Report an error if no acceptable Sed is found". If Solaris's `sed' complies to that configure will be happy to use it. So we might need to write macro that tests the system's `sed' (provoking the problem you see in gdiffmk on your system) and then make the appropriate substitution. Could you please describe what are the problematic `diff' and `sed' commands on your system? Regards, -- Bertrand Garrigues