new client plans and libpurple

z z-one at
Thu Mar 28 00:11:29 EDT 2013

(changed to my real name once I noticed what it was set to in 

It's good to know that most if not all the features on my wishlist can 
be realized somehow with libpurple.

> You have no idea how happy it makes us that someone wants to write a "native"
> Windows client based on libpurple.  We've wanted one for years, but to the best
> of our knowledge, every attempt has died off due to lack of time (mostly) or
> ability (rarely).  A native Windows client would be a great service to the
> Windows-using portion of our community, and if done right, I think the majority
> of us would recommend that our Windows users switch to it.
Thank you for the encouraging words. I will probably need it because 
this doesn't seem to be such an easy ride as I first thought. I expected 
difficulties in linking but I spent the past 3-4 hours and all I got is 
a single libpurple.dll compiled under MSVS Express 2012. I will have to 
look into the documentation to find out whether I need all the other 
dll's included with Pidgin and figure out how to compile them. The time 
I lost with this is mainly because some stupid configuration settings 
hidden deep inside the Visual Studio's interface, not related to 
libpurple. Though finding out that it is not related took time as well.

The only compiler error (apart from the obvious warnings that were all 
the kind you can ignore) was because of this line in plugin.c (line 871):
         if (!g_getenv("PURPLE_LEAKCHECK_HELP") && !RUNNING_ON_VALGRIND)

That "RUNNING_ON_VALGRIND" which is a define for code between a { ... } 
block caused a syntax error, but commenting it out solved the problem. 
It was a no-op when not using valgrind, so excluding it in the project 
doesn't cause any harm hopefully.

I don't know which functions will have to be exported from the dll yet, 
so that part of the work is still far from done.

> There are a number of challenges that you'll face, such as compiler/linker
> issues (if you use Visual Studio .NET to build your UI, you either have to
> compile and link against the Windows Driver Development Kit's libraries or
> rebuild libpurple and all its dependencies to use msvcrt{7,8,9,10}.dll for one).
I don't know yet whether I will be using .NET, though I consider writing 
the interface in C#. I code mainly in C++ and I have a home made library 
for managing windows, but I don't want to make that open, so something 
freely available would be the best.

More information about the Devel mailing list