]> granicus.if.org Git - vim/commitdiff
patch 8.0.0756: cannot build libvterm with MSVC v8.0.0756
authorBram Moolenaar <Bram@vim.org>
Sun, 23 Jul 2017 15:11:15 +0000 (17:11 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 23 Jul 2017 15:11:15 +0000 (17:11 +0200)
Problem:    Cannot build libvterm with MSVC.
Solution:   Add an MSVC Makefile to libvterm. (Yasuhiro Matsumoto, closes
            #1865)

src/INSTALLpc.txt
src/Make_mvc.mak
src/libvterm/Makefile.msc [new file with mode: 0644]
src/version.c

index 562b42ce976444c9e3d6027bf4197475a259c316..b875b77c9ae7a6ac6f5cc068b5623a7355c7e1e1 100644 (file)
@@ -706,17 +706,20 @@ Or when using MinGW (as one line):
 13. Building with Terminal support
 ==================================
 
-Vim with Terminal support can be built with MinGW or Cygwin.
-Terminal support require winpty which provide following two files.
+Vim with Terminal support can be built with either MSVC, or MinGW or Cygwin.
+This uses the included libvterm and winpty.  No extra header files or
+libraries are needed for building.
+
+Running Vim with terminal support requires the following two winpty files:
 
     winpty.dll
     winpty-agent.dll
 
-You can download following page:
+You can download them from the following page:
 
     https://github.com/rprichard/winpty
 
-It don't need header files or libraries. Just put them on your PATH.
+Just put the DLL files somewhere in your PATH.
 
 
 14. Windows 3.1x
index 6ad368b39f469241670b08cf2772c552857be1de..99dcb294dca0e47c51b4fbdbc64f43ae6a660547 100644 (file)
@@ -36,6 +36,8 @@
 #        is yes)
 #      Global IME support: GIME=yes (requires GUI=yes)
 #
+#       Terminal support: TERMINAL=yes (default is no)
+#
 #      Lua interface:
 #        LUA=[Path to Lua directory]
 #        DYNAMIC_LUA=yes (to load the Lua DLL dynamically)
@@ -354,7 +356,8 @@ CSCOPE_DEFS  = -DFEAT_CSCOPE
 !if "$(TERMINAL)" == "yes"
 TERMINAL_OBJ   = $(OBJDIR)/terminal.obj
 TERMINAL_DEFS  = -DFEAT_TERMINAL
-TERMINAL_SRC   = terminal.c
+TERMINAL_SRC   = terminal.c
+VTERM_LIB      = libvterm/vterm.lib
 !endif
 
 !ifndef NETBEANS
@@ -1130,7 +1133,7 @@ conflags = $(conflags) /map /mapinfo:lines
 LINKARGS1 = $(linkdebug) $(conflags)
 LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(NODEFAULTLIB) $(LIBC) $(OLE_LIB) user32.lib \
                $(LUA_LIB) $(MZSCHEME_LIB) $(PERL_LIB) $(PYTHON_LIB) $(PYTHON3_LIB) $(RUBY_LIB) \
-               $(TCL_LIB) $(NETBEANS_LIB) $(XPM_LIB) $(LINK_PDB)
+               $(TCL_LIB) $(NETBEANS_LIB) $(VTERM_LIB) $(XPM_LIB) $(LINK_PDB)
 
 # Report link time code generation progress if used. 
 !ifdef NODEBUG
@@ -1544,5 +1547,9 @@ proto.h: \
 .c.i:
        $(CC) $(CFLAGS) /P /C $<
 
+libvterm/vterm.lib :
+       cd libvterm
+       $(MAKE) /NOLOGO -f Makefile.msc
+       cd ..
 
 # vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
diff --git a/src/libvterm/Makefile.msc b/src/libvterm/Makefile.msc
new file mode 100644 (file)
index 0000000..18280d2
--- /dev/null
@@ -0,0 +1,30 @@
+OBJS = \
+       src\encoding.c \
+       src\keyboard.c \
+       src\mouse.c \
+       src\parser.c \
+       src\pen.c \
+       src\screen.c \
+       src\state.c \
+       src\unicode.c \
+       src\vterm.c
+
+OBJS = \
+       src\encoding.obj \
+       src\keyboard.obj \
+       src\mouse.obj \
+       src\parser.obj \
+       src\pen.obj \
+       src\screen.obj \
+       src\state.obj \
+       src\unicode.obj \
+       src\vterm.obj
+
+all : vterm.lib
+
+
+.c.obj :
+       cl /DINLINE= /Iinclude /Fo$@ /c $<
+
+vterm.lib : $(OBJS)
+       lib /OUT:$@ $(OBJS)
index b6885f37026dc4d5cda56b55e910f42c1b1cd604..465252905f04f5add522a592eb569e0a5b6c91e9 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    756,
 /**/
     755,
 /**/