From Free Pascal wiki
Revision as of 23:10, 20 June 2007 by Paulatreides (talk | contribs) (New page: {{FpSystools}} ==FreePascal Systools Package== ===About=== This package is a conversion of TurboPower SysTools for Kylix Version 1.01 to FPC/Lazarus. The conversion process was started on...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

Status: Alpha

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.

Change Log

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:anonymous@cvs.sourceforge.net:/cvsroot/lazarus-ccr login

(press the Enter key when prompted for a password)

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/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.

Orginal contributors

This page has been converted from the epikwiki version. Original content by User:VlxAdmin.