2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 00:52:16 +00:00

turn off incremental linking of DLLs, which was a major disaster for dependency tracking.

[SVN r11755]
This commit is contained in:
Dave Abrahams
2001-11-21 03:02:23 +00:00
parent 12400b1dff
commit a3e20c8efd
2 changed files with 22 additions and 2 deletions

View File

@@ -56,11 +56,21 @@ flags msvc LINKFLAGS <target-type>DLL : /DLL ;
rule Link-action
{
with-command-file msvc-Link-action $(<) : $(>) $(NEEDLIBS) ;
if $(<[2])
{
# incremental linking a DLL causes no end of problems: if the
# actual exports don't change, the import .lib file is never
# updated. Therefore, the .lib is always out-of-date and gets
# rebuilt every time. I'm not sure that incremental linking is
# such a great idea in general, but in this case I'm sure we
# don't want it.
NOINCREMENTAL on $(<) = /INCREMENTAL:NO ;
}
}
actions together msvc-Link-action bind NEEDLIBS
{
$(MSVC_TOOL_PATH)link /nologo $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
$(MSVC_TOOL_PATH)link /nologo $(NOINCREMENTAL) $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
}
#### Cc #####

View File

@@ -56,11 +56,21 @@ flags msvc LINKFLAGS <target-type>DLL : /DLL ;
rule Link-action
{
with-command-file msvc-Link-action $(<) : $(>) $(NEEDLIBS) ;
if $(<[2])
{
# incremental linking a DLL causes no end of problems: if the
# actual exports don't change, the import .lib file is never
# updated. Therefore, the .lib is always out-of-date and gets
# rebuilt every time. I'm not sure that incremental linking is
# such a great idea in general, but in this case I'm sure we
# don't want it.
NOINCREMENTAL on $(<) = /INCREMENTAL:NO ;
}
}
actions together msvc-Link-action bind NEEDLIBS
{
$(MSVC_TOOL_PATH)link /nologo $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
$(MSVC_TOOL_PATH)link /nologo $(NOINCREMENTAL) $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
}
#### Cc #####