Announcement: Free Pascal Compiler Delphi XE Port Project

39 views
Skip to first unread message

Skybuck Flying

unread,
Apr 8, 2011, 5:41:21 AM4/8/11
to
Hello,

I have finished with Phase 1 of the Free Pascal Compiler Delphi XE Port
Project:

http://www.skybuck.org/FreePascalCompilerDelphiXEPortProject/


All code with porting issue's have been disabled by me.

(The RTL is not used, instead small portions of it where copied to
unit_skybuck_types.pas for the time being).


By disabling/commenting all code porting issue's it's now possible to fully
compile the free pascal compiler in Delphi XE which should be a great help
to programmers all over the world that want to help with this new project !

Programmers should now be able to fix any bug in any file, they can all
working in parallel.


This project is open to anybody skilled enough at fixing porting issue's...
these are probably/hopefully little issue's like... fixing pascal-array
features which are not supported in Delphi. (How to exactly fix these
issue's could be further discussed perhaps via e-mail, a forum,
newsgroups... not sure yet where we could discuss this... I'll probably
setup a nice little forum for us to communicate via the website... )


I also hope that the original developers of free pascal might take a little
peak and perhaps help out at fixing their own compiler so it becomes
"portable" again.

You should have and/or install a latest version of Delphi... (Delphi XE
preferably) that would be great... then you have all the advanced tools that
you need to fix this code ! ;) =D

Perhaps your code might even benefit from this. Perhaps it's also easier to
navigate to certain things.


Do see SkybuckChanges.txt to see what I did to source code...

I shall also paste a link to the source code right here so you don't have to
wrestly through that somewhat whacky/messy website ;):

http://www.skybuck.org/FreePascalCompilerDelphiXEPortProject/fpcbuild-2.4.2-delphi-xe-port-version-002-do-not-use-free-pascal-rtl.rar

Good luck to all and may the force be with you ! ;) =D

Bye,
Skybuck.


Skybuck Flying

unread,
Apr 10, 2011, 10:33:11 AM4/10/11
to
Hello,

Little blog:

I have experimented with subversion + google code hosting + delphi xe
build-in subversion client + rapid svn.
I spent a whole day trying to figure this stuff out but with success.
The subversion experience seems slow therefore I have trimmed down the
project to an absolute minimum of files so that downloads/checkouts can
happen fastly.
So in short: I have now setup a subversion server so that we could work in
parallel.
However this will not be your typical subversion experience, since I have my
own versioning methods and I don't really like subversion... it's too slow
and fok-ups are just around the corner...
However it will come in handy for this phase2 and it will come in handy for
parallel work.
After the parallel work/fixes have been completed the trunk/revisions will
probably again be removed, or perhaps it will be stored for historic
reasons... however new branches will be created for further experimentation.
Zip files will probably be main way of distributing all necessary files but
perhaps I might change my mind later on... and perhaps I will start to use
subversion more seriously... for now don't count on it staying up long ;)
So if you want to join in with fixing free pascal compiler so that it can be
successfully compiled in Delphi XE then here is your big chance to join in !
;) =D
Meanwhile you can also gain some experience with subversion... it's actually
quite fun now that I am getting the hang of it and understand it a little
bit better ;) (I have tried in the past that probably helped ;) :))
Perhaps I will create some little tutorials maybe even some video's to help
you started with working with subversion, delphi and this project.
For now this little help right here will have to do (all subversion-noobies
are welcome ! ;) :)):

What do you need to participate in this project:

1. Delphi XE
2. A subversion client (Delphi XE should have one build in, otherwise
download Rapid SVN (it's free)).
3. A google account.
4. The following information, enter this subversion link into your client
(repository):
https://free-pascal-compiler-delphi-port.googlecode.com/svn/

My advice is to select the "fpc-build" folder and download/check it out to
your computer.

"fpcbuild-2.4.2-delphi-xe-port-version-004-make-fixes"

Copy & paste the folder name to a new folder on your computer, and rename it
as follows, example:

"P:\fpcbuild-2.4.2-delphi-xe-port-version-004-make-fixes-working-copy"

For now you can only download the sources via svn (subversion), but you
should also be able to make changes,
simply use Delphi XE to make changes/fixes to files.

5. For you to be able to commit (send fixes to the subversion server) I need
to add you as a "project member".
I need to add your e-mail which you associated with your google account to
the "project committers" list.
Once I did that you should be able to "commit" your changes.

So if you want to participate in this project send me an e-mail:
skybu...@hotmail.com

Then I will put you on the committers list and you can go have some fun ! ;)
=D

In case subversion is too difficult for you or you don't like it or you just
want to have the latest files then here is the latest
"release/distribution".
I removed all unnecessary files and it has become much smaller and much more
easy maintainable me thinks for the time being (i386/x86 only ;))
(However it should be able to later integrate changes back into the main
releases, so don't worry about that ;))
fpcbuild-2.4.2-delphi-xe-port-version-004-make-fixes.rar

I hope some of you will join, that would be cool ! ;) =D

Bye for now,
Skybuck.


Skybuck Flying

unread,
Apr 10, 2011, 10:45:44 AM4/10/11
to
The short story so far:

Hello,

This project is about "porting" the Free Pascal Compiler to Delphi XE.

More information can be found on this little blog:

http://www.skybuck.org/FreePascalCompilerDelphiXEPortProject/

A subversion server has been setup here:

https://free-pascal-compiler-delphi-port.googlecode.com/svn/

The latest release/distribution is here:

http://www.skybuck.org/FreePascalCompilerDelphiXEPortProject/fpcbuild-2.4.2-delphi-xe-port-version-004-make-fixes.rar

The source code compiles, however little sections of code have been disabled
as follows:

// *** Skybuck: Fix Needed ***

These sections are slight free pascal language incompatibilities with Delphi
and need to be fixed...

There are about 700 of them. (Many duplicates here and there though).

Will you help fixing these issue's ?

If so you can either help by using subversion or simply working via e-mail
and selecting a file to fix.

Me e-mail is: skybu...@hotmail.com


After the compiler is fixed it can be extended to support new
hardware/platforms and virtual machines, perhaps even converters... like
opencl/cuda/ptx/php/java/.net/c/c++... pretty much anything can become
possible afterwards. It's good to have an open-source delphi alternative, if
you agree with that then help out and together we rock the cradle ! ;) =D

Bye,
Skybuck.


Skybuck Flying

unread,
Apr 11, 2011, 2:40:27 AM4/11/11
to
Ok,

I gave google code a try but it doesn't have all the features I want, so I
am switching to sourceforge:

https://sourceforge.net/projects/fpcfordelphi/

(I especially like/what the bugtracker ! ;) =D)

Bye,
Skybuck.


Jim Leonard

unread,
Apr 11, 2011, 11:29:36 AM4/11/11
to
On Apr 10, 9:45 am, "Skybuck Flying" <IntoTheFut...@hotmail.com>
wrote:

> This project is about "porting" the Free Pascal Compiler to Delphi XE.

Hi, can you give an example or two of why this is beneficial? What
are the advantages of being able to compile freepascal in Delphi?

Skybuck Flying

unread,
Apr 11, 2011, 1:45:45 PM4/11/11
to

"Jim Leonard" <moby...@gmail.com> wrote in message
news:fae59d43-8532-4efc...@k30g2000yqb.googlegroups.com...

Hi,

Easy modification of code, and easy debugging, in other words more easy
extending it and developing it further.

Also Delphi has very strong error checking which is helpfull too.

Delphi IDE probably more high quality and stable than say Lazarus.

Delphi little bit faster compiler too.

And personally I feel right at home in Delphi ! ;) =D

Like fish-in-water =D

Bye,
Skybuck =D

Jim Leonard

unread,
Apr 12, 2011, 11:08:43 AM4/12/11
to
On Apr 11, 12:45 pm, "Skybuck Flying" <IntoTheFut...@hotmail.com>
wrote:

> Easy modification of code, and easy debugging, in other words more easy
> extending it and developing it further.
>
> Also Delphi has very strong error checking which is helpfull too.
>
> Delphi IDE probably more high quality and stable than say Lazarus.
>
> Delphi little bit faster compiler too.

Porting Freepascal to Delphi won't give you a freepascal backend with
a delphi IDE frontend, so I'm still confused what the benefits are.
What exactly are your goals? To develop code in the Delphi IDE but
compile it with freepascal? Extend freepascal with Delphi syntax?

