mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Attempt to improve documentation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@22154 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
1585f8ce2e
commit
cc851e1a2b
2 changed files with 197 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-12-05 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Documentation/filesystem.texi: Initial attempt at adding
|
||||
documentation on how the filesystem layout is controlled by
|
||||
the GNUstep config file.
|
||||
|
||||
2005-12-05 Nicola Pero <n.pero@mi.flashnet.it>
|
||||
|
||||
* configure.ac: Display a message with the GNUSTEP_MAKEFILES that
|
||||
|
|
|
@ -16,7 +16,8 @@ Last Update: @today{}
|
|||
|
||||
@page
|
||||
@vskip 0pt plus 1filll
|
||||
Authors: Tim Harrison, Martin Brecher, Adam Fedor, Nicola Pero
|
||||
Authors: Tim Harrison, Martin Brecher, Adam Fedor, Nicola Pero,
|
||||
Richard Frith-Macdonald
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1 or
|
||||
|
@ -34,6 +35,7 @@ any later version published by the Free Software Foundation.
|
|||
* The Users Domain::
|
||||
* Hierarchy::
|
||||
* Description::
|
||||
* Configuration::
|
||||
@end menu
|
||||
|
||||
On GNUstep, there are four separate places where files related to GNUstep
|
||||
|
@ -218,7 +220,7 @@ Network/
|
|||
|
||||
@end multitable
|
||||
|
||||
@node Description, , Hierarchy, Top
|
||||
@node Description, Configuration, Hierarchy, Top
|
||||
@section Description
|
||||
|
||||
@menu
|
||||
|
@ -476,5 +478,192 @@ that are installed on the system must an extension of ".service".
|
|||
|
||||
This directory contains sound files.
|
||||
|
||||
@node Configuration, , Description, Top
|
||||
@section Configuration
|
||||
|
||||
The locations of the various domains within the filesystem hierarchy on your
|
||||
machine are determined by the GNUstep configuration file (or if that is not
|
||||
present, by default values built into the GNUstep make and base packages
|
||||
when they were configured and built).
|
||||
|
||||
The location of the GNUstep configuration file is built in to the make and
|
||||
base packages when they are configured using the --with-config-file option
|
||||
to the configure script. The path specified must be an absolute one for
|
||||
the make package, but may also be a path relative to the location of the
|
||||
base library itsself (as dynamically linked into applications) for the
|
||||
base package.
|
||||
|
||||
However, the location of the configuration file may also be specified
|
||||
using the GNUSTEP_CONFIG_FILE environment variable, overriding the value
|
||||
built in to the package, at any time when using the make package to build
|
||||
or install software. Support for the environment variable may also
|
||||
be enabled for the make package when its configure script is run.
|
||||
|
||||
Please do
|
||||
@example
|
||||
configure --help
|
||||
@end example
|
||||
to get all the options of how the package configuration scripts can be
|
||||
told to set up the default path to and values in the configuration file.
|
||||
|
||||
@menu
|
||||
* File Format::
|
||||
* Windows (MINGW)::
|
||||
* File Values::
|
||||
@end menu
|
||||
|
||||
@node File Format, Windows (MINGW), Configuration, Configuration
|
||||
@subsection File Format
|
||||
|
||||
By default, the configuration file is called GNUstep.conf and exists in
|
||||
/etc/GNUstep on a Unix-like system or C:\GNUstep on an ms-windows system.
|
||||
In either case this file is in a format suitable for being 'sourced' by
|
||||
the standard unix (Bourne) shell, consisting of lines of the form key=value,
|
||||
comments (everything on a line from the first hash (#) onwards), or blank lines.
|
||||
|
||||
This is very convenient on unix-like systems, but needs care for windows users.
|
||||
If a value contains whitespace or backslash characters (or the hash which
|
||||
would start a comment) it needs to be quoted by enclosing the whole value
|
||||
in single or double quotes. An alternative for values containing backslashes
|
||||
(the norm for a windows path) is to double up each backslash in an unquoted
|
||||
value.
|
||||
|
||||
@node Windows (MINGW), File Values, File Format, Configuration
|
||||
@subsection 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 need to set up
|
||||
a config file which uses unix-style paths as used by MSYS
|
||||
(ie of the form '/c/...' rather than 'C:\...') for
|
||||
building and installing software.
|
||||
|
||||
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.
|
||||
|
||||
The simplest way to achieve this is to use different values for the
|
||||
--with-config-file= option when configuring the make and base packages.
|
||||
|
||||
For example, configure the make package like this -
|
||||
@example
|
||||
./configure --with-config-file=/c/GNUstep/GNUstep.conf-dev
|
||||
@end example
|
||||
and the base library like this -
|
||||
@example
|
||||
./configure --with-config-file=C:\\GNUstep\\GNUstep.conf
|
||||
@end example
|
||||
|
||||
Then you need to edit the two config files to make sure they contain
|
||||
values of the correct format.
|
||||
|
||||
@node File Values, , Windows (MINGW), Configuration
|
||||
@subsection File Values
|
||||
|
||||
The key=value pairs permitted in the configuration file are limited
|
||||
to the keys described here.
|
||||
|
||||
@menu
|
||||
* GNUSTEP_SYSTEM_ROOT::
|
||||
* GNUSTEP_LOCAL_ROOT::
|
||||
* GNUSTEP_NETWORK_ROOT::
|
||||
* GNUSTEP_USER_CONFIG_FILE::
|
||||
* GNUSTEP_USER_DIR::
|
||||
* GNUSTEP_USER_DEFAULTS_DIR::
|
||||
@end menu
|
||||
|
||||
@node GNUSTEP_SYSTEM_ROOT, GNUSTEP_LOCAL_ROOT, File Values, File Values
|
||||
@subsubsection GNUSTEP_SYSTEM_ROOT
|
||||
|
||||
The value for this key is the path for the System domain.
|
||||
|
||||
It must be either an absolute path or a path beginning './' in which case the
|
||||
leading './' is replaced by the path to the directory in which the
|
||||
configuration file is located.
|
||||
|
||||
This is normally -
|
||||
@example
|
||||
GNUSTEP_SYSTEM_ROOT=/usr/GNUstep/System
|
||||
@end example
|
||||
|
||||
@node GNUSTEP_LOCAL_ROOT, GNUSTEP_NETWORK_ROOT, GNUSTEP_SYSTEM_ROOT, File Values
|
||||
@subsubsection GNUSTEP_LOCAL_ROOT
|
||||
|
||||
The value for this key is the path for the Local domain.
|
||||
|
||||
It must be either an absolute path or a path beginning './' in which case the
|
||||
leading './' is replaced by the path to the directory in which the
|
||||
configuration file is located.
|
||||
|
||||
This is normally -
|
||||
@example
|
||||
GNUSTEP_LOCAL_ROOT=/usr/GNUstep/Local
|
||||
@end example
|
||||
|
||||
@node GNUSTEP_NETWORK_ROOT, GNUSTEP_USER_CONFIG_FILE, GNUSTEP_LOCAL_ROOT, File Values
|
||||
@subsubsection GNUSTEP_NETWORK_ROOT
|
||||
|
||||
The value for this key is the path for the Network domain.
|
||||
|
||||
It must be either an absolute path or a path beginning './' in which case the
|
||||
leading './' is replaced by the path to the directory in which the
|
||||
configuration file is located.
|
||||
|
||||
This is normally the same as the value configured for GNUSTEP_LOCAL_ROOT -
|
||||
@example
|
||||
GNUSTEP_NETWORK_ROOT=/usr/GNUstep/Local
|
||||
@end example
|
||||
|
||||
@node GNUSTEP_USER_CONFIG_FILE, GNUSTEP_USER_DIR, GNUSTEP_NETWORK_ROOT, File Values
|
||||
@subsubsection GNUSTEP_USER_CONFIG_FILE
|
||||
|
||||
This is the name of the user specific configuration file (a path relative to
|
||||
the home directory of the user). This configuration file is loaded after the
|
||||
main GNUstep configuration file, and the key=value pairs in this file will
|
||||
override those in the main file (all except the GNUSTEP_USER_CONFIG_FILE
|
||||
obviously).
|
||||
|
||||
The default (unless otherwise configured) is
|
||||
@example
|
||||
GNUSTEP_USER_CONFIG_FILE=.GNUstep.conf
|
||||
@end example
|
||||
|
||||
If the value of this key is set to an empty styring, the system will not
|
||||
attempt to load a user specific configuration file, thus ensuring that the
|
||||
individual user cannot override the values specified by the system
|
||||
administrator.
|
||||
|
||||
@node GNUSTEP_USER_DIR, GNUSTEP_USER_DEFAULTS_DIR, GNUSTEP_USER_DIR, File Values
|
||||
@subsubsection GNUSTEP_USER_DIR
|
||||
|
||||
This is used to define the User domain ... it is a path relative to the home
|
||||
directory of the user in which the User domain and hence all resources in
|
||||
the User domain are to be found.
|
||||
|
||||
The default (unless otherwise configured) is:
|
||||
@example
|
||||
GNUSTEP_USER_DIR=GNUstep
|
||||
@end example
|
||||
|
||||
but setting an empty string for this value
|
||||
will cause the User domain to be the home directory of the user.
|
||||
|
||||
@node GNUSTEP_USER_DEFAULTS_DIR, , GNUSTEP_USER_DIR, File Values
|
||||
@subsubsection GNUSTEP_USER_DEFAULTS_DIR
|
||||
|
||||
This is used to define the location of the defaults database for the user ...
|
||||
it is a path relative to the home directory of the user.
|
||||
|
||||
The default (unless otherwise configured) is:
|
||||
@example
|
||||
GNUSTEP_USER_DEFAULTS_DIR=GNUstep/Defaults
|
||||
@end example
|
||||
|
||||
@bye
|
||||
\bye
|
||||
|
|
Loading…
Reference in a new issue