Would you like to make this site your homepage? It's fast and easy...
Yes, Please make this my home page!
AutoGen is a tool designed to simplify
the creation and maintenance of programs that contain large amounts
of repetitious text. It is especially valuable in programs that have
several blocks of text that must be kept synchronized.
A common example where this would be useful is in creating and
maintaining the code required for processing program options.
Processing options requires multiple constructs to be maintained
in parallel in different places in your program. Options maintenance
needs to be done countless times. So, AutoGen comes with an add-on package named AutoOpts that simplifies the maintenance and documentation of program options.
AutoGen is known to work on Linux, BSD, SVR4-5, HPUX, SCO OpenServer
and Solaris. It is expected that it will work on any reasonably
modern UNIX system with an ANSI-compliant C compiler. It also runs
under WinNT, provided you have CygWin loaded.
Please go to the AutoGen page on Source Forge for an up to date version.
FTP can no longer be used to keep this site current. Sorry. :-(
Items of interest:
-
The announcment for the 5.2.11 release of AutoGen describes recent changes. If you choose to
download, please drop Bruce Korb a note and let me know if you built it and what you used it for. Thank you.
- AutoGen development is hosted on GNU's Savannah Site. The development page is in projects/autogen. People interested in AutoGen are encouraged to download the CVS sources and provide input.
- Please make use of the mailing lists, as it helps to keep track of issues that get raised.
- The full documentation is available online here. But be aware that it is the full documentation, intended as a reference. For just learning to understand AutoGen, the introduction has a purpose section and a simple example. For handy reference, Source Forge has a Google link to help you search the documentation.
- AutoOpts 11.0 is included with AutoGen 5.2.11. It automatically generates everything you need for option processing. Plus, it will generate man pages and the "invoking" chapter for your texinfo document. There is a separate AutoOpts chapter in the AutoGen doc, complete with a quick-start section and a "competitive feature analysis". Be aware that this chapter is the complete reference doc for AutoOpts, so don't let it overwhelm you.
- AutoFSM is included with AutoGen. It automatically generates easy-to-follow tables and a prototype implementation of a Finite State Machine.
- AutoGen distribution includes a replacement for stdio formatting library: the snprintfv formatting package. It is a fully portable, consistent and extensible formatting library that replaces the standard printf(3) collection of routines.
- The current version of FixIncludes for the GNU GCC
compiler was written using AutoGen.
- There is a project for augmenting the XDR/rpcgen interface. NFSv4 adopted protocols that cannot be
directly supported via rpcgen. They combine RPC calls in order to
save network traffic. This is a useful enhancement, but you have to
marshall and unmarshall your own arguments. With minor reformatting
of the ONC IDL and using this program, it is possible to generate the
procedures that will do all of this for you. You can get this here.
- I also have the beginnings of an automated extraction of software events. For most large
projects, it is necessary to coordinate the display and routing of
software-initiated messages. This scheme completely alleviates the
programmers from the need of making source changes in the event there
are changes in central policy. (It happens.)
It also handles
much, but not all, of the drudgery of maintaining, managing and
triggering these events. (In case you want common methods for
enabling and disabling them, and deciding on throttling policies.)
This is not ready yet. It is just coming, eventually.
Acknowledgements
This program has evolved over a period of several years. During that time, Gary V. Vaughan has been a tremendous help in making it more portable,
setting up the regression tests and building an entire formatting
library because vsprintf was unportable. Thank you!
Please direct any questions, comments, suggestions or anything else
to the author, Bruce Korb.
AutoGen, AutoOpts, columns, getdefs, AutoFSM, AutoXDR and these web pages
copyright (c) 1999, 2000, 2001 Bruce Korb, all rights reserved.
snprintfv and its documentation copyright (c) 1999, 2000 Gary V. Vaughan,
all rights reserved.
fixincludes copyright (c) 1999, 2001 the Free Software Foundation,
all rights reserved.
AutoXDR copyright (c) 2000 Bruce Korb, all rights reserved.