bug-gnulib
[Top][All Lists]
Advanced

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

[Bug-gnulib] module infrastructure


From: Bruno Haible
Subject: [Bug-gnulib] module infrastructure
Date: Tue, 31 Dec 2002 15:18:54 +0100 (CET)

Hi,

I've now added the gnulib-tool program (earlier called "gnulibize").
It has the following options:

      --list                print the available module names

      --import              import the given modules into the current package
                            (not yet implemented, use --create-testdir
                            instead)
      --create-testdir      create a scratch package with the given modules

      --create-megatestdir  create a mega scratch package with the given modules
                            one by one and all together

      --test                test the combination of the given modules
                            (recommended to use CC=gcc -Wall -Werror here)

      --megatest            test the given modules one by one and all together
                            (recommended to use CC=gcc -Wall -Werror here)

      --extract-description        extract the description
      --extract-filelist           extract the list of files
      --extract-dependencies       extract the dependencies
      --extract-autoconf-snippet   extract the snippet for configure.ac
      --extract-automake-snippet   extract the snippet for lib/Makefile.am
      --extract-include-directive  extract the #include directive

When you as a package maintainer need a set of modules, you should be
able to do "gnulib-tool --create-testdir module1 module2 ...",
and then copy/merge the files from the created directory to yours.

Note for Jim + coreutils: When you do the merge, please look at
m4/ChangeLog. In particular there is some autoconf test related to
fsusage that you can now remove from coreutils/configure.ac.  With
this infrastructure you should be able to remove from your prereq.m4,
jm-macros.m4, check-lib.m4 everything that refers to lib/ and keep
only what refers to src/. Afterwards, you can probably remove
prereq.m4, jm-macros.m4, check-lib.m4 from gnulib.

Although I have added many tests for HAVE_UNISTD_H etc to the .m4
files, where needed, nevertheless I expect that your 'configure' file
will become ca. 8% smaller, and the 'configure' output will contain
less redundant output. (See m4/onceonly.m4 for how it works.)

Things that are still on my TODO list:

  - more portability testing with the package created by
    "gnulib-tool --create-megatestdir"
  - more complete testing, namely check that e.g. the module getline
    always provides a getline() function.

Bruno



reply via email to

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