summaryrefslogtreecommitdiffstats
path: root/chrome_frame
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-21 20:58:50 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-21 20:58:50 +0000
commit3e2648a5ff01bae71647d0a02f87c5a0bee86b69 (patch)
treed1935d289bcfe76e37427592e3ff6644e2a1fe7b /chrome_frame
parenta99fce0ea927c4040410566b7c6a31049a9d9811 (diff)
downloadchromium_src-3e2648a5ff01bae71647d0a02f87c5a0bee86b69.zip
chromium_src-3e2648a5ff01bae71647d0a02f87c5a0bee86b69.tar.gz
chromium_src-3e2648a5ff01bae71647d0a02f87c5a0bee86b69.tar.bz2
WinDDK ATL and MSVC express 2008/2005 compatability
Gives 'out of the box' compatability with VC2008 express - i.e. no modifications needed to system headers or .gyp* files or related hacks. Just set the GYP_MSVS_VERSION to 200Xe (e for express, same as the linked blog on the issue and first google hit as well). 1) Changes to build\common.gypi to turn off to define COMPILER_MSVC_EXPRESS if a express is detected (through the GYP_MSVC_VERSION environment variable), turn off the _SECURE_ATL define (which is flagged as an error with WinDDK's ATL, _SECURE_ATL adds [more] CRT checks to other ATL versions) and hard to link to the atl stdthunk library with express editions. Also, explicitly link to the base WinSDK libraries in common.gypi and mini_installer.gypi for MSVC 2005 express. 2) Fixes a few .cc files that have the wrong include order with the ATL headers when using the Windows DDK ATL. The Windows DDK ATL brings in intsafe.h (WinSDK, not WinDDK) with atlwin.h and generates multiple INTXX_MIN/MAX def warnings which get flagged as errors with the warnings as errors flag if not included before other libraries that have the same definitions like ICU. 3) Changes to .rc files to avoid pulling in afxres.h (an MFC header - it's available in the WinDDK) and winres.h which VCExpress doesn't have (it's available in a WinSDK sample, but that kind of the purpose of it). The main Chromium .rc files are already structured this way, I just changed the rest and changed the output of grit to do the same. 4) Removes the memset obj file linking in mini_installer.gyp and simply implements memset for mini_installer.cc. Only changes to the chromium branch now. There are some .rc files in the Python26, Native Client, and Angle in samples that could #3 changes. They are not required for Chromium, however. ------ VC2005SP1 can be downloaded at http://www.microsoft.com/downloads/en/details.aspx?FamilyId=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&displaylang=en (or non-SP1 at http://download.microsoft.com/download/8/3/a/83aad8f9-38ba-4503-b3cd-ba28c360c27b/ENU/vcsetup.exe) VC2008SP1 can be downloaded at http://www.microsoft.com/downloads/en/details.aspx?FamilyId=F3FBB04E-92C2-4701-B4BA-92E26E408569&displaylang=en currently. The base developer instructions work fine afterwards with a couple tweaks for express versions: http://www.chromium.org/developers/how-tos/build-instructions-windows Under "Additional (free) downloads" under step 2: X) Only the first 3 Non-SP KB Patches are needed for express. Don't forget to forget GYP_MSVS_VERSION environment as appropriate - 2008e for Visual C++ 2008 Express, for example. Under "Additional (free) downloads" after step 5 [These only apply to 2008 express, 2005 works fine out of the box]: 6A) Download the WinDDK for the atl headers and libs - http://msdn.microsoft.com/en-us/windows/hardware/gg487463.aspx. It works fine, but you do not need to install the whole DDK. In the WDK directory just install headers.msi, libs_x86fre.msi, and libs_x64fre.msi; just grab the atl headers and atl*.lib libs; right click the installers and uninstall afterwards. Add the appropriate include and lib paths to your global settings. 6B) To build x64 targets (x64 Native Client) download: http://www.cppblog.com/Files/xcpp/VCE64BIT_WIN7SDK.zip Follow the readme instructions. Further information behind that and x64 target building with express: - http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/ - http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html ---------------- BUG=1433, 5026, 72885 TEST=Compiles in both Debug and Release mode in Visual C++ Express 2008/2005 and does not effect other build setups. In addition, the WinDDK ATL compiles with the secure_atl=0 in the GYP_DEFINES environment variable on non-express versions of MSVC. Review URL: http://codereview.chromium.org/6676030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78921 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r--chrome_frame/chrome_tab_version.rc2
-rw-r--r--chrome_frame/resources/tlb_resource.rc2
2 files changed, 2 insertions, 2 deletions
diff --git a/chrome_frame/chrome_tab_version.rc b/chrome_frame/chrome_tab_version.rc
index 366c17e..60556d3 100644
--- a/chrome_frame/chrome_tab_version.rc
+++ b/chrome_frame/chrome_tab_version.rc
@@ -1,6 +1,6 @@
#include "version.h"
-#include "winres.h"
+#include "winresrc.h"
#ifdef APSTUDIO_INVOKED
# error Do not open this in the GUI, it will be massacred on save. Do not do it.
diff --git a/chrome_frame/resources/tlb_resource.rc b/chrome_frame/resources/tlb_resource.rc
index 96464d4..1267413 100644
--- a/chrome_frame/resources/tlb_resource.rc
+++ b/chrome_frame/resources/tlb_resource.rc
@@ -16,7 +16,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
-#include "winres.h"
+#include "winresrc.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS