PDA

View Full Version : CrossFPC : Helpers wanted



savage
30-05-2005, 09:57 AM
Simon Kissel ('scamp at untergrund dot net') has announced a new cross-compilation project for FreePascal...
<blockquote>

In addition to the CrossKylix ('http://crosskylix.untergrund.net/') project, which still is actively
developerd, maintained and supported by me, I've recently launched a sister project
called CrossFPC. I think this project might be interesting to quite a
few of you, too.

Today I did an announcement of the project on the Borland newsgroups,
below you'll find a copy if it.

Signed,

Simon Kissel

------------------------------
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 scamp@untergrund.net. 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.

</blockquote>

Lightning
30-05-2005, 11:09 AM
Since there are no more updates to Kylix i guess this project will soon be unusable due to kernel changes and it won't work on 64 bit machines, but i may be wrong.

I think the CrossFPC project is a good idea but i don't think people will help because they already have Lazarus wich runs on many platforms and can CrossCompile too, also CrossCompiling with FPC is easier from Linux to Windows than Windows to Linux, Lazarus is much more closely connected to FPC and even adding features like CrossCompilation should be much easier, also the LCL is designed to be crossplatform without any external libs unlike CLX and tries to be VCL compatible, another problem is the lack of packages in FPC and syntax differences wich force you to use a common set of features unless you plan to use FPC as compiler for win32 too wich will give you access to things like macros.

I wish you good luck with this project but i'm sure Borland won't be verry happy about it :P as they will probably think of losing the market share, but maybe it will make Pascal more popular, who knows :roll:

Clootie
30-05-2005, 05:13 PM
:!: But Delphi has much much more users. :!:
So, project helping to paintfully move these users to FPC compiler is actually a right step.

PS. There is already DXP project made by Eric Grange while he attempted to adapt GLScene to FPC. I'm still using slightly modified version of it in mine D7 install. One can grab DXP from GLScene CVS.

Lightning
03-06-2005, 06:49 PM
Clootie you are right in principle but there are simply too big differences between FPC and Delphi so this project is not possible, for a start FPC doesn't support packages (Laz recompiles itself), the {$R resfile} directive is not supported by Unix systems like Linux and FreeBSD, also FPC is specialised in working with .inc files and various crossplatform coding techniques wich Delphi doesn't know, all these are going to make life verry hard for the people attempting to do this.
In theory the project is good and if FPC supported at least packages the project would be possible, but at the moment i don't see how you will be able to install components.
Let's hope i'm wrong and the project will teach us some good things after all.
There is also another problem for those wich don't have Delphi, this means the have to buy it before using it with FPC but only 2005 is available wich is buggy and quite expensive.
IF the project will be usable this means that we will be able to use the LCL in Delphi wich is also a verry good thing.

savage
03-06-2005, 10:05 PM
I have to ask, I realise that packages/dlls/shared objects have not been a priority on the FPC landspace up until now, but why is that? I don't think anyone has given me answer yet? Or maybe I keep forgetting it :).

Also {$R resfile} may not be native to Unix type platforms, but that did not stop Borland from implementing it into Kylix. So just because it is "not the done thing" does not mean that the FPC team ( or any other compiler team ) could not implement it, if they wanted to.

Lightning
03-06-2005, 10:19 PM
Packages are a hard thing to do but lately we have discussed about $R even if the team isn't really interested, it seems we can add any data at the end of the ELF executables wich is great, this means we could implement some $R support all we need is a bit of knowlege about FPC's code so we can implement it, remember that we do not control the linker so this is a bit of a problem as we have to add data after linking, another way would be to use a dummy unit or inc file and define some constants there wich can later be used as resources. OSX on the other hand seems to support resources quite easy since OSX apps are really directories marked as apps.
Packages are quite complicated and Laz seems to recompile itself just fine so the FPC team is not interested in spending time on this :(