Forum > Ported from Delphi/Kylix

JCL compilable with FPC 3.0.4

(1/2) > >>

denis.totoliciu:
Hello,

Have been recently working on making JCL compatible and compilable with FPC 3.0.4, both 32-bit and 64-bit, and succeeded in doing so. Haven't committed any pull requests to the GitHub repository yet.

Would like first to ask for your advice regarding the following ideas:

1. Do you think it would be useful to make JCL compilable with older versions of FPC?
2. If so, what would be the oldest version that should compile JCL, considering that some features may have to be excluded with IFDEFs?
3. JCL can be compiled with all its features, including the use of generic types and collections that it does internally, i.e. `JclDebug.pas`, by having the `Jcl.lpk` package use the `sparta_generics.lpk` package that comes delivered with Lazarus. Do you find the dependency on this package to be an issue?

Thank you,
Totoliciu Denis Dan

PascalDragon:

--- Quote from: denis.totoliciu on September 14, 2020, 12:54:44 pm ---1. Do you think it would be useful to make JCL compilable with older versions of FPC?
2. If so, what would be the oldest version that should compile JCL, considering that some features may have to be excluded with IFDEFs?
--- End quote ---

Considering that FPC is free I'd say that this isn't a concern that much, however if you do this I'd say to only add support for 2.6.4 as that was the last version before the introduction of the code page aware String type.


--- Quote from: denis.totoliciu on September 14, 2020, 12:54:44 pm ---3. JCL can be compiled with all its features, including the use of generic types and collections that it does internally, i.e. `JclDebug.pas`, by having the `Jcl.lpk` package use the `sparta_generics.lpk` package that comes delivered with Lazarus. Do you find the dependency on this package to be an issue?

--- End quote ---

Please note that this dependency is no longer required with 3.2.0 as there the generic collections are provided with FPC. Also these won't work with anything older than 3.0.x.

marcov:

--- Quote from: denis.totoliciu on September 14, 2020, 12:54:44 pm ---Have been recently working on making JCL compatible and compilable with FPC 3.0.4, both 32-bit and 64-bit, and succeeded in doing so. Haven't committed any pull requests to the GitHub repository yet.

--- End quote ---

Note that as of June FPC 3.2.0 is the latest and greatest version


--- Quote ---1. Do you think it would be useful to make JCL compilable with older versions of FPC?

--- End quote ---

Hardly. Usually the versions of the current fixes branch( 3.2.x) and the last of the previous fixes branch (3.0.4) are in somewhat regular use. And the latter often only because it is the default version in more conservative Linux distributions. (this is not the situation yet, since 3.2 is still quite new, and not few Linux distributions have released new branches yet, and new FPC major versions always penetrate a bit more slowly. Package manager's cold feet I assume)


--- Quote ---3. JCL can be compiled with all its features, including the use of generic types and collections that it does internally, i.e. `JclDebug.pas`, by having the `Jcl.lpk` package use the `sparta_generics.lpk` package that comes delivered with Lazarus. Do you find the dependency on this package to be an issue?

--- End quote ---

Yes, see Sven's answer. It is 3.0.4 specific and would break 3.2.0. I would focus on 3.2.0 first, since 3.0.4 usage will wane in the coming months as more and more distributions and future Lazarus releases target 3.2.0.

wp:
To me, JCL and JVCL always have been Windows-centered. Will your JCL port be cross-platform?

marcov:
iirc jcldebug even contained own traceback code that was debug format dependent. And giganormous amounts of ancient (D7 times) assembler.

Navigation

[0] Message Index

[#] Next page

Go to full version