www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - wxC & wxD (aka: let's work together with wxhaskell project)

reply Gour <gour atmarama.net> writes:
Hello,

yesterday I read a post informing us about the progress of wxhaskell
project preparing itself for upcoming wxWidgets-3.0 release.

One of the interesting thing from the post
(http://wewantarock.wordpress.com/2012/01/11/wxhaskell-and-wxwidgets-2-9/)
is the following: "The C wrapper for wxWidgets has been moved into a
separate project, wxC and built as a shared library" and I believe it
could be interesting as the basis to provide future wxD bindings.

I have asked about it and here is the reply from one of the main
wxhaskell developers:

"This is actually the subject of some debate within the wxHaskell
community, and I am in the process of writing a separate blog entry
covering some of the issues.

wxC is certainly a reasonable basis for a wxWidgets wrapper for other
languages (it exposes a straightforward C interface and builds as a
DLL/.so/.dylib). The build system is presently rather Haskell-centric,
which might put off other language communities, but if you did a =E2=80=98c=
abal
install wxc=E2=80=99, you would get a DLL you could use with most any other
language.

Similarly, if you can read plain C header files, you should be able to
use the wxC library (I=E2=80=99m no D expert, but everything I have read su=
ggest
that D can do this quite easily).

If there was enough interest from Non-Haskellers in joint development
and maintenance of wxC, then I think we would be comfortable moving to a
more, err, inclusive build system, but while the main contribution comes
from Haskellers it is harder to justify such a move.

Some time back, Eric took control of the moribund wxC project at
Sourceforge. We could use this as the basis for such a project."

(See comments in the above referenced URL.)

What do you think about it?


Sincerely,
Gour

--=20
Everyone is forced to act helplessly according to the qualities=20
he has acquired from the modes of material nature; therefore no=20
one can refrain from doing something, not even for a moment.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Jan 12 2012
parent reply Gerrit Wichert <gwichert yahoo.com> writes:
Hello,

i think wxC is a very special 'binding' that can work as a basic layer 
for multiple language 'bindings'.
As such the optimal solution would be if there is only one wxC that is 
part of wxWidgets itself.
The natural choice for the build system is then wxWidgets own build 
system. So it would be more easy
to keep it in sync with WxWidgets. Developers of all language bindings 
can unite their forces on it.
Maybe even wxWidgets core developers would like to care for keeping it 
in sync if it is not to much work.
Sharing wxWidgets build system, wxC can be build on the same target 
platforms as wxWidgets.

btw. does wxD currently build for you?
I got some trouble with deprecated typedef and others on my linux box.
But i've just finished fixing it and DMD 2.057actually successfully builds
the little testing app i'm developing to become more acquainted with D.

It is tested under Linux 32 bit only (OpenSuse 11.4 + Open Suse 12.1/64 
using -m32)
but i think it should also work on Windows.

if you want to give it a try, checkout the 'dmd257linux' branch from

https://github.com/gwichert/wxd

I woud like to get some feedback on this before making a pull request.

Gerrit
Jan 12 2012
parent reply Gour <gour atmarama.net> writes:
On Thu, 12 Jan 2012 20:24:20 +0100
Gerrit Wichert <gwichert yahoo.com> wrote:

 i think wxC is a very special 'binding' that can work as a basic
 layer for multiple language 'bindings'.
 As such the optimal solution would be if there is only one wxC that
 is part of wxWidgets itself.
 The natural choice for the build system is then wxWidgets own build=20
 system. So it would be more easy
 to keep it in sync with WxWidgets. Developers of all language
 bindings can unite their forces on it.
 Maybe even wxWidgets core developers would like to care for keeping
 it in sync if it is not to much work.
 Sharing wxWidgets build system, wxC can be build on the same target=20
 platforms as wxWidgets.
I agree with you and quoted your reply along with adding some more stuff to the post.
 btw. does wxD currently build for you?
Yes.
 I got some trouble with deprecated typedef and others on my linux box.
 But i've just finished fixing it and DMD 2.057actually successfully
 builds the little testing app i'm developing to become more
 acquainted with D.
I did open some issues and Anders fixed some stuff in order to build it.
 https://github.com/gwichert/wxd
=20
 I woud like to get some feedback on this before making a pull request.
I'll try along with building some samples, but quite busy these days with other stuff. Thank you for your input and interest in wxD. ;) Sincerely, Gour --=20 Those persons who execute their duties according to My injunctions=20 and who follow this teaching faithfully, without envy, become free=20 from the bondage of fruitive actions. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Jan 12 2012
parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
wxHaskell's wxc is buildable into a .so, but it's missing a ton of
symbols that wxd expects. From a quick look of things there's about 50
.cpp files less in wxHaskell's wxc than wxd's wxc. That might not mean
much, but wxHaskell's wxc code is also different in some places..

I think it would be quite hard to modify wxd to use the new wxc
bindings. But Anders is the most knowledgeable about how wxd's wxc
works, so he probably knows what's missing/different in this new wxc.

The new wxc code is here: http://darcsden.com/DukeDave/wxhaskell-dev/browse/wxc
darcs is required to clone it (apparently you can ctrl+c when it
starts talking about lazy loading or it takes forever to clone). Clone
command:
darcs get http://darcsden.com/DukeDave/wxhaskell-dev

Also the entire haskell platform has to be installed in order to build
it. But I won't bother you with build instructions since we can't use
the wxc lib in this state.

If Anders is reading this, can you maybe glance over that wxc repo and
see how much things are different compared to wxd's wxc, and maybe
make a guess on whether it's worth looking into or not?
Jan 18 2012