bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: aclocal reports errors when building gawk 3.1.0


From: Peter J. Farley III
Subject: Re: aclocal reports errors when building gawk 3.1.0
Date: Fri, 10 Aug 2001 23:28:23 -0400

Reporting back, as promised.  Mostly good news.

I loaded the latest GNU gettext DJGPP port, 0.10.39. This improved things a great deal. I have been able to build both an NLS-aware gawk and a non-NLS-aware gawk 3.1.0 now. Here are the ports that proved to be crucial:

gettext 0.10.39
automake 1.4-p4
libiconv 1.7

The latter is required for NLS on DJGPP, I don't know if that's true for other systems.

With the patches below, and deleting the three duplicated m4/*.m4 files (m4/gettext.m4, m4/lcmessages.m4, and m4/progtest.m4), I can build and successfully test NLS-aware gawk with the gettext and libiconv packages, or if I remove those packages from my system, I can build and successfully test a non-NLS-aware gawk using the "--disable-nls" configure switch.

Note that "successfully test" excludes the "pid" and "clos1way" tests due to DJGPP/MS-DOS restrictions.

One small hiccup remains: Without the NLS packages installed, and with the three duplicated m4/*.m4 files deleted, "aclocal" complains that "AM_GNU_GETTEXT" in configure.in is not found in "the library", which is true -- it's gone. I don't know enough about aclocal to build a test that would exclude "AM_GNU_GETTEXT" when NLS support is not present on the system. If anyone can suggest a solution, I will try to implement it.

This is the sequence of commands that I used to build an NLS-aware gawk from inside a bash shell:

cp -a pc/gawkmisc.pc .
aclocal -I m4
autoheader
automake --gnu Makefile --add-missing --copy
automake --gnu awklib/Makefile
automake --gnu doc/Makefile
automake --gnu test/Makefile
autoconf
./configure --prefix='/dev/env/DJDIR' --without-included-gettext
CMP=diff make > make.log 2>&1
CMP=diff make check > test.log 2>&1

The non-NLS-aware command sequence is very nearly identical, except that "--without-included-gettext" is replaced with "--disable-nls".

Here are the diff files:

====================acinclm4.dif====================
*** gawk-3.1.0u/acinclude.m4    Tue Sep  5 15:22:30 2000
--- gawk-3.1.0/acinclude.m4     Fri Aug 10 00:31:08 2001
***************
*** 1,8 ****
  sinclude(arch.m4)dnl
- sinclude(gettext.m4)dnl
  sinclude(jm-mktime.m4)dnl
  sinclude(largefile.m4)dnl
- sinclude(lcmessage.m4)dnl
- sinclude(progtest.m4)dnl
  sinclude(socket.m4)dnl
  sinclude(strtod.m4)dnl
--- 1,5 ----
====================acinclm4.dif====================

====================configin.dif====================
*** gawk-3.1.0u/configure.in    Tue May 15 16:46:40 2001
--- gawk-3.1.0/configure.in     Fri Aug 10 00:31:08 2001
***************
*** 151,158 ****
  dnl check for how to use getpgrp
  dnl have to hardwire it for VMS POSIX. Sigh.
  dnl ditto for BeOS.
  case `(uname) 2> /dev/null` in
! *VMS*|*BeOS*)
        AC_DEFINE(GETPGRP_VOID)
        ;;
  *)    AC_FUNC_GETPGRP
--- 151,159 ----
  dnl check for how to use getpgrp
  dnl have to hardwire it for VMS POSIX. Sigh.
  dnl ditto for BeOS.
+ dnl ditto for MS-DOS(DJGPP).
  case `(uname) 2> /dev/null` in
! *VMS*|*BeOS*|*MS-DOS*)
        AC_DEFINE(GETPGRP_VOID)
        ;;
  *)    AC_FUNC_GETPGRP
====================configin.dif====================

====================fixvers.dif====================
*** gawk-3.1.0u/fixvers Sun Jan 21 15:55:06 2001
--- gawk-3.1.0/fixvers  Fri Aug 10 00:31:08 2001
***************
*** 28,34 ****
  -v)
VERS=`echo $line | sed 's/.*, *\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\))/\1.\2/'`
        sed "s/X\.Y/$VERS/" < version.in > version.new
!       if cmp version.c version.new
        then
                :
        else
--- 28,34 ----
  -v)
VERS=`echo $line | sed 's/.*, *\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\))/\1.\2/'`
        sed "s/X\.Y/$VERS/" < version.in > version.new
!       if $CMP version.c version.new
        then
                :
        else
***************
*** 40,46 ****
  -p)
LEV=`echo $line | sed 's/.*, *\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\))/\3/'`
        echo "#define PATCHLEVEL   $LEV" > patchlev.new
!       if cmp patchlev.h patchlev.new
        then
                :
        else
--- 40,46 ----
  -p)
LEV=`echo $line | sed 's/.*, *\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\))/\3/'`
        echo "#define PATCHLEVEL   $LEV" > patchlev.new
!       if $CMP patchlev.h patchlev.new
        then
                :
        else
====================fixvers.dif====================

====================gwkmscpc.dif====================
*** gawk-3.1.0u/pc/gawkmisc.pc  Sun Jan 28 13:49:24 2001
--- gawk-3.1.0/pc/gawkmisc.pc   Fri Aug 10 00:31:08 2001
***************
*** 23,29 ****
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
   */

