summaryrefslogtreecommitdiffstats
path: root/src/Make_mvc.mak
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-01-24 20:36:41 +0100
committerBram Moolenaar <Bram@vim.org>2016-01-24 20:36:41 +0100
commite0874f8cbcddfcf9965a85ba35199964efb1d01a (patch)
tree02cba2d1d135a96e3983f0676bb11da770ab0426 /src/Make_mvc.mak
parent705ada1aff27ecd9c47c690df817d043c2ceb5e2 (diff)
patch 7.4.1169v7.4.1169
Problem: The socket I/O is intertwined with the netbeans code. Solution: Start refactoring the netbeans communication to split off the socket I/O. Add the +channel feature.
Diffstat (limited to 'src/Make_mvc.mak')
-rw-r--r--src/Make_mvc.mak37
1 files changed, 28 insertions, 9 deletions
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index c009aa9777..c34a63ed6d 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -96,6 +96,13 @@
# PostScript printing: POSTSCRIPT=yes (default is no)
#
# Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
+# Requires CHANNEL.
+#
+# Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
+# doesn't work)
+#
+# Inter process communication: CHANNEL=[yes or no] (default is yes if GUI
+# is yes)
#
# XPM Image Support: XPM=[path to XPM directory]
# Default is "xpm", using the files included in the distribution.
@@ -114,9 +121,6 @@
# yes: Write a normal mapfile.
# lines: Write a mapfile with line numbers (only for VC6 and later)
#
-# Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
-# doesn't work)
-#
# Static Code Analysis: ANALYZE=yes (works with VS2012 only)
#
# You can combine any of these interfaces
@@ -290,9 +294,13 @@ CSCOPE_DEFS = -DFEAT_CSCOPE
NETBEANS = $(GUI)
!endif
-# Only allow NETBEANS and XPM for a GUI build.
+!ifndef CHANNEL
+CHANNEL = $(GUI)
+!endif
+
+# Only allow NETBEANS and XPM for a GUI build and CHANNEL.
!if "$(GUI)" == "yes"
-!if "$(NETBEANS)" == "yes"
+!if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
# NETBEANS - Include support for Netbeans integration
NETBEANS_PRO = proto/netbeans.pro
NETBEANS_OBJ = $(OBJDIR)/netbeans.obj
@@ -333,6 +341,14 @@ XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
!endif
!endif
+!if "$(CHANNEL)" == "yes"
+CHANNEL_PRO = proto/channel.pro
+CHANNEL_OBJ = $(OBJDIR)/channel.obj
+CHANNEL_DEFS = -DFEAT_CHANNEL
+
+NETBEANS_LIB = WSock32.lib
+!endif
+
# Set which version of the CRT to use
!if defined(USE_MSVCRT)
# CVARS = $(cvarsdll)
@@ -365,7 +381,7 @@ WINVER = 0x0400
#VIMRUNTIMEDIR = somewhere
CFLAGS = -c /W3 /nologo $(CVARS) -I. -Iproto -DHAVE_PATHDEF -DWIN32 \
- $(SNIFF_DEFS) $(CSCOPE_DEFS) $(NETBEANS_DEFS) \
+ $(SNIFF_DEFS) $(CSCOPE_DEFS) $(NETBEANS_DEFS) $(CHANNEL_DEFS) \
$(NBDEBUG_DEFS) $(XPM_DEFS) \
$(DEFINES) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
/Fo$(OUTDIR)/
@@ -1005,12 +1021,12 @@ all: $(VIM).exe \
$(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
$(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) \
- $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) \
+ $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \
version.c version.h
$(CC) $(CFLAGS) version.c
$(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
$(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \
- $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) \
+ $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) \
$(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1
@@ -1227,6 +1243,8 @@ $(OUTDIR)/mbyte.obj: $(OUTDIR) mbyte.c $(INCL)
$(OUTDIR)/netbeans.obj: $(OUTDIR) netbeans.c $(NBDEBUG_SRC) $(INCL)
+$(OUTDIR)/channel.obj: $(OUTDIR) channel.c $(INCL)
+
$(OUTDIR)/normal.obj: $(OUTDIR) normal.c $(INCL)
$(OUTDIR)/option.obj: $(OUTDIR) option.c $(INCL)
@@ -1362,7 +1380,8 @@ proto.h: \
proto/ui.pro \
proto/undo.pro \
proto/window.pro \
- $(NETBEANS_PRO)
+ $(NETBEANS_PRO) \
+ $(CHANNEL_PRO)
.SUFFIXES: .cod .i