Re: [fpc-devel] The "implements" keyword
Ok, so now it IS in trunk. It works with fields assignments (virtual and static interface-proxy methods are not yet supported) There's a few debug statements left in as comments, but those will be removed soon. -- Regards, Christian Iversen ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] The "implements" keyword
Finally I got some spare time for coding. So, after quite a bit of help from Florian (Thank you!), the implements-keyword is well, IMPLEMENTED! Finally! It's not yet in trunk, but it will be soon. As far as I can tell, it's completely hack-free, but I will submit the revisions as patches for code review. The code is still not complete, and there are some needed changes that will happen when I can find the time (for instance, what's the procedure to add new compiler messages? should I just add them to errore.msg?) The current version of the patch adds 2*sizeof(pointer) to each TInterfaceEntry. That might seem like a lot, but with bitpacking this can be brought down to just 1*sizeof(pointer). Now, to make the bitpacking I need to be able to assume VMT's are always aligned to at least 4-byte boundaries. I think this is a safe assumption, but maybe it's not? (if this is not possible, it's not a huge problem, just a slight waste of space) I'd be happy to answer any questions, or hear any comments regarding this new feature. -- Regards, Christian Iversen ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] second patch fp2html
At 23:35 5-8-2006, you wrote: As promised here's another patch for fp2html. This patch should be put on top of the first one I sent. Changes are: Added system variable $NOW Replaced FindFirst / FindNext by FileExists Removed PathCh constant Added GPL header "fixed" -O option to force file extension Added some comments functions removed: SplitExtension replaced by ExtractFileExt AddExtension replaced by ChangeFileExt ForceExtension replaced by ChangeFileExt CBSpace replaced by Trim UCase replaced by UpCase LCase replaced by LowerCase readln never used SplitPath replaced by ExtractFilePath SplitFileName never used I tested the resulting executable on the FPC website pages and I found no difference. Thanks, both patches applied Peter ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Re: Compiling WinCE FCL fails
Sorry, that was easy to solve. I only needed to remove the old ppu files. thanks, -- Felipe Monteiro de Carvalho ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] Compiling WinCE FCL fails
Hello, I am using FPC 2.0.2 on Windows XP 32-bits to compile a arm-wince cross-compiler with the latest subversion free pascal. The cycle process of the compiler and run-time library goes well as far as I can tell. Next I try to compile FCL and it fails: C:\Programas\fpc21\fcl>PATH=C:\Programas\fpc202\bin\i386-win32;C:\Programas\fpc2 1\compiler;C:\Programas\arm C:\Programas\fpc21\fcl>make OS_TARGET=wince CPU_TARGET=arm PP=ppcrossarm.exe make -C xml all make[1]: Entering directory `C:/Programas/fpc21/fcl/xml' ppcrossarm.exe -Twince -Parm -XParm-wince- -Xc -Xr -S2h -Fu../../rtl/units/arm-w ince -FE. -FU../../fcl/units/arm-wince -darm dom.pp Fatal: Can't find unit AVL_Tree Fatal: Compilation aborted make[1]: *** [dom.ppu] Error 1 make[1]: Leaving directory `C:/Programas/fpc21/fcl/xml' make: *** [xml] Error 2 I tryed to compile with -va option to see what the problem is. avl_tree unit is located at C:/Programas/fpc21/fcl/inc, but the compiler doesn´t look for it there. What could be the problem? Here is the searches the compiler does: (DOM) Add dependency of DOM to CLASSES (DOM) Load from DOM (interface) unit AVL_TREE (AVL_TREE) Loading unit AVL_TREE Unitsearch: AVL_Tree.ppu Searching file AVL_Tree.ppu... not found Unitsearch: ..\..\fcl\units\arm-wince\AVL_Tree.ppu Searching file ..\..\fcl\units\arm-wince\AVL_Tree.ppu... found PPU Loading ..\..\fcl\units\arm-wince\AVL_Tree.ppu (AVL_TREE) PPU Name: ..\..\fcl\units\arm-wince\AVL_Tree.ppu (AVL_TREE) PPU Invalid Version 57 Unitsearch: AVL_Tree.pp Searching file AVL_Tree.pp... not found Unitsearch: AVL_Tree.pas Searching file AVL_Tree.pas... not found Unitsearch: AVL_Tree.ppu Searching file AVL_Tree.ppu... not found Unitsearch: AVL_Tree.pp Searching file AVL_Tree.pp... not found Unitsearch: AVL_Tree.pas Searching file AVL_Tree.pas... not found Unitsearch: C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.ppu Searching file C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.ppu... not foun Unitsearch: C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.pp Searching file C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.pp... not found Unitsearch: C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.pas Searching file C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.pas... not foun Unitsearch: C:\Programas\fpc21\compiler\AVL_Tree.ppu Searching file C:\Programas\fpc21\compiler\AVL_Tree.ppu... not found Unitsearch: C:\Programas\fpc21\compiler\AVL_Tree.pp Searching file C:\Programas\fpc21\compiler\AVL_Tree.pp... not found Unitsearch: C:\Programas\fpc21\compiler\AVL_Tree.pas Searching file C:\Programas\fpc21\compiler\AVL_Tree.pas... not found Unitsearch: AVL_Tree.pp Searching file AVL_Tree.pp... not found Unitsearch: AVL_Tree.pas Searching file AVL_Tree.pas... not found Unitsearch: AVL_Tree.ppu Searching file AVL_Tree.ppu... not found Unitsearch: AVL_Tree.pp Searching file AVL_Tree.pp... not found Unitsearch: AVL_Tree.pas Searching file AVL_Tree.pas... not found Unitsearch: C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.pp Searching file C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.pp... not found Unitsearch: C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.pas Searching file C:\Programas\fpc21\rtl\units\arm-wince\AVL_Tree.pas... not foun Unitsearch: C:\Programas\fpc21\compiler\AVL_Tree.pp Searching file C:\Programas\fpc21\compiler\AVL_Tree.pp... not found Unitsearch: C:\Programas\fpc21\compiler\AVL_Tree.pas Searching file C:\Programas\fpc21\compiler\AVL_Tree.pas... not found Fatal: Can't find unit AVL_Tree Fatal: Compilation aborted thanks, -- Felipe Monteiro de Carvalho ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] build unit dependency list
At 14:53 4-8-2006, you wrote: Hi, I have a few hand made makefiles for some (up to now) Delphi projects that I use to build the releases. I would want to be able to automagically generate the dependencies for the units in the projects. It is normally a lot faster to create a buildunit that references all other units and let the compiler decide if it needs to rebuild a unit or not. Peter ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] fp2html strange option
At 15:17 5-8-2006, you wrote: Hi Darius, What does fphtml actually do? Convert *.pas code to syntax highlighted html? It is an internal tool to create the html pages from the freepascal.org website. Peter ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] fp2html strange option
Hi Darius, What does fphtml actually do? Convert *.pas code to syntax highlighted html? Regards, Graeme. On 8/5/06, Darius Blaszijk <[EMAIL PROTECTED]> wrote: I have a question on the -O option in fp2html. It seems to me that this option can be in some cases misleading to say the least. The -O option is defined as "output file mask", which imho suggests that the file extension is overriden from the default .html. In practice it overrides the first part of the filename. But what would be the use if you pass multiple input files from command? It would only generate the first file and then deny overwriting it with the rest (as if that would make sense). Is someone using this option in any way? I would suggest to change it into the fileextension overriding. Does anyone object? Darius ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel -- There's no place like 127.0.0.1 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] LGPL vs BSD
On 8/5/06, Rob van der Linde <[EMAIL PROTECTED]> wrote: Yes, how about PostgreSQL, this is why I moved from MySQL to Postgres (aswell as it had better more features). My personal choice is Firebird (it's a shame it doesn't get the attention as MySQL and Postgres - not sure why though). Been using it in a commercial environment for years, and it works beautifully! Rock solid. My 2c worth. :-) Regards, Graeme. -- There's no place like 127.0.0.1 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] LGPL vs BSD
On Sat, 2006-08-05 at 13:24 +0200, Graeme Geldenhuys wrote: > On 8/4/06, Marco van de Voort <[EMAIL PROTECTED]> wrote: > > > Is there any big pure community project being BSD (and friends) licensed? > > > > BSD? > > :-) > > > Graeme. > Yes, how about PostgreSQL, this is why I moved from MySQL to Postgres (aswell as it had better more features). ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] LGPL vs BSD
I think this discussion is ripe for moving to fpc-other :) Jonas Yeah, my questions where answered, though the thread was still interesting reading. At least it didn't turn into some flame-war. :-) G. -- There's no place like 127.0.0.1 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] LGPL vs BSD
On 8/4/06, Marco van de Voort <[EMAIL PROTECTED]> wrote: > Is there any big pure community project being BSD (and friends) licensed? BSD? :-) Graeme. -- There's no place like 127.0.0.1 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] fp2html strange option
I have a question on the -O option in fp2html. It seems to me that this option can be in some cases misleading to say the least. The -O option is defined as "output file mask", which imho suggests that the file extension is overriden from the default .html. In practice it overrides the first part of the filename. But what would be the use if you pass multiple input files from command? It would only generate the first file and then deny overwriting it with the rest (as if that would make sense). Is someone using this option in any way? I would suggest to change it into the fileextension overriding. Does anyone object? Darius ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] LGPL vs BSD
On 05 Aug 2006, at 10:28, Florian Klaempfl wrote: So they still didn't start from scratch, right :)? I think this discussion is ripe for moving to fpc-other :) Jonas ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] LGPL vs BSD
Florian Klaempfl wrote: > That makes it a not pure "community" project to me :) Pure community > projects are e.g. fpc or linux. In the sense that the hard initial work were done volounteers as a hobby. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] LGPL vs BSD
Marco van de Voort wrote: > [ Charset ISO-8859-1 unsupported, converting... ] >> Marco van de Voort wrote: Marco van de Voort wrote: >> - community projects are GPL or LGPL depending if they are libraries or >> programs >> - code developed by public funds (academic etc.) gets BSD > I think all code that is not really in danger of hostile takeover can > better > be BSD. The extra protection of (L)GPL is not going deliver anything, and > maybe the looser licensing yield some extra contributors. Is there any big pure community project being BSD (and friends) licensed? >>> BSD? >> Isn't the code base taken also from academic research projects? > > No. The core is the original AT&T source, though in term nearly everything > was changed by UCSD. But that only meant that UCSD had the position of core, > not that they programmed everything. That makes it a not pure "community" project to me :) Pure community projects are e.g. fpc or linux. > > Same with the network stack. The original Darpa grant stack (which was BSD > contributed) was pretty bad. IIRC the BSD projects themselves rewrote them > into the NET/2 versions that formed the basis of most of the network stacks > today because it was better and faster than the original DARPA one. So they still didn't start from scratch, right :)? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] build unit dependency list
Hi, I have a few hand made makefiles for some (up to now) Delphi projects that I use to build the releases. I would want to be able to automagically generate the dependencies for the units in the projects. I found that Lazarus has a dependencies view window. So after some browsing I wrote the following minimal test program: program getpdeps; {$mode objfpc}{$H+} uses Classes, CodeCache, CodeToolManager; var IntfFiles, ImplFiles: TStrings; Cache: TCodeCache; Buffer: TCodeBuffer; begin Cache := TCodeCache.Create; IntfFiles := TStringList.Create; ImplFiles := TStringList.Create; try Buffer := Cache.LoadFile(ParamStr(1)); CodeToolBoss.ActivateWriteLock; try CodeToolBoss.FindUsedUnitFiles(Buffer, IntfFiles, ImplFiles); WriteLn('intf=' + IntfFiles.CommaText); WriteLn('impl=' + ImplFiles.CommaText); finally CodeToolBoss.DeactivateWriteLock; Buffer.Free; end; finally Cache.Free; IntfFiles.Free; ImplFiles.Free; end; end. It does what I need but it fails because it couldn't find some units. How do I tell CodeToolBoss where to find them? Thanks in advance, Mario ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel