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 @@ ...@@ -18,7 +18,6 @@
18 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 18 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
19 ## 02110-1301 USA 19 ## 02110-1301 USA
20 20
21 AUTOMAKE_OPTIONS = gnits 1.8.5 dist-bzip2 std-options
22 ACLOCAL_AMFLAGS = -I m4 -I am 21 ACLOCAL_AMFLAGS = -I m4 -I am
23 22
24 SUBDIRS = \ 23 SUBDIRS = \
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 2
3 # Bootstrap this package from checked-out sources. 3 # Bootstrap this package from checked-out sources.
4 4
5 # Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. 5 # Copyright (C) 2003-2008 Free Software Foundation, Inc.
6 6
7 # This program is free software: you can redistribute it and/or modify 7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by 8 # 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 ...@@ -96,6 +96,11 @@ package=`sed -n "$extract_package_name" configure.ac` || exit
96 gnulib_name=lib$package 96 gnulib_name=lib$package
97 97
98 build_aux=build-aux 98 build_aux=build-aux
99 source_base=lib
100 m4_base=m4
101 doc_base=doc
102 tests_base=tests
103
99 # Extra files from gnulib, which override files from other sources. 104 # Extra files from gnulib, which override files from other sources.
100 gnulib_extra_files=" 105 gnulib_extra_files="
101 $build_aux/install-sh 106 $build_aux/install-sh
...@@ -121,6 +126,9 @@ XGETTEXT_OPTIONS='\\\ ...@@ -121,6 +126,9 @@ XGETTEXT_OPTIONS='\\\
121 --flag=error:3:c-format --flag=error_at_line:5:c-format\\\ 126 --flag=error:3:c-format --flag=error_at_line:5:c-format\\\
122 ' 127 '
123 128
129 # Package bug report address for gettext files
130 MSGID_BUGS_ADDRESS=bug-$package@gnu.org
131
124 # Files we don't want to import. 132 # Files we don't want to import.
125 excluded_files= 133 excluded_files=
126 134
...@@ -270,6 +278,7 @@ update_po_files() { ...@@ -270,6 +278,7 @@ update_po_files() {
270 new_po="$ref_po_dir/$po.po" 278 new_po="$ref_po_dir/$po.po"
271 cksum_file="$ref_po_dir/$po.s1" 279 cksum_file="$ref_po_dir/$po.s1"
272 if ! test -f "$cksum_file" || 280 if ! test -f "$cksum_file" ||
281 ! test -f "$po_dir/$po.po" ||
273 ! sha1sum -c --status "$cksum_file" < "$new_po" > /dev/null; then 282 ! sha1sum -c --status "$cksum_file" < "$new_po" > /dev/null; then
274 echo "updated $po_dir/$po.po..." 283 echo "updated $po_dir/$po.po..."
275 cp "$new_po" "$po_dir/$po.po" && sha1sum < "$new_po" > "$cksum_file" 284 cp "$new_po" "$po_dir/$po.po" && sha1sum < "$new_po" > "$cksum_file"
...@@ -367,10 +376,10 @@ cp_mark_as_generated() ...@@ -367,10 +376,10 @@ cp_mark_as_generated()
367 *) c1= ; c2= ;; 376 *) c1= ; c2= ;;
368 esac 377 esac
369 378
379 # If the destination directory doesn't exist, create it.
380 # This is required at least for "lib/uniwidth/cjk.h".
370 dst_dir=`dirname "$cp_dst"` 381 dst_dir=`dirname "$cp_dst"`
371 if ! test -d "$dst_dir"; then 382 test -d "$dst_dir" || mkdir -p "$dst_dir"
372 mkdir -p "$dst_dir"
373 fi
374 383
375 if test -z "$c1"; then 384 if test -z "$c1"; then
376 cmp -s "$cp_src" "$cp_dst" || { 385 cmp -s "$cp_src" "$cp_dst" || {
...@@ -405,13 +414,78 @@ version_controlled_file() { ...@@ -405,13 +414,78 @@ version_controlled_file() {
405 grep -F "/$file/" $dir/CVS/Entries 2>/dev/null | 414 grep -F "/$file/" $dir/CVS/Entries 2>/dev/null |
406 grep '^/[^/]*/[0-9]' > /dev/null && found=yes 415 grep '^/[^/]*/[0-9]' > /dev/null && found=yes
407 elif test -d .git; then 416 elif test -d .git; then
408 git-rm -n "$dir/$file" > /dev/null 2>&1 && found=yes 417 git rm -n "$dir/$file" > /dev/null 2>&1 && found=yes
418 elif test -d .svn; then
419 svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
409 else 420 else
410 echo "$0: no version control for $dir/$file?" >&2 421 echo "$0: no version control for $dir/$file?" >&2
411 fi 422 fi
412 test $found = yes 423 test $found = yes
413 } 424 }
414 425
426 # AWK program to convert a Makefile(.am) file rules to Automake 1.11
427 # silent mode.
428 silent_rules_prog='
429 # state = 0 - outside rules
430 # state = 1 - first line inside a rule
431 # state = 2 - subsequent lines inside a rule
432 # cont = 1 - this line is a continuation of the previous one
433 # defn = 1 - insert AM_V_GEN/AM_V_at definitions after the initail comment
434 # Print comment lines
435 /^[ \t]*#/ { print; next }
436 # Insert AM_V_ definitions, if required.
437 state == 0 && defn == 1 {
438 print "AM_DEFAULT_VERBOSITY=0" # FIXME
439 print "AM_V_GEN = $(am__v_GEN_$(V))"
440 print "am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))"
441 print "am__v_GEN_0 = @echo \" GEN \" $@;"
442 print "AM_V_at = $(am__v_at_$(V))"
443 print "am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))"
444 print "am__v_at_0 = @"
445 defn = 0
446 }
447 # Start of a rule
448 /^[^ \t].*:/ { print; state = 1; cont = 0; next }
449 # First action within the rule
450 state == 1 && /^\t/ {
451 # Print silent rules without changes. The second match
452 # is necessary to handle @VAR@ substitutions.
453 if (!(match($1, /^@/) && !match($1, /.@$/)))
454 sub(/^\t[\t ]*/, "&$(AM_V_GEN)")
455 print
456 cont = match($0, /\\$/)
457 state = 2
458 next
459 }
460 # All non-continuation lines within the rule are prefixed
461 # with $(AM_V_at).
462 state == 2 && /^\t/ && NF > 0 {
463 if (!cont)
464 sub(/^\t[\t ]*/, "&$(AM_V_at)")
465 print
466 cont = match($0, /\\$/)
467 next
468 }
469 # Everything else is output verbatim
470 { print }
471 '
472
473 silent_rules=yes
474 grep 'AM_SILENT_RULES' configure.ac > /dev/null ||
475 grep '^[ ]*AM_INIT_AUTOMAKE([^)][^)]*silent-rules' configure.ac > /dev/null ||
476 silent_rules=no
477
478 silentize() {
479 if test "$silent_rules" = yes; then
480 case $1 in
481 *.am) defn=0;;
482 *.in) defn=1;;
483 esac
484 awk -v defn=$defn "$silent_rules_prog" $1 > ${1}-t &&
485 mv ${1}-t $1
486 fi
487 }
488
415 slurp() { 489 slurp() {
416 for dir in . `(cd $1 && find * -type d -print)`; do 490 for dir in . `(cd $1 && find * -type d -print)`; do
417 copied= 491 copied=
...@@ -433,6 +507,7 @@ slurp() { ...@@ -433,6 +507,7 @@ slurp() {
433 rm -f $dir/$gnulib_mk && 507 rm -f $dir/$gnulib_mk &&
434 sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk 508 sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
435 } 509 }
510 silentize $dir/$gnulib_mk
436 elif { test "${2+set}" = set && test -r $2/$dir/$file; } || 511 elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
437 version_controlled_file $dir $file; then 512 version_controlled_file $dir $file; then
438 echo "$0: $dir/$file overrides $1/$dir/$file" 513 echo "$0: $dir/$file overrides $1/$dir/$file"
...@@ -487,13 +562,13 @@ gnulib_tool_options="\ ...@@ -487,13 +562,13 @@ gnulib_tool_options="\
487 --import\ 562 --import\
488 --no-changelog\ 563 --no-changelog\
489 --aux-dir $bt/$build_aux\ 564 --aux-dir $bt/$build_aux\
490 --doc-base $bt/doc\ 565 --doc-base $bt/$doc_base\
491 --lib $gnulib_name\ 566 --lib $gnulib_name\
492 --m4-base $bt/m4/\ 567 --m4-base $bt/$m4_base/\
493 --source-base $bt/lib/\ 568 --source-base $bt/$source_base/\
494 --tests-base $bt/tests\ 569 --tests-base $bt/$tests_base\
495 --local-dir $local_gl_dir\ 570 --local-dir $local_gl_dir\
496 $gnulib_tool_option_extras\ 571 $gnulib_tool_option_extras\
497 " 572 "
498 echo "$0: $gnulib_tool $gnulib_tool_options --import ..." 573 echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
499 $gnulib_tool $gnulib_tool_options --import $gnulib_modules && 574 $gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
...@@ -537,6 +612,16 @@ if test -f $mam_template; then ...@@ -537,6 +612,16 @@ if test -f $mam_template; then
537 done 612 done
538 fi 613 fi
539 614
615 # Remove any dangling symlink matching "*.m4" in the gnulib-populated
616 # $m4_base directory, since such a file would cause aclocal to fail.
617 # The following requires GNU find 4.2.3 or newer. Considering the usual
618 # portability constraints of this script, that may seem a very demanding
619 # requirement, but it should be ok. Ignore any failure, which is fine,
620 # since this is only a convenience to help developers avoid the relatively
621 # unusual case in which a symlinked-to .m4 file is git-removed from gnulib
622 # between successive runs of this script.
623 find "$m4_base" -name '*.m4' -depth -type l -xtype l -delete > /dev/null 2>&1
624
540 # Reconfigure, getting other files. 625 # Reconfigure, getting other files.
541 626
542 aclocal_flags=`sed -n 's/ACLOCAL_AMFLAGS *=//p' Makefile.am` 627 aclocal_flags=`sed -n 's/ACLOCAL_AMFLAGS *=//p' Makefile.am`
...@@ -573,14 +658,15 @@ if test $with_gettext = yes; then ...@@ -573,14 +658,15 @@ if test $with_gettext = yes; then
573 rm -f po/Makevars 658 rm -f po/Makevars
574 sed ' 659 sed '
575 /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/ 660 /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
576 /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ 661 /^MSGID_BUGS_ADDRESS *=/s/=.*/= '"$MSGID_BUGS_ADDRESS"'/
662 /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
577 /^XGETTEXT_OPTIONS *=/{ 663 /^XGETTEXT_OPTIONS *=/{
578 s/$/ \\/ 664 s/$/ \\/
579 a\ 665 a\
580 '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} 666 '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
581 } 667 }
582 ' po/Makevars.template >po/Makevars 668 ' po/Makevars.template >po/Makevars
583 669 silentize po/Makefile.in.in
584 if test -d runtime-po; then 670 if test -d runtime-po; then
585 # Similarly for runtime-po/Makevars, but not quite the same. 671 # Similarly for runtime-po/Makevars, but not quite the same.
586 rm -f runtime-po/Makevars 672 rm -f runtime-po/Makevars
...@@ -588,6 +674,7 @@ if test $with_gettext = yes; then ...@@ -588,6 +674,7 @@ if test $with_gettext = yes; then
588 /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ 674 /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
589 /^subdir *=.*/s/=.*/= runtime-po/ 675 /^subdir *=.*/s/=.*/= runtime-po/
590 /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ 676 /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
677 /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
591 /^XGETTEXT_OPTIONS *=/{ 678 /^XGETTEXT_OPTIONS *=/{
592 s/$/ \\/ 679 s/$/ \\/
593 a\ 680 a\
......
...@@ -17,14 +17,16 @@ dnl You should have received a copy of the GNU General Public License along ...@@ -17,14 +17,16 @@ dnl You should have received a copy of the GNU General Public License along
17 dnl with GNU Mailutils; if not, write to the Free Software Foundation, 17 dnl with GNU Mailutils; if not, write to the Free Software Foundation,
18 dnl Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 dnl Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 19
20 AC_PREREQ(2.63)
20 AC_INIT([GNU Mailutils], [2.0.90], [bug-mailutils@gnu.org], [mailutils]) 21 AC_INIT([GNU Mailutils], [2.0.90], [bug-mailutils@gnu.org], [mailutils])
21 AC_CONFIG_SRCDIR([mailbox/mailbox.c]) 22 AC_CONFIG_SRCDIR([mailbox/mailbox.c])
22 AC_CONFIG_AUX_DIR([build-aux]) 23 AC_CONFIG_AUX_DIR([build-aux])
23 AM_INIT_AUTOMAKE 24 AM_INIT_AUTOMAKE([gnits 1.8.5 dist-bzip2 std-options silent-rules])
24 AC_CONFIG_HEADERS([config.h]) 25 AC_CONFIG_HEADERS([config.h])
25 AC_CONFIG_MACRO_DIR([m4]) 26 AC_CONFIG_MACRO_DIR([m4])
26 27
27 AC_PREREQ(2.60) 28 # Enable silent rules by default:
29 test -z "$enable_silent_rules" && AM_DEFAULT_VERBOSITY=0
28 30
29 dnl Autobuild stuff 31 dnl Autobuild stuff
30 AB_INIT 32 AB_INIT
......
1 ## Process this file with GNU Automake to create Makefile.in 1 ## Process this file with GNU Automake to create Makefile.in
2 2
3 ## Copyright (C) 2001, 2002, 2006, 2007 Free Software Foundation, Inc. 3 ## Copyright (C) 2001, 2002, 2006, 2007, 2009 Free Software Foundation, Inc.
4 ## 4 ##
5 ## GNU Mailutils is free software; you can redistribute it and/or 5 ## GNU Mailutils is free software; you can redistribute it and/or
6 ## modify it under the terms of the GNU General Public License as 6 ## modify it under the terms of the GNU General Public License as
...@@ -24,15 +24,15 @@ EXTRA_SCRIPTS=sieve.scm ...@@ -24,15 +24,15 @@ EXTRA_SCRIPTS=sieve.scm
24 sievemoddir=@MU_GUILE_SIEVE_MOD_DIR@ 24 sievemoddir=@MU_GUILE_SIEVE_MOD_DIR@
25 25
26 sieve.scm: sieve.scm.in sieve.sed 26 sieve.scm: sieve.scm.in sieve.sed
27 sed -f sieve.sed $(srcdir)/sieve.scm.in > sieve.scm 27 $(AM_V_GEN)sed -f sieve.sed $(srcdir)/sieve.scm.in > sieve.scm
28 28
29 sieve.sed: Makefile 29 sieve.sed: Makefile
30 echo 's,%GUILE_BINDIR%,@GUILE_BINDIR@,g' > sieve.sed 30 $(AM_V_GEN)echo 's,%GUILE_BINDIR%,@GUILE_BINDIR@,g' > sieve.sed
31 echo 's,%BINDIR%,$(bindir),g' >> sieve.sed 31 $(AM_V_at)echo 's,%BINDIR%,$(bindir),g' >> sieve.sed
32 echo 's,%GUILE_SITE%,$(GUILE_SITE),g' >> sieve.sed 32 $(AM_V_at)echo 's,%GUILE_SITE%,$(GUILE_SITE),g' >> sieve.sed
33 echo 's,%LIBDIR%,$(sievemoddir),g' >> sieve.sed 33 $(AM_V_at)echo 's,%LIBDIR%,$(sievemoddir),g' >> sieve.sed
34 echo 's,%PACKAGE%,$(PACKAGE),g' >> sieve.sed 34 $(AM_V_at)echo 's,%PACKAGE%,$(PACKAGE),g' >> sieve.sed
35 echo 's,%VERSION%,$(VERSION),g' >> sieve.sed 35 $(AM_V_at)echo 's,%VERSION%,$(VERSION),g' >> sieve.sed
36 36
37 CLEANFILES = sieve.scm sieve.sed 37 CLEANFILES = sieve.scm sieve.sed
38 38
......
...@@ -21,13 +21,13 @@ ...@@ -21,13 +21,13 @@
21 BUILT_SOURCES=errno.h debug.h 21 BUILT_SOURCES=errno.h debug.h
22 EXTRA_DIST=errno.hin debug.hm4 types.hin 22 EXTRA_DIST=errno.hin debug.hm4 types.hin
23 errno.h: $(top_srcdir)/mailbox/errors errno.hin 23 errno.h: $(top_srcdir)/mailbox/errors errno.hin
24 $(AWK) -f $(mu_aux_dir)/generr.awk $^ > $@ 24 $(AM_V_GEN)$(AWK) -f $(mu_aux_dir)/generr.awk $^ > $@
25 25
26 debug.h: $(mu_aux_dir)/debugdef.m4 debug.hm4 26 debug.h: $(mu_aux_dir)/debugdef.m4 debug.hm4
27 m4 $(mu_aux_dir)/debugdef.m4 debug.hm4 > debug.h 27 $(AM_V_GEN)m4 $(mu_aux_dir)/debugdef.m4 debug.hm4 > debug.h
28 28
29 types.h: $(top_srcdir)/include/mailutils/types.hin Makefile 29 types.h: $(top_srcdir)/include/mailutils/types.hin Makefile
30 sed 's/_MU_OFF_TYPE_/$(MU_OFF_TYPE)/;s/_MU_DEFAULT_RECORD_/$(MU_DEFAULT_RECORD)/' $(top_srcdir)/include/mailutils/types.hin > $@ 30 $(AM_V_GEN)sed 's/_MU_OFF_TYPE_/$(MU_OFF_TYPE)/;s/_MU_DEFAULT_RECORD_/$(MU_DEFAULT_RECORD)/' $(top_srcdir)/include/mailutils/types.hin > $@
31 DISTCLEANFILES = types.h 31 DISTCLEANFILES = types.h
32 32
33 pkginclude_DATA = types.h 33 pkginclude_DATA = types.h
......
...@@ -96,27 +96,27 @@ GUILE_DOC_SNARF=$(mu_aux_dir)/guile-doc-snarf ...@@ -96,27 +96,27 @@ GUILE_DOC_SNARF=$(mu_aux_dir)/guile-doc-snarf
96 SUFFIXES=.x .doc .inc .in 96 SUFFIXES=.x .doc .inc .in
97 97
98 .c.x: 98 .c.x:
99 AWK=$(AWK) \ 99 $(AM_V_GEN)AWK=$(AWK) \
100 $(GUILE_DOC_SNARF) -o $@ \ 100 $(GUILE_DOC_SNARF) -o $@ \
101 $< $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) 101 $< $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
102 102
103 .c.doc: 103 .c.doc:
104 AWK=$(AWK) \ 104 $(AM_V_GEN)AWK=$(AWK) \
105 $(GUILE_DOC_SNARF) -d -o $@ \ 105 $(GUILE_DOC_SNARF) -d -o $@ \
106 $< $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) 106 $< $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
107 107
108 .c.inc: 108 .c.inc:
109 sed -n 's/SCM_DEFINE *(.[^,]*, *\"\([^"][^"]*\)\".*/[(export \1)]/p' $< > $@ 109 $(AM_V_GEN)sed -n 's/SCM_DEFINE *(.[^,]*, *\"\([^"][^"]*\)\".*/[(export \1)]/p' $< > $@
110 110
111 guile-procedures.texi: $(DOT_DOC_FILES) 111 guile-procedures.texi: $(DOT_DOC_FILES)
112 cat $(DOT_DOC_FILES) > $@ 112 $(AM_V_GEN)cat $(DOT_DOC_FILES) > $@
113 113
114 guile-procedures.txt: guile-procedures.texi 114 guile-procedures.txt: guile-procedures.texi
115 rm -f $@ 115 $(AM_V_GEN) rm -f $@; \
116 $(MAKEINFO) --force -o $@ guile-procedures.texi || test -f $@ 116 $(MAKEINFO) --force -o $@ guile-procedures.texi || test -f $@
117 117
118 mailutils.scm: mailutils.scm.in $(C_SRCS:.c=.inc) 118 mailutils.scm: mailutils.scm.in $(C_SRCS:.c=.inc)
119 m4 -DVERSION=$(VERSION) -DLIBDIR=$(libdir) \ 119 $(AM_V_GEN)m4 -DVERSION=$(VERSION) -DLIBDIR=$(libdir) \
120 -DSITEDIR=$(sitedir) \ 120 -DSITEDIR=$(sitedir) \
121 -DBUILDDIR=$(top_builddir)/libmu_scm \ 121 -DBUILDDIR=$(top_builddir)/libmu_scm \
122 $(srcdir)/mailutils.scm.in > $@ 122 $(srcdir)/mailutils.scm.in > $@
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
20 test_dirs = lib etc spool folder 20 test_dirs = lib etc spool folder
21 21
22 dist-hook: 22 dist-hook:
23 here=`cd $(top_builddir)/$(subdir) && pwd`; \ 23 @here=`cd $(top_builddir)/$(subdir) && pwd`; \
24 srcdir=`cd $(srcdir) && pwd`; \ 24 srcdir=`cd $(srcdir) && pwd`; \
25 distdir=`cd $(distdir) && pwd`; \ 25 distdir=`cd $(distdir) && pwd`; \
26 for dir in $(test_dirs); \ 26 for dir in $(test_dirs); \
......