This package includes several header files which encapsulate code from the
Autoconf manual.  For the most part they should be right but there is
still a little work left.
I would like to document these headers in more detail if the gnits
people don't tear my efforts to shreds.

There is also some code to automagically generate configure.in.  It isn't
mature enough for general use yet.  The script to generate dependencies
from a C file is probably adaquate, though I expect that lots of features
will be added with time and it may be rewritten into Perl.  The merging
code is probably sufficient.  The Makefile handling is totally inadaquate
and I suspect a good solution would be to modify Automake to process it.

Basically, you feed a C source file through cinc | cinmerge, and then in each
directory cinmerge is used to combine the dependencies from all the source
files into one big dependency file.  In the top directory, the lower
level directory files as well as configure.cin as well as the output
of cinMakefile are fed through mergedep | chophdep to create configure.in.

After you have correctly writen configure.cin, you can run cinize to
scan the Makefile.am files and read configure.cin and create configure.in.
Unfortunately this does not read the C source files.  Probably the way
the C source files will be read is with the help of the Makefiles.
[This probably should hcange to]

The general idea of the configure.in dependency files is that each
line starts with a lowercase letter and the first character is chopped
off right before it goes into configure.in.  This allows us to sort
the items into the correct order.  It probably is not the most eloquent
solution, but it works most of the time.  If you have some code which
is several lines long you will have to create a macro for it.

In particular, we need to write a macro for checking for perl and dying
if it is not available.  (It is needed at least for appbuild and automake.)

We also need a macro for defining HAVE_XTVAOPENAPPLICATION, which to
my knowlege is only used in Xfwf.  Anyone want to tell me how to
get aclocal to see it?

We probably should include a check for -lit near the begining, and use
AC_REPLACE_FUNCS for anything it includes.

I'd also like to see automake automagically install files that come with
libit that it notices are missing.  I want to be able to write some code
that includes the identifier "strncasecmp" and have the file automagically
copied into the source directory of my package.

It may work to have everything (libit, automake, and libtool at least)
copy (not link) all the files they need into $(libitdatadir) and provide
a libitadd script with each package.  If we install packages in the same
order they are released, we'll always use the most up to date version.

Here is a list of what the current uses for letters are.  Note that I
know that the order in this list is different than the order in the
autoconf manual, but I often write checks that depend on knowing
where X is, and X is considered a system service.

Don't be surprised if this list changes.  [I'm planning to use both
capital and lowercase letters to expand the namespace, and put the
stuff in libit in a seprate area...]

a AC_INIT, AM_INIT_AUTOMAKE
b AC_PROG_CC, any other PROG macros
c wart macros (AC_AIX etc)
d X11 checks, -lit check
e library checks
f header files
g typedefs
h structures
i compiler characteristics
j system services
k ud_GNU_GETTEXT
s AC_CONFIG_HEADER(config.h)
t AC_OUTPUT
u list of Makefiles, one per line
v ,
w extra commands
x ,
y init commands (I've never seen this used...)
z )

If we ever have _ALL_ the tests put together correctly, then you can
just write in your configure.ac:
aAC_INIT(foobar)
aAM_INIT(foobarpackage, versionnumber)
aALL_LINGUAS=""
bAC_PROG_RANLIB
rAC_LINK_FILES(whatever, junk)

Actually this may shrink some more yet.

Note that I haven't figured out how to make AC_LINK_FILES work well.
Can we fix the macro so it can be called several times?

If you think I'm crazy let me know.  (Especially Franc,ois)

Is there any penalty for calling AC_CHECK_HEADERS and similar macros
several times?

If you notice something I left out (which there should be plenty of)
let me know.

Joel N. Weber II <nemo@koa.iolani.honolulu.hi.us>
