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