Closed Bug 446092 Opened 12 years ago Closed 12 years ago

Sisyphus - improve compiler environment customization on Windows

Categories

(Testing Graveyard :: Sisyphus, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: cbook, Assigned: bc)

References

Details

Attachments

(2 files)

Attached file build log
When i try to build the 1.8.1 branch with Sisyphus i get as error:

make[1]: Entering directory `/c/work/mozilla/builds/1.8.1/mozilla/js/src'
cl -FoWINNT5.1_OPT.OBJ/ -c -MD -O2 -D_X86_=1 -DXP_WIN -DXP_WIN32 -DWIN32 -D_WINDOWS -D_WIN32 -DWINVER=0x500 -D_WIN32_WINNT=0x500 -nologo -W3   -UDEBUG -DNDEBUG -UDEBUG_mozilla -IWINNT5.1_OPT.OBJ  -Op -DEXPORT_JS_API jsapi.c
make[1]: cl: Command not found
make[1]: *** [WINNT5.1_OPT.OBJ/jsapi.obj] Error 127
make[1]: Leaving directory `/c/work/mozilla/builds/1.8.1/mozilla/js/src'
make: *** [all] Error 2
FATAL ERROR in script /work/mozilla/mozilla.com/test.mozilla.com/www/bin/build.sh:120 during js/src build


FATAL ERROR in bin/builder.sh exit code 2

Sisyphus should be able to build the 1.8.1 branch even on Visual Studio 8.
Blocks: 396028
It won't be possible to build Firefox 2 using VC8 from what I can tell from the build documentation: <http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites> but it is possible to build the js shell. 

I'm going to morph this bug a bit to make it about making the build environment configuration more adaptable so that it will be possible to customize the build environment to support VC7, VC9.
Status: NEW → ASSIGNED
Summary: Sisyphus - Sisyphus should be able to build 1.8.1 branch on VS8 Systems → Sisyphus - improve compiler environment customization on Windows
Attached patch patchSplinter Review
This improves the ability to customize the locations of the installed Visual Studio and SDKs via setting the following environment variables prior to executing the build scripts:

VS6INSTALLDIR : By default, the Sisyphus set-msvc6-env.sh script assumes Visual Studio 6 is installed to its default location at 'C:\Program Files\Microsoft Visual Studio'. If you have installed Visual Studio 6 to a different location, you can set this environment variable to the new location.

VS8INSTALLDIR : By default, the Sisyphus set-msvc6-env.sh script assumes Visual Studio 2005 (Visual Studio 8) is installed to its default location at 'C:\Program Files\Microsoft Visual Studio 8'. If you have installed Visual Studio 8 to a different location, you can set this environment variable to the new location.

MOZ_TOOLS    : Bu default, Sisyphus will use different locations for the moztools installation depending on if Mozilla-Build is installed and which branch is being built.

If Mozilla Build is installed, Sisyphus will default to using /c/mozilla-build/moztools-180compat for 1.8.x branch builds and /c/mozilla-build/moztools for 1.9.x builds.

If Mozilla Build is not installed, Sisyphus will default to using /c/work/mozilla/builds/moztools for 1.8.x branch builds and /c/work/mozilla/builds/moztools-static for 1.9.x builds.

You can override the location of MOZ_TOOLS by setting the environment variable of the msys/cygwin path to the new location. Note that this new value will be used for all branches, so you will not be able to perform 1.8.x and 1.9.x builds in the same builder.sh command.

SET_MSVC_ENV : By default, Sisyphus will use $TEST_DIR/bin/set-msvc6-env.sh for 1.8.x branch builds and $TEST_DIR/bin/set-msvc8-env.sh for 1.9.x branch builds to set the appropriate environment variables for the appropriate Visual Studio.

By setting SET_MSVC_ENV to the path to another script, you can force Sisyphus to use that script to set the Visual Studio environment variables. Typically, if you using SET_MSVC_ENV you must also set MOZ_TOOLS to make sure the appropriate moztools package is used. This is applicable to cases such as using Visual Studio 7 or 9 for example.

Note that while you can not build Firefox 1.5 or 2 with Visual Studio 8, you can build the JavaScript shell for the 1.8.x branches with it and can use these environment variables to force Sisyphus to use Visual Studio 8 when building and testing the 1.8.x JavaScript shell.
Attachment #330475 - Flags: review?(cbook)
PS. When using set-msvc8-env.sh, in addition to the VS8INSTALLDIR you also can customize the Framework and SDK6 installations using:

FrameworkDir which default to 'C:\WINDOWS\Microsoft.NET\Framework'

FrameworkVersion which defaults to 'v2.0.50727'

WindowsSDK6 which defaults to 'C:\Program Files\Microsoft SDKs\Windows\v6.0'
Attachment #330475 - Flags: review?(cbook)
Checking in bin/set-build-env.sh;
/cvsroot/mozilla/testing/sisyphus/bin/set-build-env.sh,v  <--  set-build-env.sh
new revision: 1.10; previous revision: 1.9
done
Checking in bin/set-msvc6-env.sh;
/cvsroot/mozilla/testing/sisyphus/bin/set-msvc6-env.sh,v  <--  set-msvc6-env.sh
new revision: 1.3; previous revision: 1.2
done
Checking in bin/set-msvc8-env.sh;
/cvsroot/mozilla/testing/sisyphus/bin/set-msvc8-env.sh,v  <--  set-msvc8-env.sh
new revision: 1.4; previous revision: 1.3

mozilla-central: changeset:   16420:584efe291cdd

note to self: update sisyphus docs.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Depends on: 450043
Mass move of Sisyphus bugs to Testing : Sisyphus. Filter on SisyphusMassMove to ignore.
Component: Testing → Sisyphus
Product: Core → Testing
QA Contact: testing → sisyphus
Version: unspecified → Trunk
Product: Testing → Testing Graveyard
You need to log in before you can comment on or make changes to this bug.