-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://codereview.secondlife.com/r/462/
-----------------------------------------------------------

Review request for Viewer.


Summary
-------

Background:

At Linden Lab (LL) windows libraries are built using a Visual Studio (VS) 2010 
full
version that is overlaid with Incredible Build (IB). Within IB there are two
methods to build libraries. The first is to use devenv.exe through an IB hook 
and
use IB's distributed building capability. The second is to bypass the IB hook 
and
build on a local machine's  devenv.exe.  This provides an excellent solution for
LL. However,  it leaves Open Source (OS) developers using VS2010 Express Edition
lacking the ability to seamlessly build LL's 3p-xxxx libraries. An earlier
suggested approach was to use msbuild.exe to build all libraries since it is
available in both full and express editions of VS2010. This approach works, but
requires that both the autobuild system and each 3p-xxxx library be changed. 
This
approach was not acceptable to LL.

This change:

Detect the presence of  which VS2010 product is installed on the machine giving
preference to  VS2010 Express (VCExpress) and fallback to VS2010 Pro or better
(VisualStudio). This is provided by the added python script vsproduct.py. This
script is imported into common.py and called with the result written to a new
environment variable, AUTOBUILD_VSPROD, thus ensuring its visibility to 
sub-process
calls within autobuild. When the bash function build_sln( ) is called from the
3p-xxx build_cmd.sh; AUTOBUILD_VSPROD is compared to VCExpress and if true 
parses
the config variable and splits into config and plat for the subsequent call of
msbuild.exe. Else, the original call to devenv.exe is used. 


This addresses bug https://jira.secondlife.com/browse/OPEN-69.
    http://jira.secondlife.com/browse/https://jira.secondlife.com/browse/OPEN-69


Diffs
-----

  OPEN-69-README.txt PRE-CREATION 
  autobuild/autobuild_tool_source_environment.py ac90b03614ea 
  autobuild/common.py ac90b03614ea 
  autobuild/vsproduct.py PRE-CREATION 

Diff: http://codereview.secondlife.com/r/462/diff


Testing
-------

Testing:
        Good:
                3p-llconvexdecompostionstub
                3p-freeglut
                3p-quicktime
                3p-fmod
        Need work:
                3p-ogvorbis*
                3p-glui*
        *These libraries use a top level solution file *.sln and do not build
        ompletely using         msbuild.exe. 3P-glui has dependency to 
3p-freeglut and
        ikely would fail using devenv.exe also.
        These libraries and others need tested by OS developers against 
devenv.exe
        to ensure a known good starting point.

Future:

Test each 3p-xxxx library and on failure decide to change 3p-xxxx's build-cmd.sh
to work on devenv and msbuild or detect the library within autobuild's 
build_sln()
and make it work with msbuild at that point.  Commented out code in this changed
build_sln() shows a capture method example.


Thanks,

Nicky

_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Reply via email to