GNUstep.org
[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

1.5 Description

1.5.1 System  
1.5.2 Local  
1.5.3 Network  
1.5.4 Applications  
1.5.5 Tools  
1.5.6 share  
1.5.7 Library  


1.5.1 System

The System directory is the location of the GNUstep makefile package, base, gui and backend libraries, and any accompanying software that is distributed as part of whatever distribution of GNUstep you are using. This directory MUST exist for a proper installation of GNUstep.

Using the --prefix option to the configure script in gnustep-make, an installation of GNUstep may be placed wherever the installer wishes; the System, Local (and optionally Network) domain by default will be subdirectory of this root location.

Common options are:

 
/usr/GNUstep
/usr/local/GNUstep
/opt/GNUstep
/

All directories referenced in this document are relative to this root location.


1.5.2 Local

The Local domain is the location of libraries, frameworks, bundles, and supporting files for locally installed applications or tools that are not distributed as part of the distribution that you are using, but that are compiled and/or installed manually by you or your sysadmin. This directory MUST exist for a proper installation of GNUstep.


1.5.3 Network

The Network Domain is the location for all exported applications, remotely mounted filesystems, and remote home directories for users made available via directory services. It is optional, and disabled by default.


1.5.4 Applications

The `Applications' directory contains applications. Applications are programs that typically have a GUI interface and contain associated resource files, such as images, localization files and other program elements.

Important applications which are part of GNUstep and which are often distributed as part of a core GNUstep distribution (and so installed in the `System/Applications' folder) include:
 
Gorm.app
ProjectCenter.app
GSDefaults.app
GWorkspace.app
Preferences.app


1.5.5 Tools

The `Tools' directory contains tools and executable scripts. Tools are programs which generally have a command-line interface. Most are not meant to be used by the average user.

Tools that are written in languages other than Objective-C, or are developed to work with other runtime environments may have their own directory within the Tools directory (for example: `Tools/Java').


1.5.6 share

The share directory is used for configuration and installation of the core GNUstep libraries and any additional libraries that need configuration information. It is used by the configure (autoconf) program.


1.5.7 Library

The `Library' directory contains most of the functional code of the GNUstep Development Environment.

The primary reason for the structure of folders within Library is to keep a complimentary structure throughout all domains. This allows easier development, by keeping a standard directory layout, providing developers with a relatively common hierarchy to work within.

1.5.7.1 ApplicationSupport  
1.5.7.2 Bundles  
1.5.7.3 ColorPickers  
1.5.7.4 Colors  
1.5.7.5 Defaults  
1.5.7.6 DTDs  
1.5.7.7 DocTemplates  
1.5.7.8 Documentation  
1.5.7.9 Fonts  
1.5.7.10 Frameworks  
1.5.7.11 Headers  
1.5.7.12 Images  
1.5.7.13 KeyBindings  
1.5.7.14 Libraries  
1.5.7.15 Makefiles  
1.5.7.16 PostScript  
1.5.7.17 Services  
1.5.7.18 Sounds  


1.5.7.1 ApplicationSupport

This directory contains bundles and other resources that are provided for an application, but that are not specifically distributed with that application. For instance, these may be third-party resources for an application.

For example, modules for the Preferences application may be stored here, in a `Preferences' subdirectory.


1.5.7.2 Bundles

This directory contains bundles. Bundles are collections of executable code and associated resources that may be loaded at runtime by an application or tool. Note: this directory is depreciated. Use ApplicationSupport to install bundles that can be used by an application.


1.5.7.3 ColorPickers

This directory contains bundles that are used by the color picking system. They may include code that implements picking colors from a color wheel, a custom defined list of colors, etc.


1.5.7.4 Colors

This directory contains files that define specific color mappings for use within libraries or applications that require color definitions.


1.5.7.5 Defaults

This directory contains files that store defaults for applications, e.g. user preferences. This directory only exists in the User domain.


1.5.7.6 DTDs

This directory contains any Document Type Definitions required for document parsing.


1.5.7.7 DocTemplates

This directory contains text templates for automatic documentation, as generated by autodoc. Any additional documentation template types must be placed in this directory, as a central location for documentation template types. Any templates installed within this directory must have an extension indicating what type of documentation system it is referenced by (ie. .gsdoc for the GNUstep implementation of autodoc).


1.5.7.8 Documentation

This directory contains documentation for libraries, applications, etc.


1.5.7.9 Fonts

This directory contains fonts and files for organizing font information.


1.5.7.10 Frameworks

This directory contains frameworks. Frameworks are a type of bundle, which include, within their directory structure, a shared library providing a specific functionality (or group of related functionalities), and all resources required by that shared library.

All frameworks must have the extension `framework', to indicate their usage.

Use of frameworks is generally discouraged, as it is difficult to support them in a clean way on multiple platforms. Bundles are a better method of organizing shared collections of resources and code.


1.5.7.11 Headers

This directory contains header files associated with a library located in the Libraries directory.


1.5.7.12 Images


1.5.7.13 KeyBindings


1.5.7.14 Libraries

This directory contains libraries. (NOTE: The Libraries directory being in Library may sound somewhat redundant, however, it could be read as "a Library of shared libraries".)


1.5.7.15 Makefiles

This directory contains the different types of makefiles used by the GNUstep development environment to build applications, libraries, bundles, etc. These makefiles are usually included in a project specific GNUmakefile, which is used to build a project under the GNUstep development environment.

This directory only exists in the System domain.


1.5.7.16 PostScript

This directory contains directories for specific PostScript document types and definitions, allowing applications written using the GNUstep development environment to display PostScript documents, or communicate with printers using PostScript.


1.5.7.17 Services

This directory contains bundles that are specifically built to provide functionality between different programs (for example, spell checking, creation of a note from text within an email application). Services that are installed on the system must an extension of ".service".


1.5.7.18 Sounds

This directory contains sound files.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Adam Fedor on December, 11 2006 using texi2html