The complete library is released under the terms of the Gnu Lesser General Public License (LGPL). Library heap manager (heap.pli) based on code Copyright (c) 2001-2006 Wolfram Gloger: His copyright notice reads:
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the name of Wolfram Gloger may not be used in any advertising or publicity relating to the software.
In the following, <release> represents the current release. For this version that is pli-1.3.1.
This document describes the details of the Linux version of the library. For the OS/2 version see library_os2.
The supplied makefile will build a static object library in <release>/lib/libprf.a. The complete library sources are found in <release>/lib/source (PL/I source code), <release>/lib/source/asm (OS-independent assembler source code and includes), and <release>/lib/include (PL/I include files). Operating system dependent sources are in <release>/lib/source/OS2 and <release>/lib/source/linux To modify the library, make your changes to the source, cd to <release>/lib, and type make linux.
The startup procedure "_pli_Start" (<release>/lib/asm/plistart.asm) needs to be linked with the main procedure, and references the external symbol "_pli_Main", which is defined for each OPTIONS(MAIN) procedure. The symbol 'main' is defined as an alias for "_pli_Start".
The directory <release>/lib/include contains definitions of the data areas used by the library, with descriptive comments. The following might be of particular interest:
Iron Spring PL/I version 1.3.1, 15 Aug 2024