Changed repl and dist default to -noatfile.
[mmh] / Makefile.am
index cf29544..2c4dcfe 100644 (file)
@@ -36,7 +36,9 @@ auxexecdir = @libdir@
 TESTS_ENVIRONMENT = MH_OBJ_DIR=@abs_builddir@ \
                    MH_TEST_DIR=@abs_builddir@/test/testdir \
                    auxexecdir=$(auxexecdir) bindir=$(bindir) \
-                   mandir=$(mandir) sysconfdir=$(sysconfdir)
+                   mandir=$(mandir) sysconfdir=$(sysconfdir) \
+                   MULTIBYTE_ENABLED=$(MULTIBYTE_ENABLED) \
+                   $(TESTS_SHELL) ## Keep at end of TESTS_ENVIRONMENT.
 ##
 ## Important note: the "cleanup" test should always be last
 ##
@@ -65,7 +67,7 @@ TESTS = test/bad-input/test-header \
        test/refile/test-refile \
        test/repl/test-if-str test/repl/test-trailing-newline \
        test/repl/test-multicomp \
-       test/scan/test-scan \
+       test/scan/test-scan test/scan/test-scan-multibyte \
        test/sequences/test-flist test/sequences/test-mark \
        test/whatnow/test-attach-detach test/whatnow/test-cd \
        test/whatnow/test-ls test/whom/test-whom \
@@ -73,6 +75,7 @@ TESTS = test/bad-input/test-header \
 
 check_SCRIPTS = test/common.sh
 check_PROGRAMS = test/getfullname test/getfqdn test/fakesmtp
+DISTCHECK_CONFIGURE_FLAGS = DISABLE_SETGID_MAIL=1
 
 ##
 ## Stuff that should be cleaned via "make clean"
@@ -80,7 +83,7 @@ check_PROGRAMS = test/getfullname test/getfqdn test/fakesmtp
 CLEANFILES = config/version.c sbr/sigmsg.h etc/mts.conf etc/sendfiles \
             etc/mhn.defaults man/man.sed man/mh-chart.man $(man_MANS)
 clean-local:
-       @rm -rf RPM a.out.DSYM uip/a.out.DSYM
+       @rm -rf RPM a.out.dSYM uip/a.out.dSYM
        @rm -rf test/testdir
 
 ##
@@ -136,7 +139,7 @@ noinst_LIBRARIES = sbr/libmh.a sbr/libdtimep.a mts/libmts.a
 ## them, but that might change in the future.
 ##
 noinst_HEADERS = h/addrsbr.h h/aliasbr.h h/crawl_folders.h h/dropsbr.h \
-                h/fmt_compile.h h/fmt_scan.h h/m_setjmp.h h/md5.h h/mf.h \
+                h/fmt_compile.h h/fmt_scan.h h/md5.h h/mf.h \
                 h/mh.h h/mhcachesbr.h h/mhparse.h h/mime.h h/msh.h \
                 h/mts.h h/nmh.h h/picksbr.h h/popsbr.h h/prototypes.h \
                 h/rcvmail.h h/scansbr.h h/signals.h h/tws.h h/utils.h \
@@ -171,6 +174,12 @@ dist_doc_DATA = COPYRIGHT VERSION docs/COMPLETION-BASH docs/COMPLETION-TCSH \
                docs/TODO
 
 ##
+## Contribs that get installed in docdir/contrib/
+##
+contribdir = $(docdir)/contrib
+dist_contrib_DATA = docs/contrib/replyfilter docs/contrib/build_nmh
+
+##
 ## Our man pages
 ##
 man_MANS = man/ali.1 man/anno.1 man/ap.8 man/burst.1 man/comp.1 \
@@ -178,7 +187,7 @@ man_MANS = man/ali.1 man/anno.1 man/ap.8 man/burst.1 man/comp.1 \
           man/fmtdump.8 man/fnext.1 man/folder.1 man/folders.1 \
           man/forw.1 man/fprev.1 man/inc.1 man/install-mh.1 man/mark.1 \
           man/mh-alias.5 man/mh-chart.1 man/mh-draft.5 man/mh-format.5 \
-          man/mh-mail.5 man/mh-profile.5 man/mh-sequence.5 \
+          man/mh-mail.5 man/mh-profile.5 man/mh_profile.5 man/mh-sequence.5 \
           man/mh-tailor.5 man/mhbuild.1 man/mhl.1 man/mhlist.1 \
           man/mhmail.1 man/mhn.1 man/mhparam.1 man/mhpath.1 \
           man/mhshow.1 man/mhstore.1 man/msgchk.1 man/msh.1 \
