Autodist offers a system for managing source distributions.
With Autodist, distribution management is possible at the directory, file, and file content level, and it even enables automatic relicensing of a distribution. By creating 'Makefile.am' files from 'Makefile.ad' files and a single 'configure.ac' file from one or more 'configure.ad' files, the source tree is kept organized and easy to manage.
Autodist also has a packaging function that utilizes the common GNU distribution creation process, specifically by using the command 'make dist'. During the packaging phase, Autodist processes all files in the distribution (with the exception of '*.ad' files, which have already been processed by Autodist), resulting in a fully processed source distribution package that has been tailored according to the rules specified in the distribution file(s).
One of the main benefits of Autodist is its ability to define distdefs, or distribution defines, which can be used by any file in the source tree. During the packaging process, only files, directories, and file content that are either outside of any defined distdef, or inside the defined distdefs, will be included in the distribution. This guarantees that any file, directory, or piece of file content that is not inside a defined distdef will not be delivered to the distribution.
Lastly, Autodist is compliant with the tools needed to process its files, including 'Makefile.am', 'configure.ac', and any source file processed with Autodist. This makes it possible to compile sources before they have been processed, and undefined lines will be removed. Autodist is not a binary packaging system, but it can easily be hooked up to a binary packaging system if needed.
In the latest release of Autodist, support for distdefs in .mm, .M, and .S files has been added, along with fixes for shell compatibility issues and .ad file processing. Overall, Autodist offers a comprehensive and efficient solution for managing source distributions in large software projects.
Version 1.4: N/A