I hit this today while setting up the build server and dug in. I had the
same issues Ryan did (despite my environment properly being setup for the
types of binaries I wanted, SCons was compiling with a totally different
cl.exe than my environment dictated).
tl;dr Setting MSVC_USE_SCRIPT to None worked and SCons used my environment
variables to build Mixxx instead of doing its own thing.
It turns out SCons includes some auto-selection code for the MSVC compiler
and MS SDK. Here is where all this code lives in SCons:
https://bitbucket.org/scons/scons/src/ed8443a615c529fdb7ef82d25d7649ca2d415a85/src/engine/SCons/Tool/MSCommon/?at=default
I read it all and in general it's reasonable but definitely confusing if
you're used to driving the compiler used via environment variables.
SCons always uses the most recent compiler toolchain it can find. The
Environment (i.e. the SCons class) variables TARGET_ARCHITECTURE,
MSVC_VERSION, MSSDK_DIR, MSSDK_VERSION, and MSVC_USE_SCRIPT let you control
this.
TARGET_ARCHITECTURE : set this to whatever arch you want (i.e. x86 or
x86_64)
MSVC_VERSION : set this to the version (i.e. "12.0" for MSVS 2013) of MSVC
you want to use. set it to an invalid value to have SCons barf and tell you
the valid VC versions it found.
MSVC_USE_SCRIPT : if you want to prevent SCons from doing auto-detection,
set this to the path to the vcvarsall batch file for the appropriate VC
version you want. *If you set it to None it disables this junk entirely! *
See the docs:
http://www.scons.org/doc/production/HTML/scons-user.html#cv-MSVC_USE_SCRIPT
So, I think in the least we should
* Add debug output that tells you which platform SDK and VC version SCons
is using
* Disable auto-detection by default?
* Pass our machine= scons flag along to TARGET_ARCHITECTURE (so even if it
goes crazy and picks a random VC version, it won't switch architectures on
you)
* Provide scons command line flags to control all of this.
RJ
On Sun, Jul 27, 2014 at 10:08 AM, Sean M. Pappalardo - D.J. Pegasus <
spappala...@mixxx.org> wrote:
>
>
> On 07/17/2014 11:04 AM, Ryan Kramer wrote:
> > I posted details here
> > (
> http://stackoverflow.com/questions/24810474/force-scons-to-use-32-bit-msvc-compiler-on-64-bit-windows
> )
> > to get better formatting and a wider audience.
>
> Ooh that debugging info is useful. Can you please file a bug with that
> information? Indeed we must be doing something wrong in the build scripts.
>
>
> Sincerely,
> Sean M. Pappalardo
> "D.J. Pegasus"
> Mixxx Developer - Controller Specialist
>
>
> ------------------------------------------------------------------------------
> Want fast and easy access to all the code in your enterprise? Index and
> search up to 200,000 lines of code with a free copy of Black Duck
> Code Sight - the same software that powers the world's largest code
> search on Ohloh, the Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> _______________________________________________
> Get Mixxx, the #1 Free MP3 DJ Mixing software Today
> http://mixxx.org
>
>
> Mixxx-devel mailing list
> Mixxx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel