[SailfishDevel] How does the mer build engine compile for armv7hl?

David Greaves david.greaves at jolla.com
Sat Jan 10 13:30:49 UTC 2015

On 10/01/15 11:13, Dirk Zimmermann wrote:
> On 10.01.2015 11:15, jerome levreau wrote:
>> for all project, click the project tab and add a kit, that all. Than select
>> target from the build button (bottom left)
>> to be able to deploy you have to add a device from tool->options->mobile ;
>> dev mod must be enable (may need to reboot the phone) ; you can use the
>> wifi ip, no need to plug a cable.
> Yes, that is clear. I can use qtcreator to run apps on the simulator and
> my device. But what is the build engine doing to build a project? Where
> and how is the cross-compilation achieved?
> The background is that I want to build haskell for sailfish.
> Bootstrapping it directly on the device is probably taking a long time,
> so I'm looking at the build engine. Since it's x86 I can probably use
> existing haskell binaries and then cross-compile a haskell for armv7hl.
> Or build hsqml apps for armv7hl in the buidl engine.

The 'build engine' is just a VM running basic Mer as a linux distro with 
mer-tools available.

This should help get you started:


Typically you'll approach this by getting into the sb2 environment (like a 
chroot) and running ./configure; make

To do it more cleanly and in a manner that could eventually become part of the 
OS (ie in mer-tools) you'd create a simple rpm package and then use the mb2 
command to build the rpms. That's a little in the future though :)

You could build a cross-compiling haskell but I strongly doubt it would be worth 
the effort. Simply run the haskell compiler inside sb2 and allow qemu to emulate.

Either way, at that point haskell would be available and hsqml(?) apps could 
specify a dependency on it.


More information about the Devel mailing list