Sehr geehrter Herr Geldenhuys,

Sie schrieben am Thu, 17 Aug 2017 14:25:29 +0100:

> > So the "guidelines for Unix-type systems" are not appropriate for Free
> > Pascal C-library binding units IMHO.  
> Indeed a valid problem, and something I have thought about myself. The
> problem being the linker doesn't support versioned library names, so how
> is FPC supposed to work around a Unix-type limitation?

Well, I _don't_ think this is a problem only fpc has. Any compiler has this
problem, even all C compilers. The reason why there's no uproar among C
users simply lies in the fact that any new version of a library, at least
in its development package, commonly provides all the needed C header files
also. As I see it, theses header files are the C equivalent to the "Pascal
C-library binding units" (or their source versions at least) that you're
The "problem" arises simply because the system provided libraries are
developped in C, and thus the neccessary header files have to be created
anyway during development. _Any_ bindings for other languages - be it
Pascal, Perl, Python, Ada, FORTH, Smalltalk, Erlang, Java, even C++ - has
to be created specifically for this language. Even more, some languages
need "wrappers" for such libraries to allow them to access their code
(& possibly data).

> I fully agree the problem is not ideal, but the only possible solution
> for Pascal header translation units, is to have different units for
> different library versions. Think of the Qt header translations for

Right, just as the C header files for incompatible library versions have to
differ. Arent't there compatibility problems sometimes also? I think so.

> Object Pascal. It's a pain, but the pain we as Object Pascal developers
> have no live with when talking to libraries that are written in C/C++.

It _should_ be possible to write a C-header-to-Pascal translation utility,
which could even include a test for the correct library version at compile
time. If the "binding unit"'s version doesn't comply, a new one could
easily be created and its result used then.
(BTW, in the german Delphi news group, there's a member who announced he
was building a C-to-Pascal translator already, He gave the following link:
<>, C-to-Pascal Converter, by
Hans-Peter Diettrich. I've not come around to check it out yet, though...)

(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
Mit freundlichen Grüßen, S. Schicktanz

Check out the vibrant tech community on one of the world's most
engaging tech sites,!
mseide-msegui-talk mailing list

Reply via email to