Building the CLX with FPC
From Lazarus wiki
Jump to navigationJump to searchIntroduction
There are some efforts to build the (Free)CLX with FPC, here is a short explanation how to build it.
Status
Current status is that not all units build yet, currently build:
ActiveX Contnrs QComCtrls QImgList ShlObj BindHelp HelpIntfs QConsts QStdCtrls UrlMon CommCtrl QButtons QExtCtrls Qt WinInet CommDlg QClipbrd QGraphics RegStr
That's 19 of 42 units or 45%.
Howto
- Build and install FPC from CVS sources: How_to_start
- copy the clx sources to a newly created directory as well as the
- HelpIntfs.pas from Sources/Common
- Win32 only: CommDlg.pas from Source/Rtl/Win
- Win32 only: CommCtrl.pas from Source/Rtl/Win
- Win32 only: ShlObj.pas from Source/Rtl/Win
- Win32 only: RegStr.pas from Source/Rtl/Win
- Win32 only: WinInet.pas from Source/Rtl/Win
- Win32 only: UrlMon.pas from Source/Rtl/Win
- Win32 only: ActiveX.pas from Source/Rtl/Win
- QButtons.res from Lib/
- Contnrs.pas from Source/Rtl/Common
- IniFiles.pas from Source/Rtl/Common
- replace all RTLConsts with RTLConst (fix this!!)
- fix ShlObj.pas: the lines 3554 to 3557 miss a semicolon at the end; FPC won't emulate bugs in the Delphi parser
- create a dummy unit to build the clx:
unit buildclx; interface uses BindHelp, QDBActns, QFileCtrls, QPrinters.pas QActnList, QDBConsts, QFileDialog.pas QSearch.pas QButtons, QDBCtrls, QForms, QStdActns.pas QCheckLst, QDBGrids, QGraphics, QStdCtrls.pas QClipbrd, QDBLogDlg, QGrids, QStyle.pas QComCtrls, QDBPWDlg, QImgList, QTypes.pas QConsts, QDialogs, QMask, Qt.pas QControls, QExtCtrls, QMenus.pas; implementation end.
- build the CLX with fpc -Sd buildclx
Todo
As you might guess, there is also stuff to do:
- The ClassGrouping functions are only dummies in FPC (StartClassGroup et al.)
- Delimiter isn't implemented in TStrings of FPC