Mercurial > vim
changeset 7734:616769d423fc v7.4.1165
commit https://github.com/vim/vim/commit/938ee834d345062cd94f8fdfd54fad0019432a83
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 24 15:36:03 2016 +0100
patch 7.4.1165
Problem: When defining DYNAMIC_ICONV_DLL in the makefile, the build fails.
Solution: Add #ifdef's. (Taro Muraoka) Try the newer version first.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 24 Jan 2016 15:45:04 +0100 |
parents | 1352ecbcef4d |
children | b0fb25b27d3f |
files | src/mbyte.c src/os_win32.c src/version.c |
diffstat | 3 files changed, 32 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mbyte.c +++ b/src/mbyte.c @@ -4392,21 +4392,21 @@ iconv_string(vcp, str, slen, unconvlenp, * Dynamically load the "iconv.dll" on Win32. */ -#ifndef DYNAMIC_ICONV /* just generating prototypes */ -# define HINSTANCE int -#endif +# ifndef DYNAMIC_ICONV /* must be generating prototypes */ +# define HINSTANCE int +# endif static HINSTANCE hIconvDLL = 0; static HINSTANCE hMsvcrtDLL = 0; -# ifndef DYNAMIC_ICONV_DLL -# define DYNAMIC_ICONV_DLL "iconv.dll" -# define DYNAMIC_ICONV_DLL_ALT1 "libiconv.dll" -# define DYNAMIC_ICONV_DLL_ALT2 "libiconv2.dll" -# define DYNAMIC_ICONV_DLL_ALT3 "libiconv-2.dll" -# endif -# ifndef DYNAMIC_MSVCRT_DLL -# define DYNAMIC_MSVCRT_DLL "msvcrt.dll" -# endif +# ifndef DYNAMIC_ICONV_DLL +# define DYNAMIC_ICONV_DLL "iconv.dll" +# define DYNAMIC_ICONV_DLL_ALT1 "libiconv.dll" +# define DYNAMIC_ICONV_DLL_ALT2 "libiconv2.dll" +# define DYNAMIC_ICONV_DLL_ALT3 "libiconv-2.dll" +# endif +# ifndef DYNAMIC_MSVCRT_DLL +# define DYNAMIC_MSVCRT_DLL "msvcrt.dll" +# endif /* * Get the address of 'funcname' which is imported by 'hInst' DLL. @@ -4459,14 +4459,22 @@ iconv_enabled(verbose) if (hIconvDLL != 0 && hMsvcrtDLL != 0) return TRUE; - /* The iconv DLL file goes under different names, try them all. */ - hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL); + /* The iconv DLL file goes under different names, try them all. + * Do the "2" version first, it's newer. */ +#ifdef DYNAMIC_ICONV_DLL_ALT2 + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT2); +#endif +#ifdef DYNAMIC_ICONV_DLL_ALT3 + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT3); +#endif + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL); +#ifdef DYNAMIC_ICONV_DLL_ALT1 if (hIconvDLL == 0) hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT1); - if (hIconvDLL == 0) - hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT2); - if (hIconvDLL == 0) - hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT3); +#endif if (hIconvDLL != 0) hMsvcrtDLL = vimLoadLib(DYNAMIC_MSVCRT_DLL);
--- a/src/os_win32.c +++ b/src/os_win32.c @@ -500,9 +500,12 @@ dyn_libintl_init() if (hLibintlDLL) return 1; /* Load gettext library (libintl.dll) */ - hLibintlDLL = vimLoadLib(GETTEXT_DLL); +#ifdef GETTEXT_DLL_ALT if (!hLibintlDLL) hLibintlDLL = vimLoadLib(GETTEXT_DLL_ALT); +#endif + if (!hLibintlDLL) + hLibintlDLL = vimLoadLib(GETTEXT_DLL); if (!hLibintlDLL) { if (p_verbose > 0)