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

Michael Van Canneyt michael at freepascal.org
Sat Feb 7 14:15:16 CET 2015

On Sat, 7 Feb 2015, Jonas Maebe wrote:

> On 07/02/15 13:19, Michael Van Canneyt wrote:
>> On Sat, 7 Feb 2015, Jonas Maebe wrote:
>>> 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.
> I am not a proponent of reimplementing everything but the kitchen sink
> because of other people's adversity to reusing existing solutions.

I don't mind reusing existing solutions, I often do so.

But keeping dependencies on external libs to a minimum is also a concern.

>> 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.
> It does support those calling conventions.

Prior to posting my statement, I checked, and it is not in the list of supported architectures.

But diving in the source I see it is indeed supported.
OK, that alleviates this problem.

At least I suggest that if this path is taken, then it is done using a 'manager' approach 
such as for the rest of functionality that introduces a dependency. This allows to re-use the
work of Steve without external dependencies on common (read: x86) platforms, and maybe 
implement native solutions for some common platforms, for people that want it.


More information about the fpc-devel mailing list