From c44c5e4a48fa1c7690436c32636ae3fb8ca365ca Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 7 Jul 2007 17:21:20 +0000 Subject: [PATCH] Make use of output dir options of msvc to not polute src dir with compiled files. [SVN r38163] --- historic/jam/src/build.bat | 6 ++--- historic/jam/src/build.jam | 45 ++++++++++++++++++++++++++------------ 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/historic/jam/src/build.bat b/historic/jam/src/build.bat index 1bf065730..d89536e2d 100644 --- a/historic/jam/src/build.bat +++ b/historic/jam/src/build.bat @@ -245,7 +245,7 @@ call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" ( set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%" ) -set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib" +set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib" set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0" set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0" set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0" @@ -260,7 +260,7 @@ if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" ( if "_%VCINSTALLDIR%_" == "__" ( set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%" ) ) -set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib" +set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib" set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0" set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0" set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0" @@ -275,7 +275,7 @@ if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" ( if "_%VCINSTALLDIR%_" == "__" ( set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%" ) ) -set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib" +set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib" set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0" set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0" set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0" diff --git a/historic/jam/src/build.jam b/historic/jam/src/build.jam index 3cc6dafc1..25d0bfa57 100644 --- a/historic/jam/src/build.jam +++ b/historic/jam/src/build.jam @@ -1,15 +1,16 @@ -#~ Copyright 2002-2005 Rene Rivera. +#~ Copyright 2002-2007 Rene Rivera. #~ Distributed under the Boost Software License, Version 1.0. #~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) # Platform related specifics. -if $(NT) { rule .path { return "$(<:J=\\)" ; } } -else if $(OS2) { rule .path { return "$(<:J=\\)" ; } } +if $(NT) { rule .path { return "$(<:J=\\)" ; } ./ = "/" ; } +else if $(OS2) { rule .path { return "$(<:J=\\)" ; } ./ = "/" ; } else if $(VMS) { rule .path { return "[.$(<:J=/)]" ; } } else if $(MAC) { rule .path { return ":$(<:J=\:)" ; } } else { rule .path { return "$(<:J=/)" ; } } if $(VMS) { . = "_" ; } else { . = "." ; } +./ ?= "" ; # Info about what we are building. _VERSION_ = 3 1 15 ; @@ -243,7 +244,7 @@ toolset mipspro cc : "-o " : -D -I$(--python-include) -I$(--extra-include) : -L$(--python-lib[1]) -l$(--python-lib[2]) ; ## Microsoft Visual Studio C++ 6.x -toolset msvc cl : /Fe : -D +toolset msvc cl : /Fe /Fe /Fd /Fo : -D : /nologo [ opt --release : /ML /O2 /Ob2 /Gy /GF /GA /GB ] [ opt --debug : /MLd /DEBUG /Z7 /Od /Ob0 ] @@ -301,14 +302,14 @@ toolset vacpp xlc : "-o " : -D -I$(--python-include) -I$(--extra-include) : -L$(--python-lib[1]) -l$(--python-lib[2]) -bmaxdata:0x40000000 ; ## Microsoft Visual C++ .NET 7.x -toolset vc7 cl : /Fe : -D +toolset vc7 cl : /Fe /Fe /Fd /Fo : -D : /nologo [ opt --release : /ML /O2 /Ob2 /Gy /GF /GA /GB ] [ opt --debug : /MLd /DEBUG /Z7 /Od /Ob0 ] -I$(--python-include) -I$(--extra-include) : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ; ## Microsoft Visual C++ 2005 -toolset vc8 cl : /Fe : -D +toolset vc8 cl : /Fe /Fe /Fd /Fo : -D : /nologo [ opt --release : /MT /O2 /Ob2 /Gy /GF /GA /wd4996 ] [ opt --debug : /MTd /DEBUG /Z7 /Od /Ob0 /wd4996 ] @@ -350,8 +351,16 @@ if ! $(toolset) in $(toolsets) --cc = $(tool.$(toolset).cc) ; if $(tool.$(toolset).opt.out[2]) { - --bin = $(tool.$(toolset).opt.out[1]) ; - --dir = $(tool.$(toolset).opt.out[2]) ; + if $(tool.$(toolset).opt.out[1]) = $(tool.$(toolset).opt.out[2]) + { + --out = $(tool.$(toolset).opt.out[1]) ; + --dir = $(tool.$(toolset).opt.out[3-]) ; + } + else + { + --bin = $(tool.$(toolset).opt.out[1]) ; + --dir = $(tool.$(toolset).opt.out[2-]) ; + } } else { @@ -366,8 +375,16 @@ if $(tool.$(toolset).link.cc) --link = $(tool.$(toolset).link.cc) ; if $(tool.$(toolset).link.opt.out[2]) { - --link-bin = $(tool.$(toolset).link.opt.out[1]) ; - --link-dir = $(tool.$(toolset).link.opt.out[2]) ; + if $(tool.$(toolset).link.opt.out[1]) = $(tool.$(toolset).link.opt.out[2]) + { + --link-out = $(tool.$(toolset).link.opt.out[1]) ; + --link-dir = $(tool.$(toolset).link.opt.out[3-]) ; + } + else + { + --link-bin = $(tool.$(toolset).link.opt.out[1]) ; + --link-dir = $(tool.$(toolset).link.opt.out[2-]) ; + } } else { @@ -588,16 +605,16 @@ rule .exe return $(exe) ; } if ! $(--def[2]) { actions [COMPILE] { - "$(--cc)" $(--bin)$(<:D=) $(--dir)$(<:D) $(--out)$(<) $(--def)$(--defs) $(--flags) "$(--libs)" $(>) + "$(--cc)" $(--bin)$(<:D=) $(--dir)$(<:D)$(./) $(--out)$(<) $(--def)$(--defs) $(--flags) "$(--libs)" $(>) } } else { actions [COMPILE] { - "$(--cc)" $(--bin)$(<:D=) $(--dir)$(<:D) $(--out)$(<) $(--def[1])$(--defs:J=$(--def[2]))$(--def[3]) $(--flags) "$(--libs)" $(>) + "$(--cc)" $(--bin)$(<:D=) $(--dir)$(<:D)$(./) $(--out)$(<) $(--def[1])$(--defs:J=$(--def[2]))$(--def[3]) $(--flags) "$(--libs)" $(>) } } if $(VMS) { actions [COMPILE.LINK] { - "$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>J=", ") + "$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D)$(./) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>J=", ") } } else { actions [COMPILE.LINK] { - "$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>) + "$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D)$(./) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>) } } rule .link