Yeah, thanks for the hard work on it - I've even been using 2010
express for about 2 weeks now on trunk;
Notes here:
http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/5ff5326b8a600eac
Some general 2010 tips:
1) For those who haven't had the pleasure of setting up 2010 for
building a project the size of Chromium, you're in for a treat. 2010
uses a lightly documented hierarchy of property sheets for include
paths and such (the old Tools->Options->Projects and Solutions->VC++
Directories is gone in favor of property sheets due to "per-user"
issues):
1a)The main one is in: [drive]:\Program Files\MSBuild\Microsoft.Cpp
\v4.0\Platforms\[Arch - "Win32" for 32-bit for example]\Microsoft.Cpp.
[Arch].props (note that if you have the WinSDK installed it will have
it's OWN property sheet) [NOTE: This is not documented much at all]
1b)The second in the pyrimid is the user property sheet that you can
edit through the 3rd tab in the property manager within MSVC - this
one is actually global even though it is noted in each project. You
can also edit it directly through [drive]:\Users\[user]\AppData\Local
\Microsoft\MSBuild\v4.0\Microsoft.Cpp.[Arch].user.props
1c)What you edit through each individual project file through the
property sheets through "VC++ Directories" - this will edit it for the
project only and will inherit from 1a and 1b.
2) If you have even a single bad include path if you have tracking
enabled (the incremental resource compiler feature in 2010, i.e.
Tracker.exe), it will spit out a generic "Cannot find path [generally
blank]". The "generally blank" part is the part is what you'll learn
to love to hate - turn on diagnostic logging for MSBuild won't help
you either. You can turn incremental compilation off via
<TrackFileAccess>. On one hand, it's generally not the best idea to do
this since it messes with source incremental compilation. On the other
hand, Tracker.exe is as smart as a sack of bricks when it comes to
building Chromium in my experience (likely due to Tracker.exe and
scripts), forcing a complete clobber most of the time anyway. The
biggest problem getting past the dreaded Tracker.exe path not found
errors is generally which WinSDK it uses. There are so many property
sheets that could set the directory, it could end up some old version
etc...
Yet another Tracker.exe note: as mentioned, there are some resource
compilation problems that creep up sometimes. Turning off
<TrackFileAccess> "fixes" that as well, but except longer builds.
3) Don't install SP1 unless you willing to endure some pain - if don't
have 2010 Ultimate it will delete your 64-bit compilers (no joke)
among other things if you had a WinSDK installed beforehand, and
likely mess up property sheets. It's a known bug that _will_ happen -
Microsoft recently came out with a "Post-SP1 compiler re-
installer" (my words), but that installer tends to crash on various
machine.... so take that for what you will. However, you can also get
the WinSDK 64-bit compilers back... by simply uninstalling and
reinstalling the entire WinSDK.
---------------
Use chrome\chrome.sln.
Chrome_frame (specifically npchrome_frame project) as mentioned has
linker errors among other things. In the thread about Express I give a
hack for getting around it for now. It's likely a conflict with
multiple projects linking to third_party\nss\mozilla\nsprpub\pr\src
\threads\prmon.c and related files.
Besides that, I've got pretty much all projects to build on machine,
with express as well. Generally though I just build mini_installer,
which works fine.