BPCOMPAT - New "Borland" compatible UNITs for GPC !!!

Sat, 17 May 1997 23:54:55 +0100 (BST)


Hi GPC folks!

This is to announce the release of BPCOMPAT v 1.0, which has now been
uploaded to agnes (in the "contrib" directory). If you are looking for
greater Borland Pascal compatibility and/or you are looking for a big
function library for GPC, you please download this package.

You can get a copy from;
ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/contrib/bpcompat.zip

This package serves a number of functions;

1. To provide UNITS for GPC in order to improve is compatibility
   with Borland Pascal.

   This package provides the following units for Borland Pascal ("BP")
   and Delphi compatibility;
       SYSTEM.PAS         - BP compatible "SYSTEM" unit
       CRT.PAS            - BP compatible CRT unit
       DOS.PAS            - BP compatible DOS unit
       OBJECTS.PAS        - BP compatible OBJECTS unit
       STRINGS.PAS        - BP compatible STRINGS unit
       SYSUTILS.PAS       - DELPHI compatible SYSUTILS unit
       GPCTYPES.PAS       - various type definitions
       XSYSTEM.PAS        - extra vital system stuff - not in BP
       GPCUTIL.PAS        - Chief's Utilites unit - needed by some units

NOTE: some of the BP and Delphi compatible units contain missing features,
      some things are quite different from the BP equivalents, and some of
      the routines do not work well. Differences are clearly marked in the
      source code, and those routines that do not work well are also
      clearly marked.

2. To provide a library of useful routines for GPC - some of them
   take the form of UNITs which import various routines from the C
   library - i.e., they are import units for various ".H" files in
   the C library. The routines which are not imported C functions are
   contained in GPCUTIL.PAS. Some of them provide compatibility with
   TurboPower Software's "Turbo Professional" library.

   Some of the functions in the converted C headers will not work properly
   - if you can make them work, fine. If not, please don't mail me - I
   can't make them work either.

3. To provide a shell program ("GPCC") for the GPC compiler. GPCC will
   accept parameters from the command line, and will also read parameters
   from an ascii file GPCC.CFG. All these will be passed on to the GPC
   compiler. GPCC also will detect whether the source file is a UNIT or a
   PROGRAM, and will pass extra parameters to the GPC compiler as required.
   GPCC is tailored to work a bit similarly to the Borland command line
   compiler (TPC or BPC).
These are the import UNITs for various C header files;
       BIOS.PAS
       CONIO.PAS
       CTYPE.PAS
       DIR.PAS
       DOSH.PAS
       DPMI.PAS
       ERRORNO.PAS
       FCNTL.PAS
       IO.PAS
       PC.PAS
       PROCESS.PAS
       STATS.PAS
       STDIO.PAS
       STDLIB.PAS
       STRINGH.PAS
       SYS.PAS
       TIME.PAS
       UNISTD.PAS
       VALUES.PAS

IMPROVEMENTS
------------
It is my hope that someone (or some people) will take this on from here,
and improve on this package. Some of the functions could be written more
efficiently. My main concern has been to provide working and reliable
implementations of various parts of the BP runtime library - not to
implement the functions in the most efficient way.

It is also my hope that the package will be ported to other platforms.
The current one has only been tested under DOS (DJGPP - but it should also
be okay for EMX). However, I made sure that the SYSTEM.PAS unit uses only
portable functions from the C library - so that should be easy to port to
Linux and other Unix platforms. The DOS and CRT units are not portable to
unix as they are. It would be nice if someone could port them to unix.

If you can improve on the efficiency, and/or if you can implement some of
the missing (or unreliable) routines, and/or if you can port these UNITs
to other platforms, please feel free to do so!!!

All I ask is this. Please, let this work be done in a coordinated fashion;

    a. If anyone is working on anything, please let me know *exactly*
       what you are doing or proposing to do, so that there will be no
       duplication of efforts;
    b. Please follow the conventions in the existing code, for comments,
       spacing, and so on;
    c. Please mark clearly any changes that you have made to my code, or
       to Peter's code;
    d. If you are working on the SYSTEM unit, please ensure that what you
       are doing it portable (e.g., by using only C functions that are
       portable across DOS, OS/2, Unix, etc.);
    e. When uploading your work, please upload everything in one package
       (.zip file), and put a version number on it.
    f. Please inform Peter and me when you are ready to upload a new
       version.

BUGS
----
If you find bugs, please try to fix them - but please report them to
me as well. If you fix them, please let me have a copy of the fix.

Happy coding!

Warmest regards,
The Chief
---------
Dr. Abimbola A. Olowofoyeku (The African Chief and The Great Elephant)
Keele University, England   (Email: laa12@cc.keele.ac.uk)
Author of: Chief's Installer Pro v3.50 for Win16 and Win32
Homepage: http://ourworld.compuserve.com/homepages/African_Chief/


A.A. Olowofoyeku (laa12@cc.keele.ac.uk)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es