[Excuse the broken thread reference, I just subscribed to this list]
We've just released the first public version at www.crossfpc.com. Go
check it out. So yes, we kept the "late 2012" release date ;)
Bero indeed is the co-author of this project and he's a brilliant mind.
Sadly his code typically is undocumented and a visual mess. That's
part of the reason it took 7 years for this to be turned into a public
project instead of an internal one only - a hell lot of clean up work
had to be done, and there still is much more to do.
Marco: LTNS. Well, remote debugging is there, but at this point without
any documentation. No visual designer however, we've kicked out the
old CLX-based stuff we once had in it a long time ago. In case there
is demand (and time) we might add one or more visual toolkits in the
future - but for us personally, this is not a focus. I use CrossFPC
commercially for embedded projects where all GUIs are web-based
(typically ExtJS these days), and Bero uses the project for all kind
of weird things (including Android games).
However, it's not just that we've "dumped what we had", this is not
a one-shot thing. We are using it daily for years, and will keep doing
so. In the background you probably have seen various activity and
FPC improvements from Nico Erfurth on the ARM stuff, who is a developer
at my Viprinet company, and we intend to keep investing into this as we
really need better code generation for ARM.
In regards of CrossFPC it's just a matter of moving from a non-public
release process to a public one. Therefore CrossFPC can be considered an
active project. Yes, it's only serving a small niche, and maybe that
niche even one day will be obsoleted by Embarcadero's mobile studio, or
On 31.12.2012 03:38, Simon Kissel wrote:
> In the background you probably have seen various activity and
> FPC improvements from Nico Erfurth on the ARM stuff, who is a developer
> at my Viprinet company, and we intend to keep investing into this as we
> really need better code generation for ARM.
On 31.12.2012 03:38, Simon Kissel wrote:
> and Bero uses the project for all kind
> of weird things (including Android games).
Before I forget it: does Bero use the targetandroid branch? If not could
he try to test it a bit? It's planned to merge it to trunk in the
future, but the more it is tested before that the more stable the result
will be then. He could even try the new possibility of running the
testsuite on an Android device. This way we could figure out potential
problems on different devices (as you could have access to a more wide
range of devices).
> [Excuse the broken thread reference, I just subscribed to this list]
> We've just released the first public version at www.crossfpc.com. Go
> check it out. So yes, we kept the "late 2012" release date ;)
Technically, I am amazed by your achievement.
It installed flawlessly, examples compiled (well, with crossfpc).
As a first impression: thumbs up.
What puzzles me is: why still do this ?
8-10 years ago, I could see the need.
These days, I much more prefer working in the Lazarus IDE than in Delphi.
Lazarus is much faster, is much better at finding units and identifiers,
is more stable and has some features which I can no longer work without.
And I have learned to live with its drawbacks. I'm sure people using
MSEGUI+MSEIDE will have similar comments.
As for VCL functionality: You state that GUI will not work with CrossFPC.
That means that third-party stuff like Dev Express or TMS software
components are also out. So this reason for preferring Delphi over
Lazarus also falls away.
Midas will also not work. (still a compelling reason to use Delphi).
Debugging is done with gdb, so similar in functionality to what Lazarus offers.
So what does Delphi+CrossFPC offer that Lazarus (or MSEGUI+MSEIDE, if you prefer)
does not ?
Given that you obviously spent lots of time on this, I would think this time is
better spent on implementing the missing things in Lazarus ?
Which - after initial inspection - would seem to me a matter of improving the
installer so it includes cross-compilation.
Please don't mistake this as critique (crossfpc performed as it should),
I am just curious for your motivation. Maybe I missed some things.
I still love the Delphi 7 IDE, and my co-workers also are Delphi users
and have not switched to Lazarus. We also use a hell lot of commercial
Our work-flow for our embedded products simply still is based on the
Delphi 7 IDE, and on CrossKylix. Win32 versions of our embedded stuff
are built using the Delphi compiler, the x86 Linux version is built
using CrossKylix (because the generated executables are still much
faster than FPC ones), and the ARM targets are compiled using CrossFPC.
So we have all targets using 3 different compiler platforms integrated
into a single IDE, and a HUGE code base that works with all three of
Due to FPC on ARM being a moving target (there really is still a lot
to do, and we are taking part in that) we need to maintain our own
build of FPC anyway, so if we'd go Lazarus we'd also have to maintain
our own Lazarus builds. Plus we are based on Libc on all Unix plattforms
for a number of reasons.
From a "is this any useful for the public" perspective:
Embarcadero still has a number of customers who haven't switched to
Lazarus for a number of reasons. CrossFPC is providing an infrastructure
to those who want to stay with Delphi but also dive into cross-platform.
Time will tell what comes out of this. CrossFPC as a sort of FPC
distribution could serve as a supported platform for commercial
Delphi component vendors - it makes it very easy to support multiple
target platforms, even for closed-source applications. We've already
fixed a quite big number of commercial components so they compile
with Delphi, Kylix and FPC and therefore can be used by us. This also
could be useful for others.
We've got a lot of requests for releasing CrossFPC, and we don't really
yet know WHY people requested it, IOW what they are going to use it for.
But I know that CrossKylix is still heavily used, so there appears to
be an audience to it.
Today I think the biggest use for CrossFPC is to allow Windows Delphi
developers to easily target embedded and server applications with
a low learning curve.
CrossFPC also has a standalone-mode which does not require the Delphi
IDE. You could therefore also regard it as a FPC cross-compiler
distribution, which is also something that others potentially can build
For example, we internally use Sencha Architect and ExtJS together with
CrossFPC. You can create beautiful web applications using that, with
a Pascal backend that runs on a hell lot of hardware devices.
> So what does Delphi+CrossFPC offer that Lazarus (or MSEGUI+MSEIDE, if
> you prefer)
> does not ?
A different work-flow, a different infrastructure. And a team that
actually does a lot of commercial embedded work using this, which means
that things are tested a lot.
> Given that you obviously spent lots of time on this, I would think this
> time is better spent on implementing the missing things in Lazarus ?
> Which - after initial inspection - would seem to me a matter of
> improving the installer so it includes cross-compilation.
Just as with the ARM improvements for FPC we have been working on,
we'll be very happy if the work we do is re-used in other places. We
also have the intention to financially invest into the FPC platform -
for example we have the idea to host a sponsored FPC development weekend
where work on the ARM platform would be done. An ARM compiler
that produces better code which in the end would double the speed
of our applications for me would be worth at least 30k Euro, to give
an example. We are curious if Embarcadero will manage to put out
it's LLVM-based ARM compiler in a quality that's an option to us, but
we have learned that it's better not to depend on them. But that's
a different topic.
Therefore: Even if CrossFPC as it is might only serve a very small
niche, the commercial motivation behind it probably will be able
to help FPC and Object Pascal relevance.
And yes, cross-compilation support inside Lazarus would be great.
> Hi Michael,
>> What puzzles me is: why still do this ?
> From my own/commercial perspective:
Thank you for your answer and your support of FPC !
My curiosity is not really satisfied - still do not see why you consider
retaining Delphi 7 an advantage - but I am at least glad that you consider
FPC a viable platform.
As of tomorrow, I will be working for a new employer, who pays me to work
part-time on FPC/Lazarus: Maybe you can discuss with them about sponsoring
an event. I am sure the editor of Blaise Pascal magazine will also be
interested in hearing your plans.
As for Sencha architect/ExtJS : I use it too with FPC, in a Lazarus environment,
but am interested in knowing what you achieved. If you ever feel like sharing
whatever you do in that area, I would appreciate it !