[fpc-devel] Small virtual machine to cross compile FPC
Mark Morgan Lloyd
markMLl.fpc-devel at telemetry.co.uk
Tue Oct 28 11:07:33 CET 2014
Hans-Peter Diettrich wrote:
> Paul Breneman schrieb:
>> I've spent a bit of time during the past 7 years trying to figure out
>> how to simplify things by avoiding cross-compiling. This page has
>> many of the details:
>> http://turbocontrol.com/monitor.htm
>>
>> I think there is a way to simplify cross-compiling. Levinux is a
>> small (~20 MB) QEMU download for x86 PCs (Windows, OS X, Linux) that
>> provides a small Tiny Core Linux VM. I'd like to see something
>> similar but with all the files and tools needed to pull the latest
>> source code and cross-compile FPC (also with Debian instead of Tiny
>> Core?).
>> http://mikelev.in/ux/
>>
>> It seems to me that such a small VM should allow a nice standard
>> method that will make it easy to test and see things work.
>>
>> I look forward to your thoughts and comments!
>
> I wonder why you need or use cross-compilation at all?
>
> The biggest part of an cross compiler are the target specific libraries
> and tools, which allow to create executables for use on a specific
> target. IMO it will be easier to create a dedicated VM for every target,
> and install FPC there, instead of adding cross-compilation features for
> many targets to whatever machine. Mobile devices often require their own
> emulator, or a physical device, for program development, a single VM is
> of little use herefore. IMO.
I've run builds of FPC and (to some extent) Lazarus natively using Qemu
etc., and there can be serious speed issues. In particular, a PC used as
a cross-development host is likely to have more memory than a target
system which will have major implications on (linkage) speed, and it's
probably undesirable to thrash a target system if its filesystem is
based on Flash.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the fpc-devel
mailing list