I can't take any credit for rust-bindgen :) I can't even answer your
questions right now, since I just started contributing to the project.
But it is indeed a great piece of work, and the author is responsive
to patches, so I'd be happy to work on it to make it meet your needs.

martin

On Fri, Sep 27, 2013 at 8:51 PM, KENZ gelsoft <kenz.gels...@gmail.com> wrote:
> I tried rust-bindgen finally, and it worked excellently. Great work!!
>
> Since it requires Clang 3.3 which doesn't exist on OS X 10.8 setup,
> I tried commit 3d49dbbbb7bcc0cf63b43a16a6cf52480fa9b752 and some tweak.
>
> And some arguments are needed, for my project:
>
>     $ ./bindgen -x c++ ../wxRust/wxHaskell/wxc/src/include/wxc.h
> `wx-config --cflags` --include stdint.h --include time.h >
> ../wxRust/generated.rs
>
> bindgen is C mode as default like clang or gcc are, so I understand it
> requires `-x c++` option,
> but I don't know why I have to explicitly include stdint.h and time.h
> for size_t and uint8_t.
> Do you have another recommended options?
>
> My codegen.py just handles functions, so handling for other
> definitions benefits.
> So I want adopt rust-bindgen to generate extern fn part of my binding
> for long-term plan.
>
> Despite I know its Clang requirement changed for bitwidth support, but
> as a Mac developer, I don't want to install the Clang 3.3 only for 
> rust-bindgen,
> especially I don't want add a new prerequisite to my library.
> Are there a posibility of optional Clang 3.1 support (without bitwidth 
> support)?
>
>
>
> 2013/9/26 Martin DeMello <martindeme...@gmail.com>:
>> no, but it might be feasible to add. not sure if it'd fall within the
>> scope of bindgen or not, but at least bindgen could emit some sort of
>> serialised data structure that would make generating the next level
>> binding easier.
>>
>> martin
>>
>> On Wed, Sep 25, 2013 at 4:49 PM, KENZ gelsoft <kenz.gels...@gmail.com> wrote:
>>> Oh, I didn't know that project, thank you for information. I'll try it.
>>> BTW, I chose to make own parser and generator to generate not only extern fn
>>> decls but also next-level wrapper such as:
>>>
>>> trait Frame {
>>>   pub fn show(&self) {
>>>     unsafe {
>>>       wxFrame_Show(self.handle());
>>>     }
>>>   }
>>> }
>>>
>>> or so, would bindgen helps this use case? (c.f. parsed data accessible or
>>> so.)
>>>
>>> Did you try using bindgen on the wxc header file? If there were bits
>>> it couldn't handle, I'd be interested in helping fix that.
>>>
>>> martin
>>>
>>> On Wed, Sep 25, 2013 at 10:49 AM, KENZ gelsoft <kenz.gels...@gmail.com>
>>> wrote:
>>>> Hello, everyone.
>>>>
>>>> I would like to introduce my experimental project, wxRust.
>>>> Which is a wxWidgets binding for Rust.
>>>>
>>>>   https://github.com/kenz-gelsoft/wxRust
>>>>
>>>> This binding is based on the wxHaskell especially its "wxc"*1
>>>> C-Language wxWidgets binding part.
>>>>
>>>> Currently, it just converts wxc's header file to `extern fn`s and
>>>> export them as a rust library.
>>>>
>>>> Test program has just started working which opens a wxFrame
>>>> by calling wxc's C interface from extern fn.
>>>>
>>>> Current state is pre-alpha experimental state, there's no stable API,
>>>> hard to use, but announced here for someone planning similar project.
>>>>
>>>> I'm planning for next generating simple OOP style wrapper as rust
>>>> traits for each classes from wxc's header.
>>>>
>>>> There is many problems to tackle, for example how it can work
>>>> with multitask or, library users can write wx GUI programs easier.
>>>> Any helps or feedbacks are welcome.
>>>>
>>>>  *1: [http://www.haskell.org/haskellwiki/WxHaskell#Status]
>>>>
>>>>
>>>> Thanks,
>>>> --
>>>> KENZ <kenz.gels...@gmail.com>
>>>>
>>>>
>>>> _______________________________________________
>>>> Rust-dev mailing list
>>>> Rust-dev@mozilla.org
>>>> https://mail.mozilla.org/listinfo/rust-dev
>>>>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to