Maybe a clear statement of what you're trying to accomplish would help.

Skybuck Flying

unread,
Apr 12, 2011, 1:15:56 PM4/12/11
to

"Jim Leonard" <moby...@gmail.com> wrote in message
news:bbc06cf7-db8a-4eb8...@j17g2000vbr.googlegroups.com...

For now the goal is easy:

"Compile free pascal with Delphi".

The next (personal) goal for me is:

"Add support for virtual machines and other machines"

(By writing internal assemblers).

I think that's what you mean with "backend"... so yes after the "port" is
done I want to try and attempt to write a back-end maybe even multiple ;)

Others might use the free pascal delphi source for other things... like work
on front-end or so.

(I am much faster at developing code with Delphi than with any other tool,
so that's why I want free pascal ported to Delphi (there are many other
reasons though)).

(I also find it very important to have my own "object pascal compiler" for
the future... (So I don't have to worry about being left standing in the
cold ;) =D))

Bye,
Skybuck.


Bart

unread,
Apr 17, 2011, 5:56:32 PM4/17/11
to
Op Fri, 8 Apr 2011 11:41:21 +0200 schreef "Skybuck Flying"
<IntoTh...@hotmail.com>:

>Hello,
>
>I have finished with Phase 1 of the Free Pascal Compiler Delphi XE Port
>Project:

>All code with porting issue's have been disabled by me.

OK, so you savaged it as well...

>Programmers should now be able to fix any bug in any file,

Why in the world should I need Delphi for that, when I can use
FreePascal itself on all supported platforms to do the same?

> they can all working in parallel.

So it is with FreePascal itself.

What FreePascal really could use is it's own native debugger (this is
where Delphi still is way aheaed IMHO).

Bart
--
Bart Broersma
broersma.ju...@tiscali.nl
(ff _ANTISPAM_ wegpoetsen uit dit adres natuurlijk)

Jamie

unread,
Apr 17, 2011, 7:29:36 PM4/17/11
to
Bart wrote:

> Op Fri, 8 Apr 2011 11:41:21 +0200 schreef "Skybuck Flying"
> <IntoTh...@hotmail.com>:
>
>
>>Hello,
>>
>>I have finished with Phase 1 of the Free Pascal Compiler Delphi XE Port
>>Project:
>
>
>>All code with porting issue's have been disabled by me.
>
>
> OK, so you savaged it as well...
>
>
>>Programmers should now be able to fix any bug in any file,
>
>
> Why in the world should I need Delphi for that, when I can use
> FreePascal itself on all supported platforms to do the same?
>
>
>>they can all working in parallel.
>
>
> So it is with FreePascal itself.
>
> What FreePascal really could use is it's own native debugger (this is
> where Delphi still is way aheaed IMHO).
>
> Bart

That and the fact that FP has serious issues with some serious large EXE
files.

Jamie


Marco van de Voort

unread,
Apr 18, 2011, 3:11:03 AM4/18/11
to
On 2011-04-17, Jamie <jamie_ka1lpa_not_v...@charter.net> wrote:
>> What FreePascal really could use is it's own native debugger (this is
>> where Delphi still is way aheaed IMHO).
>>
> That and the fact that FP has serious issues with some serious large EXE
> files.

That is only for people that don't read FAQs

Jamie

unread,
Apr 18, 2011, 7:46:09 PM4/18/11
to
Really? It seems I've read more than my share of FAQ's on the
subject. It just does not seem to help, much..


Jamie..

Rugxulo

unread,
Apr 18, 2011, 8:58:19 PM4/18/11
to
Hi,

On Apr 18, 6:46 pm, Jamie
<jamie_ka1lpa_not_valid_after_ka1l...@charter.net> wrote:


> Marco van de Voort wrote:> On 2011-04-17, Jamie <jamie_ka1lpa_not_valid_after_ka1l...@charter.net> wrote:
>
> >>>What FreePascal really could use is it's own native debugger (this is
> >>>where Delphi still is way aheaed IMHO).
>
> >>That and the fact that FP has serious issues with some serious large EXE
> >>files.
>
> > That is only for people that don't read FAQs
>
> Really? It seems I've read more than my share of FAQ's on the
> subject. It just does not seem to help, much..

