[fpc-devel] RTTI interface & variant late binding issue (mORMot)

Michael Van Canneyt michael at freepascal.org
Sat Feb 7 13:19:40 CET 2015



On Sat, 7 Feb 2015, Jonas Maebe wrote:

> On 07/02/15 12:34, Florian Klämpfl wrote:
>> Am 07.02.2015 um 12:14 schrieb Jonas Maebe:
>>> To me, the optimal solution would be to simply use libffi (you would
>>> only need logic to translate the rtti for the parameter types to libffi
>>> format, and it would automagically work for all platforms), but since
>>> that's an external dependency I guess that's not acceptable.
>>
>> Well, the technical aspect is one thing, but its license is another issue. Violating it happens too
>> quick.
>
> The libffi license is basically a BSD license, that's no problem at all:
> https://github.com/atgreen/libffi/blob/master/LICENSE

I am not a proponent of third-party dependencies.

Then, there is a practical issue:
I doubt libffi knows the Delphi calling conventions and the 
pascal calling convention where the callee clears the stack 
(or was it vice versa)? Since that is our main target group, 
I consider this a serious problem.

Thirdly, from looking at the use of this library, you 
will have to implement some kind of layer in between 
anyway that describes the function, so I do not really 
see the gain.

Michael.


More information about the fpc-devel mailing list