Read Me
VERSION
This is version 1.58 of the mGSTEP libraries.
COMPONENTS
libfoundation -- Foundation library
libmgdo |- Distributed Objects library
libappkit -- AppKit GUI library
libfb |- Linux framebuffer AppKit backend
libxraw |- X11 AppKit backend
libmib -- NIB keyed archiving library
PREREQUISITES
mGSTEP is developed on an embedded Linux (3.x kernel, GCC 4.6) platform.
Periodic testing is conducted on Ubuntu 14.04 and OpenBSD 5.7. All other
build targets are untested with the latest release. A build environment
should have the following tools and libs installed:
BASH 3.2 (Linux) or KSH (OpenBSD)
GNU Make 3.8x or OpenBSD make
GCC 3.x, 4.x with Objective-C support
libtiff tiff-v3.6.1 or later
libavcall ffcall-1.10 (if building Distributed Objects)
libfreetype Freetype 2.1.10 (or newer and some fonts)
Some AppKit tests require the following image libs:
libjpeg jpeg-6b
libgif giflib-4.1.0
libpng libpng-1.0.3
HOW TO BUILD
This package builds within it's own hierarchy. You may need to edit or
create a platform makefile in Build/configs to reflect your system.
At the top of the source tree (this directory) begin the build with:
make
If you are building on Linux where shared libraries are the default you
will need to install the libraries or set the dynamic linker search path
before running the tests. See the section below titled 'INSTALLATION'.
Set the MGSTEP_ROOT environment variable:
export MGSTEP_ROOT=/ <Absolute path to mGSTEP install or source dir>
Build and run the Foundation tests:
cd Foundation/Testing
make all
make run
Build and run the Distributed Objects (DO) tests (Linux only):
cd Foundation/DO
make
*** add: "gdomap 538/tcp" to /etc/services if not already defined ***
gdomap
server &
client
Build and run the AppKit examples:
cd AppKit/Testing
make all
*** run gdomap as root if DO was not disabled during build ***
./run <test>.app (eg. "run Workspace.app")
Configuring the example service (Linux only, requires DO):
cp AppKit/Testing/Resources/.mGSTEPServices ~/.mGSTEP
You will need to edit the 'ServicePath' entries to reflect the location
of the AppKit/Testing 'example.service'. When you next run Edit.app the
example service will be accessible via Edit's 'services' menu.
INSTALLATION
mGSTEP is installed by defining the 'MGSTEP_ROOT' environment variable so
that it points to either the top of the mGSTEP source tree or to the path
selected during package installation. On platforms that utilize shared
libraries the dynamic linker search path must also inclcude the directory
containing the libraries.
Install mGSTEP as root with: (prompts for install path)
make install
CROSS PLATFORM
Building mGSTEP apps on Mac OS X where Cocoa is native requires several
minor changes in the menu code and in the app's principal class. Once
these are in place the app will build with either mGSTEP or Cocoa. The
tableview example's generic Controller.m has the necessary modifications.
To build tableview on OS X configure mGSTEP, then in AppKit/Testing enter:
make tableview
open tableview.app
You will need to disable the -ljpeg and -lgif dependency in the top level
AppKit/Testing Makefile if these are not readily available.
LICENSE
The mGSTEP library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Various files in mGSTEP/Foundation are derived from libFoundation
and in deference to it's authors these files retain a BSD type
license as follows:
Copyright (C) 1995, 1996 Ovidiu Predescu and Mircea Oancea.
All rights reserved.
Permission to use, copy, modify, and distribute this software and
its documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and
that both that copyright notice and this permission notice appear
in supporting documentation.
We disclaim all warranties with regard to this software, including all
implied warranties of merchantability and fitness, in no event shall
we be liable for any special, indirect or consequential damages or any
damages whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action, arising
out of or in connection with the use or performance of this software.
Felipe A. Rodriguez
far@illumenos.com
Luzern, Switzerland
###############################################################################