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

>
> On 07.04.2013, at 18:28, Ciprian Teodorov <ciprian.teodo...@gmail.com>
> wrote:
>
> 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 accidentally loaded your new version and ran it on libgit2. I haven't
> done any analysis yet but I had to force quit the image since the
> extraction was taking forever. With 1.3 it took only a few seconds (1 to 2
> minutes tops for everything including compilation). I'm doing another run
> now to see what happens.
>
> That's strange, on my side (macos 10.6.8, latest pharo2.0+vm) I get 7
seconds with 1.3 and between 7-9 seconds with 1.4 (but that should be ok,
printing in transcript is expected to take some time).

you're still on linux I guess? i'll try to check that

>
> 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 ;)
>
>
> Uploading… ;)
>
>
>> 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
>
>
>


-- 
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