[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