[Lazarus] easy cross-platform compiling??

waldo kitty wkitty42 at windstream.net
Tue Jun 1 02:56:00 CEST 2010


On 5/31/2010 06:57, Andreas Schneider wrote:
> Am Sonntag 30 Mai 2010, 18:16:09 schrieb waldo kitty:
>> does that make sense?? i don't think that these "add-on" packages would
>> really be all that large, either... they're mostly source code and a
>> binary or three, right?
>
> Compiling for any *nix platform requires a set of libraries to link against,
> since LD works that way. First: you can't simply distribute them
> (licensing).

hunh? the compiled shared .so files and their source cannot be distributed? i'm 
mainly thinking about GPLed type stuff although i am sure that there are other 
*nix libs out there that have their own "problems" with distribution like this...

> Second: they are version dependant. If I would compile against
> a much newer glibc than on my target system (or just one which is compiled
> differently) it might "go wrong". I had such cases - it cross-compiled fine
> but always crashed on _some_ target systems.

hummm... that does, indeed, complicate things... at the least, it means that 
several "sub-flavors" of the basic "cross-compile add-on" would need to be 
available... or at least the shared .so files would need to be...

> Cross-compiling is not trivial at all.

yes, i'm very aware... even with other languages...

> The easiest you can currently get is probably the Lazarus distribution
> called CodeTyphon[1]. I haven't extensively tried cross compiling with it,
> though. But it offers it as feature, so you might want to give it a shot :-)

i have heard of and briefly looked at it but shied away because i wasn't sure 
about support nor how current it is/was... as i tried to depict, it really ought 
to be easier than it currently is... i have numerous projects that would really 
benefit from this capability but, as it stands, it is too complicated to easily 
enable such at this point in time... hopefully one day it will be as simple as 
installing the base product and then simply ticking all of the other platforms 
you want to compile for and at the end, you end up with a binary for each of 
those chosen platforms (ie: tick several, hit the build or compile button, go 
get a cuppa' joe, and return to 2, 3 or more fresh binaries that only need be 
packaged for their destination OS platform :)





More information about the Lazarus mailing list