Autoperl revision history ========================= 1.26 July 13th, 2005 * For every argument passed on the command line of ./configure, create a corresponding Makefile variable. * Implement $(SHAREDSTATEDIR) and rename $(statedir) to $(localstatedir). This is the GNU way, but who really uses /usr/local/var?? * In ./configure, process @ARGV before parsing Makefile.am so that * New C preprocessor-compatible #include directive * When parsing Makefile targets, don't choke when a rule contains some leading whitespace before the tab. * The manual (doc/manual.html) has been updated to reflect changes up to the current version. * Changed $(TOPDIR) and $(DISTDIR) to be absolute paths; this may cause regressions 1.25 June 24th, 2005 * Fixed the following bugs: [ 1225983 ] copyright notice stops in 2004 [ 1225982 ] internal configure version stuck at 1.10 [ 1225988 ] sysconfdir definition does not match documentation [ 1226533 ] variables are not propagated to config.h in subdirectories [ 1225984 ] sbin_PROGRAMS variable corruption * Fixed problems parsing _ARG and _ARG_HELP that caused the regression tests '8 - custom arguments (default)' and '9 - custom arguments (override)' to fail. * Fixed: `./configure --without-dependency-tracking' now works and is documented in the --help page * Permit config.h to be in a parent directory, and expand statements like 'require "../config.h"' in source files. * Force variables in %ap::config to be lower-case and replace dashes with underscores * Add accessor methods so $ap::config{sbindir} could be referenced as &ap::sbindir * The linker removes the __END__ marker and any additional lines from the output file. * When generating the 'make dist' target, include 'README.*' * Running `./configure --verbose' prints to STDOUT instead of STDERR * The 'make test' target no longer uses Test::Harness; this means the full name of each test is printed. * New: `./configure --quiet' will only print error messages to the screen. 1.24 June 2nd, 2005 * Minor infrastructure changes to support the migration to SourceForge.net * Preserve comments inside of Makefile.am rules. * Fix 'make install' target; installation paths were not completely expanded. 1.23 May 30th 2005 * Fix the linker to import config.h (for real this time) * When linking, change the shebang line to read `#!/usr/bin/env perl' * Custom arguments can be overridden via ./configure 1.22 May 30th 2005 * In get_package_from_source(), don't be so strict about filename matching. 1.21 May 29th 2005 * Custom arguments (foo_ARG) are now exported to config.h * The linker can now handle input files in deeply nested subdirectories. * Fix a type mismatch and other errors in run_linker(). * Display help text for custom args when ./configure --help is invoked * Dereference variables using the @VARIABLE@ syntax in Makefile.am to simulate Autoconf processing. * Implement AC_CONFIG_FILES as a Makefile.am variable. This emulates Autoconf's parsing of files with the .in extension to substitute references to @VARIABLE@ with the contents of ${VARIABLE}. (see &Autoperl::Parser::ac_parse) * Allow Makefile targets to have numbers in their names. 1.20 May 17th 2005 * Perform recursive variable expansion in config.h * Each SUBDIR generates it's own config.h instead of copying the toplevel one. * Remove cgidir, srcdir, and htmldir from the standard installation paths. * Add destdir as a ./configure option * Define pkgdatadir as ${datadir}/{$program} * Remove trailing whitespace from Makefile.am variable definitions 1.10 May 15th 2005 * Rewrote parse_makefile_am() to handle embedded Perl code in Makefile.am * Rewrote Autoperl::Linker to handle Exporter dependency requirements. * User-defined variables in Makefile.am are exported via %ap::config * Autoperl::Logger exports 'debug','critical','notice','warning' * More stuff is logged to config.log at configure time. * Always include aplocal.inc in 'make dist' tarball * The hooks in aplocal.inc are actually executed now. * t/ directory added to contain Autoperl test suite * Fixed 'make test' target to chdir(1) into t/ before running tests 1.02 May 3rd 2005 * Check $ARGV before running check_host() to avoid unnecessary method call * Fix $confdir and $sysconfdir variable definitions * Implement the man_MANS macro * Allow pre-compressed manpages in the _MANS variables * Implemented Makefile.am target 'uninstall-hook' * Add missing trailing backslash to install_all() in make_package() * Fixed the pkgdata_DATA and pkgdata_DOCS variables * Reload config.h during 'make package' execution * Regenerate config.h in all project SUBDIRS, not just the top level 1.01 April 27th 2005 * Fix generator error for custom arguments in config.h 1.0 April 24th 2005 * Always use the -p option with install-sh to preserve the executable bit. * Implemented pkgdata_DOCS macro * Implemented AC_CHECK_PROG macro * New autoperl(1) option '--package' generates binary packages * New parser: parse_package_in() * Linker reenabled * Eliminate config.sub and moved functionality to ./configure * Deleted configure.in and moved functionality into Makefile.am 0.9.3 April 17th 2005 * Added AP_CUSTOM_ARG macro * parse_configure_in() now has a real parser * fixed generate_synthetic_targets() missing dependencies for *-local * Fixed generation of $(PKGDATADIR) * Always remove trailing slashes and doubleslashes from installation paths * autoperl --init now creates config.sub and install-sh * Linker is now disabled totally * Internal use of 'require()' changed to 'use()' * Added install-sh, a Perl replacement for BSD install * install-sh parses perl apps and modules and substitutes config.h values * Imported Autoperl/Packager.pm from metaconf; mostly dead code * Added support for pre- and post- hooks for all build stages via aplocal.inc * ap::config is now a hash instead of a hashref * all keys of %ap::config have accessor methods * Implemented 'make uninstall' target * Improved 'make test' target now tries to compile all source code modules * Experimental 'build package' targets for Debian and OpenBSD 0.9.2 April 9th 2005 * Ported to OpenBSD 3.6 by removing GNUisms from the Makefile generator * Fixed: failure inside a recursive make(1) is ignored * Implemented: install-data-hook, install-exec-hook * Implemented: SYSCONFDIR * Implemented: bin_SCRIPTS, sbin_SCRIPTS * Added basic support for building C programs 0.9.1 April 3nd 2005 * Allow building of source code in the toplevel project directory * Allow underscores in custom Makefile.am target names * Allow bin_PROGRAMS and sbin_PROGRAMS without {x}_SOURCES * Implement the pkgdata_DATA macro * Add a configure.in macro AP_CHECK_DEPENDS to force explicit dependency checks * Add '--htmldir' and '--cgidir' installation directories * Improved check_depends() can recursively scan a directory * Allow unlimited recursive Makefile.am processing through SUBDIRS 0.9 April 2nd 2005 * Renamed 'config.sub' to 'Autoperl.pm' and install into @includedir@ * `autoperl --init` now symlinks @includedir@/Autoperl.pm to config.sub * Implement the include_HEADERS macro * Set $(includedir) to /usr/local/lib/site_perl * Implemented the 'make test' target * We now create a 'provides' list to avoid check_depends() false negative * The entire Autoperl::Parser tree is saved in config.in and used by configure * Implemented '--disable-dependency-tracking' * Disabled the compilation stage because of module interdependencies 0.8 March 30th 2005 * More intelligent parser can handle extra whitespace and multiline declarations * Fixed custom Makefile target generation * Thanks to Jeff Fulmer for reporting several bugs in 0.07 * Always try to create Makefiles in the SUBDIRS path * Fix email address munging in configure.in * Docfix: suggest 'autoperl --init' instead of 'autoperl --scan' 0.7 March 29th 2005 * split package into multiple modules (generator, parser, etc.) * added support for SUBDIRS * added preliminary 'make package' data structures * added manpage installation capability * added config.h generation * added linker emulation to generate perl pseudo-binaries * changed Makefile.am variables bin_PROGRAMS and foo_SOURCES to match Automake * much more documentation in doc/ 0.6 March 25th 2005 * switched from ExtUtils::MakeMaker to automake * removed dist-exclude functionality; all files must be explicitly included. * removed all automatically exported symbols and methods * merged a separate development branch from 0.4, so 0.5 may have been lost 0.5 Sat Jun 7 22:02:09 EDT 2003 * check_lib() and write_makefile() now scan lib/ directory for missing dependencies 0.4 Fri Jun 6 02:18:11 EDT 2003 * improved subst_vars() * fixed default installation targets * Makefile automatically creates $(DESTDIR), $(BINDIR), etc., targets 0.3 Thu Jun 5 00:36:43 EDT 2003 * added prog_perl() * added subst_vars() 0.2 Mon Jun 2 15:51:56 EDT 2003 * added is_linux(), is_freebsd(), etc. * documentation added * many new functions, API is almost finished 0.1 Sun May 11 23:00:39 2003 * original version; created by h2xs 1.22 with options -X Autoperl