forked from aniani/vim
patch 9.1.0964: MS-Windows: sed error with MinGW
Problem: MS-Windows: sed error with MinGW Solution: use double quotes for sed, update compilation notes (Andrey A Voropaev) closes: #16304 Signed-off-by: Andrey A. Voropaev <voropaev.andrey@swm.de> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
5a04999a74
commit
157397edff
@@ -1,4 +1,4 @@
|
|||||||
INSTALLpc.txt - Installation of Vim on PC
|
INSTALLpc.txt - Installation of Vim on PC - Last Update: 2024 Dec 26
|
||||||
|
|
||||||
This file contains instructions for compiling Vim. If you already have an
|
This file contains instructions for compiling Vim. If you already have an
|
||||||
executable version of Vim, you don't need this.
|
executable version of Vim, you don't need this.
|
||||||
@@ -256,6 +256,8 @@ Select one of the following icon from the Start Menu:
|
|||||||
* MSYS2 MinGW 32-bit (To build 32-bit versions of Vim)
|
* MSYS2 MinGW 32-bit (To build 32-bit versions of Vim)
|
||||||
* MSYS2 MinGW 64-bit (To build 64-bit versions of Vim)
|
* MSYS2 MinGW 64-bit (To build 64-bit versions of Vim)
|
||||||
|
|
||||||
|
Before building look through notes for MinGW in part 3 below.
|
||||||
|
|
||||||
Go to the source directory of Vim, then execute the make command. E.g.:
|
Go to the source directory of Vim, then execute the make command. E.g.:
|
||||||
|
|
||||||
make -f Make_ming.mak
|
make -f Make_ming.mak
|
||||||
@@ -320,6 +322,18 @@ The original 'mingw32' compiler is outdated, and may no longer work:
|
|||||||
|
|
||||||
http://www.mingw.org/
|
http://www.mingw.org/
|
||||||
|
|
||||||
|
Please note, newer versions of Windows (I believe starting with Win10)
|
||||||
|
offer support for UCRT C-library in addition to traditional MSVCRT. As result,
|
||||||
|
one may find 2 flavors of MinGW: one compiling against UCRT and another compiling
|
||||||
|
against MSVCRT. Currently VIM comes with libXpm.a compiled against MSVCRT,
|
||||||
|
so an attempt to build VIM against UCRT will fail with:
|
||||||
|
|
||||||
|
undefined reference to __imp___iob_func
|
||||||
|
|
||||||
|
In which case, if one does not need support for XPM, then argument XPM=no can be
|
||||||
|
added to make-command. If support is needed, then another flavor of MinGW must
|
||||||
|
be used.
|
||||||
|
|
||||||
Once you have downloaded the compiler binaries, unpack them on your hard disk
|
Once you have downloaded the compiler binaries, unpack them on your hard disk
|
||||||
somewhere, and put them on your PATH. Go to the Control Panel, (Performance
|
somewhere, and put them on your PATH. Go to the Control Panel, (Performance
|
||||||
and Maintenance), System, Advanced, and edit the environment from there. If
|
and Maintenance), System, Advanced, and edit the environment from there. If
|
||||||
@@ -349,11 +363,18 @@ Change directory to 'vim\src':
|
|||||||
|
|
||||||
and you type:
|
and you type:
|
||||||
|
|
||||||
mingw32-make -f Make_ming.mak gvim.exe
|
mingw32-make -f Make_ming.mak ARCH=x86-64 gvim.exe
|
||||||
|
|
||||||
|
Note, ARCH is necessary if you don't have the sed command in your $PATH. Just
|
||||||
|
make sure that the correct value is used with ARCH. In the example above the
|
||||||
|
value corresponds to 64-bit architecture. For 32-bit the value is x86.
|
||||||
|
|
||||||
After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
|
After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
|
If you also want to get xxd.exe, install.exe etc. then just remove "gvim.exe"
|
||||||
|
from the make-command.
|
||||||
|
|
||||||
You should not need to do *any* editing of any files to get vim compiled this
|
You should not need to do *any* editing of any files to get vim compiled this
|
||||||
way. If, for some reason, you want the console-mode-only version of vim (this
|
way. If, for some reason, you want the console-mode-only version of vim (this
|
||||||
is NOT recommended on Win32, especially on '95/'98!!!), you can use:
|
is NOT recommended on Win32, especially on '95/'98!!!), you can use:
|
||||||
@@ -671,12 +692,12 @@ When building, you need to set the following variables:
|
|||||||
E.g. When using MSVC (as one line):
|
E.g. When using MSVC (as one line):
|
||||||
|
|
||||||
nmake -f Make_mvc.mak
|
nmake -f Make_mvc.mak
|
||||||
PERL=C:\Perl DYNAMIC_PERL=yes PERL_VER=522
|
PERL=C:\StrawberryPerl\perl DYNAMIC_PERL=yes PERL_VER=522
|
||||||
|
|
||||||
Or when using MinGW (as one line):
|
Or when using MinGW (as one line):
|
||||||
|
|
||||||
mingw32-make -f Make_ming.mak
|
mingw32-make -f Make_ming.mak
|
||||||
PERL=C:/Perl DYNAMIC_PERL=yes PERL_VER=522
|
PERL=C:/StrawberryPerl/perl DYNAMIC_PERL=yes PERL_VER=522
|
||||||
|
|
||||||
|
|
||||||
11. Building with Ruby support
|
11. Building with Ruby support
|
||||||
|
@@ -239,7 +239,7 @@ endif
|
|||||||
|
|
||||||
# Get the default ARCH.
|
# Get the default ARCH.
|
||||||
ifndef ARCH
|
ifndef ARCH
|
||||||
ARCH := $(shell $(CC) -dumpmachine | sed -e 's/-.*//' -e 's/_/-/' -e 's/^mingw32$$/i686/')
|
ARCH := $(shell $(CC) -dumpmachine | sed -e "s/-.*//" -e "s/_/-/" -e "s/^mingw32$$/i686/")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
@@ -704,6 +704,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 */
|
||||||
|
/**/
|
||||||
|
964,
|
||||||
/**/
|
/**/
|
||||||
963,
|
963,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user