! char quote = '"';
  char envsep  = ';';
  #ifdef DEFPATH
  char *defpath = DEFPATH;
--- 23,29 ----
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
   */

! char quote = '\'';
  char envsep  = ';';
  #ifdef DEFPATH
  char *defpath = DEFPATH;
====================gwkmscpc.dif====================

====================makeflam.dif====================
*** gawk-3.1.0u/Makefile.am     Tue May 15 17:09:08 2001
--- gawk-3.1.0/Makefile.am      Fri Aug 10 00:31:58 2001
***************
*** 56,61 ****
--- 56,64 ----
        unsupported \
        vms

+ # This insures that make can use cmp for *ix and diff for DJGPP/MS-DOS.
+ CMP ?= cmp
+
  # The order to do things in.
  # Build in intl first in case we need the local gettext version.
  # Build explicitly  "." next in order to build gawk first, so
***************
*** 155,161 ****
  # on what's in configure.in.  No-one else but me should have
  # to use them. So there.
  patchlev.h: configure.in
!       ./fixvers -p

  version.c: configure.in version.in
!       ./fixvers -v
--- 158,164 ----
  # on what's in configure.in.  No-one else but me should have
  # to use them. So there.
  patchlev.h: configure.in
!       CMP=$(CMP) ./fixvers -p

  version.c: configure.in version.in
!       CMP=$(CMP) ./fixvers -v
====================makeflam.dif====================

====================makintin.dif====================
*** gawk-3.1.0u/intl/Makefile.in        Tue Jun 27 12:15:28 2000
--- gawk-3.1.0/intl/Makefile.in Fri Aug 10 00:31:14 2001
***************
*** 41,47 ****
  INSTALL_DATA = @INSTALL_DATA@
  MKINSTALLDIRS = @MKINSTALLDIRS@

! l = @l@

  AR = ar
  CC = @CC@
--- 41,47 ----
  INSTALL_DATA = @INSTALL_DATA@
  MKINSTALLDIRS = @MKINSTALLDIRS@

! l = @INTL_LIBTOOL_SUFFIX_PREFIX@

  AR = ar
  CC = @CC@
====================makintin.dif====================

====================maklibam.dif====================
*** gawk-3.1.0u/awklib/Makefile.am      Tue Feb 27 09:53:18 2001
--- gawk-3.1.0/awklib/Makefile.am       Fri Aug 10 00:31:14 2001
***************
*** 31,38 ****
  bin_SCRIPTS = igawk
  libexec_PROGRAMS = pwcat grcat
  AUXAWK = passwd.awk group.awk
- nodist_grcat_SOURCES = grcat.c
- nodist_pwcat_SOURCES = pwcat.c

  all: stamp-eg $(AUXPROGS) igawk $(AUXAWK)

--- 31,36 ----
====================maklibam.dif====================

====================maktstam.dif====================
*** gawk-3.1.0u/test/Makefile.am        Tue Mar 20 09:09:42 2001
--- gawk-3.1.0/test/Makefile.am Fri Aug 10 00:32:34 2001
***************
*** 347,353 ****
        zeroflag.awk \
        zeroflag.ok

! CMP = cmp
  AWK = ../gawk

  # message stuff is to make it a little easier to follow
--- 347,355 ----
        zeroflag.awk \
        zeroflag.ok

! # This insures that make can use cmp for *ix and diff for DJGPP/MS-DOS.
! CMP ?= cmp
!
  AWK = ../gawk

  # message stuff is to make it a little easier to follow
***************
*** 383,389 ****
  inet:   inetmesg inetechu inetecht inetdayu inetdayt

  msg::
!       @echo 'Any output from "cmp" is bad news, although some differences'
@echo 'in floating point values are probably benign -- in particular,'
        @echo 'some systems may omit a leading zero and the floating point'
@echo 'precision may lead to slightly different output in a few cases.'
--- 385,391 ----
  inet:   inetmesg inetechu inetecht inetdayu inetdayt

  msg::
