[Gpg4win-commits] [git] Gpg4win - branch, gpg4win-2, updated. gpg4win-2.3.2-3-g25d426b
by Andre Heinecke
cvs at cvs.gnupg.org
Mon Jul 18 10:22:21 CEST 2016
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, gpg4win-2 has been updated
via 25d426b94e457f77e96ff981d60edd91b31b0fff (commit)
from 845ffb8fa6b86db0999ea898c741101626fb002b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 25d426b94e457f77e96ff981d60edd91b31b0fff
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Tue Sep 22 15:51:09 2015 +0200
Fix runtime libraries find and installation
* m4/gpg4win.m4(GPG4WIN_RUNTIME_LIBRARY): New. Helper for runtime
libraries. Searches more locations.
* configure.ac: Use above and add libwinpthread-1.dll dependency
* src/inst-gpg4win.nsi: Install libwinpthread-1.dll. Move runtime
libs from pub to top level install dir.
* src/uninst-gpg4win.nsi: Uninstall runtime libs from their
new location.
--
This also fixes the problem that libraries were not reported as
missing when no other missing tools were found missing.
(cherry picked from commit 03550750d4f581515b0349889ff8d1894943f3a6)
diff --git a/configure.ac b/configure.ac
index 16fe4c9..cf62a19 100644
--- a/configure.ac
+++ b/configure.ac
@@ -257,55 +257,10 @@ for i in DLLTOOL MAKE UNZIP TAR MKDIR CP RM STOW MAKENSIS ZCAT TEXI2DVI \
fi
done
-# GpgOL and GpgEx need the runtime libaries
-# The default path should probably be more generic
-changequote(,)dnl
-gcc_major_minor=$($CC --version \
- | awk 'NR==1 {split($NF,a,"."); print a[1] "." a[2]}')
-changequote([,])dnl
-
-libgcc_dll=no
-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
- libgcc_dll="$file"
- fi
-fi
-if test "$libgcc_dll" = "no"; then
- missing_opt_tools="libgcc_s_sjlj-1.dll $missing_opt_tools"
-else
- if test -r "$libgcc_dll"; then
- cp $libgcc_dll src/libgcc_s_sjlj-1.dll-x
- else
- missing_opt_tools="libgcc_s_sjlj-1.dll $missing_opt_tools"
- fi
-fi
-
-libstdcpp_dll=no
-AC_ARG_WITH([libstdc++-6-dll],
- AC_HELP_STRING([--with-libstdc++-6-dll=FILE],
- [use the libstd++-6 DLL]),
- [libstdcpp_dll=$withval])
-if test "$libstdcpp_dll" = "no"; then
- file="/usr/lib/gcc/$host/$gcc_major_minor/libstdc++-6.dll"
- if test -r "$file"; then
- libstdcpp_dll="$file"
- fi
-fi
-if test "$libstdcpp_dll" = "no"; then
- missing_opt_tools="libstdc++-6.dll $missing_opt_tools"
-else
- if test -r "$libstdcpp_dll"; then
- cp $libstdcpp_dll src/libstdc++-6.dll-x
- else
- missing_opt_tools="libstdc++-6.dll $missing_opt_tools"
- fi
-fi
+# Additional runtime libraries from mingw.
+GPG4WIN_RUNTIME_LIBRARY(libgcc_s_sjlj-1)
+GPG4WIN_RUNTIME_LIBRARY(libstdc++-6)
+GPG4WIN_RUNTIME_LIBRARY(libwinpthread-1)
AC_CHECK_PROGS(GLIB_GENMARSHAL, glib-genmarshal)
AC_CHECK_PROGS(GLIB_COMPILE_SCHEMAS, glib-compile-schemas)
diff --git a/m4/gpg4win.m4 b/m4/gpg4win.m4
index 91b2efe..2e780b9 100644
--- a/m4/gpg4win.m4
+++ b/m4/gpg4win.m4
@@ -723,3 +723,39 @@ AC_DEFUN([GPG4WIN_BPKG_BINSRC],
[$4])
])
+# Add a runtime library argument 1 should be the dll
+# name without the .dll suffix
+AC_DEFUN([GPG4WIN_RUNTIME_LIBRARY],
+[
+ dll_path="no"
+ AC_ARG_WITH([$1],
+ AS_HELP_STRING([--with-$1-dll[=FILE]],
+ [include FILE as runtime dependency for the installer.]),
+ [dll_path=$withval])
+
+ if test "$dll_path" = "no"; then
+ changequote(,)
+ gcc_major_minor=$($CC --version \
+ | awk 'NR==1 {split($NF,a,"."); print a[1] "." a[2]}')
+ changequote([,])
+ guesses="/usr/lib/gcc/$host/$gcc_major_minor/$1.dll
+ /usr/$host/lib/$1.dll
+ /usr/lib/gcc/$host/${gcc_major_minor}-win32/$1.dll"
+
+ for file in $guesses; do
+ if test -r "$file"; then
+ dll_path="$file"
+ break
+ fi
+ done
+ fi
+
+ if test "$dll_path" = "no"; then
+ AC_MSG_ERROR(can not find the runtime library $1.dll in the default locations.
+ Use the --with-$1 option to set the path directly.
+ )
+ fi
+ AC_MSG_NOTICE(Using $dll_path to provide $1)
+ $CP "$dll_path" src/$1.dll-x
+ $STRIP src/$1.dll-x
+])
diff --git a/src/inst-gpg4win.nsi b/src/inst-gpg4win.nsi
index 81c6e05..0e63295 100644
--- a/src/inst-gpg4win.nsi
+++ b/src/inst-gpg4win.nsi
@@ -86,12 +86,12 @@ Section "-gpg4win" SEC_gpg4win
File "${BUILD_DIR}/md5sum.exe"
File "${BUILD_DIR}/mkportable.exe"
- SetOutPath "$INSTDIR\pub"
# Install the mingw32 runtime libraries. They are stored in the
# build directory with a different suffix, so that makensis does not
- # list sumbol names.
+ # list symbol names.
File /oname=libstdc++-6.dll "${BUILD_DIR}/libstdc++-6.dll-x"
File /oname=libgcc_s_sjlj-1.dll "${BUILD_DIR}/libgcc_s_sjlj-1.dll-x"
+ File /oname=libwinpthread-1.dll "${BUILD_DIR}/libwinpthread-1.dll-x"
!endif
diff --git a/src/uninst-gpg4win.nsi b/src/uninst-gpg4win.nsi
index 82b93af..ba54fd4 100644
--- a/src/uninst-gpg4win.nsi
+++ b/src/uninst-gpg4win.nsi
@@ -36,9 +36,10 @@ Section "-un.gpg4win"
Delete "$INSTDIR\md5sum.exe"
Delete "$INSTDIR\mkportable.exe"
- # Delete the runtime libarries
- Delete "$INSTDIR\pub\libstdc++-6.dll"
- Delete "$INSTDIR\pub\libgcc_s_sjlj-1.dll"
+ # Delete the runtime libaries
+ Delete "$INSTDIR\libstdc++-6.dll"
+ Delete "$INSTDIR\libgcc_s_sjlj-1.dll"
+ Delete "$INSTDIR\libwinpthread-1.dll"
# Delete standard stuff.
Delete "$INSTDIR\share\gpg4win\README.*.txt"
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 53 ++++----------------------------------------------
m4/gpg4win.m4 | 36 ++++++++++++++++++++++++++++++++++
src/inst-gpg4win.nsi | 4 ++--
src/uninst-gpg4win.nsi | 7 ++++---
4 files changed, 46 insertions(+), 54 deletions(-)
hooks/post-receive
--
GnuPG for Windows
http://git.gnupg.org
More information about the Gpg4win-commits
mailing list