Better compatibility with default Jamfile configuration for MSVC

[SVN r12583]
This commit is contained in:
Dave Abrahams 2002-01-30 15:47:47 +00:00
parent 0c89ad34bc
commit 2790baf4d6
4 changed files with 40 additions and 10 deletions

View File

@ -18,13 +18,15 @@ if ! $(COMO_PATH_SETUP) # do this once
COMO_STDLIB_PATH ?= $(COMO_BASE)$(SLASH)$(DOTDOT)$(SLASH)libcomo ;
COMO_BACKEND_SETUP = $(COMO_BACKEND_SETUP) ;
newline = "
" ;
if $(NT)
{
COMO_BACKEND_INCLUDE_SETUP ?= "set \"COMO_MS_INCLUDE="$(MSVCDir)"/include\"" ;
COMO_BACKEND_INCLUDE_SETUP ?= "set \"COMO_MS_INCLUDE="$(VISUALC)"/include\"" ;
COMO_BACKEND_LIB_SETUP ?= "set \"LIB="$(COMO_STDLIB_PATH)";%LIB%\"" ;
COMO_PATH_SETUP ?= "set \"PATH="$(COMO_BIN_DIRECTORY)";%PATH%\"" ;
COMO_BACKEND_SETUP ?= "call "\"$(MSVCDir)$(SLASH)bin$(SLASH)vcvars32"\"" ;
COMO_BACKEND_SETUP ?= REM set MSVCDir or COMO_BACKEND_SETUP to set up the back end ;
COMO_BACKEND_SETUP ?= "call "\"$(VISUALC)$(SLASH)bin$(SLASH)vcvars32"\"" ;
COMO_BACKEND_SETUP ?= REM set VISUALC or COMO_BACKEND_SETUP to set up the back end ;
COMO_BASE_SETUP ?= "set \"COMO_BASE=$(COMO_BASE)\"" ;
COMO_PATH_SETUP ?= REM set COMO_BASE to set up the path for Comeau ;
}
@ -47,7 +49,7 @@ flags como STDHDRS <sysinclude> ;
flags como LINKFLAGS <linkflags> ;
flags como STDHDRS : $(COMO_INCLUDE_PATH) ;
flags como STDLIBPATH : $(COMO_STDLIB_PATH)$(SLASH) ;
flags como STDLIB_PATH : $(COMO_STDLIB_PATH)$(SLASH) ;
flags como LIBPATH <library-path> ;
flags como NEEDLIBS <library-file> ;

View File

@ -18,16 +18,29 @@ INTEL_TOOL_PATH ?= "" ; # Don't clobber adjoining text if INTELROOT isn't set
extends-toolset msvc ;
flags intel-win32 STDHDRS : $(VISUALC)$(SLASH)include ;
#### Link ####
rule Link-action
{
with-command-file intel-win32-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 intel-win32-Link-action bind NEEDLIBS
{
$(INTEL_TOOL_PATH)xilink /nologo $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" $(UNDEFS) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
$(MSVC_SETUP)
$(INTEL_TOOL_PATH)xilink /nologo $(NOINCREMENTAL) $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" /IMPLIB:$(<[2]) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
}
#### Cc #####

View File

@ -18,13 +18,15 @@ if ! $(COMO_PATH_SETUP) # do this once
COMO_STDLIB_PATH ?= $(COMO_BASE)$(SLASH)$(DOTDOT)$(SLASH)libcomo ;
COMO_BACKEND_SETUP = $(COMO_BACKEND_SETUP) ;
newline = "
" ;
if $(NT)
{
COMO_BACKEND_INCLUDE_SETUP ?= "set \"COMO_MS_INCLUDE="$(MSVCDir)"/include\"" ;
COMO_BACKEND_INCLUDE_SETUP ?= "set \"COMO_MS_INCLUDE="$(VISUALC)"/include\"" ;
COMO_BACKEND_LIB_SETUP ?= "set \"LIB="$(COMO_STDLIB_PATH)";%LIB%\"" ;
COMO_PATH_SETUP ?= "set \"PATH="$(COMO_BIN_DIRECTORY)";%PATH%\"" ;
COMO_BACKEND_SETUP ?= "call "\"$(MSVCDir)$(SLASH)bin$(SLASH)vcvars32"\"" ;
COMO_BACKEND_SETUP ?= REM set MSVCDir or COMO_BACKEND_SETUP to set up the back end ;
COMO_BACKEND_SETUP ?= "call "\"$(VISUALC)$(SLASH)bin$(SLASH)vcvars32"\"" ;
COMO_BACKEND_SETUP ?= REM set VISUALC or COMO_BACKEND_SETUP to set up the back end ;
COMO_BASE_SETUP ?= "set \"COMO_BASE=$(COMO_BASE)\"" ;
COMO_PATH_SETUP ?= REM set COMO_BASE to set up the path for Comeau ;
}
@ -47,7 +49,7 @@ flags como STDHDRS <sysinclude> ;
flags como LINKFLAGS <linkflags> ;
flags como STDHDRS : $(COMO_INCLUDE_PATH) ;
flags como STDLIBPATH : $(COMO_STDLIB_PATH)$(SLASH) ;
flags como STDLIB_PATH : $(COMO_STDLIB_PATH)$(SLASH) ;
flags como LIBPATH <library-path> ;
flags como NEEDLIBS <library-file> ;

View File

@ -18,16 +18,29 @@ INTEL_TOOL_PATH ?= "" ; # Don't clobber adjoining text if INTELROOT isn't set
extends-toolset msvc ;
flags intel-win32 STDHDRS : $(VISUALC)$(SLASH)include ;
#### Link ####
rule Link-action
{
with-command-file intel-win32-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 intel-win32-Link-action bind NEEDLIBS
{
$(INTEL_TOOL_PATH)xilink /nologo $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" $(UNDEFS) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
$(MSVC_SETUP)
$(INTEL_TOOL_PATH)xilink /nologo $(NOINCREMENTAL) $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" /IMPLIB:$(<[2]) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
}
#### Cc #####