@@ -194,7 +203,7 @@ man_MANS = man/ali.1 man/anno.1 man/ap.8 man/burst.1 man/comp.1 \
 ## Automake using the automatic rules
 ##
 EXTRA_DIST = config/version.sh sbr/sigmsg.awk etc/mts.conf.in etc/sendfiles.in \
-            etc/mhn.defaults.sh $(MHNSEARCHPROG) nmh.spec DATE \
+            etc/mhn.defaults.sh $(MHNSEARCHPROG) DATE MACHINES \
             docs/ChangeLog_MH-3_to_MH-6.6 \
             docs/ChangeLog_MH-6.7.0_to_MH-6.8.4.html \
             man/ali.man man/anno.man man/ap.man man/burst.man man/comp.man \
@@ -203,11 +212,11 @@ EXTRA_DIST = config/version.sh sbr/sigmsg.awk etc/mts.conf.in etc/sendfiles.in \
             man/folders.man man/forw.man man/fprev.man man/inc.man \
             man/install-mh.man man/mark.man man/mh-alias.man \
             man/mh-chart-gen.sh man/mh-draft.man man/mh-format.man \
-            man/mh-mail.man man/mh-profile.man man/mh-sequence.man \
-            man/mh-tailor.man man/mhbuild.man man/mhl.man man/mhlist.man \
-            man/mhmail.man man/mhn.man man/mhparam.man man/mhpath.man \
-            man/mhshow.man man/mhstore.man man/msgchk.man man/msh.man \
-            man/mts.conf.man man/new.man man/next.man man/nmh.man \
+            man/mh-mail.man man/mh-profile.man man/mh_profile.man \
+            man/mh-sequence.man man/mh-tailor.man man/mhbuild.man man/mhl.man \
+            man/mhlist.man man/mhmail.man man/mhn.man man/mhparam.man \
+            man/mhpath.man man/mhshow.man man/mhstore.man man/msgchk.man \
+            man/msh.man man/mts.conf.man man/new.man man/next.man man/nmh.man \
             man/packf.man man/pick.man man/post.man man/prev.man \
             man/prompter.man man/rcvdist.man man/rcvpack.man \
             man/rcvstore.man man/rcvtty.man man/refile.man man/repl.man \
@@ -216,7 +225,8 @@ EXTRA_DIST = config/version.sh sbr/sigmsg.awk etc/mts.conf.in etc/sendfiles.in \
             man/unseen.man man/whatnow.man man/whom.man \
             test/README $(TESTS) test/inc/deb359167.mbox \
             test/inc/fromline.txt test/inc/msgheader.txt test/inc/filler.txt \
-            test/inc/md5sums test/post/test-post-common.sh
+            test/inc/md5sums test/post/test-post-common.sh \
+            SPECS/nmh.spec SPECS/build-nmh-cygwin
 
 ##
 ## These are all of the definitions for each of the programs listed above.
@@ -392,9 +402,8 @@ etc/mts.conf: $(srcdir)/etc/mts.conf.in Makefile
        rm -f $@
        $(SED) -e 's,%mts%,$(MTS),' \
               -e 's,%mailspool%,$(mailspool),' \
-              -e 's,%etcdir%,$(sysconfdir),' \
               -e 's,%smtpservers%,$(smtpservers),' \
-                               < $(srcdir)/etc/mts.conf.in > $@
+                               < $(srcdir)/etc/mts.conf.in > $@
 
 etc/mhn.defaults: $(srcdir)/etc/mhn.defaults.sh $(MHNSEARCHPROG)
        rm -f $@
@@ -407,6 +416,10 @@ etc/sendfiles: $(srcdir)/etc/sendfiles.in Makefile
 ##
 ## This rule gets called at "make install" time; we use it to create links
 ## between different programs.
+## On Cygwin, the choice of ln or ln -s must be made at install time,
+## not configure time, because some filesystems (NTFS) support hard
+## links but others (FAT32) don't.  The fallback to cp -p might not be
+## needed, but it's here just in case.
 ##
 install-exec-hook:
        rm -f $(DESTDIR)$(bindir)/flists$(EXEEXT)
@@ -416,21 +429,34 @@ install-exec-hook:
        rm -f $(DESTDIR)$(bindir)/unseen$(EXEEXT)
        rm -f $(DESTDIR)$(bindir)/prev$(EXEEXT)
        rm -f $(DESTDIR)$(bindir)/next$(EXEEXT)
-       ln $(DESTDIR)$(bindir)/flist$(EXEEXT) $(DESTDIR)$(bindir)/flists$(EXEEXT)
-       ln $(DESTDIR)$(bindir)/folder$(EXEEXT) $(DESTDIR)$(bindir)/folders$(EXEEXT)
-       ln $(DESTDIR)$(bindir)/new$(EXEEXT) $(DESTDIR)$(bindir)/fnext$(EXEEXT)
-       ln $(DESTDIR)$(bindir)/new$(EXEEXT) $(DESTDIR)$(bindir)/fprev$(EXEEXT)
-       ln $(DESTDIR)$(bindir)/new$(EXEEXT) $(DESTDIR)$(bindir)/unseen$(EXEEXT)
-       ln $(DESTDIR)$(bindir)/show$(EXEEXT) $(DESTDIR)$(bindir)/prev$(EXEEXT)
-       ln $(DESTDIR)$(bindir)/show$(EXEEXT) $(DESTDIR)$(bindir)/next$(EXEEXT)
+       cd $(DESTDIR)$(bindir) && \
+         if ln flist$(EXEEXT) flists$(EXEEXT) 2>/dev/null && \
+           ln folder$(EXEEXT) folders$(EXEEXT) && \
+           ln new$(EXEEXT) fnext$(EXEEXT) && \
+           ln new$(EXEEXT) fprev$(EXEEXT) && \
+           ln new$(EXEEXT) unseen$(EXEEXT) && \
+           ln show$(EXEEXT) prev$(EXEEXT) && \
+           ln show$(EXEEXT) next$(EXEEXT); then :; \
+         elif ln -s flist$(EXEEXT) flists$(EXEEXT) 2>/dev/null && \
+           ln -s folder$(EXEEXT) folders$(EXEEXT) && \
+           ln -s new$(EXEEXT) fnext$(EXEEXT) && \
+           ln -s new$(EXEEXT) fprev$(EXEEXT) && \
+           ln -s new$(EXEEXT) unseen$(EXEEXT) && \
+           ln -s show$(EXEEXT) prev$(EXEEXT) && \
+           ln -s show$(EXEEXT) next$(EXEEXT); then :; \
+         else cp -p flist$(EXEEXT) flists$(EXEEXT) && \
+           cp -p folder$(EXEEXT) folders$(EXEEXT) && \
+           cp -p new$(EXEEXT) fnext$(EXEEXT) && \
+           cp -p new$(EXEEXT) fprev$(EXEEXT) && \
+           cp -p new$(EXEEXT) unseen$(EXEEXT) && \
+           cp -p show$(EXEEXT) prev$(EXEEXT) && \
+           cp -p show$(EXEEXT) next$(EXEEXT); \
+         fi
        if test x$(SETGID_MAIL) != x; then \
-               chgrp $(MAIL_SPOOL_GRP) $(DESTDIR)$(bindir)/inc$(EXEEXT); \
+               chgrp $(MAIL_SPOOL_GRP) $(DESTDIR)$(bindir)/inc$(EXEEXT) && \
                chmod 2755 $(DESTDIR)$(bindir)/inc$(EXEEXT); \
        fi
 
-install-data-hook:
-       rm -f $(DESTDIR)$(man5dir)/mh_profile.5
-       ln $(DESTDIR)$(man5dir)/mh-profile.5 $(DESTDIR)$(man5dir)/mh_profile.5
 ##
 ## Make sure we remove those links at uninstall time
 ##
@@ -442,7 +468,6 @@ uninstall-hook:
        rm -f $(DESTDIR)$(bindir)/unseen$(EXEEXT)
        rm -f $(DESTDIR)$(bindir)/prev$(EXEEXT)
        rm -f $(DESTDIR)$(bindir)/next$(EXEEXT)
-       rm -f $(DESTDIR)$(man5dir)/mh_profile.5
 
 ##
 ## Our rules to build our internal libraries (libmh.a, libmts.a)
@@ -454,7 +479,7 @@ sbr_libmh_a_SOURCES = sbr/addrsbr.c sbr/ambigsw.c sbr/atooi.c sbr/brkstring.c \
                      sbr/context_replace.c sbr/context_save.c \
                      sbr/copy.c sbr/copyip.c sbr/cpydata.c \
                      sbr/cpydgst.c sbr/crawl_folders.c sbr/discard.c \
-                     sbr/done.c sbr/dtime.c sbr/escape_display_name.c \
+                     sbr/done.c sbr/dtime.c sbr/escape_addresses.c \
                      sbr/error.c  sbr/ext_hook.c sbr/fdcompare.c \
                      sbr/folder_addmsg.c sbr/folder_delmsgs.c \
                      sbr/folder_free.c sbr/folder_pack.c \
