Imported Upstream version 2.3.1
[platform/upstream/gpg2.git] / Makefile.am
index 892a857..06a9a66 100644 (file)
@@ -1,5 +1,5 @@
-# Makefile.am - Top level makefile for GnuPG
-#      Copyright (C) 2001, 2004, 2012 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.
 #
 # GNU General Public License for more details.
 #
 # 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
 
-ACLOCAL_AMFLAGS = -I m4 -I gl/m4
-DISTCHECK_CONFIGURE_FLAGS = --enable-symcryptrun --enable-mailto --enable-gpgtar
+# To include the wixlibs for building an MSI installer in a release use
+#   make release WITH_MSI=1
 
-GITLOG_TO_CHANGELOG=gitlog-to-changelog
+# Location of the released tarball archives.  This is prefixed by
+# the variable RELEASE_ARCHIVE in ~/.gnupg-autogen.rc.  For example:
+# RELEASE_ARCHIVE=user@host:archive/tarballs
+RELEASE_ARCHIVE_SUFFIX  = gnupg/v2.3
+# The variable RELEASE_SIGNKEY in ~/.gnupg-autogen.rc is used
+# to specify the key for signing.  For example:
+# RELEASE_SIGNKEY=D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
 
-EXTRA_DIST = scripts/config.rpath autogen.sh README.GIT              \
-            ChangeLog-2011 po/ChangeLog-2011 scripts/ChangeLog-2011
 
-DISTCLEANFILES = g10defs.h
+# Autoconf flags.
+ACLOCAL_AMFLAGS = -I m4
+AM_DISTCHECK_DVI_TARGET = pdf
+AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gnupg-builddir-envvar \
+  --enable-all-tests --enable-g13 \
+  --enable-gpgtar --enable-wks-tools --disable-ntbtls
 
-if BUILD_GPGSM
-kbx = kbx
-else
-kbx =
-endif
+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/w32/wixlib.wxs                \
+             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
-keyserver = keyserver
 else
 gpg =
-keyserver =
 endif
 if BUILD_GPGSM
 sm = sm
@@ -57,43 +87,79 @@ scd = scd
 else
 scd =
 endif
-if BUILD_TOOLS
-tools = tools
+if BUILD_G13
+g13 = g13
+else
+g13 =
+endif
+if BUILD_DIRMNGR
+dirmngr = dirmngr
 else
-tools =
+dirmngr =
 endif
 if BUILD_DOC
 doc = doc
 else
 doc =
 endif
-
-if HAVE_W32_SYSTEM
+if DISABLE_TESTS
 tests =
 else
 tests = tests
 endif
+if BUILD_TPM2D
+tpm2d = tpm2d
+else
+tpm2d =
+endif
 
-SUBDIRS = m4 gl include jnlib common ${kbx} \
- ${gpg} ${keyserver} ${sm} ${agent} ${scd} ${tools} po ${doc} ${tests}
+SUBDIRS = m4 common regexp kbx \
+          ${gpg} ${sm} ${agent} ${scd} ${g13} ${dirmngr} \
+          tools po ${doc} ${tests} ${tpm2d}
 
 dist_doc_DATA = README
 
 
 dist-hook: gen-ChangeLog
-       echo "$(VERSION)" > $(distdir)/VERSION
+
+distcheck-hook:
+       set -e; ( \
+       pref="#+macro: gnupg24_" ;\
+       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; \
+       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; \
+           $(top_srcdir)/build-aux/potomo $(top_srcdir)/po/$$i.po \
+              "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES/gnupg2.mo" ; \
+       done
+endif
 
 
 gen_start_date = 2011-12-01T06:00:00
 .PHONY: gen-ChangeLog
 gen-ChangeLog:
-       set -e;                                                         \
-       if test -d $(top_srcdir)/.git; then                             \
+       if test -e $(top_srcdir)/.git; then                             \
          (cd $(top_srcdir) &&                                          \
            $(GITLOG_TO_CHANGELOG) --append-dot --tear-off              \
-           --amend=scripts/git-log-fix                                 \
+           --amend=build-aux/git-log-fix                               \
            --since=$(gen_start_date) ) > $(distdir)/cl-t;              \
-          cat $(top_srcdir)/scripts/git-log-footer >> $(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
@@ -101,3 +167,98 @@ gen-ChangeLog:
 
 stowinstall:
        $(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) */" ;\
+        [ -n "$(WITH_MSI)" ] && echo "/* (with MSI build support) */" ;\
+        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; \
+        $(AMTAR) xjf $(RELEASE_NAME).tar.bz2 ;\
+        target=w32-release ;\
+        [ -n "$(WITH_MSI)" ] && target=w32-msi-release ;\
+        $(MAKE) -f  $(RELEASE_NAME)/build-aux/speedo.mk $${target} ;\
+        echo "/* Build finished at $$(date -uIseconds) */" ;\
+        echo "/*" ;\
+        echo " * Please run the final step interactively:" ;\
+        echo " *   make sign-release" ;\
+        echo " */" ;\
+       ) 2>&1 | tee "$(RELEASE_NAME).buildlog"
+
+sign-release:
+        +(set -e; \
+         cd dist; \
+         x=$$(grep '^RELEASE_ARCHIVE=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
+          if [ -z "$$x" ]; then \
+             echo "error: RELEASE_ARCHIVE missing in ~/.gnupg-autogen.rc">&2; \
+             exit 2;\
+          fi;\
+          myarchive="$$x/$(RELEASE_ARCHIVE_SUFFIX)";\
+         x=$$(grep '^RELEASE_SIGNKEY=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
+          if [ -z "$$x" ]; then \
+             echo "error: RELEASE_SIGNKEY missing in ~/.gnupg-autogen.rc">&2; \
+             exit 2;\
+          fi;\
+         mysignkey="$$x";\
+         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" ;\
+          wixlibfile="$${release_w32_name}.wixlib";\
+         $(MAKE) -f $(RELEASE_NAME)/build-aux/speedo.mk w32-sign-installer ;\
+         echo "/* Signing the source tarball ..." ;\
+         gpg -sbu $$mysignkey $(RELEASE_NAME).tar.bz2 ;\
+         echo "/* Signing the W32 source tarball ..." ;\
+         gpg -sbu $$mysignkey $${release_w32_name}.tar.xz ;\
+         echo "/* Signing the W32 installer ..." ;\
+         gpg -sbu $$mysignkey $${release_w32_name}.exe ;\
+         cat $(RELEASE_NAME).swdb >swdb.snippet;\
+         echo '#+macro: gnupg24_branch  STABLE-BRANCH-2-4' >>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 archive ..." ;\
+         scp -p $${files1} $${files2} $$myarchive/ \
+           || echo "/* Error copying files to the archive - ignored */" ;\
+         if [ -e $${wixlibfile} ]; then\
+           scp -p $${wixlibfile} $$myarchive/ \
+             || echo "/* Error copying wixlib to the archive - ignored. */" ;\
+          fi ;\
+         echo '/*' ;\
+         echo ' * All done; for checksums see dist/swdb.snippet' ;\
+         echo ' */' ;\
+         )