# HG changeset patch # User Christian Brabandt # Date 1452964505 -3600 # Node ID 4456fa2d22e80a74dfd9e49984a2c7845d78d6d6 # Parent 68c8b377f2787ce1474f778022309a8f78dd3520 commit https://github.com/vim/vim/commit/286eacd3f6631e985089176fb1dff1bcf1a1d6b5 Author: Bram Moolenaar 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. diff --git a/Makefile b/Makefile --- 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! diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi --- 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 diff --git a/src/main.c b/src/main.c --- 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 */ diff --git a/src/os_w32exe.c b/src/os_w32exe.c --- 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 diff --git a/src/os_win32.c b/src/os_win32.c --- 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) diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro --- 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)); diff --git a/src/version.c b/src/version.c --- 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,