When was the last version you tested? Are you talking about in general
or via Lazarus? If you haven't tried since a year or so, you may want
to try again: the internal linker on Win32 improves things a lot. In
particular, see "smartlinking": -CX, -XX -Xs, -Os, etc.

Marco van de Voort

unread,
Apr 19, 2011, 4:48:15 AM4/19/11
to
On 2011-04-18, Jamie <jamie_ka1lpa_not_v...@charter.net> wrote:
>> That is only for people that don't read FAQs
> Really? It seems I've read more than my share of FAQ's on the
> subject. It just does not seem to help, much..

It works in general for heaps of people. It could be that you are doing
something wrong, have outdated configs that obscure the vision (specially
upgrading Lazarus is not fool proof, and I recommend to verify
deinstallation of the old one, including config directories before
installing a new one)

So IMHO you shouldn't state such things as universal truth, while it might
be a problem of your configuration.

Skybuck Flying

unread,
Apr 22, 2011, 10:53:59 AM4/22/11
to
Perhaps I will not continue this project, unless I get some help from
others.

Because it's quite a lot of work and Lazarus seems to be quite good now...
at least is supports fpc 2.4.2 and is out of beta...

So me give that a try for my purposes though it would still be nice to have
free pascal compiling in Delphi.

However Lazarus does have some IDE features which Delphi does not have so it
could be interesting to use Lazarus for a while...

But this is all new so my oppinion about Lazarus might change... but for now
it seems sufficient for doing what I want ! ;) =D

And that is adding my own target to it ! ;)

Bye,
Skybuck.


Bart

unread,
Apr 22, 2011, 11:32:28 AM4/22/11
to
Op Fri, 22 Apr 2011 16:53:59 +0200 schreef "Skybuck Flying"
<IntoTh...@hotmail.com>:

>... and Lazarus seems to be quite good now...

>at least is supports fpc 2.4.2 and is out of beta...

Lazarus does not support fpc 2.4.2.
The FreePascal compiler (2.4.2 or higher) is needed to build current
Lazarus.

A matter of semantics...

Skybuck Flying

unread,
Apr 22, 2011, 1:21:22 PM4/22/11
to

"Bart" <broersma.ju...@tiscali.nl> wrote in message
news:ho73r6dmb3rm6u0df...@4ax.com...

> Op Fri, 22 Apr 2011 16:53:59 +0200 schreef "Skybuck Flying"
> <IntoTh...@hotmail.com>:
>
>>... and Lazarus seems to be quite good now...
>>at least is supports fpc 2.4.2 and is out of beta...
>
> Lazarus does not support fpc 2.4.2.
> The FreePascal compiler (2.4.2 or higher) is needed to build current
> Lazarus.
>
> A matter of semantics...

What I ment is "Lazarus comes with fpc 2.4.2 and in that regard it supports
fpc 2.4.2 or in other words it uses fpc 2.4.2 binaries to compile the user
sources".

So the developer of Lazarus thinks fpc 2.4.2 is a good thing and uses it
instead of an older version like fpc 2.2.0 or so...

Perhaps there are differences between fpc 2.4.2 and fpc 2.2.0 so it's good
to know that Lazarus uses the latest one and has no issues with it ! ;)

So again in that sense Lazarus supports the latest fpc 2.4.2 command line...

It's especially nice for me at least since I also use fpc 2.4.2 sources ! ;)
=D

Bye,
Skybuck.


Robert Prins

unread,
Jan 10, 2022, 9:53:47 AMJan 10
to
And the fact that the Borland Pascal compatibility for one feature that was
introduced when smartlinking was introduced (TP4? TP5?) is still not present in
FPC, in casu the fact that when I use a declare of

const
list_ptr: listptr = nil;
list_top: listptr = nil;
list_end: listptr = nil;

and my code only implicitly references list_top via a call to a procedure with
an untyped parameter, passing only list_ptr, FPC smart^H^H^H^Htupid_links it away.

And yes, like another poster mentioned, the debugger stinks, and given that the
full TP6 source, whether original, or reconstructed has been available for at
least two decades, the FPC IDE is an absolute C of C.

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html
Reply all
Reply to author
Forward
0 new messages