Re: [Boost-bugs] [Boost C++ Libraries] #12644: Windows store - vcvarsall.bat is invoked with wrong arguments

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12644: Windows store - vcvarsall.bat is invoked with wrong arguments
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-12-13 23:35:00


#12644: Windows store - vcvarsall.bat is invoked with wrong arguments
-------------------------------+----------------------------
  Reporter: bjorn.aili@… | Owner:
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: Building Boost
   Version: Boost 1.62.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+----------------------------

Comment (by bjorn.aili@…):

 The following patch fixes the issue for our use case:
 {{{
 diff --git a/boost_1_62_0/tools/build/src/tools/msvc.jam
 b/boost_1_62_0/tools/build/src/tools/msvc.jam
 --- a/boost_1_62_0/tools/build/src/tools/msvc.jam
 +++ b/boost_1_62_0/tools/build/src/tools/msvc.jam
 @@ -793,7 +793,7 @@ actions write-setup-script
  # Local helper rule to create the vcvars setup command for given
 architecture
  # and options.
  #
 -local rule generate-setup-cmd ( version : command : parent : options * :
 cpu : global-setup ? : default-global-setup-options : default-setup )
 +local rule generate-setup-cmd ( version : command : parent : options * :
 cpu : global-setup ? : default-global-setup-options + : default-setup )
  {
      local setup-prefix = "call " ;
      local setup-suffix = " >nul"$(.nl) ;
 @@ -971,6 +971,9 @@ local rule configure-really ( version ? : options * )
          local setup-arm ;
          local setup-phone-i386 ;
          local setup-phone-arm ;
 + local setup-store-amd64 ;
 + local setup-store-i386 ;
 + local setup-store-arm ;

          if $(command)
          {
 @@ -1038,6 +1041,10 @@ local rule configure-really ( version ? : options *
 )
              local default-global-setup-options-ia64 = x86_ia64 ;
              local default-global-setup-options-arm = x86_arm ;

 + local default-global-store-setup-options-amd64 = x86_amd64
 store ;
 + local default-global-store-setup-options-i386 = x86 store ;
 + local default-global-store-setup-options-arm = x86_arm
 store ;
 +
              # When using 64-bit Windows, and targeting 64-bit, it is
 possible to
              # use a native 64-bit compiler, selected by the "amd64" &
 "ia64"
              # parameters to vcvarsall.bat. There are two variables we can
 use --
 @@ -1072,6 +1079,12 @@ local rule configure-really ( version ? : options *
 )
                  setup-$(c) = [ generate-setup-cmd $(version) : $(command)
 : $(parent) : $(options) : $(c) : $(global-setup) : $(default-global-
 setup-options-$(c)) : $(default-setup-$(c)) ] ;
              }

 + local store-cpu = i386 amd64 arm ;
 + for local c in $(store-cpu)
 + {
 + setup-store-$(c) = [ generate-setup-cmd $(version) :
 $(command) : $(parent) : $(options) : $(c) : $(global-setup) : $(default-
 global-store-setup-options-$(c)) : $(default-setup-$(c)) ] ;
 + }
 +
              # Windows phone has different setup scripts, located in a
 different directory hierarchy.
              # The 11.0 toolset can target Windows Phone 8.0 and the 12.0
 toolset can target Windows Phone 8.1,
              # each of which have a different directory for their vcvars
 setup scripts.
 @@ -1167,6 +1180,7 @@ local rule configure-really ( version ? : options *
 )
                  }
                  else
                  {
 + setup-script = $(setup-store-$(c)) ;
                      toolset.flags msvc.compile .CC <windows-api>$(api
 )/$(cpu-conditions) : $(setup-script)$(compiler) /Zm800 /ZW /EHsc -nologo
 ;
                  }
                  toolset.flags msvc.compile .ASM <windows-api>$(api
 )/$(cpu-conditions) : $(setup-script)$(cpu-assembler) -nologo ;
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12644#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC