mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Problem: MS-Windows: cannot build with some sodium libraries. Solution: Make the DLL name configuragle. Add build instructions. (Ken Takata, closes #9905)
This commit is contained in:
parent
6ca883dd8a
commit
d8f8629b1b
@ -34,10 +34,11 @@ Contents:
|
|||||||
11. Building with Ruby support
|
11. Building with Ruby support
|
||||||
12. Building with Tcl support
|
12. Building with Tcl support
|
||||||
13. Building with DirectX (DirectWrite) support
|
13. Building with DirectX (DirectWrite) support
|
||||||
14. Windows 3.1
|
14. Building with libsodium support
|
||||||
15. MS-DOS
|
15. Windows 3.1
|
||||||
|
16. MS-DOS
|
||||||
|
|
||||||
16. Installing after building from sources
|
17. Installing after building from sources
|
||||||
|
|
||||||
|
|
||||||
The currently recommended way (that means it has been verified to work) is
|
The currently recommended way (that means it has been verified to work) is
|
||||||
@ -247,9 +248,6 @@ MSYS2 has its own git package, and you can also install it via pacman:
|
|||||||
|
|
||||||
$ pacman -S git
|
$ pacman -S git
|
||||||
|
|
||||||
For enabling libsodium support, you also need to install the package
|
|
||||||
|
|
||||||
$ pacman -S mingw-w64-x86_64-libsodium
|
|
||||||
|
|
||||||
2.3. Keep the build environment up-to-date
|
2.3. Keep the build environment up-to-date
|
||||||
|
|
||||||
@ -846,20 +844,55 @@ Just set DIRECTX to yes:
|
|||||||
mingw32-make -f Make_ming.mak DIRECTX=yes
|
mingw32-make -f Make_ming.mak DIRECTX=yes
|
||||||
|
|
||||||
|
|
||||||
14. Windows 3.1x
|
14. Building with libsodium support
|
||||||
|
===================================
|
||||||
|
|
||||||
|
For better encryption support, you can build Vim with libsodium.
|
||||||
|
|
||||||
|
A) Using MSVC
|
||||||
|
|
||||||
|
You can download the latest libsodium library from here:
|
||||||
|
https://download.libsodium.org/libsodium/releases/
|
||||||
|
|
||||||
|
At this moment, libsodium-1.0.18-stable-msvc.zip is the latest package.
|
||||||
|
Unpack it to anywhere you like, and specify the path to the SODIUM option:
|
||||||
|
|
||||||
|
nmake -f Make_mvc.mak SODIUM=C:/path/to/libsodium
|
||||||
|
(libsodium.dll will be used as the libsodium DLL name.)
|
||||||
|
|
||||||
|
B) Using MinGW
|
||||||
|
|
||||||
|
If you use msys2, you can install the libsodium package by pacman (or pacboy):
|
||||||
|
|
||||||
|
$ pacman -S mingw-w64-x86_64-libsodium # for 64-bit Vim
|
||||||
|
$ pacman -S mingw-w64-i686-libsodium # for 32-bit Vim
|
||||||
|
$ pacboy -S libsodium:m # for both 32-bit and 64-bit Vim
|
||||||
|
|
||||||
|
Then set SODIUM to yes:
|
||||||
|
|
||||||
|
mingw32-make -f Make_ming.mak SODIUM=yes
|
||||||
|
(libsodium-23.dll will be used as the libsodium DLL name.)
|
||||||
|
|
||||||
|
Or you can set the path to libsodium explicitly:
|
||||||
|
|
||||||
|
mingw32-make -f Make_ming.mak SODIUM=C:/path/to/libsodium
|
||||||
|
(libsodium.dll will be used as the libsodium DLL name.)
|
||||||
|
|
||||||
|
|
||||||
|
15. Windows 3.1x
|
||||||
================
|
================
|
||||||
|
|
||||||
The Windows 3.1x support was removed in patch 7.4.1364.
|
The Windows 3.1x support was removed in patch 7.4.1364.
|
||||||
|
|
||||||
|
|
||||||
15. MS-DOS
|
16. MS-DOS
|
||||||
==========
|
==========
|
||||||
|
|
||||||
The MS-DOS support was removed in patch 7.4.1399. Only very old Vim versions
|
The MS-DOS support was removed in patch 7.4.1399. Only very old Vim versions
|
||||||
work on MS-DOS because of the limited amount of memory available.
|
work on MS-DOS because of the limited amount of memory available.
|
||||||
|
|
||||||
|
|
||||||
16. Installing after building from sources
|
17. Installing after building from sources
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
[provided by Michael Soyka, updated by Ken Takata]
|
[provided by Michael Soyka, updated by Ken Takata]
|
||||||
|
@ -670,14 +670,17 @@ endif
|
|||||||
|
|
||||||
ifdef SODIUM
|
ifdef SODIUM
|
||||||
DEFINES += -DHAVE_SODIUM
|
DEFINES += -DHAVE_SODIUM
|
||||||
ifneq ($(SODIUM),yes)
|
ifeq ($(SODIUM),yes)
|
||||||
|
SODIUM_DLL = libsodium-23.dll
|
||||||
|
else
|
||||||
|
SODIUM_DLL = libsodium.dll
|
||||||
CFLAGS += -I $(SODIUM)/include
|
CFLAGS += -I $(SODIUM)/include
|
||||||
endif
|
endif
|
||||||
ifndef DYNAMIC_SODIUM
|
ifndef DYNAMIC_SODIUM
|
||||||
DYNAMIC_SODIUM=yes
|
DYNAMIC_SODIUM=yes
|
||||||
endif
|
endif
|
||||||
ifeq ($(DYNAMIC_SODIUM),yes)
|
ifeq ($(DYNAMIC_SODIUM),yes)
|
||||||
DEFINES += -DDYNAMIC_SODIUM
|
DEFINES += -DDYNAMIC_SODIUM -DDYNAMIC_SODIUM_DLL=\"$(SODIUM_DLL)\"
|
||||||
else
|
else
|
||||||
SODIUMLIB = -lsodium
|
SODIUMLIB = -lsodium
|
||||||
endif
|
endif
|
||||||
|
@ -391,7 +391,8 @@ SODIUM = no
|
|||||||
!if "$(SODIUM)" != "no"
|
!if "$(SODIUM)" != "no"
|
||||||
SOD_INC = /I "$(SODIUM)\include"
|
SOD_INC = /I "$(SODIUM)\include"
|
||||||
! if "$(DYNAMIC_SODIUM)" == "yes"
|
! if "$(DYNAMIC_SODIUM)" == "yes"
|
||||||
SOD_DEFS = -DHAVE_SODIUM -DDYNAMIC_SODIUM
|
SODIUM_DLL = libsodium.dll
|
||||||
|
SOD_DEFS = -DHAVE_SODIUM -DDYNAMIC_SODIUM -DDYNAMIC_SODIUM_DLL=\"$(SODIUM_DLL)\"
|
||||||
SOD_LIB =
|
SOD_LIB =
|
||||||
! else
|
! else
|
||||||
SOD_DEFS = -DHAVE_SODIUM
|
SOD_DEFS = -DHAVE_SODIUM
|
||||||
|
@ -251,7 +251,7 @@ static struct {
|
|||||||
sodium_runtime_link_init(int verbose)
|
sodium_runtime_link_init(int verbose)
|
||||||
{
|
{
|
||||||
static HINSTANCE hsodium = NULL;
|
static HINSTANCE hsodium = NULL;
|
||||||
const char *libname = "libsodium.dll";
|
const char *libname = DYNAMIC_SODIUM_DLL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (hsodium != NULL)
|
if (hsodium != NULL)
|
||||||
@ -270,7 +270,7 @@ sodium_runtime_link_init(int verbose)
|
|||||||
if ((*sodium_funcname_table[i].ptr = symbol_from_dll(hsodium,
|
if ((*sodium_funcname_table[i].ptr = symbol_from_dll(hsodium,
|
||||||
sodium_funcname_table[i].name)) == NULL)
|
sodium_funcname_table[i].name)) == NULL)
|
||||||
{
|
{
|
||||||
FreeLibrary(hsodium);
|
close_dll(hsodium);
|
||||||
hsodium = NULL;
|
hsodium = NULL;
|
||||||
if (verbose)
|
if (verbose)
|
||||||
semsg(_(e_could_not_load_library_function_str), sodium_funcname_table[i].name);
|
semsg(_(e_could_not_load_library_function_str), sodium_funcname_table[i].name);
|
||||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4524,
|
||||||
/**/
|
/**/
|
||||||
4523,
|
4523,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user