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
-~----------~----~----~----~------~----~------~--~---

Reply via email to