Hello,
while trying to build the avifile-20011220 snapshot with installed
autoconf-2.52f and automake-1.5, I get
| $ configure
| ...
|
| $ LANG=C make
| cd . && /bin/sh /var/volatile/rpm/SOURCES/avifile0.6-20011220/missing --run aclocal
| cd . && \
| /bin/sh /var/volatile/rpm/SOURCES/avifile0.6-20011220/missing --run automake
|--foreign Makefile
| cd . && perl admin/am_edit --foreign-libtool --no-final Makefile.in
| Can't open perl script "admin/am_edit": No such file or directory
| make: *** [Makefile.in] Error 2
Probably, this is caused by automake which detects a change somewhere and
tries to rebuild all Makefile's. Such unwanted changes on user-side can
be bypassed by using the AM_MAINTAINER_MODE macro in the configure.in.
Developers will have to use './configure --enable-maintainer-mode' to
achieve the current behavior (regenerating Makefile when Makefile.am has
been changed).
The attached patch will add this macro.
There are some other issues leading to some incompatibility with the GNU
buildsystem. E.g., automake requires the files NEWS and AUTHORS. These
files are missing in all three subdirs which are having a ./configure. This
strictness can be removed by an
| AUTOMAKE_OPTIONS = foreign
in the appropriate Makefile.am. I suggest to add the NEWS and AUTHORS
files to the toplevel directory and to add the AUTOMAKE_OPTIONS to
./libmmxnow/Makefile.am
and
./plugins/libmad/libmad/Makefile.am
Another issue shown by 'autoreconf' is
| configure.in:64: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET
I am not sure if it is an automake bug or an avifile one; the AC_ARG_PROGRAM
is implicitly called by AM_INIT_AUTOMAKE. To circumvent it, just move the
AC_CANONICAL* stuff before AM_INIT_AUTOMAKE.
Enrico
--- avifile0.6-20011220/libmmxnow/configure.in.mmode Fri Dec 21 20:17:15 2001
+++ avifile0.6-20011220/libmmxnow/configure.in Fri Dec 21 20:17:54 2001
@@ -9,6 +9,7 @@
echo "libmmxnow configure options: $configure_options"
AM_INIT_AUTOMAKE(libmmxnow,0.1)
+AM_MAINTAINER_MODE
dnl Library versioning
--- avifile0.6-20011220/plugins/libmad/libmad/configure.in.mmode Fri Dec 21 20:17:15 2001
+++ avifile0.6-20011220/plugins/libmad/libmad/configure.in Fri Dec 21 20:18:08 2001
@@ -23,6 +23,7 @@
AC_INIT(decoder.h)
AC_REVISION([$Id: configure.in,v 1.2 2001/10/27 01:28:47 cypher Exp $])dnl
AM_INIT_AUTOMAKE(libmad, 0.14.0b)
+AM_MAINTAINER_MODE
AM_CONFIG_HEADER(config.h)
--- avifile0.6-20011220/configure.in.mmode Fri Dec 21 20:17:15 2001
+++ avifile0.6-20011220/configure.in Fri Dec 21 20:17:37 2001
@@ -25,6 +25,7 @@
dnl Setup for automake
AM_INIT_AUTOMAKE(avifile0.6, $AVIFILE_VERSION, no-define)
+AM_MAINTAINER_MODE
AC_SUBST(AVIFILE_MAJOR_VERSION)
AC_SUBST(AVIFILE_MINOR_VERSION)
--- avifile0.6-20011220/libmmxnow/Makefile.am.foreign Fri Dec 21 20:20:59 2001
+++ avifile0.6-20011220/libmmxnow/Makefile.am Fri Dec 21 20:21:30 2001
@@ -1,3 +1,4 @@
+AUTOMAKE_OPTIONS = foreign
SUBDIRS = . doc include src test
--- avifile0.6-20011220/plugins/libmad/libmad/Makefile.am.foreign Fri Dec 21 20:20:59 2001
+++ avifile0.6-20011220/plugins/libmad/libmad/Makefile.am Fri Dec 21 20:21:48 2001
@@ -24,6 +24,8 @@
## Process this file with automake to produce Makefile.in
+AUTOMAKE_OPTIONS = foreign
+
noinst_LTLIBRARIES = libmad.la
noinst_HEADERS = mad.h