bug-gnulib
[Top][All Lists]
Advanced

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

Re: hello 2.1.91 pretest


From: Mark D. Baushke
Subject: Re: hello 2.1.91 pretest
Date: Sun, 20 Aug 2006 21:30:04 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Karl,

Of possible interest to GNULIB maintainers, running the 

   ../gnulib/gnulib-tool --update

command from the hello-2.1.91 directory on a Solaris 9 box yeilds a
syntax error:

../gnulib/gnulib-tool: syntax error at line 634: `}' unexpected

Using 

  /bin/bash ../gnulib/gnulib-tool --update

does not generate the error. This is for gnulib-tool revision 1.137.

I am more of a novice when it comes to GNULIB setup, but I'll give you
some of my feedback below.


Hmmm... It might be nice if there were some kind of a readme that talks
about the non-default location of the m4 directory being in gnulib/m4
instead of m4 ... although I guess as long as aclocal.m4 exists I dont'
really need needing an 'autoreconf --include=gnulib/m4' as I will get
the same warnings

% autoreconf
aclocal:gnulib/m4/gettext.m4:418: warning: macro `AM_LANGINFO_CODESET' not 
found in library
% autoreconf --version
autoreconf (GNU Autoconf) 2.60
Written by David J. MacKenzie and Akim Demaille.

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
% 

The big modification to the Makefile.in files when I do the autoreconf
is that the $(top_srcdir)/gnulib/m4/strerror_r.m4 is removed from all of
the am__aclocal_m4_deps macros.

[I will happily note that the problem no longer exists in the CVS
repository for hello.]


Given that you are using non-default directories of

    --m4-base=gnulib/m4 --source-base=gnulib/lib

doing a '../gnulib/gnulib-tool --update' is not going to do the right
thing with a missing gnulib/m4/gnulib-cache.m4 file and it appears that

bash ../gnulib/gnulib-tool --update --m4-base=gnulib/m4 --source-base=gnulib/lib

will complain that I really need to use 'gnulib --import' which is
somewhat anoying...

% ../gnulib/gnulib-tool --import --m4-base=gnulib/m4 --source-base=gnulib/lib 
Module list with included dependencies:
  
File list:
  lib/dummy.c
Copying file gnulib/lib/dummy.c
Copying file gnulib/m4/gnulib-tool.m4
Updating gnulib/lib/Makefile.am (backup in gnulib/lib/Makefile.am~)
Creating gnulib/m4/gnulib-cache.m4
Updating gnulib/m4/gnulib-comp.m4 (backup in gnulib/m4/gnulib-comp.m4~)
Finished.

You may need to add #include directives for the following .h files.

Don't forget to
  - add "gnulib/lib/Makefile" to AC_CONFIG_FILES in ./configure.ac,
  - mention "lib" in SUBDIRS in gnulib/Makefile.am,
  - mention "-I gnulib/m4" in ACLOCAL_AMFLAGS in Makefile.am,
  - invoke gl_EARLY in ./configure.ac, right after AC_PROG_CC,
  - invoke gl_INIT in ./configure.ac.
%

Hmmm... the gnulib-tool template output assumes that a gnulib/Makefile.am
file should exist... I wonder if that is really needed?

If I didn't pay close attention to my lib and m4 directory locations and
used '../gnulib/gnulib-tool --update' it generates odd contents in a new
lib and m4 directories:

bash-2.05$ ls gnulib/lib lib
gnulib/lib:
Makefile.am     close-stream.h  exit.h      getopt_.h     stdbool_.h
Makefile.in     closeout.c      exitfail.c  getopt_int.h  xalloc-die.c
__fpending.c    closeout.h      exitfail.h  gettext.h     xalloc.h
__fpending.h    error.c         getopt.c    quotearg.c    xmalloc.c
close-stream.c  error.h         getopt1.c   quotearg.h

lib:
Makefile.am  dummy.c
bash-2.05$ ls gnulib/m4 m4
gnulib/m4:
close-stream.m4  getopt.m4       lib-link.m4    nls.m4       strerror_r.m4
closeout.m4      gettext.m4      lib-prefix.m4  po.m4        unistd_h.m4
error.m4         gnulib-comp.m4  lock.m4        progtest.m4  xalloc.m4
exitfail.m4      iconv.m4        mbrtowc.m4     quotearg.m4
fpending.m4      lib-ld.m4       mbstate_t.m4   stdbool.m4

