Tweaking autotools-based buildsystem for W32 compatibility

LRN lrn1986 at
Thu Apr 24 17:59:18 EDT 2014

Hash: SHA1

On 25.04.2014 1:21, Tomasz Wasilczyk wrote:
> 0058-rename-pidgin-to-pidgin3.all.patch: I don't think there is a need for
> such rename. But I may be wrong. And possibly it might be useful to rename
> libpurple to libpurple3.

You might want to ask package maintainers. They often need things like this.

> 0069-versioned-protolibs.mingw.patch: I don't think there is any gain from
> versioning "base" protocol plugins.

My position is simple: any re-usable library should have version numbers.
Unlike protocol plugins (which just export one function for Pidgin to call),
libjabber, liboscar and libymsg do export functionality, and it's no
inconceivable for stuff to link to them. Also, on W32 they're in bin subdir,
and unversioned stuff in bin irks me :)

> And few patches related to FHS, I'm working on right now:
> 0024-dont-fail-if-~ot-exist.all.patch: 
> 0060-remove-crazy-dll-loading-code.all.patch: I'm not sure about these,
> they may be necessary.

0024 is needed if you use the part of 0029 that changes how
SSL_CERTIFICATES_DIR is used (specifically, if libpurple does allow it to be
a relative name that is appended to a prefix, then you need to prevent
configure from failing on relative (and thus non-existing) ssl directory).
0060 is a fast hack. Too broad. More "correct" is to only comment out the
call to dll_prep(pidgin_dir); and leave portable mode standing. My problem
with dll_prep is that it makes assumptions about Pidgin installation layout
that just don't hold when Pidgin is built and installed by autotools, because
autotools follow FHS. It may be possible to switch it on and off based on
some compile-time option, like i originally did with the WINPATHS macro, but
that that point of time when i hacked this together, i no longer cared
(Pidgin already compiled, but didn't run, and it frustrated me to no end).

Or you can just disregard FHS entirely and keep doing what you normally do,
i'll just patch things on my end. Just don't intertwine things too tightly,
otherwise patching them becomes a problem.

> 0029-correct-runtime-paths.all.patch: PURPLE_USE_WINPATHS,
> SSL_CERTIFICATES_DIR - just a todo.

Yep. See above.

> DONT_USE_NICE_PNG_ICON_AS_DEFAULT - I'm not sure if we need this. I think
> .ico files are enough for win32.

I'm not sure either, but the comment said something about nice PNG icons, and
i like PNG. If i get some extra free time, maybe i'll check what exactly this
code does, and why was it disabled on W32.

> A request for other devs: please express your opinion, especially about 
> 0021, 0058, 0069, 0024, 0060 and 0029 (the patches I'm not sure about).

I think you forgot that patches 0064-0069 were sent to you directly, they are
not on the ML.

- -- 
O< ascii ribbon - stop html email! -
Version: GnuPG v1.4.11 (MingW32)


More information about the Devel mailing list