diff options
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rwxr-xr-x | scripts/mk-w32-dist | 12 | ||||
-rw-r--r-- | scripts/w32installer.nsi | 53 | ||||
-rw-r--r-- | util/ChangeLog | 5 | ||||
-rw-r--r-- | util/strgutil.c | 38 |
6 files changed, 100 insertions, 13 deletions
@@ -1,7 +1,8 @@ 2005-01-17 Werner Koch <[email protected]> * configure.ac: Make --without-included-zlib work as - expected. Reported by Norihiko Murase. + expected. Reported by Norihiko Murase. Same for + --without-included-regex. 2005-01-03 David Shaw <[email protected]> diff --git a/configure.ac b/configure.ac index 38d0ff139..4b7056c91 100644 --- a/configure.ac +++ b/configure.ac @@ -1080,7 +1080,7 @@ if test "$use_regex" = yes ; then AC_MSG_CHECKING([whether the included regex lib is requested]) AC_ARG_WITH(included-regex, [ --with-included-regex use the included GNU regex library], - [gnupg_cv_included_regex=yes],[gnupg_cv_included_regex=no]) + [gnupg_cv_included_regex="$withval"],[gnupg_cv_included_regex=no]) AC_MSG_RESULT($gnupg_cv_included_regex) if test $gnupg_cv_included_regex = no ; then diff --git a/scripts/mk-w32-dist b/scripts/mk-w32-dist index a73bfda1e..5b3881cab 100755 --- a/scripts/mk-w32-dist +++ b/scripts/mk-w32-dist @@ -39,7 +39,8 @@ fi version=$(sed -n 's/^#[ ]*define[ ][ ]*VERSION[ ][ ]*\"\([0-9.a-z-]*\)\"/\1/p' $bindir/config.h) -echo "building version $version" +prod_version=$(echo "$version"|awk -F'[^0-9]' '{print $1 "." $2 "." $3 ".1"}') +echo "building version $version ($prod_version)" rm * >/dev/null 2>/dev/null || true @@ -93,7 +94,12 @@ for i in ${srcdir}/po/*.po; do ;; esac done -zip -9 "gnupg-w32cli-${version}.zip" * + if makensis -version >/dev/null 2>&1 ; then - makensis -v2 -nocd -DVERSION="${version}" ${srcdir}/scripts/w32installer.nsi + makensis -v3 -nocd -DVERSION="${version}" \ + -DPROD_VERSION="${prod_version}" ${srcdir}/scripts/w32installer.nsi + echo "Installer created" >&2 +else + zip -9 "gnupg-w32cli-${version}.zip" * + echo "ZIP archive created" >&2 fi diff --git a/scripts/w32installer.nsi b/scripts/w32installer.nsi index 8a3ebe167..036df8c30 100644 --- a/scripts/w32installer.nsi +++ b/scripts/w32installer.nsi @@ -41,6 +41,23 @@ SetCompressor lzma ReserveFile "COPYING.txt" +VIProductVersion "${PROD_VERSION}" +VIAddVersionKey "ProductName" "GNU Privacy Guard (${VERSION})" +VIAddVersionKey "Comments" \ + "GnuPG is Free Software; you can redistribute it and/or modify \ + it under the terms of the GNU General Public License. You should \ + have received a copy of the GNU General Public License along with \ + this software; if not, write to the Free Software Foundation, Inc., \ + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" +VIAddVersionKey "CompanyName" "Free Software Foundation" +VIAddVersionKey "LegalTrademarks" "" +VIAddVersionKey "LegalCopyright" \ + "Copyright (C) 2005 Free Software Foundation, Inc." +VIAddVersionKey "FileDescription" \ + "GnuPG: Encryption and digital signature tool" +VIAddVersionKey "FileVersion" "${PROD_VERSION}" + + ; ------------------ ; Interface Settings ; ------------------ @@ -166,6 +183,42 @@ SectionEnd ; Section Source !endif +;---------------------- +Section "-Finish" + + ClearErrors + GetDllVersion "iconv.dll" $R0 $R1 + IfErrors 0 +3 + MessageBox MB_OK \ + "iconv.dll is not installed.$\r$\n \ + It is highy suggested to install \ + this DLL to help with character set conversion.$\r$\n$\r$\n \ + See http://www.gnupg.org/download/iconv.html for instructions." + Return + + IntOp $R2 $R0 / 0x00010000 + IntOp $R3 $R0 & 0x0000FFFF + IntOp $R4 $R1 / 0x00010000 + IntOp $R5 $R1 & 0x0000FFFF + StrCpy $0 "$R2.$R3.$R4.$R5" + + DetailPrint "iconv.dll version is $0" + + IntCmp $R2 1 0 IconvTooOld + IntCmp $R3 9 0 IconvTooOld + goto +3 + IconvTooOld: + MessageBox MB_OK \ + "The installed iconv.dll is too old.$\r$\n \ + We require at least version 1.9.0.0 (installed: $0).$\r$\n \ + It is highly suggested to install an updated DLL to help \ + with character set conversion.$\r$\n$\r$\n \ + See http://www.gnupg.org/download/iconv.html for instructions." + + +SectionEnd + + ;------------------ Section "Uninstall" diff --git a/util/ChangeLog b/util/ChangeLog index 42aed3bfa..89f1f59cb 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,3 +1,8 @@ +2005-01-11 Werner Koch <[email protected]> + + * strgutil.c (set_native_charset) [W32]: Use the alias table from + libiconv 1.9.2. + 2005-01-13 David Shaw <[email protected]> * http.c (connect_server): Use INADDR_NONE instead of diff --git a/util/strgutil.c b/util/strgutil.c index 6205910e2..515132f95 100644 --- a/util/strgutil.c +++ b/util/strgutil.c @@ -482,6 +482,7 @@ set_native_charset( const char *newset ) #ifdef _WIN32 static char codepage[30]; unsigned int cpno; + const char *aliases; /* We are a console program thus we need to use the GetConsoleOutputCP function and not the the GetACP which @@ -494,14 +495,35 @@ set_native_charset( const char *newset ) if (!cpno) cpno = GetACP (); sprintf (codepage, "CP%u", cpno ); - /* If it is the Windows name for Latin-1 we use the standard - name instead to avoid loading of iconv.dll. Unfortunately - it is often CP850 and we don't have a custom translation - for it. */ - if (!strcmp (codepage, "CP1252")) - newset = "iso-8859-1"; - else - newset = codepage; + /* Resolve alias. We use a long string string and not the + usual array to optimize if the code is taken to a DSO. + Taken from libiconv 1.9.2. */ + newset = codepage; + for (aliases = ("CP936" "\0" "GBK" "\0" + "CP1361" "\0" "JOHAB" "\0" + "CP20127" "\0" "ASCII" "\0" + "CP20866" "\0" "KOI8-R" "\0" + "CP21866" "\0" "KOI8-RU" "\0" + "CP28591" "\0" "ISO-8859-1" "\0" + "CP28592" "\0" "ISO-8859-2" "\0" + "CP28593" "\0" "ISO-8859-3" "\0" + "CP28594" "\0" "ISO-8859-4" "\0" + "CP28595" "\0" "ISO-8859-5" "\0" + "CP28596" "\0" "ISO-8859-6" "\0" + "CP28597" "\0" "ISO-8859-7" "\0" + "CP28598" "\0" "ISO-8859-8" "\0" + "CP28599" "\0" "ISO-8859-9" "\0" + "CP28605" "\0" "ISO-8859-15" "\0"); + *aliases; + aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) + { + if (!strcmp (codepage, aliases) ||(*aliases == '*' && !aliases[1])) + { + newset = aliases + strlen (aliases) + 1; + break; + } + } + #else #ifdef HAVE_LANGINFO_CODESET newset = nl_langinfo (CODESET); |