[Top][All Lists]
[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
- [Bug-gnulib] module infrastructure,
Bruno Haible <=