On Fri, Aug 21, 2009 at 2:58 PM, Antoine Labour <pi...@google.com> wrote: > > On Fri, Aug 21, 2009 at 2:45 PM, Erik Corry<erik.co...@gmail.com> wrote: >> 2009/8/21 Antoine Labour <pi...@google.com>: >>> >>> There's growing interest from several parties in getting Chrome to >>> cross-compile onto linux/ARM. Let's make sure everyone is on the same >>> page so that we don't duplicate efforts. >>> I understand that Joel Stanley, Dean McNamee and Lei Zhang have >>> already been doing a lot of work towards that. There's a wiki page >>> there: http://code.google.com/p/chromium/wiki/LinuxChromiumArm >>> >>> I've identified a few missing pieces to get a full version of chrome - >>> there may be others. They are mostly build infrastructure issues: >>> - v8 snapshotting needs to be disabled currently, we'd like to enable >>> it. That means executing mksnapshot as a target executable, either >>> through qemu or directly on device, i.e. the infrastructure to run a >>> target program. >> >> Actually the armulator (ARM simulator in V8) can be used to create ARM >> snapshots without running anything on the target platform. The C++ >> work is done for this, but the build file work isn't. What is needed >> is to build mksnapshot.cc with the armulator. This is done with >> simulator=arm in the scons build. I don't know how it's done with >> gyp. When the snapshot.cc file has been generated by mksnapshot you >> need to rebuild V8 from scratch, this time with the cross compiler. >> With the scons build that would be (after saving snapshot.cc and >> blowing away the other generated files) with snapshot=nobuild arch=arm >> wordsize=32. You need to make sure the CXX, AR, RANLIB and CC >> environment variables point to your cross toolchain. >> >> As I say, the build file work for this is not done yet. I am sure >> that it would be worth doing. The snapshot support makes startup of >> the VM faster at the cost of a moderate increase in size (moderate for >> a system capable of running Chromium). Since Chromium starts the VM >> on every new tab that is worth doing. On the other hand the browser >> is perfectly usable without this optimization so it is no show-stopper >> for the ARM version. > > That is very cool to know - I was afraid to ask :). It sounds like > with some work on gyp, we could entirely cross-compile chrome, full > featured.
This sounds extremely difficult to do with gyp. Another thought, what about using qemu user emulation to run mksnapshot? > > Antoine > >> >>> - Gyp uses pkg-config to find includes/lib dependencies, i.e. it's >>> going to look at the host for them. If your target distribution >>> matches your host maybe you're fine, but it may not work at all, so >>> it'd would be good to extract that and get a way to specify the >>> dependencies explicitly. >>> - The chrome os build relies on the protobuf compiler. The current >>> build system builds it as a target executable, so we either need to >>> run in qemu / on device it as above, or change the build system to >>> understand target vs host executables. >>> >>> I wanted to double check if anyone was working on any of that, or if >>> anyone has good ideas about how to achieve each of them. Please speak >>> up ! >>> >>> Antoine >>> >>> >> >>> >> >> >> >> -- >> Erik Corry, Software Engineer >> Google Denmark ApS. CVR nr. 28 86 69 84 >> c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 >> Copenhagen K, Denmark. >> > > > > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---