AutoOpts:
* The listing of enumerated option arguments is a bit more concise.
* Options may be handled twice: once during the immediate phase and
again during the "normal" processing phase.
* If environment variable "rc" processing is enabled, then the
"${PROGNAME}" environment variable will be processed - tokenizing it
and processing it as a list of command line options. It may not
contain any command line operands.
* a new main procedure type: each-or-stdin This will fopen() each
command line operand and pass the FILE* pointer to the callout procedure.
If there are no operands, then stdin is passed.
* main() procedures can be specified more consistently
AutoGen:
* The '$$' expansion in locating the program will now use "realpath(3C)".
This way, if a program is installed in /opt/whatever/bin/program
and you run it via a symlink, '$$' will resolve to /opt/whatever/bin.
* exist and not-exist selection macros -- the CASE macro can now
select a clause based on value existence. Previously, you could detect
an empty string and you then had to use the ``(exist? "name")'' function.
* fixed tpl-file-line so that "%2$d" works for the format.
* Added (emit) function that directly emits its args into output
* keyword lists are columnized in usage text
* distributed subdirectories no longer depend on also being built.
getdefs (an AutoGen support utility):
* With "listed" attributes, if you quote an entry, then the scanning code
has to push the scan forward to the next entry so we don't wind up with
a spurious empty entry!!
Unfortunately, guile{,14}/buildlink3.mk directly includes it, and I don't
know which dependencies actually need libltdl, so it was a recursive bump.
Hopefully this recursive inclusion can be ripped out of
guile{,14}/buildlink3.mk at some point and bubble down to dependencies that
actually use libltdl, avoiding this headache in the future....
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
Changes since 5.5.3:
* AutoFSM was enhanced with the notion of a "noop" transition handling
* fmemopen() is now used (when possible) for anonymous output (diversions)
* The Guile function (chdir "...") is now wrapped so AutoGen can adapt
* the definitions parser now uses a FSM parser instead of YACC
* AutoOpt-ed programs can now have internationalized usage text
* Templates have been added for using getopt(3) or getopt_long(3GNU)
to parse options (in lieu of libopts).
* better docs on partitioned ini (rc) files
Changes since 5.5.2 include:
* AutoOpts' usage procedure has been enhanced to produce either AutoOpts
standard usage or usage that looks more like current GNU practices.
The latter provides less information and help.
* I32LPx behavior has improved. Don't think I can call it "industrial
strength" just yet, tho.
New in 5.5.2 - February, 2003
* Fixes for FreeBSD weirdisms with sed, dlopen(), and the Guile library
* stash offsets in uintptr_t types so this thing works when
sizeof(void*) != sizeof(off_t)
* still more configury fixes. It will never, ever end.
New in 5.5 - December 15, 2002
* The FOR macro will now accept a list of values, as in:
[= FOR v IN one, "two , part" three =]
* snprintfv-0.99f was fully incorporated, saving 300K of distribution
space and a lot of configure time.
* The 'dne' function will accept "-d" as the first argument in order
to suppress the date from the output.
New in 5.4.8 - December 10, 2002
* Freed AutoOpts from libguile. It was never really dependent.
* new snprintfv library incorporated
AutoGen is a tool designed for generating program files that contain
repetitive text with varied substitutions. Its goal is to simplify the
maintenance of programs that contain large amounts of repetitious text.
This is especially valuable if there are several blocks of such text that
must be kept synchronized.