indent: Fix indentation of read_block in g10/import.c
[gnupg.git] / Makefile.am
index e2ad6d1..680fe1b 100644 (file)
@@ -1,45 +1,72 @@
 # Makefile.am - main makefile for GnuPG
 #      Copyright (C) 2001, 2004, 2010 Free Software Foundation, Inc.
 # Makefile.am - main makefile for GnuPG
 #      Copyright (C) 2001, 2004, 2010 Free Software Foundation, Inc.
-# 
+#
 # This file is part of GnuPG.
 # This file is part of GnuPG.
-# 
+#
 # GnuPG is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 # GnuPG is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 # GnuPG is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 
 ## Process this file with automake to produce Makefile.in
 
 
 ## Process this file with automake to produce Makefile.in
 
-ACLOCAL_AMFLAGS = -I m4 -I gl/m4
-AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip
-DISTCHECK_CONFIGURE_FLAGS = --enable-symcryptrun --enable-mailto
+# Location of the released tarball archives.  Note that this is an
+# internal archive and before uploading this to the public server,
+# manual tests should be run and the git release tat set and pushed.
+# Adjust as needed.
+RELEASE_ARCHIVE_DIR  = wk@vigenere:tarballs/gnupg/v2.2
 
 
-EXTRA_DIST = scripts/config.rpath scripts/potomo autogen.sh README.GIT
-DISTCLEANFILES = g10defs.h 
+# The key used to sign the released sources.  Adjust as needed.
+RELEASE_SIGNING_KEY  = D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
 
 
-if BUILD_GPGSM
-kbx = kbx
-else
-kbx =
-endif
+
+# Autoconf flags.
+ACLOCAL_AMFLAGS = -I m4
+AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gnupg-builddir-envvar \
+  --enable-all-tests --enable-symcryptrun --enable-g13 \
+  --enable-gpgtar --enable-wks-tools --disable-ntbtls
+
+GITLOG_TO_CHANGELOG=gitlog-to-changelog
+
+EXTRA_DIST = build-aux/config.rpath build-aux/potomo autogen.sh autogen.rc \
+            ChangeLog-2011 po/ChangeLog-2011 build-aux/ChangeLog-2011     \
+            VERSION README.GIT build-aux/gitlog-to-changelog              \
+            COPYING.GPL2 COPYING.LGPL21 COPYING.LGPL3      \
+             COPYING.CC0 COPYING.other                      \
+            build-aux/git-log-fix build-aux/git-log-footer \
+            build-aux/getswdb.sh                           \
+            build-aux/speedo.mk                            \
+             build-aux/speedo/zlib.pc                      \
+             build-aux/speedo/w32/inst-options.ini         \
+             build-aux/speedo/w32/inst.nsi                 \
+             build-aux/speedo/w32/pkg-copyright.txt        \
+             build-aux/speedo/w32/g4wihelp.c               \
+             build-aux/speedo/w32/pango.modules                    \
+             build-aux/speedo/w32/gdk-pixbuf-loaders.cache  \
+             build-aux/speedo/w32/exdll.h                  \
+             build-aux/speedo/w32/README.txt               \
+             build-aux/speedo/w32/gnupg-logo-150x57.bmp            \
+             build-aux/speedo/w32/gnupg-logo-164x314.bmp    \
+             build-aux/speedo/patches/atk-1.32.0.patch     \
+             build-aux/speedo/patches/libiconv-1.14.patch   \
+             build-aux/speedo/patches/pango-1.29.4.patch    \
+             build-aux/speedo/patches/sqlite.patch
 
 
 
 
+DISTCLEANFILES = g10defs.h
+
 if BUILD_GPG
 gpg = g10
 if BUILD_GPG
 gpg = g10
-if !HAVE_W32CE_SYSTEM
-keyserver = 
-endif
 else
 gpg =
 else
 gpg =
-keyserver = 
 endif
 if BUILD_GPGSM
 sm = sm
 endif
 if BUILD_GPGSM
 sm = sm
@@ -66,46 +93,137 @@ dirmngr = dirmngr
 else
 dirmngr =
 endif
 else
 dirmngr =
 endif
-if BUILD_TOOLS
-tools = tools
-else
-tools =
-endif
 if BUILD_DOC
 doc = doc
 else
 doc =
 endif
 
 if BUILD_DOC
 doc = doc
 else
 doc =
 endif
 
-if HAVE_W32_SYSTEM
-tests =
-else
-tests = tests
-endif
-
-SUBDIRS = m4 gl include common ${kbx} \
-          ${gpg} ${keyserver} ${sm} ${agent} ${scd} ${g13} ${dirmngr} \
-          ${tools} po ${doc} ${tests}
+SUBDIRS = m4 common kbx \
+          ${gpg} ${sm} ${agent} ${scd} ${g13} ${dirmngr} \
+          tools po ${doc} tests
 
 dist_doc_DATA = README
 
 
 
 dist_doc_DATA = README
 
 
-dist-hook:
-       echo "$(VERSION)" > $(distdir)/VERSION
+dist-hook: gen-ChangeLog
+
+distcheck-hook:
+       set -e; ( \
+       pref="#+macro: gnupg22_" ;\
+       reldate="$$(date -u +%Y-%m-%d)" ;\
+        echo "$${pref}ver  $(PACKAGE_VERSION)"  ;\
+        echo "$${pref}date $${reldate}" ;\
+        list='$(DIST_ARCHIVES)'; for i in $$list; do \
+         case "$$i" in *.tar.bz2) \
+            echo "$${pref}size $$(wc -c <$$i|awk '{print int($$1/1024)}')k" ;\
+           echo "$${pref}sha1 $$(sha1sum <$$i|cut -d' ' -f1)" ;\
+           echo "$${pref}sha2 $$(sha256sum <$$i|cut -d' ' -f1)" ;;\
+         esac;\
+       done ) | tee $(distdir).swdb
+
 
 if HAVE_W32_SYSTEM
 install-data-hook:
        set -e; \
 
 if HAVE_W32_SYSTEM
 install-data-hook:
        set -e; \
-       for i in $$($(top_srcdir)/scripts/potomo \
+       for i in $$($(top_srcdir)/build-aux/potomo \
                      --get-linguas $(top_srcdir)/po) ; do \
            $(MKDIR_P) "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES" || true; \
            rm -f "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES/gnupg2.mo" \
                                                  2>/dev/null || true; \
                      --get-linguas $(top_srcdir)/po) ; do \
            $(MKDIR_P) "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES" || true; \
            rm -f "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES/gnupg2.mo" \
                                                  2>/dev/null || true; \
-           $(top_srcdir)/scripts/potomo $(top_srcdir)/po/$$i.po \
+           $(top_srcdir)/build-aux/potomo $(top_srcdir)/po/$$i.po \
               "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES/gnupg2.mo" ; \
        done
 endif
 
               "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES/gnupg2.mo" ; \
        done
 endif
 
-stowinstall: 
+
+gen_start_date = 2011-12-01T06:00:00
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+       if test -e $(top_srcdir)/.git; then                             \
+         (cd $(top_srcdir) &&                                          \
+           $(GITLOG_TO_CHANGELOG) --append-dot --tear-off              \
+           --amend=build-aux/git-log-fix                               \
+           --since=$(gen_start_date) ) > $(distdir)/cl-t;              \
+          cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;  \
+         rm -f $(distdir)/ChangeLog;                                   \
+         mv $(distdir)/cl-t $(distdir)/ChangeLog;                      \
+       fi
+
+
+stowinstall:
        $(MAKE) $(AM_MAKEFLAGS) install prefix=/usr/local/stow/gnupg
 
        $(MAKE) $(AM_MAKEFLAGS) install prefix=/usr/local/stow/gnupg
 
+TESTS_ENVIRONMENT = \
+       LC_ALL=C \
+       EXEEXT=$(EXEEXT) \
+       PATH=$(abs_top_builddir)/tests/gpgscm:$(PATH) \
+       abs_top_srcdir=$(abs_top_srcdir) \
+       objdir=$(abs_top_builddir) \
+       GPGSCM_PATH=$(abs_top_srcdir)/tests/gpgscm
+
+.PHONY: check-all release sign-release
+check-all:
+       $(TESTS_ENVIRONMENT) \
+         $(abs_top_builddir)/tests/gpgscm/gpgscm \
+         $(abs_srcdir)/tests/run-tests.scm $(TESTFLAGS) $(TESTS)
+
+# Names of to help the release target.
+RELEASE_NAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
+RELEASE_W32_STEM_NAME = $(PACKAGE_TARNAME)-w32-$(PACKAGE_VERSION)
+
+release:
+       +(set -e;\
+        if [ "$(abs_top_builddir)" = "$(abs_top_srcdir)" ]; then \
+           echo "error: build directory must not be the source directory" >&2;\
+          exit 2;\
+         fi ;\
+        echo "/* Build started at $$(date -uIseconds) */" ;\
+        cd $(top_srcdir); \
+        ./autogen.sh --force; \
+        cd $(abs_top_builddir); \
+        rm -rf dist; mkdir dist ; cd dist ; \
+        $(abs_top_srcdir)/configure --enable-maintainer-mode; \
+        $(MAKE) distcheck TESTFLAGS=--parallel; \
+        $(TAR) xjf $(RELEASE_NAME).tar.bz2 ;\
+        $(MAKE) -f  $(RELEASE_NAME)/build-aux/speedo.mk w32-release ;\
+        echo "/* Build finished at $$(date -uIseconds) */" ;\
+         echo "/*" ;\
+        echo " * Please run the final step interactivly:" ;\
+        echo " *   make sign-release" ;\
+        echo " */" ;\
+       ) 2>&1 | tee "$(RELEASE_NAME).buildlog"
+
+sign-release:
+        +(set -e; \
+         cd dist; \
+         release_w32_name="$(RELEASE_W32_STEM_NAME)_$$(date -u +%Y%m%d)" ;\
+         files1="$(RELEASE_NAME).tar.bz2 \
+                  $${release_w32_name}.tar.xz \
+                  $${release_w32_name}.exe" ;\
+         files2="$(RELEASE_NAME).tar.bz2.sig \
+                 $(RELEASE_NAME).swdb \
+                 $(RELEASE_NAME).buildlog \
+                 $${release_w32_name}.tar.xz.sig \
+                 $${release_w32_name}.exe.sig    \
+                 $${release_w32_name}.exe.swdb" ;\
+         $(MAKE) -f $(RELEASE_NAME)/build-aux/speedo.mk w32-sign-installer ;\
+         echo "/* Signing the source tarball ..." ;\
+         gpg -sbu $(RELEASE_SIGNING_KEY) $(RELEASE_NAME).tar.bz2 ;\
+         echo "/* Signing the W32 source tarball ..." ;\
+         gpg -sbu $(RELEASE_SIGNING_KEY) $${release_w32_name}.tar.xz ;\
+         echo "/* Signing the W32 installer ..." ;\
+         gpg -sbu $(RELEASE_SIGNING_KEY) $${release_w32_name}.exe ;\
+         cat $(RELEASE_NAME).swdb >swdb.snippet;\
+         echo '#+macro: gnupg22_branch  STABLE-BRANCH-2-2' >>swdb.snippet;\
+         cat  $${release_w32_name}.exe.swdb >>swdb.snippet;\
+         echo >>swdb.snippet ;\
+         sha1sum $${files1} >>swdb.snippet ;\
+          cat "../$(RELEASE_NAME).buildlog" swdb.snippet \
+               | gzip >$(RELEASE_NAME).buildlog ;\
+          echo "Release created - copying it to the local archive ..." ;\
+         scp -p $${files1} $${files2} $(RELEASE_ARCHIVE_DIR)/ || true;\
+         echo '/*' ;\
+         echo ' * All done; for checksums see dist/swdb.snippet' ;\
+         echo ' */' ;\
+         )