[Lazarus] [fpc-devel] Binary Package System Discussion?
Marco van de Voort
marcov at stack.nl
Sun Sep 7 02:36:08 CEST 2014
On Sat, Sep 06, 2014 at 01:24:36PM -0500, Den wrote:
> I know this has been brought up from time to time, but the more I
> use NetBeans and other big editors.. The more I miss the fact that it
> isolates you from being in their pool of source code to build whenever
> you add a component, etc.
> Having a binary-only Lazarus would mean an
> entire overhaul of a binary package system. What would be amazing to
> see actually, is FPC being able to compile into a universal object
> (which supports the basic byte code, and sections which will only be
> used when converting to a certain architecture if necessary.. Like SSE
> optimized code), then being able to convert into native code at
> destination machine. Something like Chrome's Native Client does now,
> which compiles the code into a universal op-code base, and converts it
> to native at their servers..
Aside from the fact that it requires a bunch of tech that is not there and
costly to develop (even if you wanted to), it still doesn't solve the
recompile on installation of a package (specially if they contain code,
like designtime editors).
Then there is of course the problem that Java solves by simply not being
multiplatform at all. (but run inside a Java world with the real machine at
Such universal code system would still fall down at the first OS specific
ifdef. (since code for only the selected platform would be compiled into
> Having this universal binary package system, means we can
> distribute one package, and have it convert on the destination machine.
Yes. And then you would have what exactly? Still only a binary package compiled at
the host binary, the link to the IDE is still not done.
> Means we don't really have to do tricks when distributing your unit when
> you don't want to distribute the source code (ie. Commercial Packages).
Good to remind, that is also the problem, since like most bytecodes the
intermediate format would be easily decompilable.
More information about the Lazarus