Re: [fpc-devel] The "implements" keyword

2006-08-05 Thread Christian Iversen

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

2006-08-05 Thread Christian Iversen

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

2006-08-05 Thread Peter Vreman

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

2006-08-05 Thread Felipe Monteiro de Carvalho

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

2006-08-05 Thread Felipe Monteiro de Carvalho

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

2006-08-05 Thread Peter Vreman

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

2006-08-05 Thread Peter Vreman

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

2006-08-05 Thread Graeme Geldenhuys

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

2006-08-05 Thread Graeme Geldenhuys

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

2006-08-05 Thread Rob van der Linde
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

2006-08-05 Thread Graeme Geldenhuys

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

2006-08-05 Thread Graeme Geldenhuys

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

2006-08-05 Thread Darius Blaszijk
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

2006-08-05 Thread Jonas Maebe


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

2006-08-05 Thread Florian Klaempfl
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

2006-08-05 Thread Florian Klaempfl
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

2006-08-05 Thread Mario R. Carro
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