[AD] Borland C++ port patch

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


The Borland C++ port currently targets Borland C++ Builder 4 and the library
build mechanism is a little convoluted: in order to produce the import
library, it relies on a pre-compiled Allegro DLL and the Microsoft Library
Manager (lib.exe), which is neither bundled with BCB nor freely
distribuable.

It turns out that it can be modified so that the import library can be build
and the bundled programs compiled right out of the box, without the
Microsoft LM or the pre-compiled DLL (of course, the DLL is still required
to run the programs), by simply using a tweaked .def file (symbol export
definition file). It requires only GNU make.

The attached patch makes the switch to this build mechanism. It has been
tested with the free Borland C++ 5.5 command line compiler and compiles all
the demo, setup, tests, tools and example programs without exception.

As for building the library from the sources, there is a big problem since
Borland C++ doesn't use the COFF object file format (like MSVC,DJGPP or
MingW32) but the old Microsoft OMF format. So Gas cannot be directly used to
assemble the asm files, like in the MSVC build process. The Borland compiler
is bundled with a COFF2OMF utility, but the docs explicitly say it doesn't
work on object files (only on import libraries). A solution could be derived
from the Watcom 10.6 build process, i.e assembling with Gas then
desassembling/reassembling with the Borland Assembler, but I don't know if
it is really feasible.

--
Eric Botcazou
ebotcazou@xxxxxxxxxx

Attachment: bcc.zip
Description: Zip compressed data



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/