English (en) │
français (fr) │
FreePascal Systools Package
This package is a conversion of TurboPower SysTools for Kylix Version 1.01 to FPC/Lazarus. The conversion process was started on June 12, 2003 and initially completed on June 17,2003
With this release, all of the units compile and most are probably working. I've flagged any changes I've made with a //TL tag. If there were issues, I added one or more ! to TL. You can grep through the code and selectively list these areas using the tags. Serious, functionality breaking problems have two or more !!.
Out of over the 50,000+ lines of code in the library there are about 130 instances of serious errors that need to be fixed... and these probably comprise a set of about a dozen types. Once these are solved, the solution can be applied to others in it's class.
All of the units were converted in the 1.01 release except 2... which were the barcode or StSystem units. The barcode I/O seemed to have printing and QT dependencies that I didn't think were resolvable with a reasonable amount of effort. The system unit had a LOT of problems compiling and didn't seem to offer anything that wasn't already done better in the existing FPC Linux unit.
This package was created and generously made available to the open source community by TurboPower Software
Initial conversion to Lazarus and FreePascal by Tom Lisjac.
Site says "GNU Library or Lesser General Public License (LGPL), Mozilla Public License 1.1 (MPL 1.1)". Code headers mostly show MPL 1.1
The latest release of FpSystools can be found on the Lazarus CCR Files page.
Most of the common changes that were needed for FPC conversion were:
- Prefixing function parameters with an "@"
- Commenting out the critical section code... there were ifdefs around them but I didn't try to use them. This needs to be revisited and updated inthe next pass.
- FPC claimed duplicate IDs in a lot of method declarations that Delphi/Kylix obviously didn't worry about. I approached this, for better or worse, by adding a 1 suffix to the identifier in the declarations... and then fixing up the implementations. All are flagged for and should be reviewed.
- The Libc unit was changed to Linux in all cases
Getting the latest source from CVS
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/lazarus-ccr login
(press the Enter key when prompted for a password)
cvs -z3 -d:pserver:email@example.com:/cvsroot/lazarus-ccr co fpsystools
This package is also available from the FreePascal Compiler CVS in projects/contrib/fpsystools
Dependencies / System Requirements
There's a lot of inline assembler... so most of the code is currently bound to the i386 platform. (Some of the assembler constructs are broken under FPC and need to be fixed.)
Un-tar the file, cd to the directory and make.