[fpc-devel] Re. z370 Cross Compilation, Pass 2 of ....

Hans-Peter Diettrich DrDiettrich1 at aol.com
Sat Aug 24 21:40:15 CEST 2013


Steve schrieb:

>  > > If we use gas/ld we put ourselves in the same situation Delphi landed
>  > > us in with the use of non-standard libraries; Writing individual
>  > > wrapper functions for every other function under the sun.
> 
>  > Would you elaborate what you mean here?
> 
> Sorry, isn't this a universal problem, or is it just me? Anyway.. If I am
> writing code in Delphi and I want to use, say, MySQL; I have a problem;
> Delphi provides no mechanism to call MySQL. If I am a C programmer, I just
> include the .h file and MySQL is available.

This is not really true. I have an C-to-Pascal translator, that 
translates the header files perfectly. Well, some constructs (with 
unions) cannot be translated as they are declared, but these are rare 
and do not affect API calls, only subsequent access to the struct fields.

But that translator requires the right header files of the compiler, 
used to translate the library, compiler settings etc. If you didn't 
compile the library on your system, even a C compiler may fail to 
properly connect to the library ABI. This is not a big problem on 
systems with only one C compiler and library, but how many C compilers 
exist for Windows? Even worse with C++, where no compiler produces 
binaries usable with a different C++ compiler.

In fact my translator can convert C code of many compilers into OPL, 
where some compilers require very special translation. But configuring 
it is so complicated, that only few people ever used it. Most are happy 
with h2pas or similar tools, which only deal with header files and can 
produce unusable results in certain cases. You have the choice...

DoDi




More information about the fpc-devel mailing list