----------------------------------------------------------- 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