Page MenuHome GnuPG

No OneTemporary

diff --git a/src/Makefile.am b/src/Makefile.am
index f9cb9dd2..f4b1439c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,700 +1,705 @@
# Makefile.am - Installer for GnuPG 4 Windows Makefile.
# Copyright (C) 2005, 2006, 2007, 2008, 2009 g10 Code GmbH
#
# This file is part of Gpg4win.
#
# Gpg4win 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 2 of the License, or
# (at your option) any later version.
#
# Gpg4win 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
# along with this program; if not, see <http://www.gnu.org/licenses/>.
EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi config.site \
installer-options.ini.in libiconv.def libintl.def loreley.mid \
gpg4win-splash.wav gpgwrap.c exdll.h g4wihelp.c g4wihelp.nsi \
inst-sections.nsi installer.nsi installer-finish.nsi \
QtCore.pc QtGui.pc zlib.pc sha1sum.c \
qt.conf kleowrap.c potomo Memento.nsh dirmngr.conf \
inst-gpg4win.nsi uninst-gpg4win.nsi \
inst-atk.nsi uninst-atk.nsi \
inst-expat.nsi uninst-expat.nsi \
inst-freetype.nsi uninst-freetype.nsi \
inst-fontconfig.nsi uninst-fontconfig.nsi \
inst-cairo.nsi uninst-cairo.nsi \
inst-libgsasl.nsi uninst-libgsasl.nsi \
inst-libtasn1.nsi uninst-libtasn1.nsi \
inst-gnutls.nsi uninst-gnutls.nsi \
inst-curl.nsi uninst-curl.nsi \
inst-libxml2.nsi uninst-libxml2.nsi \
inst-libetpan.nsi uninst-libetpan.nsi \
inst-claws-mail.nsi uninst-claws-mail.nsi \
inst-notification_plugin.nsi uninst-notification_plugin.nsi \
inst-gtkhtml2_viewer.nsi uninst-gtkhtml2_viewer.nsi \
inst-vcalendar.nsi uninst-vcalendar.nsi \
inst-rssyl.nsi uninst-rssyl.nsi \
inst-tnef_parse.nsi uninst-tnef_parse.nsi \
inst-attachwarner.nsi uninst-attachwarner.nsi \
inst-bsfilter_plugin.nsi uninst-bsfilter_plugin.nsi \
inst-crypt.nsi uninst-crypt.nsi \
inst-dirmngr.nsi uninst-dirmngr.nsi \
inst-gettext.nsi uninst-gettext.nsi \
inst-libffi.nsi uninst-libffi.nsi \
inst-glib.nsi uninst-glib.nsi \
inst-gnupg2.nsi uninst-gnupg2.nsi \
inst-gpa.nsi uninst-gpa.nsi \
inst-gpgme.nsi uninst-gpgme.nsi \
inst-scute.nsi uninst-scute.nsi \
inst-paperkey.nsi uninst-paperkey.nsi \
inst-gpgol.nsi uninst-gpgol.nsi \
inst-gpgex.nsi uninst-gpgex.nsi \
inst-gdk-pixbuf.nsi uninst-gdk-pixbuf.nsi \
inst-gtk+.nsi uninst-gtk+.nsi \
inst-libassuan.nsi uninst-libassuan.nsi \
inst-libgcrypt.nsi uninst-libgcrypt.nsi \
inst-libgpg-error.nsi uninst-libgpg-error.nsi \
inst-libiconv.nsi uninst-libiconv.nsi \
inst-libksba.nsi uninst-libksba.nsi \
inst-adns.nsi uninst-adns.nsi \
inst-libpng.nsi uninst-libpng.nsi \
inst-enchant.nsi uninst-enchant.nsi \
inst-compendium.nsi uninst-compendium.nsi \
inst-man_advanced_de.nsi uninst-man_advanced_de.nsi \
inst-man_advanced_en.nsi uninst-man_advanced_en.nsi \
inst-man_novice_de.nsi uninst-man_novice_de.nsi \
inst-man_novice_en.nsi uninst-man_novice_en.nsi \
inst-pango.nsi uninst-pango.nsi \
inst-pinentry.nsi uninst-pinentry.nsi \
inst-pkgconfig.nsi uninst-pkgconfig.nsi \
inst-pthreads-w32.nsi uninst-pthreads-w32.nsi \
inst-regex.nsi uninst-regex.nsi \
inst-w32pth.nsi uninst-w32pth.nsi \
inst-zlib.nsi uninst-zlib.nsi \
inst-bsfilter.nsi uninst-bsfilter.nsi \
inst-qt.nsi uninst-qt.nsi \
inst-kdesupport.nsi uninst-kdesupport.nsi \
inst-oxygen-icons.nsi uninst-oxygen-icons.nsi \
inst-kdelibs.nsi uninst-kdelibs.nsi \
inst-kleopatra.nsi uninst-kleopatra.nsi \
inst-bzip2.nsi uninst-bzip2.nsi \
inst-final.nsi
SUBDIRS = dictionaries
gpg4win_readme_ll = en de ar es fr ru pt
README_files = $(addsuffix .txt,$(addprefix README.,$(gpg4win_readme_ll)))
gpg4win_howto_smime_ll = en de
HOWTO_files = $(addsuffix .txt, \
$(addprefix HOWTO-SMIME.,$(gpg4win_howto_smime_ll)))
foosum_exe = sha1sum.exe md5sum.exe sha256sum.exe
# Need to clean the dll because we bypassed automake.
CLEANFILES = g4wihelp.dll versioninfo.txt $(README_files) $(HOWTO_files) \
installer-options.ini NEWS.tmp COMPONENTS-list.tmp \
versioninfo.tmp \
gpgwrap.exe gpgwrap-2.exe kleowrap.exe $(foosum_exe)
# Supported source packages.
gpg4win_spkgs = glib libffi gdk-pixbuf gtk+ \
libgpg-error gpgme gpgol gpgex libpng enchant \
gpa libgsasl libtasn1 opencdk gnutls curl libxml2 \
libetpan claws-mail notification_plugin gtkhtml2_viewer \
vcalendar rssyl gnupg2 pinentry libassuan libksba libgcrypt \
adns dirmngr w32pth scute paperkey tnef_parse attachwarner \
bsfilter_plugin regex
# Extra options to configure for individual packages.
# We can use $(idir) here for the installation prefix.
gpg4win_pkg_glib_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
CPPFLAGS=-I$(idir)/include LDFLAGS=-L$(idir)/lib CCC=$(host)-g++
gpg4win_pkg_glib_extracflags = -march=i486
gpg4win_pkg_gdk_pixbuf_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
--with-included-loaders=yes \
CPPFLAGS=-I$(idir)/include LDFLAGS=-L$(idir)/lib
gpg4win_pkg_gtk__configure = \
CPPFLAGS=-I$(idir)/include LDFLAGS=-L$(idir)/lib --disable-cups
# The GnuPG package provides man pages which we have to convert.
# We also create the MO files here.
define gpg4win_pkg_gnupg2_post_install
(for i in gpg2 gpgv2 gpgsm gpg-agent scdaemon gpg-connect-agent gpgconf ; \
do man -Tlatin1 -l $$$${pkgidir}/share/man/man1/$$$${i}.1 | \
sed `printf "s/_\b//g;s/\b.//g"` | \
sed -e 's/$$$$/\r/' > $$$${pkgidir}/share/man/man1/$$$${i}.man ; \
done ; \
for i in `$(tsdir)/src/potomo --get-linguas $$$${pkgsdir}/po` ; do \
$(mkdir_p) $$$${pkgidir}/share/locale/$$$${i}/LC_MESSAGES || true; \
rm $$$${pkgidir}/share/locale/$$$${i}/LC_MESSAGES/gnupg2.mo 2>/dev/null \
|| true; \
$(tsdir)/src/potomo $$$${pkgsdir}/po/$$$${i}.po \
$$$${pkgidir}/share/locale/$$$${i}/LC_MESSAGES/gnupg2.mo; \
done)
endef
# Paperkey comes with a man pages which we have to convert.
define gpg4win_pkg_paperkey_post_install
(for i in paperkey ; \
do man -Tlatin1 -l $$$${pkgidir}/share/man/man1/$$$${i}.1 | \
sed `printf "s/_\b//g;s/\b.//g"` | \
sed -e 's/$$$$/\r/' > $$$${pkgidir}/share/man/man1/$$$${i}.man ; \
done)
endef
# Build the reference manual.
define gpg4win_pkg_gpgol_post_install
( cd $$$${pkgndir}/doc; make pdf )
endef
# We would like to use --with-libiconv-prefix and
# --with-libintl-prefix, but these don't work with the cheesy
# non-"libfoo.la" versions of iconv and gettext that we are using.
#gpg4win_pkg_libgpg_error_configure = \
# --with-libiconv-prefix=$(idir) --with-libintl-prefix=$(idir)
gpg4win_pkg_libgpg_error_configure = --silent \
CPPFLAGS=-I$(idir)/include LDFLAGS=-L$(idir)/lib \
--enable-static
# We convert the PO files to UTF-8. FIXME: This should be done in
# libgpg-error proper.
define gpg4win_pkg_libgpg_error_post_install
(for i in `$(tsdir)/src/potomo --get-linguas $$$${pkgsdir}/po` ; do \
rm $$$${pkgidir}/share/locale/$$$${i}/LC_MESSAGES/libgpg-error.mo \
2>/dev/null|| true; \
$(tsdir)/src/potomo $$$${pkgsdir}/po/$$$${i}.po \
$$$${pkgidir}/share/locale/$$$${i}/LC_MESSAGES/libgpg-error.mo; \
done)
endef
gpg4win_pkg_libassuan_configure = --silent \
--enable-static
gpg4win_pkg_libksba_configure = --silent \
--with-gpg-error-prefix=$(idir)
# Using gpgsm with VirtualBox on AES-NI hardware crashes gpg-agent.
# However, the Libgcrypt's regression tests work just fine. I don't
# have a windows instance on AES-NI, thus I can't currently debug
# this. As a workaround we disable AES-NI for now.
gpg4win_pkg_libgcrypt_configure = --silent \
--with-gpg-error-prefix=$(idir) \
--disable-aesni-support
gpg4win_pkg_adns_configure = --silent
gpg4win_pkg_libpng_configure = CPPFLAGS=\"-I$(idir)/include -DPNG_BUILD_DLL\" LDFLAGS=\"-L$(idir)/lib\" LIBPNG_DEFINES=\"-DPNG_BUILD_DLL\"
gpg4win_pkg_enchant_configure = CPPFLAGS=\"-I$(idir)/include -UENCHANT_GLOBAL_MODULE_DIR -UENCHANT_GLOBAL_ORDERING -UENCHANT_MYSPELL_DICT_DIR -UENCHANT_USPELL_DICT_DIR\" LDFLAGS=\"-L$(idir)/lib\"
gpg4win_pkg_dirmngr_configure = \
--with-gpg-error-prefix=$(idir) \
--with-ksba-prefix=$(idir) \
--with-libgcrypt-prefix=$(idir) \
--with-libassuan-prefix=$(idir) \
--with-pth-prefix=$(idir)
gpg4win_pkg_gnupg2_configure = \
--with-gpg-error-prefix=$(idir) \
--with-ksba-prefix=$(idir) \
--with-libgcrypt-prefix=$(idir) \
--with-libassuan-prefix=$(idir) \
--with-zlib=$(idir) \
--with-bzip2=$(idir) \
--with-pth-prefix=$(idir) \
--with-adns=$(idir) \
--without-included-gettext \
--enable-gpgtar \
--disable-regex
# We would like to use --with-libiconv-prefix and
# --with-libintl-prefix, but these don't work with the cheesy
# non-"libfoo.la" versions of iconv and gettext that we are using.
+if BUILD_FULL_INSTALLER
+pinentry_enable_disable= --disable-pinentry-qt --enable-pinentry-qt4
+else
+pinentry_enable_disable= --disable-pinentry-qt --disable-pinentry-qt4
+endif
gpg4win_pkg_pinentry_configure = \
+ $(pinentry_enable_disable) \
--disable-pinentry-gtk \
--enable-pinentry-gtk2 \
--with-glib-prefix=$(idir) --with-gtk-prefix=$(idir) \
- --disable-pinentry-qt \
CPPFLAGS=-I$(idir)/include LDFLAGS=-L$(idir)/lib
# --with-libiconv-prefix=$(idir) --with-libintl-prefix=$(idir)
# The LDFLAGS is needed for -lintl for glib. The QT4 variables work
# around the lack of cross compilation support in qt-dev.
gpg4win_pkg_gpgme_configure = --silent \
--with-gpg-error-prefix=$(idir) --enable-static \
`test -n "@HAVE_PKG_GLIB@" && echo "--enable-w32-glib"` \
--disable-w32-qt LDFLAGS=-L$(idir)/lib
# `test -n "@HAVE_PKG_QT@" && echo "--disable-w32-qt"` \
# QT4_CORE_CFLAGS=\"-DQT_LARGEFILE_SUPPORT -DQT_DLL \
# -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_THREAD_SUPPORT \
# -I$(idir)/include/QtCore -I$(idir)/include \
# -I$(idir)/mkspecs/win32-g++\" \
# QT4_CORE_LIBS=\"-L$(idir)/lib -lQtCore4\"
gpg4win_pkg_gpa_configure = --silent \
--with-libiconv-prefix=$(idir) --with-libintl-prefix=$(idir) \
--with-gpgme-prefix=$(idir) --with-zlib=$(idir) \
--with-libassuan-prefix=$(idir) --with-gpg-error-prefix=$(idir)
gpg4win_pkg_gpgol_configure = --silent \
--with-gpgme-prefix=$(idir) --with-gpg-error-prefix=$(idir) \
--with-libassuan-prefix=$(idir)
gpg4win_pkg_gpgex_configure = --silent \
--with-gpg-error-prefix=$(idir) \
--with-libassuan-prefix=$(idir)
# We want to build with libgcrypt
# We can't use pkcs11 tue to tto much additional dependencies.
gpg4win_pkg_gnutls_configure = \
--disable-cxx \
--with-libgcrypt \
--without-p11-kit \
--with-libtasn1-prefix=$(idir) \
--with-libgcrypt-prefix=$(idir)
# In 2.12.21 gnutls_openssl is not linked to libtasn1, thus we use
# this hack to here. (Using the included minitasn does work either
# due to a missing soruce file.)
gpg4win_pkg_gnutls_make_args = \
LTLIBTASN1=-ltasn1
gpg4win_pkg_curl_configure = \
--with-gnutls --without-ca-bundle --with-libiconv-prefix=$(idir)
gpg4win_pkg_libxml2_configure = \
--enable-shared --without-python --with-iconv=$(idir)
# The CFLAGS are needed to find pthread-w32.
gpg4win_pkg_libetpan_configure = --with-gnutls \
CPPFLAGS=\"-I$(idir)/include\" LIBS=\"-L$(idir)/lib\"
gpg4win_pkg_claws_mail_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
--with-gpg-error-prefix=$(idir) --with-gpgme-prefix=$(idir) \
--with-config-dir="Claws-mail" --enable-pthread --enable-gnutls \
--enable-libetpan --disable-trayicon-plugin --disable-dbus \
--disable-dillo-viewer-plugin \
--disable-jpilot --disable-startup-notification --disable-ipv6 \
--disable-spamassassin-plugin --disable-bogofilter-plugin \
--disable-valgrind --disable-networkmanager-support
# This is not anymore needed sinces 3.8.0 already builds a PDF version.
# define gpg4win_pkg_claws_mail_post_install
# (for i in de en ; do \
# (cd $$$${pkgidir}/share/doc/claws-mail/manual/$$$${i}; \
# ps2pdf claws-mail-manual.ps); \
# done)
# endef
gpg4win_pkg_notification_plugin_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
--disable-libnotify --disable-lcdproc --disable-hotkeys
gpg4win_pkg_gtkhtml2_viewer_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) LIBS=\"-L$(idir)/bin\"
gpg4win_pkg_vcalendar_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) LIBS=\"-L$(idir)/bin\"
gpg4win_pkg_rssyl_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) LIBS=\"-L$(idir)/bin\"
gpg4win_pkg_tnef_parse_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) LIBS=\"-L$(idir)/bin\"
gpg4win_pkg_attachwarner_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) LIBS=\"-L$(idir)/bin\"
gpg4win_pkg_bsfilter_plugin_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) LIBS=\"-L$(idir)/bin\"
gpg4win_pkg_scute_configure = --silent \
--with-gpg-error-prefix=$(idir) --with-libassuan-prefix=$(idir)
gpg4win_pkg_paperkey_configure = --silent
# Supported make-only source packages.
gpg4win_mpkgs = pthreads-w32 bzip2 zlib crypt
# Extra options for the make invocations for individual packages.
# make_flags is used for building, make_args_inst is used for installing.
gpg4win_pkg_pthreads_w32_make_args = \
prefix=$(idir) CROSS=$(host_alias)- clean GC-inlined
gpg4win_pkg_pthreads_w32_make_args_inst = \
prefix=$$$${pkgidir} CROSS=$(host_alias)-
gpg4win_pkg_bzip2_make_args = \
CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
gpg4win_pkg_bzip2_make_args_inst = \
PREFIX=$$$${pkgidir} CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
gpg4win_pkg_crypt_make_args = \
CC=$(CC) AR=$(AR)
gpg4win_pkg_crypt_make_args_inst = \
prefix=$$$${pkgidir}
gpg4win_pkg_zlib_make_args = \
-fwin32/Makefile.gcc PREFIX=$(host)- IMPLIB=libz.dll.a
gpg4win_pkg_zlib_make_args_inst = -fwin32/Makefile.gcc install \
BINARY_PATH=$$$${pkgidir}/bin INCLUDE_PATH=$$$${pkgidir}/include \
LIBRARY_PATH=$$$${pkgidir}/lib SHARED_MODE=1 IMPLIB=libz.dll.a
# Supported binary packages.
gpg4win_bpkgs = libiconv gettext pkgconfig pango expat freetype fontconfig \
cairo atk qt kdesupport oxygen-icons kdelibs kleopatra bsfilter
# libiconv needs some special magic to generate a usable import
# library.
define gpg4win_pkg_libiconv_post_install
(cp $(srcdir)/libiconv.def $$$${pkgidir}/lib; \
cd $$$${pkgidir}/lib; \
$(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
endef
# libiconv needs some special magic to generate a usable import
# library. Note that we include some internal symbols that are not
# actually part of the DLL. They are needed by the AM_GNU_GETTEXT
# configure test, but not used otherwise.
define gpg4win_pkg_gettext_post_install
(cp $(srcdir)/libintl.def $$$${pkgidir}/lib; \
cd $$$${pkgidir}/lib; \
$(DLLTOOL) --output-lib libintl.dll.a --def libintl.def)
endef
# Zlib needs some special magic to generate a libtool file.
# We also install the pc file here.
define gpg4win_pkg_zlib_post_install
(mkdir $$$${pkgidir}/lib/pkgconfig || true; \
cp $(abs_srcdir)/zlib.pc $$$${pkgidir}/lib/pkgconfig/; \
cd $$$${pkgidir}; \
echo "# Generated by libtool" > lib/libz.la \
echo "dlname='../bin/zlib1.dll'" >> lib/libz.la; \
echo "library_names='libz.dll.a'" >> lib/libz.la; \
echo "old_library='libz.a'" >> lib/libz.la; \
echo "dependency_libs=''" >> lib/libz.la; \
echo "current=1" >> lib/libz.la; \
echo "age=2" >> lib/libz.la; \
echo "revision=5" >> lib/libz.la; \
echo "installed=yes" >> lib/libz.la; \
echo "shouldnotlink=no" >> lib/libz.la; \
echo "dlopen=''" >> lib/libz.la; \
echo "dlpreopen=''" >> lib/libz.la; \
echo "libdir=\"$$$${pkgidir}/lib\"" >> lib/libz.la)
endef
# To make sure that we link against the static versions we need
# remove the import libs from crypt
#define gpg4win_pkg_crypt_post_install
#(cd $$$${pkgidir}/lib && rm libcrypt.dll.a libcrypt.lib)
#endef
# We need to fix the prefix in the various packages using pkgconfig,
# or we can't substitute it properly in our pkg-config wrapper.
define gpg4win_pkg_glib_post_install
(cd $$$${pkgidir}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_libffi_post_install
(cd $$$${pkgidir}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_gdk_pixbuf_post_install
(cd $$$${pkgidir}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_atk_post_install
(cd $$$${pkgidir_dev}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_freetype_post_install
(cd $$$${pkgidir_dev}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_fontconfig_post_install
(cd $$$${pkgidir_dev}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_cairo_post_install
(cd $$$${pkgidir_dev}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_pango_post_install
(cd $$$${pkgidir_dev}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_gtk__post_install
(cd $$$${pkgidir_dev}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_libpng_post_install
(cd $$$${pkgidir}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_enchant_post_install
(cd $$$${pkgidir}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_libgsasl_post_install
(cd $$$${pkgidir}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_libtasn1_post_install
(cd $$$${pkgidir}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_gnutls_post_install
(cd $$$${pkgidir}; \
perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
endef
define gpg4win_pkg_libiconv_post_install
(cp $(srcdir)/libiconv.def $$$${pkgidir}/lib; \
cd $$$${pkgidir}/lib; \
$(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
endef
# Qt is missing the pkgconfig files.
define gpg4win_pkg_qt_post_install
(mkdir $$$${pkgidir_dev}/lib/pkgconfig; \
cp $(srcdir)/QtCore.pc $(srcdir)/QtGui.pc $$$${pkgidir_dev}/lib/pkgconfig/)
endef
# kdesupport ships gettext, which we already have. Remove a stow
# conflict about that. Also remove a stow conflict with kdelibs-lib.
define gpg4win_pkg_kdesupport_post_install
(rm -fR "$$$${pkgidir_dev}/share/locale"; \
rm -fR "$$$${pkgidir_dev}/share/apps/cmake/modules")
endef
# libxml2 ships some binaries, which we already have from kdesupport. Remove a stow
# conflict about that.
define gpg4win_pkg_libxml2_post_install
(rm -f "$$$${pkgidir}/bin/xmllint.exe"; \
rm -f "$$$${pkgidir}/bin/xmlcatalog.exe")
endef
# Supported internal packages. Internal packages do not require any
# special support. Thus, this variable is actually unused, and no
# rules are added in gpg4win.mk.
gpg4win_ipkgs = man_novice_de man_advanced_de man_novice_en man_advanced_en \
compendium
# Now do the bunch of the work. This is a bunch of dirty magic to
# integrate our special makefile into automake, while not actually
# including it (make should include it). This is in turn necessary
# because automake can't deal with the elegant magic in the actual
# Makefile.
define INCLUDE_BY_MAKE
include $(1)
endef
$(eval $(call INCLUDE_BY_MAKE,gpg4win.mk))
clean-local: clean-gpg4win
common_nsi = inst-sections.nsi installer.nsi installer-finish.nsi \
$(addsuffix .nsi,$(addprefix inst-,$(gpg4win_build_list))) \
$(addsuffix .nsi,$(addprefix uninst-,$(gpg4win_build_list)))
# Prepare the versioninfo file. The pipeline extracts the last
# occurrence of a package with the same name, sorts the entries and
# writes the file with DOS line endings. This helps to avoid
# duplicate entries in case one package has been rebuild (which is
# common when developing a new version).
versioninfo.txt:
$(SHA1SUM) $(pkg_files) </dev/null > versioninfo.tmp
set -e; \
( while read a b; do echo "$$a $$(basename $$b)"; \
done < versioninfo.tmp \
| sort -k2 -sf | tac | uniq -f1 ; \
echo '=========== SHA-1 checksum ============= == package ==' \
) | tac | awk '{printf "%s\r\n", $$0}' > versioninfo.txt
-rm versioninfo.tmp
NEWS.tmp : $(top_srcdir)/NEWS
awk '/^#/ {next} /^\(de\)/ {skip=1;next} /^[^[:space:]]/ {skip=0} \
!skip { sub(/^\(en\)/," *"); print }' \
<$(top_srcdir)/NEWS >NEWS.tmp
COMPONENTS-list.tmp : $(top_srcdir)/NEWS
awk '/^~~~~~~~~~~~/ { ok++; next} ok==1 {print " "$$0}' \
< $(top_srcdir)/NEWS > COMPONENTS-list.tmp
installer-options.ini : $(top_srcdir)/src/installer-options.ini.in
cat $(top_srcdir)/src/installer-options.ini.in >installer-options.ini
# For some nut-crazy reason someone thought it would be a great idea
# if makensis changed to the directory of the source file at startup.
# So we have to pull a couple of strings to correct this.
gpg4win-$(VERSION).exe: gpg4win.nsi $(common_nsi) stamps/stamp-final \
g4wihelp.dll gpgwrap.exe gpgwrap-2.exe kleowrap.exe \
$(foosum_exe) \
$(README_files) $(HOWTO_files) \
installer-options.ini versioninfo.txt
$(MAKENSIS) -V3 -DBUILD_DIR=`pwd` -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) $(EXTRA_MAKENSIS_FLAGS) $(srcdir)/gpg4win.nsi
gpg4win-light-$(VERSION).exe: gpg4win.nsi $(common_nsi) stamps/stamp-final \
g4wihelp.dll gpgwrap.exe gpgwrap-2.exe kleowrap.exe \
$(foosum_exe) \
$(README_files) $(HOWTO_files) \
installer-options.ini versioninfo.txt
$(MAKENSIS) -V3 -DBUILD_DIR=`pwd` -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) $(EXTRA_MAKENSIS_FLAGS) \
-DGPG4WIN_LIGHT=1 $(srcdir)/gpg4win.nsi
gpg4win-vanilla-$(VERSION).exe: gpg4win.nsi $(common_nsi) stamps/stamp-final \
g4wihelp.dll gpgwrap.exe gpgwrap-2.exe \
$(foosum_exe) \
$(README_files) $(HOWTO_files) \
installer-options.ini versioninfo.txt
$(MAKENSIS) -V3 -DBUILD_DIR=`pwd` -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) $(EXTRA_MAKENSIS_FLAGS) \
-DGPG4WIN_VANILLA=1 $(srcdir)/gpg4win.nsi
gpg4win-$(VERSION).wix: gpg4win.nsi $(common_nsi) stamps/stamp-final \
gpgwrap.exe gpgwrap-2.exe kleowrap.exe \
$(foosum_exe) \
$(README_files) $(HOWTO_files) \
versioninfo.txt
perl make-msi.pl --guids $(srcdir)/make-msi.guids \
--manifest gpg4win-$(VERSION).files \
-DBUILD_DIR=. -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) $(srcdir)/gpg4win.nsi > $@
gpg4win-light-$(VERSION).wix: gpg4win.nsi $(common_nsi) stamps/stamp-final \
gpgwrap.exe gpgwrap-2.exe kleowrap.exe \
$(foosum_exe) \
$(README_files) $(HOWTO_files) \
versioninfo.txt
perl make-msi.pl --guids $(srcdir)/make-msi.guids \
--manifest gpg4win-light-$(VERSION).files \
-DBUILD_DIR=. -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) -DGPG4WIN_LIGHT=1 $(srcdir)/gpg4win.nsi > $@
gpg4win-vanilla-$(VERSION).wix: gpg4win.nsi $(common_nsi) stamps/stamp-final \
gpgwrap.exe gpgwrap-2.exe kleowrap.exe \
$(foosum_exe) \
$(README_files) $(HOWTO_files) \
versioninfo.txt
perl make-msi.pl --guids $(srcdir)/make-msi.guids \
--manifest gpg4win-vanilla-$(VERSION).files \
-DBUILD_DIR=. -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) -DGPG4WIN_VANILLA=1 $(srcdir)/gpg4win.nsi > $@
.PHONY: msi
msi: gpg4win-$(VERSION).wix gpg4win-light-$(VERSION).wix \
gpg4win-vanilla-$(VERSION).wix
stamps/stamp-dist-self: versioninfo.txt
(set -e; cd ..; make dist-bzip2)
touch stamps/stamp-dist-self
gpg4win-src-$(VERSION).exe: gpg4win-src.nsi $(common_nsi) stamps/stamp-final \
stamps/stamp-dist-self installer-options.ini
$(MAKENSIS) -V3 -DBUILD_DIR=`pwd` -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) $(EXTRA_MAKENSIS_FLAGS) $(srcdir)/gpg4win-src.nsi
g4wihelp.dll: g4wihelp.c exdll.h
$(CC) -I. -shared -O2 -o g4wihelp.dll $(srcdir)/g4wihelp.c \
-lwinmm -lgdi32
$(STRIP) g4wihelp.dll
gpgwrap.exe: gpgwrap.c
$(CC) -I. -I.. -DHAVE_CONFIG_H -O2 -o $@ $^
$(STRIP) $@
gpgwrap-2.exe: gpgwrap.c
$(CC) -I. -I.. -DHAVE_CONFIG_H -DGPGWRAP_VARIANT=2 -O2 -o $@ $^
$(STRIP) $@
kleowrap.exe: kleowrap.c
$(CC) -I. -I.. -DHAVE_CONFIG_H -O2 -mwindows -o $@ $^
$(STRIP) $@
sha1sum.exe: sha1sum.c
$(CC) -O2 -o $@ $^
$(STRIP) $@
md5sum.exe: sha1sum.c
$(CC) -DBUILD_MD5SUM -O2 -o $@ $^
$(STRIP) $@
sha256sum.exe: sha1sum.c
$(CC) -DBUILD_SHA256SUM -O2 -o $@ $^
$(STRIP) $@
if BUILD_SOURCE_INSTALLER
all_src = gpg4win-src-$(VERSION).exe
else
all_src =
endif
if BUILD_LIGHT_INSTALLER
all_light = gpg4win-light-$(VERSION).exe
else
all_light =
endif
if BUILD_VANILLA_INSTALLER
all_vanilla = gpg4win-vanilla-$(VERSION).exe
else
all_vanilla =
endif
if BUILD_FULL_INSTALLER
all_full = gpg4win-$(VERSION).exe
else
all_full =
endif
all-local: $(all_full) $(all_light) $(all_vanilla) $(all_src)
clean-local:
rm -f gpg4win-$(VERSION).exe gpg4win-light-$(VERSION).exe \
gpg4win-vanilla-$(VERSION).exe gpg4win-src-$(VERSION).exe

File Metadata

Mime Type
text/x-diff
Expires
Thu, Jul 17, 1:32 AM (8 h, 4 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
54/31/92da4bede68ad8db869f36a90800

Event Timeline