Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2008-06

reading PPU files

9 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mattias Gaertner

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?
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)?

Mattias

Florian Klaempfl
to Mattias Gaertner
Show quoted text 5 lines
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?

Mattias Gaertner
to Florian Klaempfl
Show quoted text 14 lines
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.

Mattias

Florian Klaempfl
to Mattias Gaertner
Show quoted text 19 lines
On Tue, 24 Jun 2008 23:14:34 +0200 Florian Klaempfl 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.

Peter Vreman
to Florian Klaempfl
Florian Klaempfl wrote 23 lines
Mattias Gaertner schrieb: > On Tue, 24 Jun 2008 23:14:34 +0200 > Florian Klaempfl 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.

Peter

Peter Vreman
to Peter Vreman
Peter Vreman wrote 45 lines
Florian Klaempfl wrote: > Mattias Gaertner schrieb: >> On Tue, 24 Jun 2008 23:14:34 +0200 >> Florian Klaempfl 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

Michael Van Canneyt
to Peter Vreman: The ppu unit from the compiler and ppudump has become too much dependent on other units…
Peter Vreman wrote 45 lines
Florian Klaempfl wrote: > Mattias Gaertner schrieb: > > On Tue, 24 Jun 2008 23:14:34 +0200 > > Florian Klaempfl 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.

I would also recommend this way, and think that if it is implemented, we make a FPC package from this.

Michael.

Michael Van Canneyt
to Peter Vreman: An idea might be to create a new fcl-ppu package that contains such a new unit. The…
Peter Vreman wrote 55 lines
Peter Vreman wrote: > Florian Klaempfl wrote: > > Mattias Gaertner schrieb: > > > On Tue, 24 Jun 2008 23:14:34 +0200 > > > Florian Klaempfl 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.

I'm all for this idea :)

Michael.

Mattias Gaertner
to Michael Van Canneyt: I would also recommend this way, and think that if it is implemented, we make a FPC…
Show quoted text 30 lines
On Wed, 25 Jun 2008, Peter Vreman wrote: [...] > 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. I would also recommend this way, and think that if it is implemented, we make a FPC package from this.

Ok. Great.

Mattias