Board index » kylix » Announcing CrossFPC / looking for helpers

Announcing CrossFPC / looking for helpers


2005-05-07 06:32:14 AM
kylix0
[Crossposted to delphi.non-technical, as parts of the topic also should be interesting
to non-Kylix users, follow-up set to kylix.non-technial]
INTRODUCTION
As some of you may know, I'm the author of CrossKylix (crosskylix.untergrund.net),
an add-in for Delphi 6/7/2005 that allows crosscompiling Delphi applications to Linux.
In addition to the CrossKylix project, which still is maintained and supported, I've
recently launched a sister project called CrossFPC.
ABOUT CROSSFPC
CrossFPC is an IDE addin for Delphi 6/7/2005 (and future versions)
that allows to use the FreePascal compiler as a compile target inside the Delphi IDE.
CrossFPC was born out of the need to get more target platforms supported for Delphi
applications, and also to future-proof the Linux target in case Borlands decides not to update
Kylix in the future. The goal is to enable cross-compilation using the FPC compiler with
none to minimal required changes in application code.
STATUS OF CROSSFPC
Currently the main focus is to use CrossFPC to cross-compile Delphi applications to Linux,
more or less the same way as CrossKylix does, but this time using the FPC compiler.
To make this possible I'm closely working together with the FPC team, who are doing a great
job at making FPC more compatible and helping me out. There also is a small collection of
Kylix compatibility units.
The current status of the project is that CrossFPC is able to cross-compile console
applications to Linux. The resulting binaries are stable and run fine on all Linux
distributions. Most non-visual parts of the Delphi/Kylix RTL/VCL/CLX are working
already. Currently still missing is support for GUI applications and database stuff
(dbexpress).
ROADMAP
Here is a vague road-map for CrossFPC:
- Within next 4 weeks: Release a public beta that supports cross-compiling non-visual
applications to Linux.
- Within next 2 months: Release a public beta that supports cross-compiling non-visual
applications including database support to Linux.
- Within next 3 months: Release a public beta that also supports cross-compiling non-visual
applications to 64 Bit Linux (AMD64)
- Within next 6 months: Release a version that supports CLX/FreeCLX visual applications.
- Long-term: Possibly support Win64, MacOS X, FreeBSD, Solaris and others as cross-compile
target platforms. This mostly depends on if I find maintainers for these platforms.
HELP WANTED
I'm looking for motivated helpers for the project. The main areas of work are improving the
compatibility of several FPC units with their Delphi/Kylix counterparts and writing "glue"
units where needed. To help you should be really experienced with low-level Delphi/Kylix code,
and Linux. Right now I'm looking for someone who will work on the compatibility of the libc
and database units. If you think you have got the time, energy and will to contribute to
this project, please mail me at XXXX@XXXXX.COM . Delphi/Kylix third-party tool vendors
who wish to add support for CrossFPC to their product(s) also are welcome to join the
internal beta-test.
WHERE TO GET MORE INFORMATION / DOWNLOAD
Nowhere. CrossFPC is not yet available to the public, but only to the development team.
As soon a public beta is ready, there will be an announcement. Please do not mail me about
how to get a copy of CrossFPC, you won't get one unless you join the development team.
DISCLAIMER / LICENSE / LEGAL STUFF
This project is not supported by, endorsed by or in any way related to Borland. The project
is copyrighted by Simon Kissel and licensed under a BSD license. The CrossFPC distribution
includes libraries copyrighted by the FreePascal team and licensed under LGPL and GPL.
CrossFPC includes glibc libaries licensed under GPL. The licenses used within CrossFPC
does not restrict the usage or distribution of compiled applications. CrossFPC does not
include Borland-copyrighted source material. A licensed copy of Borlands Delphi product
is required to use CrossFPC.
Simon Kissel
 
 

Re:Announcing CrossFPC / looking for helpers

Quote

To make this possible I'm closely working together with the FPC team, who are doing a great
job at making FPC more compatible and helping me out. There also is a small collection of
Kylix compatibility units.

Sounds like a good idea to make FPC more Delphi compatible.
I remember that Andreas was trying to achieve this, but the FPC team was
not very fond of this idea (afaik).
For me personally, the CrossXXX approach is not very interesting by
itself, because I'm on Linux only. But once FPC is more compatible, why
not write a nice little Opensource Kylix-IDE replacement without Wine
dependencies?
 

Re:Announcing CrossFPC / looking for helpers

Quote
For me personally, the CrossXXX approach is not very interesting by
itself, because I'm on Linux only. But once FPC is more compatible, why
not write a nice little Opensource Kylix-IDE replacement without Wine
dependencies?
IMO Simon's idea is better/easier to achieve, we stay on existing & stable
IDE
expanding only compiler/linker support. Btw. There is a Lazarus project, a
Delphi-like
clone based on FPC.
 

{smallsort}

Re:Announcing CrossFPC / looking for helpers

Theo,
Quote
Sounds like a good idea to make FPC more Delphi compatible.
I remember that Andreas was trying to achieve this, but the FPC team was
not very fond of this idea (afaik).
We are now all working together happily.
Quote
For me personally, the CrossXXX approach is not very interesting by
itself, because I'm on Linux only. But once FPC is more compatible, why
not write a nice little Opensource Kylix-IDE replacement without Wine
dependencies?
Yes. The outcome of the CrossFPC project will also benefit other projects. The
compatibility/glue units produced of course also will be usefull without
the CrossFPC IDE plugin.
Simon
 

Re:Announcing CrossFPC / looking for helpers

theo wrote:
Quote
Sounds like a good idea to make FPC more Delphi compatible.
I remember that Andreas was trying to achieve this, but the FPC team was
not very fond of this idea (afaik).
No I never tried this. What I had done was to port the LCL (Lazarus Class
Library) to Delphi.
--
Regards,
Andreas Hausladen
(www.kylix-patch.de.vu - unofficial Kylix 3 patches)
(andy.jgknet.de/blog)
 

Re:Announcing CrossFPC / looking for helpers

Very nice idea! CrossFPC will open new wide horizons to Delphi such as very
well
operating system line up. For me it's brilliant since OP is my primary
language.
I'm not experienced on low-level Delphi/Kylix code that I'm thinking of and
I'm
afraid I can't help much, buf If you'll need some higher-level stuff count
me in.
 

Re:Announcing CrossFPC / looking for helpers

Piotr Szturmaj schrieb:
Quote


IMO Simon's idea is better/easier to achieve, we stay on existing & stable
IDE
Of course. Writing an IDE on Linux is a different project.
I just wanted to say that Simon's idea and (later) a Linux-IDE would
make the whole thing future proof on Linux.
Quote
expanding only compiler/linker support. Btw. There is a Lazarus project, a
Delphi-like
clone based on FPC.


Lazarus can only be as good as the LCL. And it will have the GTK-Look on
Linux for the foreseeable future.
 

Re:Announcing CrossFPC / looking for helpers

Andreas Hausladen schrieb:
Quote
theo wrote:


No I never tried this. What I had done was to port the LCL (Lazarus Class
Library) to Delphi.


No, the other way round. Weren't you trying to compile the Borland
sources with FPC?
Correct me if I'm wrong.
 

Re:Announcing CrossFPC / looking for helpers

theo wrote:
Quote
No, the other way round.
I think I know what I had done. And that was compiling the LCL with Delphi
6. One of the main reason why the FPC and Lazarus team rejected the LCL
for Delphi was that the Delphi port required many IFDEFs.
--
Regards,
Andreas Hausladen
(www.kylix-patch.de.vu - unofficial Kylix 3 patches)
(andy.jgknet.de/blog)
 

Re:Announcing CrossFPC / looking for helpers

theo wrote:
Quote
Of course. Writing an IDE on Linux is a different project.
KDevelop, Eclipse. Both have a plugin interface.
--
Regards,
Andreas Hausladen
(www.kylix-patch.de.vu - unofficial Kylix 3 patches)
(andy.jgknet.de/blog)
 

Re:Announcing CrossFPC / looking for helpers

Andreas Hausladen schrieb:
Quote
theo wrote:


>No, the other way round.


I think I know what I had done. And that was compiling the LCL with Delphi
6. One of the main reason why the FPC and Lazarus team rejected the LCL
for Delphi was that the Delphi port required many IFDEFs.


Sorry, I've just read that post again. You're right, of course ;-)
 

Re:Announcing CrossFPC / looking for helpers

What you say about writing some kind of parser/state-machine
which will take Delphi code and translate it to FPC-friendly
(or make FPC more Delphi complatible). At this point we
don't need to make any changes in code, and CrossFPC
will be rather universal. IMO we should stay on Delphi syntax
which is de facto standard in OP world.
Just my thoughts.
 

Re:Announcing CrossFPC / looking for helpers

Hello Simon,
Simon Kissel wrote:
Quote
CrossFPC is an IDE addin for Delphi 6/7/2005 (and future versions)
that allows to use the FreePascal compiler as a compile target inside the
Delphi IDE.
While this is an interesting idea there is one big problem with this (as
well as with crosskylix): No source level de{*word*81} support. As long as I
can't just use the de{*word*81} within the Delphi IDE debugging a program
running on a different platform this won't be much more than just that: An
interesting idea. (And of course I would like to ditch Windows completely
and develop with Kylix (or Delphi 2005 for Linux) for other platforms as
well.
btw: Is there Eclipse support for Object Pascal yet?
twm
 

Re:Announcing CrossFPC / looking for helpers

Quote
>CrossFPC is an IDE addin for Delphi 6/7/2005 (and future versions)
>that allows to use the FreePascal compiler as a compile target inside the
>Delphi IDE.

While this is an interesting idea there is one big problem with this (as
well as with crosskylix): No source level de{*word*81} support. As long as I
can't just use the de{*word*81} within the Delphi IDE debugging a program
running on a different platform this won't be much more than just that: An
interesting idea.
Actually this is very well doable. All that's needed is a remote de{*word*81}
on Linux. From Delphi 2005 on there also is a clean interface to integrate this.
I've not come round to do more on this than some basic testing, but it's doable.
Right now the option to use gdb (which support Pascal these days) on the target
platform exists.
Quote
(And of course I would like to ditch Windows completely
and develop with Kylix (or Delphi 2005 for Linux) for other platforms as
well.
Well, neither CrossFPC nor CrossKylix is meant for you then. Only Borland
could help you on the topic of a new Kylix version.
And this thread isn't really about "How nice would the world be if Borland
listened to its Linux customers".
Simon
 

Re:Announcing CrossFPC / looking for helpers

Quote
What you say about writing some kind of parser/state-machine
which will take Delphi code and translate it to FPC-friendly
(or make FPC more Delphi complatible). At this point we
don't need to make any changes in code, and CrossFPC
will be rather universal. IMO we should stay on Delphi syntax
which is de facto standard in OP world.
That would be a step back. The goal is to simply compile
Delphi code with FPC. No parser/state-machine/translation needed.
Simon