Commit 1f49d2c9 1f49d2c9272b802745a74d40690a5442233460d2 by Sergey Poznyakoff

Enable Makefile silent rules.

* Makefile.am (AUTOMAKE_OPTIONS): Remove.
* bootstrap: Import from mailfromd.
* configure.ac: Require autoconf 2.63
Enable silent-rules mode by default.
* guimb/scm/Makefile.am: Add silent-rules markers.
* include/mailutils/Makefile.am: Likewise.
* libmu_scm/Makefile.am: Likewise.
* testsuite/Makefile.am: Likewise.
1 parent 1c2e9187
......@@ -18,7 +18,6 @@
## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
## 02110-1301 USA
AUTOMAKE_OPTIONS = gnits 1.8.5 dist-bzip2 std-options
ACLOCAL_AMFLAGS = -I m4 -I am
SUBDIRS = \
......
......@@ -2,7 +2,7 @@
# Bootstrap this package from checked-out sources.
# Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
# Copyright (C) 2003-2008 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -96,6 +96,11 @@ package=`sed -n "$extract_package_name" configure.ac` || exit
gnulib_name=lib$package
build_aux=build-aux
source_base=lib
m4_base=m4
doc_base=doc
tests_base=tests
# Extra files from gnulib, which override files from other sources.
gnulib_extra_files="
$build_aux/install-sh
......@@ -121,6 +126,9 @@ XGETTEXT_OPTIONS='\\\
--flag=error:3:c-format --flag=error_at_line:5:c-format\\\
'
# Package bug report address for gettext files
MSGID_BUGS_ADDRESS=bug-$package@gnu.org
# Files we don't want to import.
excluded_files=
......@@ -270,6 +278,7 @@ update_po_files() {
new_po="$ref_po_dir/$po.po"
cksum_file="$ref_po_dir/$po.s1"
if ! test -f "$cksum_file" ||
! test -f "$po_dir/$po.po" ||
! sha1sum -c --status "$cksum_file" < "$new_po" > /dev/null; then
echo "updated $po_dir/$po.po..."
cp "$new_po" "$po_dir/$po.po" && sha1sum < "$new_po" > "$cksum_file"
......@@ -367,11 +376,11 @@ cp_mark_as_generated()
*) c1= ; c2= ;;
esac
# If the destination directory doesn't exist, create it.
# This is required at least for "lib/uniwidth/cjk.h".
dst_dir=`dirname "$cp_dst"`
if ! test -d "$dst_dir"; then
mkdir -p "$dst_dir"
fi
test -d "$dst_dir" || mkdir -p "$dst_dir"
if test -z "$c1"; then
cmp -s "$cp_src" "$cp_dst" || {
echo "$0: cp -f $cp_src $cp_dst" &&
......@@ -405,13 +414,78 @@ version_controlled_file() {
grep -F "/$file/" $dir/CVS/Entries 2>/dev/null |
grep '^/[^/]*/[0-9]' > /dev/null && found=yes
elif test -d .git; then
git-rm -n "$dir/$file" > /dev/null 2>&1 && found=yes
git rm -n "$dir/$file" > /dev/null 2>&1 && found=yes
elif test -d .svn; then
svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
else
echo "$0: no version control for $dir/$file?" >&2
fi
test $found = yes
}
# AWK program to convert a Makefile(.am) file rules to Automake 1.11
# silent mode.
silent_rules_prog='
# state = 0 - outside rules
# state = 1 - first line inside a rule
# state = 2 - subsequent lines inside a rule
# cont = 1 - this line is a continuation of the previous one
# defn = 1 - insert AM_V_GEN/AM_V_at definitions after the initail comment
# Print comment lines
/^[ \t]*#/ { print; next }
# Insert AM_V_ definitions, if required.
state == 0 && defn == 1 {
print "AM_DEFAULT_VERBOSITY=0" # FIXME
print "AM_V_GEN = $(am__v_GEN_$(V))"
print "am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))"
print "am__v_GEN_0 = @echo \" GEN \" $@;"
print "AM_V_at = $(am__v_at_$(V))"
print "am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))"
print "am__v_at_0 = @"
defn = 0
}
# Start of a rule
/^[^ \t].*:/ { print; state = 1; cont = 0; next }
# First action within the rule
state == 1 && /^\t/ {
# Print silent rules without changes. The second match
# is necessary to handle @VAR@ substitutions.
if (!(match($1, /^@/) && !match($1, /.@$/)))
sub(/^\t[\t ]*/, "&$(AM_V_GEN)")
print
cont = match($0, /\\$/)
state = 2
next
}
# All non-continuation lines within the rule are prefixed
# with $(AM_V_at).
state == 2 && /^\t/ && NF > 0 {
if (!cont)
sub(/^\t[\t ]*/, "&$(AM_V_at)")
print
cont = match($0, /\\$/)
next
}
# Everything else is output verbatim
{ print }
'
silent_rules=yes
grep 'AM_SILENT_RULES' configure.ac > /dev/null ||
grep '^[ ]*AM_INIT_AUTOMAKE([^)][^)]*silent-rules' configure.ac > /dev/null ||
silent_rules=no
silentize() {
if test "$silent_rules" = yes; then
case $1 in
*.am) defn=0;;
*.in) defn=1;;
esac
awk -v defn=$defn "$silent_rules_prog" $1 > ${1}-t &&
mv ${1}-t $1
fi
}
slurp() {
for dir in . `(cd $1 && find * -type d -print)`; do
copied=
......@@ -433,6 +507,7 @@ slurp() {
rm -f $dir/$gnulib_mk &&
sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
}
silentize $dir/$gnulib_mk
elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
version_controlled_file $dir $file; then
echo "$0: $dir/$file overrides $1/$dir/$file"
......@@ -487,13 +562,13 @@ gnulib_tool_options="\
--import\
--no-changelog\
--aux-dir $bt/$build_aux\
--doc-base $bt/doc\
--doc-base $bt/$doc_base\
--lib $gnulib_name\
--m4-base $bt/m4/\
--source-base $bt/lib/\
--tests-base $bt/tests\
--m4-base $bt/$m4_base/\
--source-base $bt/$source_base/\
--tests-base $bt/$tests_base\
--local-dir $local_gl_dir\
$gnulib_tool_option_extras\
$gnulib_tool_option_extras\
"
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
......@@ -537,6 +612,16 @@ if test -f $mam_template; then
done
fi
# Remove any dangling symlink matching "*.m4" in the gnulib-populated
# $m4_base directory, since such a file would cause aclocal to fail.
# The following requires GNU find 4.2.3 or newer. Considering the usual
# portability constraints of this script, that may seem a very demanding
# requirement, but it should be ok. Ignore any failure, which is fine,
# since this is only a convenience to help developers avoid the relatively
# unusual case in which a symlinked-to .m4 file is git-removed from gnulib
# between successive runs of this script.
find "$m4_base" -name '*.m4' -depth -type l -xtype l -delete > /dev/null 2>&1
# Reconfigure, getting other files.
aclocal_flags=`sed -n 's/ACLOCAL_AMFLAGS *=//p' Makefile.am`
......@@ -573,14 +658,15 @@ if test $with_gettext = yes; then
rm -f po/Makevars
sed '
/^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
/^MSGID_BUGS_ADDRESS *=/s/=.*/= '"$MSGID_BUGS_ADDRESS"'/
/^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
/^XGETTEXT_OPTIONS *=/{
s/$/ \\/
a\
'"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
}
' po/Makevars.template >po/Makevars
silentize po/Makefile.in.in
if test -d runtime-po; then
# Similarly for runtime-po/Makevars, but not quite the same.
rm -f runtime-po/Makevars
......@@ -588,6 +674,7 @@ if test $with_gettext = yes; then
/^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
/^subdir *=.*/s/=.*/= runtime-po/
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
/^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
/^XGETTEXT_OPTIONS *=/{
s/$/ \\/
a\
......
......@@ -17,14 +17,16 @@ dnl You should have received a copy of the GNU General Public License along
dnl with GNU Mailutils; if not, write to the Free Software Foundation,
dnl Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
AC_PREREQ(2.63)
AC_INIT([GNU Mailutils], [2.0.90], [bug-mailutils@gnu.org], [mailutils])
AC_CONFIG_SRCDIR([mailbox/mailbox.c])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE
AM_INIT_AUTOMAKE([gnits 1.8.5 dist-bzip2 std-options silent-rules])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_PREREQ(2.60)
# Enable silent rules by default:
test -z "$enable_silent_rules" && AM_DEFAULT_VERBOSITY=0
dnl Autobuild stuff
AB_INIT
......
## Process this file with GNU Automake to create Makefile.in
## Copyright (C) 2001, 2002, 2006, 2007 Free Software Foundation, Inc.
## Copyright (C) 2001, 2002, 2006, 2007, 2009 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
......@@ -24,15 +24,15 @@ EXTRA_SCRIPTS=sieve.scm
sievemoddir=@MU_GUILE_SIEVE_MOD_DIR@
sieve.scm: sieve.scm.in sieve.sed
sed -f sieve.sed $(srcdir)/sieve.scm.in > sieve.scm
$(AM_V_GEN)sed -f sieve.sed $(srcdir)/sieve.scm.in > sieve.scm
sieve.sed: Makefile
echo 's,%GUILE_BINDIR%,@GUILE_BINDIR@,g' > sieve.sed
echo 's,%BINDIR%,$(bindir),g' >> sieve.sed
echo 's,%GUILE_SITE%,$(GUILE_SITE),g' >> sieve.sed
echo 's,%LIBDIR%,$(sievemoddir),g' >> sieve.sed
echo 's,%PACKAGE%,$(PACKAGE),g' >> sieve.sed
echo 's,%VERSION%,$(VERSION),g' >> sieve.sed
$(AM_V_GEN)echo 's,%GUILE_BINDIR%,@GUILE_BINDIR@,g' > sieve.sed
$(AM_V_at)echo 's,%BINDIR%,$(bindir),g' >> sieve.sed
$(AM_V_at)echo 's,%GUILE_SITE%,$(GUILE_SITE),g' >> sieve.sed
$(AM_V_at)echo 's,%LIBDIR%,$(sievemoddir),g' >> sieve.sed
$(AM_V_at)echo 's,%PACKAGE%,$(PACKAGE),g' >> sieve.sed
$(AM_V_at)echo 's,%VERSION%,$(VERSION),g' >> sieve.sed
CLEANFILES = sieve.scm sieve.sed
......
......@@ -21,13 +21,13 @@
BUILT_SOURCES=errno.h debug.h
EXTRA_DIST=errno.hin debug.hm4 types.hin
errno.h: $(top_srcdir)/mailbox/errors errno.hin
$(AWK) -f $(mu_aux_dir)/generr.awk $^ > $@
$(AM_V_GEN)$(AWK) -f $(mu_aux_dir)/generr.awk $^ > $@
debug.h: $(mu_aux_dir)/debugdef.m4 debug.hm4
m4 $(mu_aux_dir)/debugdef.m4 debug.hm4 > debug.h
$(AM_V_GEN)m4 $(mu_aux_dir)/debugdef.m4 debug.hm4 > debug.h
types.h: $(top_srcdir)/include/mailutils/types.hin Makefile
sed 's/_MU_OFF_TYPE_/$(MU_OFF_TYPE)/;s/_MU_DEFAULT_RECORD_/$(MU_DEFAULT_RECORD)/' $(top_srcdir)/include/mailutils/types.hin > $@
$(AM_V_GEN)sed 's/_MU_OFF_TYPE_/$(MU_OFF_TYPE)/;s/_MU_DEFAULT_RECORD_/$(MU_DEFAULT_RECORD)/' $(top_srcdir)/include/mailutils/types.hin > $@
DISTCLEANFILES = types.h
pkginclude_DATA = types.h
......
......@@ -96,27 +96,27 @@ GUILE_DOC_SNARF=$(mu_aux_dir)/guile-doc-snarf
SUFFIXES=.x .doc .inc .in
.c.x:
AWK=$(AWK) \
$(AM_V_GEN)AWK=$(AWK) \
$(GUILE_DOC_SNARF) -o $@ \
$< $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
.c.doc:
AWK=$(AWK) \
$(AM_V_GEN)AWK=$(AWK) \
$(GUILE_DOC_SNARF) -d -o $@ \
$< $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
.c.inc:
sed -n 's/SCM_DEFINE *(.[^,]*, *\"\([^"][^"]*\)\".*/[(export \1)]/p' $< > $@
$(AM_V_GEN)sed -n 's/SCM_DEFINE *(.[^,]*, *\"\([^"][^"]*\)\".*/[(export \1)]/p' $< > $@
guile-procedures.texi: $(DOT_DOC_FILES)
cat $(DOT_DOC_FILES) > $@
$(AM_V_GEN)cat $(DOT_DOC_FILES) > $@
guile-procedures.txt: guile-procedures.texi
rm -f $@
$(MAKEINFO) --force -o $@ guile-procedures.texi || test -f $@
$(AM_V_GEN) rm -f $@; \
$(MAKEINFO) --force -o $@ guile-procedures.texi || test -f $@
mailutils.scm: mailutils.scm.in $(C_SRCS:.c=.inc)
m4 -DVERSION=$(VERSION) -DLIBDIR=$(libdir) \
$(AM_V_GEN)m4 -DVERSION=$(VERSION) -DLIBDIR=$(libdir) \
-DSITEDIR=$(sitedir) \
-DBUILDDIR=$(top_builddir)/libmu_scm \
$(srcdir)/mailutils.scm.in > $@
......
......@@ -20,7 +20,7 @@
test_dirs = lib etc spool folder
dist-hook:
here=`cd $(top_builddir)/$(subdir) && pwd`; \
@here=`cd $(top_builddir)/$(subdir) && pwd`; \
srcdir=`cd $(srcdir) && pwd`; \
distdir=`cd $(distdir) && pwd`; \
for dir in $(test_dirs); \
......