Mercurial > pidgin
view PROGRAMMING_NOTES @ 10245:c143a3fac58d
[gaim-migrate @ 11385]
Binary relocation, step one.
I had a fairly long commit message, and cvs ate it and said
Read from remote host cvs.sourceforge.net: Connection reset by peer
I'm displeased.
This is just method one, method two to follow tomorrow after I add a
way to register a fallback and try to push it upstream. That way
I don't have to put method 2 inside prefix.c.
As for as core/ui split goes, they can either each have their own copy
after the divorce is final, or the UI can use the core's. It'll work
either way, since #1 finds location of the caller, and #2 doesn't work
on libraries anyway. That's one advantage I forgot to mention, btw,
that #1 will let a library find its own location.
So, I'm sure something isn't quite right and someone will want to fix
it. So they can fix it while i implement phase two. Which won't take
long at all, but the autopackage guy is in bed, and I should be too.
committer: Tailor Script <tailor@pidgin.im>
| author | Tim Ringenbach <marv@pidgin.im> |
|---|---|
| date | Tue, 23 Nov 2004 05:53:59 +0000 |
| parents | da88e2cd5c53 |
| children | 83ec0b408926 |
line wrap: on
line source
Notes on keeping GAIM OS independant ------------------------------------ General ------- - Use G_DIR_SEPARATOR_S and G_DIR_SEPARATOR for paths - Use g_getenv, g_snprintf, g_vsnprintf - Use gaim_home_dir instead of g_get_home_dir or g_getenv("HOME") - Make sure when including win32dep.h that it is the last header to be included. - Open binary files when reading or writing with 'b' mode. e.g: fopen("somefile", "wb"); Not doing so will open files in windows using defaut translation mode. i.e. newline -> <CR><LF> Paths ----- - DATADIR, LOCALEDIR & LIBDIR are defined in wingaim as functions. Doing the following will therefore break the windows build: printf("File in DATADIR is: %s\n", DATADIR G_DIR_SEPARATOR_S "pic.png"); it should be: printf("File in DATADIR is: %s%s%s\n", DATADIR, G_DIR_SEPARATOR_S, "pic.png"); PLUGINS & PROTOS ---------------- - G_MODULE_EXPORT all functions which are to be accessed from outside the scope of its "dll" or "so". (E.G. gaim_plugin_init) - G_MODULE_IMPORT all global variables which are located outside your dynamic library. (E.G. connections) (Not doing this will cause "Memory Access Violations" in Win32)
