changeset 7613:4456fa2d22e8 v7.4.1106

commit https://github.com/vim/vim/commit/286eacd3f6631e985089176fb1dff1bcf1a1d6b5 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 16 18:05:50 2016 +0100 patch 7.4.1106 Problem: The nsis script can't be used from the appveyor build. Solution: Add "ifndef" to allow for variables to be set from the command line. Remove duplicate SetCompressor command. Support using other gettext binaries. (Ken Takata) Update build instructions to use libintl-8.dll.
author Christian Brabandt <cb@256bit.org>
date Sat, 16 Jan 2016 18:15:05 +0100
parents 68c8b377f278
children 427b35579737
files Makefile nsis/gvim.nsi src/main.c src/os_w32exe.c src/os_win32.c src/proto/os_win32.pro src/version.c
diffstat 7 files changed, 29 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile
+++ b/Makefile
@@ -131,6 +131,9 @@ MINOR = 4
 #
 # MS-Windows:
 # - Run make on Unix to update the ".mo" files.
+# - Get libintl-8.dll and libiconv-2.dll. E.g. from
+#   https://mlocati.github.io/gettext-iconv-windows/ .
+#   Put them in the top directory, "make dosrt" uses them.
 # - > make dossrc
 #   > make dosrt
 #   Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
@@ -493,7 +496,8 @@ dosrt_files: dist prepare no_title.vim
 		cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
 	      fi \
 	    done
-	cp libintl.dll dist/vim/$(VIMRTDIR)/
+	cp libintl-8.dll dist/vim/$(VIMRTDIR)/
+	cp libiconv-2.dll dist/vim/$(VIMRTDIR)/
 
 
 # Used before uploading.  Don't delete the AAPDIR/sign files!
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -6,13 +6,19 @@
 # because uninstall deletes most files in $0.
 
 # Location of gvim_ole.exe, vimw32.exe, GvimExt/*, etc.
-!define VIMSRC "..\src"
+!ifndef VIMSRC
+  !define VIMSRC "..\src"
+!endif
 
 # Location of runtime files
-!define VIMRT ".."
+!ifndef VIMRT
+  !define VIMRT ".."
+!endif
 
 # Location of extra tools: diff.exe
-!define VIMTOOLS ..\..
+!ifndef VIMTOOLS
+  !define VIMTOOLS ..\..
+!endif
 
 # Comment the next line if you don't have UPX.
 # Get it at http://upx.sourceforge.net
@@ -32,9 +38,10 @@
 Name "Vim ${VER_MAJOR}.${VER_MINOR}"
 OutFile gvim${VER_MAJOR}${VER_MINOR}.exe
 CRCCheck force
-SetCompressor lzma
+SetCompressor /SOLID lzma
 SetDatablockOptimize on
 RequestExecutionLevel highest
+XPStyle on
 
 ComponentText "This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer."
 DirText "Choose a directory to install Vim (should contain 'vim')"
@@ -55,9 +62,6 @@ LicenseData ${VIMRT}\doc\uganda.nsis.txt
   !packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
 !endif
 
-SetCompressor /SOLID lzma
-XPStyle on
-
 # This adds '\vim' to the user choice automagically.  The actual value is
 # obtained below with ReadINIStr.
 InstallDir "$PROGRAMFILES\Vim"
@@ -355,7 +359,9 @@ SectionEnd
 		File ${VIMRT}\keymap\README.txt
 		File ${VIMRT}\keymap\*.vim
 		SetOutPath $0
-		File ${VIMRT}\libintl.dll
+		File ${VIMRT}\libintl-8.dll
+		File ${VIMRT}\libiconv-2.dll
+		File /nonfatal ${VIMRT}\libwinpthread-1.dll
 	SectionEnd
 !endif
 
--- a/src/main.c
+++ b/src/main.c
@@ -1580,7 +1580,7 @@ init_locale()
 
 #  ifdef DYNAMIC_GETTEXT
 	/* Initialize the gettext library */
-	dyn_libintl_init(NULL);
+	dyn_libintl_init();
 #  endif
 	/* expand_env() doesn't work yet, because chartab[] is not initialized
 	 * yet, call vim_getenv() directly */
--- a/src/os_w32exe.c
+++ b/src/os_w32exe.c
@@ -69,7 +69,7 @@ WinMain(
 
 #ifdef DYNAMIC_GETTEXT
     /* Initialize gettext library */
-    dyn_libintl_init(NULL);
+    dyn_libintl_init();
 #endif
 
 #ifdef VIMDLL
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -463,6 +463,7 @@ vimLoadLib(char *name)
 #if defined(DYNAMIC_GETTEXT) || defined(PROTO)
 # ifndef GETTEXT_DLL
 #  define GETTEXT_DLL "libintl.dll"
+#  define GETTEXT_DLL_ALT "libintl-8.dll"
 # endif
 /* Dummy functions */
 static char *null_libintl_gettext(const char *);
@@ -479,7 +480,7 @@ char *(*dyn_libintl_bind_textdomain_code
 				       = null_libintl_bind_textdomain_codeset;
 
     int
-dyn_libintl_init(char *libname)
+dyn_libintl_init()
 {
     int i;
     static struct
@@ -498,7 +499,9 @@ dyn_libintl_init(char *libname)
     if (hLibintlDLL)
 	return 1;
     /* Load gettext library (libintl.dll) */
-    hLibintlDLL = vimLoadLib(libname != NULL ? libname : GETTEXT_DLL);
+    hLibintlDLL = vimLoadLib(GETTEXT_DLL);
+    if (!hLibintlDLL)
+	hLibintlDLL = vimLoadLib(GETTEXT_DLL_ALT);
     if (!hLibintlDLL)
     {
 	if (p_verbose > 0)
--- a/src/proto/os_win32.pro
+++ b/src/proto/os_win32.pro
@@ -1,6 +1,6 @@
 /* os_win32.c */
 HINSTANCE vimLoadLib __ARGS((char *name));
-int dyn_libintl_init __ARGS((char *libname));
+int dyn_libintl_init __ARGS((void));
 void dyn_libintl_end __ARGS((void));
 void PlatformId __ARGS((void));
 int mch_windows95 __ARGS((void));
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1106,
+/**/
     1105,
 /**/
     1104,