Hi Max,

I've just integrated some of my latest changes into a new version 1.4 of
TalkFFI. Amongst others it prints clang erros in the transcript.
On my libgit2 checkout there are some compilation errors.

I've moved the development version to this one, so if you want to try it
just do the typical:
Gofer it
smalltalkhubUser: 'CipT' project: 'TalkFFI';
 package: 'ConfigurationOfTalkFFI';
load.
(Smalltalk at: #ConfigurationOfTalkFFI) loadDevelopment.

TalkFFIExamples libgit2Mapping

version 1.4

   - clang diagnostic messages on header loading
   - added the possibility to filter the functions in a headerFile using a
   user defined block
   - added option to check the function availability in a dynamic library
   specified during conversion.
   - added simple generator that pulls functions into type classes.
   Instance side, if the first function argument matches the type class. Class
   side of the return type, if the function's first argument does not match
   any known type class, but if the return type match a type class.
   - changed the NativeBoost generator so that instead of NBCharacterType *
   it generates NBExternalString, to facilitate string passing
   - fixed uniqueInstance issue



On Sun, Apr 7, 2013 at 6:18 PM, Max Leske <maxle...@gmail.com> wrote:

> Wow! This is embarrassing! I just noticed that the video on Vimeo is the
> wrong one (no wonder you kept talking about a premature ending…)! I'm
> replacing it right now.
>
> Sorry for that.
>

Can't wait to see it ;)

>
> Max
>
>
> On 06.04.2013, at 23:38, Max Leske <maxle...@gmail.com> wrote:
>
>
> On 06.04.2013, at 23:09, Ciprian Teodorov <ciprian.teodo...@gmail.com>
> wrote:
>
> Hi Max,
>
> your video is good, too bad that it stops prematurely.
>
> It helped me to spot a tiny issue with the libgit2 generation script. The
> C compile options ( '-D__STDC_CONSTANT_MACROS'  '-D__STDC_LIMIT_MACROS')
> that are present there are just a copy paste error, since when created that
> method I've modified the one I've used for generating llvm bindings (which
> really needs them).
>
>
> For libgit2 i don't now, I think they aren't needed. I've just tried on my
> machine with  options := {('-I' , includeDir fullName)}.
> and it seems to work
>
>
> I also think they're not necessary.
>
>
> Now libclang is the reason that in some cases we need such options. Since
> we use libclang to parse the header files we should make sure that we pass
> it everything it needs to successfully process the header.
> So if anyone has a hard time generating bindings with talkffi for a
> library X, then a starting point might be to try understanding what are the
> options needed by clang to compile the headers.
>
> In the future I plan to add some kind of script editor for writing the
> bindings, which will show the messages from libclang. so that in case of
> compilation error (due to missing options, or c syntax errors) we can see
> them in the image.
>
> About generating the bindings directly on a mac, I've done it using a hand
> compiled version of libclang configured with (../configure
> --enable-optimized --enable-jit --target=i686-apple-darwin10). So if you
> are willing to download libclang and compile it, maybe you don't need a
> linux vm.
>
>
> Thanks for the explanations.
>
>
> Ok, that's it for now. Thanks again for the great video
>
>
> My pleasure :)
>
> Ciprian
>
>
>
>
> On Sat, Apr 6, 2013 at 10:02 PM, Max Leske <maxle...@gmail.com> wrote:
>
>>
>> On 06.04.2013, at 20:21, Stefan Marr <smallt...@stefan-marr.de> wrote:
>>
>> > Hi:
>> >
>> > On 06 Apr 2013, at 19:30, Max Leske wrote:
>> >
>> >> I recorded a new screencast with a short tutorial on how bindings for
>> libgit2 (or any other library for that matter) can be created using TalkFFI.
>> >>
>> >> http://vimeo.com/maxleske/talkffibindings
>> >
>> > I skimmed through it. Looks good.
>> > But, I noticed that the video actually stops before generating the
>> bindings :)
>> > That makes it feel like there is something missing.
>>
>> Damn! Got me :) I realized that straight after I had hit stop.
>> Still, for me the hard part was the compilation and setup. I figured out
>> the bindings pritty quickly.
>>
>> Maybe I'll add short bit at the end tomorrow.
>>
>> Max
>>
>> >
>> > Best regards
>> > Stefan
>> >
>> >
>> >
>> > --
>> > Stefan Marr
>> > Software Languages Lab
>> > Vrije Universiteit Brussel
>> > Pleinlaan 2 / B-1050 Brussels / Belgium
>> > http://soft.vub.ac.be/~smarr
>> > Phone: +32 2 629 2974
>> > Fax:   +32 2 629 3525
>> >
>> >
>>
>>
>>
>
>
> --
> Dr. Ciprian TEODOROV
> Ingénieur Développement CAO
>
> tél : 06 08 54 73 48
> mail : ciprian.teodo...@gmail.com
> www.teodorov.ro
>
>
>
>


-- 
Dr. Ciprian TEODOROV
Ingénieur Développement CAO

tél : 06 08 54 73 48
mail : ciprian.teodo...@gmail.com
www.teodorov.ro

Reply via email to