[Gpg4win-commits] [git] Gpg4win - branch, gpgex64, created. gpg4win-2.1.1-4-gbe61223
by Andre Heinecke
cvs at cvs.gnupg.org
Fri Jun 14 17:34:24 CEST 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG for Windows".
The branch, gpgex64 has been created
at be612237752d44d30301bfde1ada2bc1d88b2ad0 (commit)
- Log -----------------------------------------------------------------
commit be612237752d44d30301bfde1ada2bc1d88b2ad0
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Fri Jun 14 15:11:29 2013 +0000
Add build-w32-w64 convenience option
By default this option checks for amd64-mingw32msvc and
calls configure with settings to additionally build gpgex
for this host.
* autogen.sh: Add option to build gpgEx for an x64 host
diff --git a/autogen.sh b/autogen.sh
index 45de064..58a4082 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -65,6 +65,7 @@ fi
# Begin list of optional variables sourced from ~/.gnupg-autogen.rc
w32_toolprefixes=
w32_extraoptions=
+w64_toolprefixes=
if [ -f "$HOME/.gnupg-autogen.rc" ]; then
echo "sourcing extra definitions from $HOME/.gnupg-autogen.rc"
@@ -80,6 +81,11 @@ case "$1" in
myhost="w32"
shift
;;
+ --build-w32-w64)
+ myhost="w32"
+ myhostsub="w64"
+ shift
+ ;;
--build*)
echo "**Error**: invalid build option $1" >&2
shift
@@ -102,6 +108,13 @@ if [ "$myhost" = "w32" ]; then
build=`$tsdir/config.guess`
case $myhostsub in
+ w64)
+ [ -z "$w32root" ] && w32root="$HOME/w32root"
+ toolprefixes="$w32_toolprefixes i686-w64-mingw32 i586-mingw32msvc"
+ toolprefixes="$toolprefixes i386-mingw32msvc mingw32"
+ extraoptions="$w32_extraoptions"
+ extratoolprefixes="$w64_toolprefixes amd64-mingw32msvc"
+ ;;
*)
[ -z "$w32root" ] && w32root="$HOME/w32root"
toolprefixes="$w32_toolprefixes i686-w64-mingw32 i586-mingw32msvc"
@@ -121,6 +134,15 @@ if [ "$myhost" = "w32" ]; then
fi
done
+ w64_crossbindir=
+ for extra_host in $extratoolprefixes; do
+ if ${extra_host}-gcc --version >/dev/null 2>&1 ; then
+ w64_crossbindir=/usr/${extra_host}/bin
+ extraoptions="$extraoptions --with-additional-gpgex-host=${extra_host} "
+ break;
+ fi
+ done
+
if [ -z "$crossbindir" ]; then
echo "Cross compiler kit not installed" >&2
echo "Under Debian GNU/Linux, you may install it using" >&2
@@ -129,6 +151,14 @@ if [ "$myhost" = "w32" ]; then
exit 1
fi
+ if [ "$myhostsub" = "w64" -a -z "$w64_crossbindir" ]; then
+ echo "Cross compiler for x64 architecture not installed" >&2
+ echo "Under Debian GNU/Linux, you may install it using" >&2
+ echo " apt-get install mingw-w64" >&2
+ echo "Stop." >&2
+ exit 1
+ fi
+
if [ -f "$tsdir/config.log" ]; then
if ! head $tsdir/config.log | grep "$host" >/dev/null; then
echo "Pease run a 'make distclean' first" >&2
commit ef1021c97aa827c4cd094652d85be026117af664
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Fri Jun 14 15:04:37 2013 +0000
Mark gpgEx dependencies as SPGKEX packages
This enables the new additional host logic for those
packages.
* configure.ac: Switch iconv / gettext to source packages and
mark them as SPKGEX packages. Mark gpgEx dependencies as such.
* packages/packages.current: Update libiconv and gettext and
switch to source tarballs.
* src/Makefile.am: Add iconv / gettext as source packages.
Add gpgEx depdencies as gpg4win_expkgs
--
gettext-tools are still resisting compilation. For now I've
manually stepped in the build process to just build gettext-runtime.
libiconv and w32-pth work as intended in the new extra architecture
logic.
diff --git a/configure.ac b/configure.ac
index c5b7f0e..5bbca35 100644
--- a/configure.ac
+++ b/configure.ac
@@ -341,8 +341,6 @@ AC_CHECK_PROGS(WGET, wget)
# Packages.
gpg4win_dup_sources=""
-GPG4WIN_BPKG_GNU([libiconv])
-GPG4WIN_BPKG_GNU([gettext], [libiconv])
GPG4WIN_SPKG([zlib])
GPG4WIN_BPKG_GNUWIN32([bsfilter])
@@ -365,11 +363,8 @@ GPG4WIN_SPKG([enchant], [pkgconfig glib])
GPG4WIN_SPKG([bzip2])
GPG4WIN_SPKG([adns])
-GPG4WIN_SPKG([libgpg-error], [libiconv gettext])
GPG4WIN_SPKG([libgcrypt], [libgpg-error])
GPG4WIN_SPKG([libksba], [libgpg-error])
-GPG4WIN_SPKG([w32pth])
-GPG4WIN_SPKG([libassuan], [libgpg-error w32pth])
GPG4WIN_SPKG([dirmngr], [libgpg-error libgcrypt libassuan libksba w32pth])
GPG4WIN_SPKG([pinentry], [libiconv gtk+])
GPG4WIN_SPKG([gpgme], [libgpg-error gnupg2 glib])
@@ -378,7 +373,6 @@ GPG4WIN_SPKG([gnupg2], [libiconv libgcrypt libksba libassuan libgpg-error dnl
w32pth zlib bzip2 adns pinentry])
GPG4WIN_SPKG([pthreads-w32])
GPG4WIN_SPKG([gpgol], [gpgme libassuan])
-GPG4WIN_SPKG([gpgex], [libassuan])
GPG4WIN_SPKG([scute], [libgpg-error libassuan])
GPG4WIN_SPKG([paperkey])
GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme])
@@ -393,6 +387,15 @@ GPG4WIN_SPKG([claws-mail], [libiconv gettext zlib gtk+ libpng enchant glib dnl
gpgme pthreads-w32 crypt regex libetpan gnutls dnl
libxml2])
GPG4WIN_SPKG([gtkhtml2_viewer], [curl claws-mail libxml2])
+
+# Packages needed for gpgex
+GPG4WIN_SPKGEX([w32pth])
+GPG4WIN_SPKGEX([libiconv])
+GPG4WIN_SPKGEX([gettext], [libiconv])
+GPG4WIN_SPKGEX([libgpg-error], [libiconv gettext])
+GPG4WIN_SPKGEX([libassuan], [libgpg-error w32pth])
+GPG4WIN_SPKGEX([gpgex], [libassuan])
+
GPG4WIN_IPKG([compendium])
# Qt related stuff.
diff --git a/packages/packages.current b/packages/packages.current
index d14e380..5baff1a 100644
--- a/packages/packages.current
+++ b/packages/packages.current
@@ -17,17 +17,13 @@
#
server ftp://ftp.cs.tu-berlin.de/pub/gnu
-# checked: 2012-03-28 wk - No newer W32 binaries available
-file gettext/gettext-runtime-0.13.1.bin.woe32.zip
-chk 8cd55585429b5d696ac3745e065f8613de26f19c
-file gettext/gettext-0.13.1.tar.gz
-chk fa46cb397cf6768f5ff4fdf1854514a9ced5b02b
-
-# checked: 2012-03-28 wk - No newer W32 binaries available
-file libiconv/libiconv-1.9.1.bin.woe32.zip
-chk b57f5e8234975ec3cde340e101886135eb532329
-file libiconv/libiconv-1.9.1.tar.gz
-chk f130c93fdf20903ca21bace8b8822f46468c9d65
+# checked: 2013-06-14 ah - Switched to latest release
+file gettext/gettext-0.18.2.1.tar.gz
+chk 86066950cac2fcc49cc7bd23f5ea16bed522b410
+
+# checked: 2013-06-28 ah - Latest release
+file libiconv/libiconv-1.14.tar.gz
+chk be7d67e50d72ff067b2c0291311bc283add36965
#
# zlib
diff --git a/src/Makefile.am b/src/Makefile.am
index 1d4e00e..440e0cd 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -104,11 +104,25 @@ gpg4win_spkgs = glib libffi gdk-pixbuf gtk+ \
gpa libgsasl libtasn1 opencdk gnutls curl libxml2 \
libetpan claws-mail gtkhtml2_viewer \
vcalendar rssyl gnupg2 pinentry libassuan libksba libgcrypt \
- adns dirmngr w32pth scute paperkey regex
+ adns dirmngr w32pth scute paperkey regex libiconv gettext
+
+# Supported source packages to build in an additional architecture
+gpg4win_expkgs = libiconv gettext w32pth
# Extra options to configure for individual packages.
# We can use $(idir) here for the installation prefix.
+gpg4win_pkg_libiconv_ex_configure = \
+ --enable-shared=no --enable-static=yes
+
+# Optimization flags for gettext are neccessary because of
+# http://savannah.gnu.org/bugs/?36443
+# Still some issues with gettext-tools
+gpg4win_pkg_gettext_configure = \
+ --with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
+ CPPFLAGS="-I$(idir)/include -O2" CFLAGS=-O2 \
+ LDFLAGS=-L$(idir)/lib CCC=$(host)-g++
+
gpg4win_pkg_glib_configure = \
--disable-modular-tests \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
@@ -353,26 +367,26 @@ gpg4win_pkg_zlib_make_args_inst = -fwin32/Makefile.gcc install \
LIBRARY_PATH=$$$${pkgidir}/lib SHARED_MODE=1 IMPLIB=libz.dll.a
# Supported binary packages.
-gpg4win_bpkgs = libiconv gettext pkgconfig pango expat freetype fontconfig \
+gpg4win_bpkgs = pkgconfig pango expat freetype fontconfig \
cairo atk qt dbus oxygen-icons 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
+# 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
+# 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.
@@ -404,9 +418,12 @@ 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.
+# glib also installs an empty charset.alias for mingw which creates
+# a stow conflict with the one from iconv.
define gpg4win_pkg_glib_post_install
(cd $$$${pkgidir}; \
- perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
+ perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`; \
+ rm $$$${pkgidir}/lib/charset.alias)
endef
define gpg4win_pkg_libffi_post_install
@@ -485,11 +502,11 @@ define gpg4win_pkg_kleopatra_post_install
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
+#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
commit 5a3543a18b34c1a1b4135cd6da444402dd61a1d4
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Fri Jun 14 15:00:13 2013 +0000
Add addititional-gpgex-host feature
You can now use --with-additional-gpgex-host=HOST to declare
an additional host triplet for which gpgEx and it's dependencies
should be built.
* configure.ac: Add additional-gpgex-host option
diff --git a/configure.ac b/configure.ac
index 64a7371..c5b7f0e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -190,6 +190,24 @@ AC_ARG_ENABLE(manuals,
build_manuals=yes)
AM_CONDITIONAL(BUILD_MANUALS, test "$build_manuals" = yes)
+# Additionaly enable building gpgex for another host
+AC_ARG_WITH([additional-gpgex-host],
+ AC_HELP_STRING([--with-additional-gpgex-host=HOST],
+ [Additionaly build gpgex for this host]),
+ [if test "$withval" = yes; then
+ AC_MSG_FAILURE(
+ [--with-additional-gpgex-host was given,
+ but no host specified])
+ else
+ gpgex_host=$withval
+ fi
+ ],
+ gpgex_host=no)
+
+if test "$gpgex_host" != no; then
+ GPGEX_ADD_HOST="$gpgex_host"
+fi
+AC_SUBST(GPGEX_ADD_HOST)
AC_ARG_ENABLE(fast-makensis,
AC_HELP_STRING([--enable-fast-makensis],
@@ -228,6 +246,10 @@ AC_CHECK_PROGS(GITLOG_TO_CHANGELOG, gitlog-to-changelog,
AC_CHECK_PROGS(BUILD_CC, gcc cc)
AC_PROG_INSTALL
+if test -n "$GPGEX_ADD_HOST"; then
+ AC_CHECK_TOOLS(STRIP_EX, ${GPGEX_ADD_HOST}-strip)
+fi
+
missing_tools=
for i in DLLTOOL MAKE UNZIP TAR MKDIR CP RM STOW MAKENSIS ZCAT TEXI2DVI \
DVIPDF CONVERT SHA1SUM MSGFMT BUILD_CC; do
@@ -249,6 +271,7 @@ AC_ARG_WITH([libgcc_s_sjlj-1-dll],
AC_HELP_STRING([--with-libgcc_s_sjlj-1-dll=FILE],
[use the libgcc_s_sjlj-1 DLL]),
[libgcc_dll=$withval])
+
if test "$libgcc_dll" = "no"; then
file="/usr/lib/gcc/$host/$gcc_major_minor/libgcc_s_sjlj-1.dll"
if test -r "$file"; then
@@ -439,4 +462,5 @@ echo "
Revision: ${GIT_REVISION} (${GIT_REVISION_DEC})
Platform: $host
+ Additional gpgEx platform: ${GPGEX_ADD_HOST}
"
commit 6eee0df46b44c0f2c63b21debaf963ceff0ddcdf
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Fri Jun 14 14:50:03 2013 +0000
Add macros for packages in extra architecture
This is a requirement to build gpgEx both for x86 and
amd64 architectures.
* m4/gpg4win.m4 (GPG4WIN_CHECK_EXDEPS, GPG4WIN_SPKGEX): New.
* src/gpg4win.mk.in (SETVARS_EX, STRIP_EX, GETDEPS_EX): New
helper macros for building in another architecture.
* src/gpg4win.mk.in (EXPKG_template): New template to build
for an additional host as defined by GPGEX_ADD_HOST
--
If we build for another architecture we now use an additional
install-ex directory in which we install and stow the packages
needed in a different architecture. The GPG4WIN_SPKGEX macro
can be used to mark down packages that should be built in both
the host architecture and in an additional architecture defined
by GPGEX_ADD_HOST.
diff --git a/m4/gpg4win.m4 b/m4/gpg4win.m4
index ac2de93..eeb13c4 100644
--- a/m4/gpg4win.m4
+++ b/m4/gpg4win.m4
@@ -167,6 +167,40 @@ AC_DEFUN([GPG4WIN_FIND],
[$6])
])
+AC_DEFUN([GPG4WIN_CHECK_EXDEPS],
+[
+ AC_REQUIRE([GPG4WIN_CHECK_DEPS])
+
+ AC_MSG_CHECKING([additional host build list])
+
+ gpg4win_build_ex_list=`echo $_gpg4win_ex_deps | tsort`
+ # Remove newlines.
+ gpg4win_build_ex_list=`echo $gpg4win_build_ex_list`
+ AC_MSG_RESULT($gpg4win_build_ex_list)
+ AC_SUBST(gpg4win_build_ex_list)
+
+ # Check each dependency.
+ _gpg4win_not_found=
+ _gpg4win_d=
+ _gpg4win_p=
+ for _gpg4win_p in $_gpg4win_ex_deps; do
+ AS_IF([test -z $_gpg4win_d], [_gpg4win_d=$_gpg4win_p],
+ [
+ _gpg4win_found=
+ for _gpg4win_i in $_gpg4win_pkgs; do
+ AS_IF([test $_gpg4win_d = $_gpg4win_i],
+ _gpg4win_found=yes
+ break)
+ done
+ AS_IF([test -z $_gpg4win_found],
+ AC_MSG_WARN(could not find ex variant of package $_gpg4win_d required by package $_gpg4win_p)
+ _gpg4win_not_found=yes)
+ _gpg4win_d=
+ ])
+ done
+ AS_IF([test ! -z "$_gpg4win_not_found"],
+ AC_MSG_ERROR([could not find some required packages]))
+])
AC_DEFUN([GPG4WIN_CHECK_DEPS],
[
@@ -203,7 +237,7 @@ AC_DEFUN([GPG4WIN_CHECK_DEPS],
AC_DEFUN([GPG4WIN_FINALIZE],
[
- AC_REQUIRE([GPG4WIN_CHECK_DEPS])
+ AC_REQUIRE([GPG4WIN_CHECK_EXDEPS])
_gpg4win_debug=no
AC_ARG_ENABLE([debug],
@@ -296,6 +330,27 @@ AC_DEFUN([GPG4WIN_SPKG],
])
+# GPG4WIN_SPKGEX([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND])
+# Set up the source package PKG to be additionally built
+# for the host provided as additional-gpgex-host
+AC_DEFUN([GPG4WIN_SPKGEX],
+[
+ GPG4WIN_SPKG([$1],[$2],[$3],[$4])
+
+ # gpg4win_pkg_PKGNAME_deps=DEPS
+ gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_ex_deps="$2"
+ AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_ex_deps)
+
+ gpg4win_ex_pkgs="$gpg4win_ex_pkgs $1"
+
+ GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])_EX)
+ # Record dependencies. Also enter every package as node.
+ _gpg4win_ex_deps="$_gpg4win_ex_deps $1 $1"
+ AS_IF([test ! -z "$2"],
+ for _gpg4win_i in $2; do
+ _gpg4win_ex_deps="$_gpg4win_ex_deps $_gpg4win_i $1"
+ done)
+])
# GPG4WIN_BPKG_GNUWIN32([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND])
# Set up the gnuwin32 package PKG.
diff --git a/src/gpg4win.mk.in b/src/gpg4win.mk.in
index 6c60b56..6b89692 100644
--- a/src/gpg4win.mk.in
+++ b/src/gpg4win.mk.in
@@ -28,6 +28,7 @@ idir := $(root)/install
ipdir := $(root)/install/pkgs
tsdir := $(shell pwd)/${top_srcdir}
pdir := $(shell pwd)/${top_srcdir}/patches
+ex_idir := $(root)/install-ex
# We collect the names of all pkg files used.
pkg_files =
@@ -40,6 +41,7 @@ stamps/stamp-directories:
$(MKDIR) $(bdir)
$(MKDIR) $(idir)
$(MKDIR) $(ipdir)
+ $(if $GPGEX_ADD_HOST, $(MKDIR) $(ex_idir))
touch $(bdir)/versioninfo.txt
touch stamps/stamp-directories
@@ -78,6 +80,27 @@ define SETVARS
export CONFIG_SITE="$(tsdir)/src/config.site"
endef
+# Set variables for building in an additional architecture
+define SETVARS_EX
+ pkg="$(call GETVAR,gpg4win_pkg_$(1))"; \
+ pkg_version="$(1)-$(call GETVAR,gpg4win_pkg_$(1)_version)"; \
+ pkgsdir="$(bdir)/$$$${pkg_version}-ex"; \
+ pkgbdir="$(bdir)/$$$${pkg_version}-ex-build"; \
+ pkgpdir="$(pdir)/$$$${pkg_version}-ex"; \
+ pkgpbdir="$(pdir)/$(1)-ex"; \
+ pkgidir="$(ipdir)/$$$${pkg_version}-ex"; \
+ pkgidir_dev="$(ipdir)/$$$${pkg_version_dev}"; \
+ pkgcfg="$(call GETVAR,gpg4win_pkg_$(1)_configure)"; \
+ pkgextracflags="$(call GETVAR,gpg4win_pkg_$(1)_ex_extracflags)"; \
+ pkgmkargs="$(call GETVAR,gpg4win_pkg_$(1)_ex_make_args)"; \
+ pkgmkargs_inst="$(call GETVAR,gpg4win_pkg_$(1)_ex_make_args_inst)"; \
+ export PKG_CONFIG="$(tsdir)/src/pkg-config"; \
+ export PKG_CONFIG_PATH="$(ex_idir)/lib/pkgconfig"; \
+ export PKG_CONFIG_LIBDIR=""; \
+ export PATH="$(ex_idir)/bin:$${PATH}"; \
+ export SYSROOT="$(ex_idir)"
+endef
+
# Support macro. Unpack the archive $(1).
define DEFLATE_macro
case "$(1)" in \
@@ -104,10 +127,108 @@ define STRIP_macro
fi
endef
+# Support macro. Strip all exe files below $(1) using STRIP_EX.
+define STRIP_EX_macro
+ if test -z '$(DEBUG)'; then \
+ (cd $(1); \
+ for f in `find . -name \*.exe -o -name \*.dll`; do \
+ echo Calling $(STRIP_EX) "$$$${pkg_version}/$$$${f}"; \
+ $(STRIP_EX) "$$$${f}"; done); \
+ fi
+endef
+
define GETDEPS
$(addprefix stamps/stamp-final-, $(call GETVAR,gpg4win_pkg_$(1)_deps))
endef
+define GETDEPS_EX
+ $(addprefix stamps/stamp-final-ex-, $(call GETVAR,gpg4win_pkg_$(1)_deps))
+endef
+
+# Template for source packages to build for an additional host
+
+define EXPKG_template_
+
+pkg_files += $(call GETVAR,gpg4win_pkg_$(1))
+
+stamps/stamp-$(1)-ex-00-unpack: stamps/stamp-directories $(call GETDEPS_EX,$(1))
+ (cd $(bdir); \
+ $(call SETVARS_EX,$(1)); \
+ $(call DEFLATE_macro,$$$${pkg}))
+ touch stamps/stamp-$(1)-ex-00-unpack
+
+stamps/stamp-$(1)-ex-01-patch: stamps/stamp-$(1)-ex-00-unpack
+ (shopt -s nullglob; \
+ $(call SETVARS_EX,$(1)); \
+ for pfile in "$$$${pkgpbdir}"/*.patch "$$$${pkgpdir}"/*.patch ; do \
+ (cd "$$$${pkgsdir}"; "$$$${pfile}") \
+ done)
+ touch stamps/stamp-$(1)-ex-01-patch
+
+stamps/stamp-$(1)-ex-02-configure: stamps/stamp-$(1)-ex-01-patch
+ ($(call SETVARS_EX,$(1)); \
+ mkdir "$$$${pkgbdir}"; \
+ cd "$$$${pkgbdir}"; \
+ eval "../$$$${pkg_version}/configure" \
+ --prefix="$$$${pkgidir}" \
+ --host=$(GPGEX_ADD_HOST) \
+ --build=$(build) \
+ $$$${pkgcfg} CFLAGS=\"-mms-bitfields $$$${pkgextracflags}\";\
+ shopt -s nullglob; \
+ for pfile in "$$$${pkgpbdir}"/*.postcfg \
+ "$$$${pkgpdir}"/*.postcfg ; do \
+ (cd "$$$${pkgsdir}"; "$$$${pfile}") \
+ done; \
+ for pfile in "$$$${pkgpbdir}"/*.postcfg-build \
+ "$$$${pkgpdir}"/*.postcfg-build ; do \
+ (cd "$$$${pkgbdir}"; "$$$${pfile}") \
+ done)
+ touch stamps/stamp-$(1)-ex-02-configure
+
+stamps/stamp-$(1)-ex-03-make: stamps/stamp-$(1)-ex-02-configure
+ ($(call SETVARS_EX,$(1)); \
+ cd "$$$${pkgbdir}"; \
+ $(MAKE) $(AM_MAKEFLAGS) $(GPG4WIN_PARALLEL) $$$${pkgmkargs} || \
+ $(MAKE) $(AM_MAKEFLAGS) $(GPG4WIN_PARALLEL) $$$${pkgmkargs} || \
+ $(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs})
+ touch stamps/stamp-$(1)-ex-03-make
+
+# Note that post_install must come last because it may be empty and
+# "; ;" is a syntax error.
+stamps/stamp-$(1)-ex-04-install: stamps/stamp-$(1)-ex-03-make
+ ($(call SETVARS_EX,$(1)); \
+ cd "$$$${pkgbdir}"; \
+ $(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs_inst} install; \
+ $(call STRIP_EX_macro,"$$$${pkgidir}"); \
+ rm -f "$$$${pkgidir}/share/info/dir"; \
+ $(call gpg4win_pkg_$(call FROB_macro,$(1))_ex_post_install))
+ touch stamps/stamp-$(1)-ex-04-install
+
+stamps/stamp-$(1)-ex-05-stow: stamps/stamp-$(1)-ex-04-install
+ ($(call SETVARS_EX,$(1)); \
+ cd $(ipdir); \
+ $(STOW) "$$$${pkg_version}")
+ touch stamps/stamp-$(1)-ex-05-stow
+
+stamps/stamp-final-ex-$(1): stamps/stamp-$(1)-ex-05-stow
+ touch stamps/stamp-final-ex-$(1)
+
+.PHONY : clean-ex-$(1)
+clean-ex-$(1):
+ ($(call SETVARS_EX,$(1)); \
+ (cd $(ipdir) && \
+ ($(STOW) -D "$$$${pkg_version}"; \
+ rm -fR "$$$${pkg_version}")); \
+ rm -fR "$$$${pkgsdir}" "$$$${pkgbdir}")
+ rm -f stamps/stamp-final-ex-$(1) stamps/stamp-$(1)-ex-*
+
+endef
+
+define EXPKG_template
+$(if $(filter-out no, $(call GETVAR,gpg4win_pkg_$(1))),
+ $(call EXPKG_template_,$1))
+endef
+
# Template for source packages.
@@ -352,6 +473,9 @@ endef
# Insert the template for each source package.
$(foreach spkg, $(gpg4win_spkgs), $(eval $(call SPKG_template,$(spkg))))
+# Insert the template for each gpgEx architecture package.
+$(foreach expkg, $(gpg4win_expkgs), $(eval $(call EXPKG_template,$(expkg))))
+
# Insert the template for each make only source package.
$(foreach mpkg, $(gpg4win_mpkgs), $(eval $(call MPKG_template,$(mpkg))))
@@ -368,7 +492,8 @@ $(foreach rll, $(gpg4win_howto_smime_ll), \
$(eval $(call HOWTO_template,SMIME,$(rll))))
stamps/stamp-final: stamps/stamp-directories
-stamps/stamp-final: $(addprefix stamps/stamp-final-,$(gpg4win_build_list))
+stamps/stamp-final: $(addprefix stamps/stamp-final-,$(gpg4win_build_list)) \
+ $(addprefix stamps/stamp-final-ex-,$(gpg4win_build_ex_list))
touch stamps/stamp-final
$(bdir)/versioninfo.txt: stamps/stamp-final
-----------------------------------------------------------------------
hooks/post-receive
--
GnuPG for Windows
http://git.gnupg.org
More information about the Gpg4win-commits
mailing list