/* Implementation of filesystem & path-related functions for GNUstep Copyright (C) 1996-2016 Free Software Foundation, Inc. Written by: Andrew Kachites McCallum
Created: May 1996 Rewrite by: Sheldon Gill Date: Jan 2004 Rewrites by: Richard Frith-Macdonald Date: 2004-2005 This file is part of the GNUstep Base Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.Path utilities provides functions to dynamically discover paths for the platform the application is running on. This avoids the need for hard coding paths, making porting easier and also allowing for places to change without breaking applications. (why do this? Well imagine we're running GNUstep 1 and the new wonderful GNUstep 2 becomes available but we're not sure of it yet. You could install /GNUstep/System2/ and have applications use which ever System you wanted at the time...)
On unix systems, the paths are initialised by reading a configuration file. Something like "/etc/GNUstep/GNUstep.conf". This provides the basic information required by the library to establish all locations required.
See GNUstep File System Hierarchy document for more information and detailed descriptions.