Previous: , Up: Configuration   [Contents]


1.6.2 Windows (MINGW)

On ms-windows, for software development, you are likely to want to have an extra configuration file. This is because of the limitations of the make program (used to build and install software).

Basically the issue is that the make package doesn’t really like the colons and backslashes in windows paths (using them is error prone) and can’t tolerate whitespace in file names. So you want to do all the building in a unix-style environment using only unix-style paths.

On MSYS/MinGW this is done naturally by using the standard unix-style /usr/local/etc/GNUstep/GNUstep.conf config file, where the location is inside the MSYS unix-style emulation system. This is what is normally done by gnustep-make, so there is nothing special you need to do here.

On the other hand, the base library (and all applications since they are built using it) wants to work with native windows paths so that applications behave naturally as far as the end users are concerned, and therefore needs a configuration file containing windows-style paths rather than unix-like ones.

So, you need a different config file to be used by gnustep-base at runtime. And this is enabled by default – in fact gnustep-base will use ./GNUstep.conf as config file on MinGW, where the location is relative to the location of the gnustep-base.dll.

In other words, gnustep-make will use C:/xxx/usr/local/etc/GNUstep/GNUstep.conf (where ’xxx’ is the MSYS installation path), while gnustep-base will use a GNUstep.conf file in the same directory as the gnustep-base.dll.

This ./GNUstep.conf file normally does not even exist; gnustep-base’s ./configure will hardcode into gnustep-base.dll relative paths to all resources (relative from the installation location of gnustep-base.dll). If you modify the filesystem layout or relocate gnustep-base.dll, you should add a GNUstep.conf file with gnustep-base.dll that contains the relative locations of the directories (relative to the location of gnustep-base.dll).

It is recommended that this ./GNUstep.conf always contains relative paths to make relocation easier.


Previous: , Up: Configuration   [Contents]