@@ -121,6 +121,9 @@ endif
121121ifndef STATIC_WINPTHREAD
122122STATIC_WINPTHREAD =$(STATIC_STDCPLUS )
123123endif
124+ # If you use TDM-GCC(-64), change HAS_GCC_EH to "no".
125+ # This is used when STATIC_STDCPLUS=yes.
126+ HAS_GCC_EH =yes
124127
125128# If the user doesn't want gettext, undefine it.
126129ifeq (no, $(GETTEXT ) )
@@ -928,14 +931,18 @@ DEFINES+=-DDYNAMIC_ICONV
928931endif
929932
930933ifeq (yes, $(USE_STDCPLUS ) )
934+ LINK = $(CXX )
931935ifeq (yes, $(STATIC_STDCPLUS ) )
932- LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
933- else
934- LIB += -lstdc++
936+ LIB += -static-libstdc++ -static-libgcc
935937endif
938+ else
939+ LINK = $(CC )
936940endif
937941
938942ifeq (yes, $(STATIC_WINPTHREAD ) )
943+ ifeq (yes, $(HAS_GCC_EH ) )
944+ LIB += -lgcc_eh
945+ endif
939946LIB += -Wl,-Bstatic -lwinpthread -Wl,-Bdynamic
940947endif
941948
@@ -955,7 +962,7 @@ uninstal.exe: uninstal.c
955962 $(CC ) $(CFLAGS ) -o uninstal.exe uninstal.c $(LIB )
956963
957964$(TARGET ) : $(OUTDIR ) $(OBJ )
958- $(CC ) $(CFLAGS ) $(LFLAGS ) -o $@ $(OBJ ) $(LIB ) -lole32 -luuid $(LUA_LIB ) $(MZSCHEME_LIBDIR ) $(MZSCHEME_LIB ) $(PYTHONLIB ) $(PYTHON3LIB ) $(RUBYLIB )
965+ $(LINK ) $(CFLAGS ) $(LFLAGS ) -o $@ $(OBJ ) $(LIB ) -lole32 -luuid $(LUA_LIB ) $(MZSCHEME_LIBDIR ) $(MZSCHEME_LIB ) $(PYTHONLIB ) $(PYTHON3LIB ) $(RUBYLIB )
959966
960967upx : exes
961968 upx gvim.exe
@@ -1142,7 +1149,7 @@ ifneq (sh.exe, $(SHELL))
11421149 @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
11431150 @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
11441151 @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
1145- @echo 'char_u *all_lflags = (char_u *)"$(CC ) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)";' >> pathdef.c
1152+ @echo 'char_u *all_lflags = (char_u *)"$(LINK ) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)";' >> pathdef.c
11461153 @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
11471154 @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
11481155else
0 commit comments