Workday / OpenFrame

Workday Open Frame is an open-source add-on to Microsoft Internet Explorer that enables modern web technologies to work within older versions of IE browsers (IE 6, 7, and 8).
http://workday.github.io/OpenFrame
BSD 3-Clause "New" or "Revised" License
12 stars 13 forks source link

Building the project #2

Closed rossobianero closed 10 years ago

rossobianero commented 10 years ago

I hope this isn't too much of a nooby question. I would like to build this plugin to be installed in an IE browser. I can't seem to figure out how to build the project. Are there instructions?

joeknoll commented 10 years ago

Follow the steps outlined here for building chromium from git: http://www.chromium.org/developers

You can use gclient (part of depot tools) to do the setup and ninja to build. However, to get the code from OpenFrame integrated you can either copy it over manually, change the DEPS file to point this github repo, play with git parentage or another method of your choice.

OpenFrame can be bulit (after follow the setup steps, "gclient sync" and "gclient runhooks") by typing: ninja -C src\out\Release npchrome_frame

rossobianero commented 10 years ago

Thanks Joe. That got me pretty far, but my build is failing [ after several hours :-( ]. The error is below, but I also want to walk through exactly what I did so I know we're on the same page.
1) Successfully built chromium using ninja, per Google's instructions. Got a working chrome.exe. 2) Copied over the chromium src folder with content from this repo. I'm hoping that's what you meant in your comment. 3) gclient sync and runhooks 4) ninja -C src/out/Release npchrome_frame

Other notes:

Here's the build error:

[13877/14957] CXX obj\chrome_frame\ready_mode\internal\chrome_frame_ie.registry_ready_mode_state.obj FAILED: ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe" /nologo /showIncludes /FC @obj\chrome_frame\chrome_frame_ie.protocol_sink_wrap.obj.rsp /c ....\chrome_frame\protocol_sink_wrap.cc /Foobj\chrome_frame\chrome_frame_ie.protocol_sink_wrap.obj /Fdobj\chrome_frame\chrome_frame_ie.pdb c:\users\brian\dev\chromeframe\openframe\src\chrome_frame\protocol_sink_wrap.cc(302) : error C3861: 'SkipMetadataCheck': identifier not found c:\users\brian\dev\chromeframe\openframe\src\chrome_frame\protocol_sink_wrap.cc(484) : error C3861: 'SkipMetadataCheck': identifier not found ninja: build stopped: subcommand failed.

joeknoll commented 10 years ago

gclient sync will overwrite files... unless you updated the DEPS file to point to github this may cause problems after copying over files (although, SkipMetadataCheck() is part of the mainline branch). Try running gclient clean ninja -C src\out\Release -t clean gclient runhooks ninja -C src/out/Release npchrome_frame

And then go to bed... because this will take a long time. Also, make sure that when you ran that sync operation it didn't mark any files as conflicted (TortoiseSVN is your friend here).