Peter Vreman wrote:
Florian Klaempfl wrote:
Mattias Gaertner schrieb:
On Tue, 24 Jun 2008 23:14:34 +0200
Florian Klaempfl <[EMAIL PROTECTED]> wrote:
Mattias Gaertner schrieb:
I want to read ppu files like the ppudump tool.
ppudump uses the unit compiler/ppu.pp, but ppu.ppu is not
installed by default. At least not on debian.
Should I make a copy of this unit?
No ;)
Will this work for the various compilers (e.g. compiling the tool
with 2.2.3 and reading 2.2.x and 2.3.x ppu files)?
Sometimes it works, sometimes not. ppudump is also often out of
date. What exactly do you want to achive?
Reading ppu files with the codetools. First getting information about
unit dependencies and initialization/finalization sections. Later some
type information.
Well, if you really dare to do so, the best is probably copying from
time to time the necessary fpc sources.
The ppu unit from the compiler and ppudump has become too much dependent
on other units of the compiler that i don't think it is recommended to
be used by other projects. The current dependencies are below:
Compiling ppudump.pp
Compiling /home/peter/fpc/compiler/constexp.pas
Compiling /home/peter/fpc/compiler/ppu.pas
Compiling /home/peter/fpc/compiler/globtype.pas
Compiling /home/peter/fpc/compiler/systems.pas
Compiling /home/peter/fpc/compiler/cutils.pas
Compiling /home/peter/fpc/compiler/fpccrc.pas
Compiling /home/peter/fpc/compiler/cclasses.pas
Compiling /home/peter/fpc/compiler/cstreams.pas
Compiling /home/peter/fpc/compiler/i386/cpuinfo.pas
Compiling /home/peter/fpc/compiler/version.pas
It might be better to write a clean PPU reader using streams. The PPU
format is stable and TLV based so multiple ppu-versions can be
supported. For the compiler and ppudump this is not a requirement, but
for lazarus it is needed especially if it wants to use type information.
An idea might be to create a new fcl-ppu package that contains such a
new unit. The ppudump and ppumove tools can then be moved to this new
package to. The package provides a clean and independent code base for
ppu reading/writing. The ppu package can depedent on regular units and
packages like classes and hash intsead of compiler local copies.
Maybe some parts of ppudump can be put in a separate unit to have a
common class available that can be used for type name and location
resolving.
Peter
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal