diff --git a/plugins/arclite/arclite.vcxproj b/plugins/arclite/arclite.vcxproj index 37288307e1..55bdd10737 100644 --- a/plugins/arclite/arclite.vcxproj +++ b/plugins/arclite/arclite.vcxproj @@ -18,6 +18,12 @@ x64 + + v100 + v110 + v120 + v140 + diff --git a/plugins/arclite/example/makefile_vc b/plugins/arclite/example/makefile_vc index 5455f8d879..2936b4430a 100644 --- a/plugins/arclite/example/makefile_vc +++ b/plugins/arclite/example/makefile_vc @@ -10,6 +10,10 @@ LINKFLAGS = -nologo -incremental:no -map -manifest:no -dynamicbase -nxcompat -la RCFLAGS = -nologo ASFLAGS = -nologo -c +!if $(VC) >= 14 +FIXCRT_CPPFLAGS = /Zc:threadSafeInit- +!endif + !if "$(BUILD_PLATFORM)" == "AMD64" BITS = 64 RCFLAGS = $(RCFLAGS) -Dx64 @@ -64,7 +68,7 @@ $(OUTDIR)\vc_crt_fix.obj: ..\..\common\vc_crt_fix.asm $(AS) $(ASFLAGS) ..\..\common\vc_crt_fix.asm $(OUTDIR)\vc_crt_fix_impl.obj: ..\..\common\vc_crt_fix_impl.cpp - $(CPP) $(CPPFLAGS) -Yuheaders.hpp -FIheaders.hpp -Fp$(OUTDIR)\headers.pch ..\..\common\vc_crt_fix_impl.cpp + $(CPP) $(CPPFLAGS) $(FIXCRT_CPPFLAGS) ..\..\common\vc_crt_fix_impl.cpp depfile: $(OUTDIR) $(TOOLSDIR)\tool gendep $(INCLUDES) > $(OUTDIR)\dep.mak diff --git a/plugins/arclite/makefile_vc b/plugins/arclite/makefile_vc index 423b884aeb..cb86562edc 100644 --- a/plugins/arclite/makefile_vc +++ b/plugins/arclite/makefile_vc @@ -38,6 +38,10 @@ CPPFLAGS = $(CPPFLAGS) -Fo$(OUTDIR)\ -Fd$(OUTDIR)\ $(INCLUDES) $(DEFINES) $(USER RCFLAGS = $(RCFLAGS) $(INCLUDES) $(DEFINES) ASFLAGS = $(ASFLAGS) -Fo$(OUTDIR)\ +!if $(VC) >= 14 +FIXCRT_CPPFLAGS = /Zc:threadSafeInit- +!endif + !ifdef BUILD !include $(OUTDIR)\far.ini !endif @@ -147,7 +151,7 @@ $(OUTDIR)\vc_crt_fix.obj: ..\common\vc_crt_fix.asm $(AS) $(ASFLAGS) ..\common\vc_crt_fix.asm $(OUTDIR)\vc_crt_fix_impl.obj: ..\common\vc_crt_fix_impl.cpp - $(CPP) $(CPPFLAGS) -Yuheaders.hpp -FIheaders.hpp -Fp$(OUTDIR)\headers.pch ..\common\vc_crt_fix_impl.cpp + $(CPP) $(CPPFLAGS) $(FIXCRT_CPPFLAGS) ..\common\vc_crt_fix_impl.cpp $(OUTDIR): if not exist $(OUTDIR) mkdir $(OUTDIR) diff --git a/plugins/makefile_all_vc b/plugins/makefile_all_vc index cb39fa554b..bd32cb767c 100644 --- a/plugins/makefile_all_vc +++ b/plugins/makefile_all_vc @@ -34,11 +34,13 @@ INSTALL=$(DEFINSTALL) !endif !if !defined(VC) && defined(_NMAKE_VER) -!if "$(_NMAKE_VER)">"9" -VC=9 -!elseif "$(_NMAKE_VER)">"8" -VC=8 -!elseif "$(_NMAKE_VER)">"10" + +!if "$(_NMAKE_VER)">"14" +VC=14 +!elseif "$(_NMAKE_VER)">"11" +VC=11 +!else +#default VC=10 !endif !endif diff --git a/plugins/makefile_vc_base b/plugins/makefile_vc_base index 51831dc97f..8253e8a55a 100644 --- a/plugins/makefile_vc_base +++ b/plugins/makefile_vc_base @@ -14,12 +14,9 @@ DIRBIT = 32 !endif !if !defined(VC) && defined(_NMAKE_VER) -!if "$(_NMAKE_VER)">"9" -VC=9 -!elseif "$(_NMAKE_VER)">"8" -VC=8 -!elseif "$(_NMAKE_VER)">"10" -VC=10 + +!if "$(_NMAKE_VER)">"14" +VC=14 !elseif "$(_NMAKE_VER)">"11" VC=11 !else @@ -28,7 +25,6 @@ VC=10 !endif !endif - !ifndef ROOT_PATH ROOT_PATH=../ !endif diff --git a/plugins/makefile_vc_def_inc b/plugins/makefile_vc_def_inc index e82770deb5..09a8dfa37e 100644 --- a/plugins/makefile_vc_def_inc +++ b/plugins/makefile_vc_def_inc @@ -128,6 +128,10 @@ CPPFLAGS=$(CPPFLAGS) /DDEBUG /Od CPPFLAGS=$(CPPFLAGS) /Zi !endif +!if $(VC) >= 14 +FIXCRT_CPPFLAGS = /Zc:threadSafeInit- +!endif + !if "$(BUILD_PLATFORM)" == "AMD64" ULOUT=-Tpd+ !elseif "$(BUILD_PLATFORM)" == "IA64" diff --git a/plugins/makefile_vc_target_inc b/plugins/makefile_vc_target_inc index 7c5ecf40ca..25599bf4e3 100644 --- a/plugins/makefile_vc_target_inc +++ b/plugins/makefile_vc_target_inc @@ -1,4 +1,4 @@ -!ifdef NEEDDEFLIB +!ifndef NODEFLIB !if "$(BUILD_PLATFORM)" =="X86" !ifndef ULINK LINK_OBJS = $(LINK_OBJS) $(OBJDIR)\vc_crt_fix.obj $(OBJDIR)\vc_crt_fix_impl.obj @@ -12,58 +12,59 @@ ALL: dirs $(INSTALL) $(DLLFULLNAME) $(DLLFULLNAME) : $(LINK_OBJS) $(RES) $(LINK_DEP) !ifndef __MAKE__ - @$(LNK) @<< + $(LNK) @<< $(LINK_FLAGS) $(LIBS) $(LINK_OBJS) $(RES) << !else - @$(LNK) $(LINK_FLAGS) $(LIBS) $(LINK_OBJS) $(RES) + $(LNK) $(LINK_FLAGS) $(LIBS) $(LINK_OBJS) $(RES) !endif !ifdef DOCS !ifndef __MAKE__ - @for %%i in ($(DOCS)) do @copy /Y %%i $(OUTDIR)$(ADDOUTDIR) > nul 2> nul + for %%i in ($(DOCS)) do @copy /Y %%i $(OUTDIR)$(ADDOUTDIR) > nul !else - @for %i in ($(DOCS)) do @copy /Y %i $(OUTDIR)$(ADDOUTDIR) > nul 2> nul + for %i in ($(DOCS)) do @copy /Y %i $(OUTDIR)$(ADDOUTDIR) > nul !endif !endif !ifndef __MAKE__ .cpp{$(OBJDIR)}.obj:: - @$(CC) @<< + $(CC) @<< $(CPPFLAGS) $< << {$(COMMON)}.cpp{$(OBJDIR)}.obj:: - @$(CC) @<< + $(CC) @<< $(CPPFLAGS) $< << !else .cpp{$(OBJDIR)}.obj: - @$(CC) $(CPPFLAGS) { $< } + $(CC) $(CPPFLAGS) { $< } {$(COMMON)}.cpp{$(OBJDIR)}.obj: - @$(CC) $(CPPFLAGS) { $< } + $(CC) $(CPPFLAGS) { $< } !endif .asm{$(OBJDIR)}.obj: - @$(AS) $(AFLAGS) $< + $(AS) $(AFLAGS) $< {$(COMMON)}.asm{$(OBJDIR)}.obj: - @$(AS) $(AFLAGS) $< + $(AS) $(AFLAGS) $< $(RES): $(RC_NAME).rc $(COMINC)\farversion.hpp $(COMINC)\plugin.hpp - @$(RC) /nologo /I"$(COMINC)" $(ENV_INC_OPT) $(RC_WIDE) /fo"$(RES)" $(RC_NAME).rc + $(RC) /nologo /I"$(COMINC)" $(ENV_INC_OPT) $(RC_WIDE) /fo"$(RES)" $(RC_NAME).rc -$(OUTDIR)\vc_crt_fix.obj: $(COMMON)\vc_crt_fix.asm - $(AS) $(ASFLAGS) $(COMMON)\vc_crt_fix.asm +$(OBJDIR)\vc_crt_fix.obj: $(COMMON)\vc_crt_fix.asm + $(AS) $(AFLAGS) $(COMMON)\vc_crt_fix.asm + +$(OBJDIR)\vc_crt_fix_impl.obj: $(COMMON)\vc_crt_fix_impl.cpp + $(CPP) $(CPPFLAGS) $(FIXCRT_CPPFLAGS) $(COMMON)\vc_crt_fix_impl.cpp -$(OUTDIR)\vc_crt_fix_impl.obj: $(COMMON)\vc_crt_fix_impl.cpp - $(CPP) $(CPPFLAGS) $(COMMON)\vc_crt_fix_impl.cpp .PHONY: dirs dirs: !ifdef INSTALL - @if not exist "$(WORKDIR)\$(NULL)" mkdir "$(WORKDIR)" + if not exist "$(WORKDIR)\$(NULL)" mkdir "$(WORKDIR)" !endif - @if not exist "$(OBJDIR)\$(NULL)" mkdir "$(OBJDIR)" - @if not exist "$(OUTDIR)\$(NULL)" mkdir "$(OUTDIR)" - @if not exist "$(OUTDIR)$(ADDOUTDIR)\$(NULL)" mkdir "$(OUTDIR)$(ADDOUTDIR)" + if not exist "$(OBJDIR)\$(NULL)" mkdir "$(OBJDIR)" + if not exist "$(OUTDIR)\$(NULL)" mkdir "$(OUTDIR)" + if not exist "$(OUTDIR)$(ADDOUTDIR)\$(NULL)" mkdir "$(OUTDIR)$(ADDOUTDIR)"