file to the license header in 'license/GPL-header' in any file in the
distribution. Note that, the header change will be performed when
the distribution is packaged (@pxref{Creating distribution, , , , }).
+The 'makedist.log' file created by Autodist during distribution packaging
+will list all files that were not re-licensed. The log file can be used
+to check that the distribution is re-licensed correctly, and fix any
+possible mistakes.
With 'license-header' directive you may initially set your files in the
source tree into what ever license you prefer. However, if you need to
inherited distribution. If the distribution cannot be inherited Autodist
will give an error.
-The 'inherit' will inherit the following information from the distribution:
-distdefs, undefines, includes, excludes and noprocess. Other information
-will not be inherited. If the inherited distribution inherits other
-distributions, they will also be inherited automatically. User should be
-careful when inheriting distributions as it may be possible to create an
-infinite recursion. The Autodist would allow for this and not detect this
-error. Zero or more 'inherit' directives may be set for distribution.
+The 'inherit' will inherit the following information from the
+distribution: distdefs, undefines, includes, excludes and noprocesses.
+Other information will not be inherited. If the inherited distribution
+inherits other distributions, they will also be inherited automatically.
+User should be careful when inheriting distributions as it may be possible
+to create an infinite recursion. The Autodist would allow for this and
+not detect this error. Zero or more 'inherit' directives may be set for
+distribution.
Example:
@example
distribution. All distdefs, undefines, includes, excludes and noprocesses
from these distributions are now also part this distribution.
+The distribution that is being prepared or packaged take precedence when
+defining distdefs that were specificly undefined in the inherited
+distribution. This means that if the inherited distribution specificly
+undefines a distdefs but the inheriting distribution (one being prepared
+or packaged) specificly defines it, the distdef will be defined.
+Similarly, if the inherited distribution defines a distdef but the
+inheriting distribution undefines it, the distdef will be undefined.
+Note that, this precedence works only in the top distribution (the one
+being prepared or packaged). If the inherited distribution inherits other
+distributions, all distdefs (defined and specificly undefined) will be
+inherited as is. This means that if one inherited distribution defines a
+distdef that other inherited distribution distdef undefines, it will be
+undefined. However, the top distribution can then override them if
+needed.
+
@section Directive: define <symbol>
@section Directive: noprocess <filename> [...]
-The 'noprocess' directive can be used to tell Autodist specificly not to
-process a file. The Autodist will not process the file during
-preparation or during distribution packaging. This directive is optional.
-One or more file can be specified in the 'noprocess' directive. Zero or
-more 'noprocess' directives can be used in distribution. The <filename>
-can be a single file, a single directory or a regular expression that
-will match several files and/or directories. If directory is specified
-then all files inside the directory will not be processed.
+The 'noprocess' directive can be used to tell Autodist specificly not to
+process files or directories. The Autodist will not process the files
+during distribution packaging. This directive is optional. One or more
+files can be specified in the 'noprocess' directive. Zero or more
+'noprocess' directives can be used in distribution. The <filename> can be
+a single file, a single directory or a regular expression that will match
+several files and/or directories.
Example:
@example
noprocess autodist.texi
+noprocess apps/foo/
@end example
-Autodist will not process 'autodist.texi' file.
+Autodist will not process 'autodist.texi' file, and any files and
+directories under 'apps/foo/'.
-Note that, 'noprocess' directive cannot be used to disallow processing
-of any file with '.ad' suffix.
+Note that, 'noprocess' directive cannot be used to disallow
+processing of any file with '.ad' suffix.
@section Directive: pre-hook <filename> [...]
Note that, the 'configure.ad' fragments are not real full featured
configure scripts. They must not use 'AD_INIT', 'AD_INCLUDE_CONFIGURE',
'AC_INIT' or any other initialization macros.
+@end defmac
+
+
+@defmac AD_DISABLE_DEPENDENCIES
+
+This macro is used to disable Autodist dependencies in 'Makefile.ad'
+files. If this macro is used, then after editing 'Makefile.ad' file the
+Autodist must be run manually. When dependencies are enabled editing
+Autodist is run automatically when source is compiled with 'make'.
+Dependencies make the development easier. This macro has no arguments.
+
+Note that, the dependencies are enabled only in the prepared source tree.
+Depedencies are not delivered to distribution, as they would require the
+presence of 'Makefile.ad' files, which are not delivered to distribution.
+Current Autodist version does not support dependencies in 'configure.ad'
+files, only in 'Makefile.ad' files.
@end defmac
@menu
need to have '.ad' suffix.
Note that, the distdef format used in these files must be the non-source
-format.
+format, even if the file is source file. This is because the distdefs
+are processed during source tree preparation, and the source file will
+have all distdefs removed when it is compiled.
@menu
* Distdefines:: Using distdefs in files
.hh
@end example
+Also, any file that has '.in' suffix with any of the above source file
+suffixes, the format inside the file must follow the source code format.
Using distdefs in any other file must follow the non-source format.
+Example:
+@example
+ .c.in
+ .h.in
+@end example
+
+In this example, in both of the files the source code format is used.
+
@node Invoking Autodist
@chapter Invoking Autodist
directory 'distdir', 'autodist.conf' configuration file and the
default distribution 'default', then exits.
+@item -p
+@itemx --process <src> <dst>
+process Makefile.ad file <src> into <dst> for distribution, the exits.
+
@item -m
@itemx --makedist
Creates and packages distribution
automatically. That file should not be removed or the distribution
cannot be packaged.
+Autodist also created a log file, 'autodist.log', that will include
+messages created by Autodist during preparation.
+
@menu
* Creating distribution:: Creating distribution with Autodist
@end menu
distribution file. Also note that any hooks provided by Automake in
Makefiles will be run in normal manner.
+When creating the distribution Autodist creates a log file,
+'makedist.log', that will include messages created by Autodist. It is
+suggested that this file is checked after distribution is created. For
+example, when the 'license-header' directive is used to re-license the
+distribution, the 'makedist.log' will include list of files that were not
+re-licensed. The log file can be used to verify that the distribution was
+re-licensed correctly, and fix any possible mistakes.
+
@node Examples
@chapter Examples