@@ -465,7 +490,7 @@ sbr_libmh_a_SOURCES = sbr/addrsbr.c sbr/ambigsw.c sbr/atooi.c sbr/brkstring.c \
                      sbr/fmt_rfc2047.c sbr/fmt_scan.c sbr/lock_file.c \
                      sbr/m_atoi.c sbr/m_backup.c sbr/m_convert.c \
                      sbr/m_draft.c sbr/m_getfld.c sbr/m_gmprot.c \
-                     sbr/m_maildir.c sbr/m_name.c sbr/m_setjmp.c \
+                     sbr/m_maildir.c sbr/m_name.c \
                      sbr/makedir.c sbr/mts.c sbr/norm_charmap.c sbr/path.c \
                      sbr/peekc.c sbr/pidwait.c sbr/pidstatus.c \
                      sbr/print_help.c sbr/print_sw.c sbr/print_version.c \
@@ -490,9 +515,11 @@ sbr_libmh_a_CPPFLAGS = -I./sbr -DNMHETCDIR='"$(sysconfdir)"' \
                -DDEFAULT_PAGER='"$(pagerpath)"'
 
 sbr_libdtimep_a_SOURCES = sbr/dtimep.l
-sbr_libdtimep_a_CFLAGS = $(sbr_libmh_a_CPPFLAGS) $(DISABLE_UNUSED_MACROS_WARNING)
+sbr_libdtimep_a_CFLAGS = $(sbr_libmh_a_CPPFLAGS) \
+                        $(DISABLE_UNUSED_MACROS_WARNING) \
+                        $(DISABLE_SIGN_COMPARE_WARNING)
 
-mts_libmts_a_SOURCES = mts/smtp/hosts.c mts/smtp/smtp.c
+mts_libmts_a_SOURCES = mts/smtp/smtp.c
 
 ##
 ## Our rules for generating man pages (both the rule for man.sed and
@@ -552,14 +579,12 @@ ChangeLog:
 ##
 rpm: dist
        @test -d $(rpmdir)/SOURCES || $(MKDIR_P) $(rpmdir)/SOURCES
-       @test -d $(rpmdir)/SPECS || $(MKDIR_P) $(rpmdir)/SPECS
        @mv -f $(DIST_ARCHIVES) $(rpmdir)/SOURCES
        @cp -p VERSION $(rpmdir)/SOURCES
-       @cp -p nmh.spec $(rpmdir)/SPECS
        @rpmbuild --define '_topdir $(rpmdir)' \
          --define '_tmppath %{_topdir}/TMP' \
          --define "_sysconfdir $(DESTDIR)$(sysconfdir)" \
-         -ba $(rpmdir)/SPECS/nmh.spec
+         -ba SPECS/nmh.spec
 .PHONY: rpm
 
 ##
@@ -567,7 +592,7 @@ rpm: dist
 ##
 cscope:
        echo "-I $(srcdir)/h -I $(srcdir)/sbr -I $(srcdir)/uip -I $(srcdir)/mts/smtp" > cscope.files
-       find $(srcdir) \( -name \*.c -o -name \*.l \) -print | grep -v dtimep.c >> cscope.files
+       find $(srcdir) \( -name docs -prune \) -o \( -name \*.c -o -name \*.l \) -print | grep -v dtimep.c >> cscope.files
 .PHONY: cscope
 
 
@@ -582,12 +607,12 @@ gcov:
         fi
        @echo rebuilding with AM_CFLAGS=--coverage . . .
        @(make clean  &&  make AM_CFLAGS=--coverage) > /dev/null  && \
-          make check AM_CFLAGS=--coverage
+         make check AM_CFLAGS=--coverage
        @for i in `find . -name '*.gcda'`; do \
           gcov -p -o `echo $$i | $(SED) 's%\\(.*\\)/%\\1 %'`; \
         done
        @for i in `find . -name '*.gcno'`; do \
-          if ! test -f `echo $$i | sed 's%\.gcno%.gcda%'`; then \
+          if test -f `echo $$i | sed 's%\.gcno%.gcda%'`; then :; else \
             echo untested: $$i; \
           fi; \
         done
@@ -618,5 +643,5 @@ upload: dist
                chmod 664 $(DIST_ARCHIVES).sig; \
        fi
        @echo "Uploading to savannah"
-       scp -p $(DIST_ARCHIVES)* $(SAVANNAH_USERNAME)@savannah.gnu.org:/releases/nmh
+       scp -p $(DIST_ARCHIVES)* $(SAVANNAH_USERNAME)@dl.sv.nongnu.org:/releases/nmh
 .PHONY: upload