m4:
gnulib-cache.m4  gnulib-comp.m4  gnulib-tool.m4
bash-2.05$ 

Looking at the CVS project...

  cvs -d :pserver:address@hidden:/sources/hello co hello

The hello/README.dev file does mention the use of --m4-base and
- --source-base and tells users to use 'gnulib-tool --import' ... however,
doing a '--update' should probably be mentioned. Given that we do have a
gnulib-cache.m4 file, live is much better for doing an update.

bash-2.05$ bash ../gnulib/gnulib-tool --update
Module list with included dependencies:
  close-stream
  closeout
  error
  exit
  exitfail
  fpending
  getopt
  gettext
  gettext-h
  havelib
  quotearg
  stdbool
  unistd
  xalloc
  xalloc-die
File list:
  build-aux/config.rpath
  lib/__fpending.c
  lib/__fpending.h
  lib/close-stream.c
  lib/close-stream.h
  lib/closeout.c
  lib/closeout.h
  lib/error.c
  lib/error.h
  lib/exit.h
  lib/exitfail.c
  lib/exitfail.h
  lib/getopt.c
  lib/getopt1.c
  lib/getopt_.h
  lib/getopt_int.h
  lib/gettext.h
  lib/quotearg.c
  lib/quotearg.h
  lib/stdbool_.h
  lib/xalloc-die.c
  lib/xalloc.h
  lib/xmalloc.c
  m4/close-stream.m4
  m4/closeout.m4
  m4/codeset.m4
  m4/error.m4
  m4/exitfail.m4
  m4/fpending.m4
  m4/getopt.m4
  m4/gettext.m4
  m4/glibc2.m4
  m4/glibc21.m4
  m4/iconv.m4
  m4/intdiv0.m4
  m4/intmax.m4
  m4/inttypes-h.m4
  m4/inttypes-pri.m4
  m4/inttypes_h.m4
  m4/lcmessage.m4
  m4/lib-ld.m4
  m4/lib-link.m4
  m4/lib-prefix.m4
  m4/lock.m4
  m4/longdouble.m4
  m4/longlong.m4
  m4/mbrtowc.m4
  m4/mbstate_t.m4
  m4/nls.m4
  m4/po.m4
  m4/printf-posix.m4
  m4/progtest.m4
  m4/quotearg.m4
  m4/signed.m4
  m4/size_max.m4
  m4/stdbool.m4
  m4/stdint_h.m4
  m4/strerror_r.m4
  m4/uintmax_t.m4
  m4/ulonglong.m4
  m4/unistd_h.m4
  m4/visibility.m4
  m4/wchar_t.m4
  m4/wint_t.m4
  m4/xalloc.m4
  m4/xsize.m4
Finished.

You may need to add #include directives for the following .h files.
  #include <getopt.h>
  #include <stdbool.h>
  #include <unistd.h>
  #include "__fpending.h"
  #include "close-stream.h"
  #include "closeout.h"
  #include "error.h"
  #include "exit.h"
  #include "exitfail.h"
  #include "gettext.h"
  #include "quotearg.h"
  #include "xalloc.h"

Don't forget to
  - add "gnulib/lib/Makefile" to AC_CONFIG_FILES in ./configure.ac,
  - mention "lib" in SUBDIRS in gnulib/Makefile.am,
  - mention "-I gnulib/m4" in ACLOCAL_AMFLAGS in Makefile.am,
  - invoke gl_EARLY in ./configure.ac, right after AC_PROG_CC,
  - invoke gl_INIT in ./configure.ac.
bash-2.05$ 

So, about the only thing I think really might want to be part of some
readme somewhere is that gnulib/lib and gnulib/m4 are non-default
locations for the current gnulib-tool given that the
hello-2.1.91/gnulib/m4/gnulib-cache.m4 file is not being distributed.

        Enjoy!
        -- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (FreeBSD)

iD8DBQFE6TbMCg7APGsDnFERAvZjAKCrjq2iGtO2UIdIfYAHI6IUZgcJGwCgtYTO
WDjfUSkXxtjCO5vP05ck1DU=
=kvFe
-----END PGP SIGNATURE-----




reply via email to

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