On 2013-04-10 20:19, Marc-André Lureau wrote:
You said, "should first try checking for an environment variable and then a path relative to the executable.", what environment variable? PKGDATADIR? Who set it? Is it only for the developper? If you have a good case for that extra environment variable, I would suggest to submit a patch to g_get_system_data_dirs(), It does the later, giving you a list of where to look for the data. So it could easily be tweaked to look for more locations.
g_get_system_data_dirs() on win32 should simply honor XDG_DATA_DIRSlike it does on any other platform/OS and fall back to FOLDERID_ProgramData
or CSIDL_COMMON_APPDATA (depending on windows version). Something like what I tried to do a year ago [1], before I got a) much less time to hack on things and b) distracted with g-i stuff which I'm now desperately trying to finish before working on anything else. From what I remember: I stopped working on the branch when embarking on an attempt to write a KnownFolders.h implementation for MinGW's win32api package and mingw-w64 equivalent (attached), eventually to be #included in glib/gutils.c [2]. The being stuck part was properly testing for the header in configure.ac with AC_CHECK_HEADER, which I've not yet figured out how to do (include test passes, compile test fails, so apparently the header alone is not enough and there's something else missing wrt the INITGUID stuff)... If anybody feels like making the KnownFolders.h stuff work (and getting it in mingw & mingw-w64) and un-bit-rotting that branch (and getting it in glib proper), please feel free to do so. Don't think I'll be able to go back working on that for at least another couple of months... mvg, Dieter[1] https://github.com/dieterv/glib/commit/57c184e66bab81470ae3768330088ef113e3d750 [2] https://github.com/dieterv/glib/commit/0462418592ee1df93f251772d9bdcd3f6ca13f68
Attachment:
knownfolders.h
Description: Text document