]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.093 v7.3.093
authorBram Moolenaar <Bram@vim.org>
Thu, 30 Dec 2010 13:50:52 +0000 (14:50 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 30 Dec 2010 13:50:52 +0000 (14:50 +0100)
Problem:    New DLL dependencies in MingW with gcc 4.5.0.
Solution:   Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)

src/GvimExt/Make_ming.mak
src/Make_ming.mak
src/version.c

index 3d9474347464621333a7c2de456f760da0525ec4..d764e3f0498b6e543cb4e77eb919d1fec598e2f4 100644 (file)
@@ -17,6 +17,17 @@ CROSS = no
 # check also the executables
 MINGWOLD = no
 
+# Link against the shared versions of libgcc/libstdc++ by default.  Set
+# STATIC_STDCPLUS to "yes" to link against static versions instead.
+STATIC_STDCPLUS=no
+#STATIC_STDCPLUS=yes
+
+# Note: -static-libstdc++ is not available until gcc 4.5.x.
+LDFLAGS += -shared
+ifeq (yes, $(STATIC_STDCPLUS))
+LDFLAGS += -static-libgcc -static-libstdc++
+endif
+
 ifeq ($(CROSS),yes)
 DEL = rm
 ifeq ($(MINGWOLD),yes)
@@ -33,7 +44,9 @@ DEL = del
 endif
 endif
 CXX := $(CROSS_COMPILE)g++
-WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
+WINDRES := $(CROSS_COMPILE)windres
+WINDRES_CXX = $(CXX)
+WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED
 LIBS :=  -luuid
 RES  := gvimext.res
 DEFFILE = gvimext_ming.def
@@ -46,7 +59,7 @@ DLL  := gvimext.dll
 all: all-before $(DLL) all-after
 
 $(DLL): $(OBJ) $(RES) $(DEFFILE)
-       $(CXX) -shared $(CXXFLAGS) -s -o $@ \
+       $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
                -Wl,--enable-auto-image-base \
                -Wl,--enable-auto-import \
                -Wl,--whole-archive \
@@ -58,7 +71,7 @@ gvimext.o: gvimext.cpp
        $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
 
 $(RES): gvimext_ming.rc
-       $(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@
+       $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
 
 clean: clean-custom
        -$(DEL)  $(OBJ) $(RES) $(DLL)
index c98fc42d5a0b13d0b7b0b524d49fab8648969789..9e66c0512a386dcdae6b0b45593a7a64d9c8891d 100644 (file)
@@ -56,6 +56,12 @@ CSCOPE=yes
 NETBEANS=$(GUI)
 
 
+# Link against the shared version of libstdc++ by default.  Set
+# STATIC_STDCPLUS to "yes" to link against static version instead.
+ifndef STATIC_STDCPLUS
+STATIC_STDCPLUS=no
+endif
+
 # If the user doesn't want gettext, undefine it.
 ifeq (no, $(GETTEXT))
 GETTEXT=
@@ -309,12 +315,14 @@ DIRSLASH = \\
 endif
 endif
 CC := $(CROSS_COMPILE)gcc
-WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED
+WINDRES := $(CROSS_COMPILE)windres
+WINDRES_CC = $(CC)
 
 #>>>>> end of choices
 ###########################################################################
 
 CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
+WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
 
 ifdef GETTEXT
 DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
@@ -577,8 +585,13 @@ endif
 endif
 
 ifeq (yes, $(OLE))
-LIB += -loleaut32 -lstdc++
+LIB += -loleaut32
 OBJ += $(OUTDIR)/if_ole.o
+ifeq (yes, $(STATIC_STDCPLUS))
+LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
+else
+LIB += -lstdc++
+endif
 endif
 
 ifeq (yes, $(MBYTE))
@@ -656,10 +669,10 @@ $(OUTDIR)/%.o : %.c $(INCL)
        $(CC) -c $(CFLAGS) $< -o $@
 
 $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
-       $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
+       $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
 
 $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
-       $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
+       $(WINDRES) $(WINDRES_FLAGS) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
 
 $(OUTDIR):
        $(MKDIR) $(OUTDIR)
index 88dd3be4281da3d9cd0046cca98022b7be6cc636..18bd8ca9948b686202e2619d6a9d4726ddc4c82d 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    93,
 /**/
     92,
 /**/