Difference between revisions of "Building the CLX with FPC"
From Lazarus wiki
Jump to navigationJump to search (→Howto) |
(→Howto) |
||
Line 24: | Line 24: | ||
** HelpIntfs.pas from Sources/Common/ | ** HelpIntfs.pas from Sources/Common/ | ||
** IniFiles.pas from Source/Rtl/Common/ | ** IniFiles.pas from Source/Rtl/Common/ | ||
− | ** Linux only: QFileCtrls.res from Lib/ | + | ** Linux only: QFileCtrls.res from Lib/ and rename it to qfilectrls.res |
+ | ** Linux only: rename DirSel.xfm to dirsel.xfm | ||
** QButtons.res from Lib/ | ** QButtons.res from Lib/ | ||
** QFileDialog.res from Lib/ | ** QFileDialog.res from Lib/ | ||
+ | ** Linux only: rename QFileDialog.res to qfiledialog.res | ||
** QCheckLst.res from Lib/ | ** QCheckLst.res from Lib/ | ||
** QDialogs.res from Lib/ | ** QDialogs.res from Lib/ |
Revision as of 22:24, 17 September 2005
Introduction
There are some efforts to build the (Free)CLX with FPC, here is a short explanation how to build it. For Win32 the Delphi 7 CLX is used while on linux the Kylix 3 CLX is used.
Further, FPC 2.1.1 from svn is used.
Status
Current status is that all units except the database related units build.
That's 39 of 44 units.
Howto
- Build and install FPC from CVS sources: How_to_start
- copy the clx sources to a newly created directory as well as the
- 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: WinSpool.pas from Source/Rtl/Win/
- Linux only: XLib.pas from source/rtl/linux/
- MaskUtils.pas from Source/Rtl/Common/
- Contnrs.pas from Source/Rtl/Common/
- HelpIntfs.pas from Sources/Common/
- IniFiles.pas from Source/Rtl/Common/
- Linux only: QFileCtrls.res from Lib/ and rename it to qfilectrls.res
- Linux only: rename DirSel.xfm to dirsel.xfm
- QButtons.res from Lib/
- QFileDialog.res from Lib/
- Linux only: rename QFileDialog.res to qfiledialog.res
- QCheckLst.res from Lib/
- QDialogs.res from Lib/
- remove all references to *.xfm files, fpc can't handled them yet (fix this!!)
- remove usage of sysinit namespace in qdialogs.pas; system can be used instead
replace all RTLConsts with RTLConst (fix this!!) (should be fixed after 1.9.8)- 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 uses BindHelp, QDBActns, QFileCtrls, QActnList, QFileDialog, QSearch, QButtons, QForms, QStdActns, QCheckLst, QGraphics, QStdCtrls, QClipbrd, QGrids, QStyle, QComCtrls, QImgList, QTypes, QConsts, QDialogs, QMask, QControls, QExtCtrls, QMenus, Qt, QPrinters; implementation end.
- build the CLX with fpc -Sd buildclx -Rintel
Building the DB units
Building of the DB units isn't possible yet, however, at least the following steps must be done:
- copy the following files into the directory where you put the clx source:
- DB.pas from Sources/Vcl
- SqlTimSt.pas from Sources/Vcl
- DBConsts.pas from Sources/Vcl
Remark: There is currently a bug in fpc's ppu handling which prevents a make of the clx's units. So do always a rm/del *.ppu before compiling.
Todo
As you might guess, there is also stuff to do:
- The ClassGrouping functions are only dummies in FPC (StartClassGroup et al.)