! @echo 'Any output from "'$(CMP)'" is bad news, although some differences' @echo 'in floating point values are probably benign -- in particular,'
        @echo 'some systems may omit a leading zero and the floating point'
@echo 'precision may lead to slightly different output in a few cases.'
***************
*** 475,481 ****
        @mkdir junk
        @$(AWK) 'BEGIN { for (i = 1; i <= 300; i++) print i, i}' >_$@
        @$(AWK) -f $(srcdir)/manyfiles.awk _$@ _$@
!       @echo "This number better be 1 ->" | tr -d '\012'
        @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l
        @rm -rf junk _$@

--- 477,483 ----
        @mkdir junk
        @$(AWK) 'BEGIN { for (i = 1; i <= 300; i++) print i, i}' >_$@
        @$(AWK) -f $(srcdir)/manyfiles.awk _$@ _$@
!       @echo "This number better be 1 ->" | tr -d '\012\015'
        @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l
        @rm -rf junk _$@

***************
*** 525,531 ****
        -$(CMP) $(srcdir)/splitargv.ok _$@ && rm -f _$@

  awkpath::
!       @AWKPATH="$(srcdir):$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@
        -$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@

  nfset::
--- 527,537 ----
        -$(CMP) $(srcdir)/splitargv.ok _$@ && rm -f _$@

  awkpath::
!       @if test x$DJDIR = x; then \
!               AWKPATH="$(srcdir):$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@; \
!       else \
!               AWKPATH="$(srcdir);$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@; \
!       fi
        -$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@

  nfset::
***************
*** 735,742 ****
# AIX /bin/sh exec's the last command in a list, therefore issue a ":"
  # command so that pid.sh is fork'ed as a child before being exec'ed.
  pid::
! @AWKPATH=$(srcdir) AWK=$(AWK) $(SHELL) $(srcdir)/pid.sh $$$$ > _`basename address@hidden ; : ! -$(CMP) $(srcdir)/pid.ok _`basename address@hidden && rm -f _`basename address@hidden _`basename address@hidden

  strftlng::
        @TZ=UTC; export TZ; $(AWK) -f $(srcdir)/strftlng.awk >_$@
--- 741,752 ----
# AIX /bin/sh exec's the last command in a list, therefore issue a ":"
  # command so that pid.sh is fork'ed as a child before being exec'ed.
  pid::
!       @if test x$DJDIR = x; then \
! AWKPATH=$(srcdir) AWK=$(AWK) $(SHELL) $(srcdir)/pid.sh $$$$ > _`basename address@hidden ; : ; \ ! $(CMP) $(srcdir)/pid.ok _`basename address@hidden && rm -f _`basename address@hidden _`basename address@hidden ; \
!       else \
!               echo "/dev/pid, /dev/ppid test bypassed for DJGPP"; \
!       fi

  strftlng::
        @TZ=UTC; export TZ; $(AWK) -f $(srcdir)/strftlng.awk >_$@
***************
*** 981,988 ****
        -$(CMP) $(srcdir)/leaddig.ok _$@ && rm -f _$@

  clos1way::
!       @$(AWK) -f $(srcdir)/clos1way.awk >_$@
!       -$(CMP) $(srcdir)/clos1way.ok _$@ && rm -f _$@

  arynasty::
        @$(AWK) -f $(srcdir)/arynasty.awk >_$@
--- 991,1002 ----
        -$(CMP) $(srcdir)/leaddig.ok _$@ && rm -f _$@

  clos1way::
!       @if test x$DJDIR = x; then \
!               $(AWK) -f $(srcdir)/clos1way.awk >_$@; \
!               $(CMP) $(srcdir)/clos1way.ok _$@ && rm -f _$@; \
!       else \
!               echo "clos1way test bypassed for DJGPP, |& not implemented"; \
!       fi

  arynasty::
        @$(AWK) -f $(srcdir)/arynasty.awk >_$@
====================maktstam.dif====================

====================strtodm4.dif====================
*** gawk-3.1.0u/m4/strtod.m4    Sun Jan 21 15:55:26 2001
--- gawk-3.1.0/m4/strtod.m4     Fri Aug 10 00:31:12 2001
***************
*** 49,54 ****
--- 49,55 ----
       exit (0);
    else
       exit (1);
+ #endif
  }],
  gawk_ac_cv_func_strtod_c89=yes, gawk_ac_cv_func_strtod_c89=no,
  gawk_ac_cv_func_strtod_c89=no)])
====================strtodm4.dif====================

HTH

---------------------------------------------------------
Peter J. Farley III (address@hidden)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]