ppumove is a program to make shared or static libraries from multiple units. It can be compared with the tpumove program that comes with Turbo Pascal.
It is distributed in binary form along with the compiler.
Its usage is very simple:
ppumove [options] unit1.ppu unit2.ppu ... unitn.ppu
where options is a combination of:
The action of the ppumove program is as follows: It takes each of the unit files, and modifies it so that the compiler will know that it should look for the unit code in the library. The new unit files will have an extension .ppu; this can be changed with the -e option. It will then put together all the object files of the units into one library, static or dynamic, depending on the presence of the -s option.
The name of this library must be set with the -o option. If needed, the prefix lib will be prepended under linux. The extension will be set to .a for static libraries, for shared libraries, the extensions are .so on linux, and .dll under Windows NT and os/2.
As an example, the following command
./ppumove -o both -e ppl ppu.ppu timer.ppu
will generate the following output under linux:
PPU-Mover Version 0.99.7
Copyright (c) 1998 by the Free Pascal Development Team
Processing ppu.ppu... Done.
Processing timer.ppu... Done.
Linking timer.o ppu.o
And it will produce the following files:
You could then use or distribute the files libboth.so, timer.ppl and ppu.ppl.