CrossFPC

CrossFPC
- and your Delphi world becomes portable.

About

Welcome to CrossFPC, a free toolkit to integrate the FreePascal compiler, targetting various OS and hardware platforms, into the Borland® Delphi® IDE.

Using an integrated toolchain, CrossFPC enables you to cross-compile your Windows Delphi applications to native Linux applications without ever leaving the IDE.

This project was created for people who wish to develop cross-platform applications with Delphi, without the need to switch between Linux/Kylix and Windows/Delphi all the time. The project is best suited for usage in web applications, packages and components, but crosscompiling of visual CLX projects is also supported. CrossFPC is source compatible to Borland Kylix® and CrossFPC's sister project, CrossKylix (which integrates a Kylix cross-compiler into the Delphi IDE).

CrossFPC was born due to the fact that during recent years, Borland has failed to provide updates and a road map for its Kylix product line. In addition recently the Delphi community started asking for other native Delphi targets, most importantly 64Bit Windows and Linux. While the current version of CrossFPC is limited to 32Bit x86 Linux, the long-time goal is to enable cross-compilation to other targets, too.

Features

CrossFPC has the following features:

  • Allows you to compile native Linux applications from inside the Windows Delphi IDE
  • Console projects, packages and visual CLX applications are fully supported
  • CrossFPC is perfectly integrated into the Delphi IDE - you will get compile warnings, hints and error messages, and be able to jump to the lines in question by clicking on the message pane the same way as with the internal Delphi windows compiler
  • Source compatible with Kylix - it's more or less a drop-in replacement for the Kylix compiler
  • It's free! :)

How it works

Pure magic. (This section isn't written yet)

Requirements and Download

The following things are needed to use CrossFPC:

  • Installed Delphi 6, 7, 8, 2005

Yes, this list is short.

Currently CrossFPC is in a closed betatest, only available to members of the development team. If you think you could help out in CrossFPC's development, contact us.

Another useful download is:

  • Novell Netdrive - Allows you to create virtual drives using FTP connections. VERY cool if you want CrossFPC compiled binaries to be automaticly uploaded to a remote Linux server for testing - just set the output directory to your Netdrive.

Installation

As CrossFPC isn't available yet, the installation instructions are pretty simple: Don't do anything.

Hints & Limitations

Here are a few hints and tips for using CrossFPC:

  • While this seems obvious, it's often not noticed by new CrossFPC users: CrossFPC can be configured using Tools / CrossFPC options inside the Delphi IDE
  • Remember you need to program in a cross-platform way. Make sure you never use absolute paths in your uses clauses.
  • If you use third-party-components created for Kylix, you'll need the sources, as the binary object (DCU) format used is incompatible.
  • If you find a bug, turn on CrossFPC debug message in CrossFPC options and write me a bug report
  • Of course you want your linux binaries also to be executed. Use Novell Netdrive to map a drive letter to your linux servers ftp account. Then set the Output Directory in the CrossFPC options to that drive - there you are, after each build the new binary is uploaded to your linux box!

Version history

Here is a list of recent changes to the project:

0.1.0 28 Feb 2005 (internal) 0.2.0 7 May 2005 (internal) 0.2.1 8 May 2005 (internal)

CrossFPC application deployment

Not written yet.

Credits & legal stuff

Not written yet.

Feedback

If you encounter problems, find bugs or wish to give any kind of feedback, feel free to mail me at scamp@untergrund.net. Please understand that I'm a pretty busy guy. This project is published to support the Delphi/Kylix community, not because I have too much spare time (I don't). Before mailing me questions, please make sure you've read everything on this page completely and REALLY tried to solve the problem yourself. When sending bug reports, always give detailed and exact descriptions of the problem, if possible including error messages given back to you.

Newsletter

Not available yet.

© Simon Kissel 2005. This project is sponsored by chatjet.com.