Update release files

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@24989 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2007-04-11 22:35:22 +00:00
parent c447c85b3c
commit 62c24e896d
11 changed files with 650 additions and 397 deletions

View file

@ -1,10 +1,10 @@
Announcement
************
1 Announcement
**************
The GNUstep Makefile Package version 1.13.0 is now available.
The GNUstep Makefile Package version 2.0.0 is now available.
What is the GNUstep makefile package?
=====================================
1.1 What is the GNUstep makefile package?
=========================================
The makefile package is a simple, powerful and extensible way to write
makefiles for a GNUstep-based project. It allows the user to write a
@ -12,26 +12,66 @@ project without having to deal with the complex issues associated with
configuration, building, installation, and packaging. It also allows
the user to easily create cross-compiled binaries.
Changes in version `1.13.0'
===========================
1.2 Changes in version `2.0.0'
==============================
Debug libraries now have the same name as normal libraries (i.e. no "_d"
suffix). This reduces the possiblity of multiple libraries being loaded
into the same executable.
The Makefile package has had a major makover which befits a major
version update. The most user-visible change of this is customized
filesystem support. GNUstep can now be configured and installed using
any of many typical filesystem layouts, including FHS, Mac, and the
traditional GNUstep layout.
Added dragonfly OS to make targets.
Due to this change a number of variable names have been changed or
deprecated. If you are a developer maintaining makefiles, you should
check your makefiles for these variables. Most notibly, variabels such
as `GNUSTEP_SYSTEM_ROOT' no longer make any sense, as various
directories that were previously in a traditional GNUstep system root
directory exist accross multiple directories in disparate places in
other filesystem layouts.
Spaces and backslashes are no longer allowed in paths used by the
make package (e.g. with Windows OS). The libraries can still use native
paths.
If you are a user or developer that is just installing GNUstep, read
the `GNUstep-HOWTO' and `INSTALL' documents to find out new information
about configuring and installing make.
Obtaining gnustep-make
======================
If you are a developer, read the files `filesystem' and `make' for
information on new and changed variables.
You can get the gstep-make-1.13.0.tar.gz distribution file at
<ftp://ftp.gnustep.org/pub/gnustep/core>
Various changes include:
* New configure option `--with-layout' to choose different
filesystem layouts.
* All applications use the `.app' extension even when compiled with
debugging or profiling.
* Precompiled header support added using
xxx_OBJC_PRECOMPILED_HEADERS.
* gnustep-config is a program which prints out information on the
GNUstep filesystem and variables (Similar to programs like
pkg-config).
* Applications can be started now just using their name (by
installing a wrapper in the tools directory).
* Versioning of Microsoft Windows DLLs implemented.
* Use of `GNUSTEP_SYSTEM_ROOT' and similar variables deprecated. Use
instead `GNUSTEP_INSTALLATION_DOMAIN' and `SYSTEM' or `LOCAL'
* Implement use of GNU standard `DESTDIR' variable.
* Object files are now placed in the `obj' directory.
* Static and profile libraries have the same name as normal
libraries.
1.3 Obtaining gnustep-make
==========================
You can get the gstep-make-2.0.0.tar.gz distribution file at
`ftp://ftp.gnustep.org/pub/gnustep/core'
Please log bug reports on the GNUstep project page
<http://savannah.gnu.org/bugs/?group=gnustep> or send bug reports to
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports to
<bug-gnustep@gnu.org>.

View file

@ -1,3 +1,10 @@
2007-04-11 Adam Fedor <fedor@gnu.org>
* Version: Bump version number to 2.0.0
* Documentation/news.texi: Update
* Documentation/releasenotes.texi: New file
* Regenerate release files.
2007-04-10 Nicola Pero <nicola.pero@meta-innovation.com>
Fixed help messages for debugapp to display 'debugapp' instead of

View file

@ -75,7 +75,7 @@ include $(GNUSTEP_MAKEFILES)/common.make
DOCUMENT_NAME = gnustep-howto faq filesystem internals machines make userfaq
# The text documents to be generated
DOCUMENT_TEXT_NAME = FAQ INSTALL README NEWS GNUstep-HOWTO ANNOUNCE
DOCUMENT_TEXT_NAME = FAQ INSTALL README NEWS RELEASENOTES GNUstep-HOWTO ANNOUNCE
TOP_DOC_FILES = FAQ INSTALL README NEWS GNUstep-HOWTO ANNOUNCE
README_FILES = README.Darwin README.MinGWOnCygwin README.Cygwin \
@ -129,6 +129,10 @@ NEWS_TEXI_FILES = version.texi
NEWS_TEXT_MAIN = news.texi
NEWS_DOC_INSTALL_DIR = Developer/Make/ReleaseNotes/$(GNUSTEP_MAKE_VERSION)
RELEASENOTES_TEXI_FILES = version.texi
RELEASENOTES_TEXT_MAIN = releasenotes.texi
RELEASENOTES_DOC_INSTALL_DIR = Developer/Make/ReleaseNotes/$(GNUSTEP_MAKE_VERSION)
README_TEXI_FILES = version.texi
README_TEXT_MAIN = readme.texi
README_DOC_INSTALL_DIR = Developer/Make/ReleaseNotes/$(GNUSTEP_MAKE_VERSION)

View file

@ -60,7 +60,9 @@ Cocoa:
@item Do not use CoreFoundation
@item Do not use Objective-C++ (except with gcc 4.1 or later)
@item Do not use Quicktime or other proprietary extension
@item You need to convert .nib files (see next question @pxref{Tools for porting})
@item GNUstep should be able to read Cocoa nib files automatically, so there
is no need to port these, although you might want to have GNUstep specific
versions of them anyway.
@end itemize
See also @url{http://mediawiki.gnustep.org/index.php/Writing_portable_code}
@ -76,10 +78,11 @@ programs.
@table @samp
@item ni2gmodel
This program coverts nib files from any system, such as Cocoa or OPENSTEP to
This program coverts nib files from any system, such as OPENSTEP to
a gmodel format file. Gmodel can be read directly by GNUstep or you can
convert this to a more GNUstep-native gorm format (using the Gorm interface
modeller).
modeller). Note this is not necessary for Cocoa nibs - GNUstep can read these
directly.
@item Renaissance
GNUstep Renaissance allows you to describe your user
@ -114,10 +117,7 @@ poses a problem for anyone wanting to implement compatibility with it.
However, even if we reverse engineered the format, there are enough
differences between the class and ivar layouts to make this sort of
compatibility difficult. Not to mention the fact that we would
constantly have to keep up with the changes Apple made. Also Apple's
archiving format, as far as we know, would not be compatible between
different machines because of endiness issues, although GNUstep doesn't
have this problem.
constantly have to keep up with the changes Apple made.
The new keyed archiving using XML file formats is much more portable,
and GNUstep is trying to maintain compatibility with Apple with this
@ -382,6 +382,8 @@ Talk to Adam Fedor @email{fedor@@gnu.org}, the maintainer.
The GNUstep website is kept as a CVS module, but the largest portions
of it (the FAQ and the Documentation) are actually
generated from files in the individual GNUstep packages.
Many highly changeable portions are kept on the Wiki, so anyone can change
these (first you need to get write access, though).
If you want to update the FAQ or documentation - grab
the latest snapshot of the GNUstep core you can find, update it

View file

@ -9,6 +9,54 @@
The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
@end ifclear
@section Changes in version @samp{2.0.0}
The Makefile package has had a major makover which befits a major
version update. The most user-visible change of this is customized
filesystem support. GNUstep can now be configured and installed using
any of many typical filesystem layouts, including FHS, Mac, and the
traditional GNUstep layout.
Due to this change a number of variable names have been changed or
deprecated. If you are a developer maintaining makefiles, you should
check your makefiles for these variables. Most notibly, variabels such
as @samp{GNUSTEP_SYSTEM_ROOT} no longer make any sense, as various
directories that were previously in a traditional GNUstep system root
directory exist accross multiple directories in disparate places in
other filesystem layouts.
If you are a user or developer that is just installing GNUstep, read
the @file{GNUstep-HOWTO} and @file{INSTALL} documents to find out new
information about configuring and installing make.
If you are a developer, read the files @file{filesystem} and
@file{make} for information on new and changed variables. Read the
@file{releasenotes} file for specific changes in this release and updates
you will need to make to work with this version of make.
Various changes include:
@itemize @bullet
@item New configure option @samp{--with-layout} to choose different
filesystem layouts.
@item All applications use the @samp{.app} extension even when compiled with
debugging or profiling.
@item Precompiled header support added using xxx_OBJC_PRECOMPILED_HEADERS.
@item gnustep-config is a program which prints out information on the
GNUstep filesystem and variables (Similar to programs like pkg-config).
@item Applications can be started now just using their name (by
installing a wrapper in the tools directory).
@item Versioning of Microsoft Windows DLLs implemented.
@item Use of @samp{GNUSTEP_SYSTEM_ROOT} and similar variables
deprecated. Use instead @samp{GNUSTEP_INSTALLATION_DOMAIN} and
@samp{SYSTEM} or @samp{LOCAL}
@item Implement use of GNU standard @samp{DESTDIR} variable.
@item Object files are now placed in the @file{obj} directory.
@item Static and profile libraries have the same name as normal libraries.
@end itemize
@ifclear ANNOUNCE-ONLY
@section Changes in version @samp{1.13.0}
Debug libraries now have the same name as normal libraries (i.e. no "_d"
@ -20,8 +68,6 @@ Added dragonfly OS to make targets.
Spaces and backslashes are no longer allowed in paths used by the make
package (e.g. with Windows OS). The libraries can still use native paths.
@ifclear ANNOUNCE-ONLY
@section Changes in version @samp{1.12.0}
Minor fixes.

View file

@ -0,0 +1,22 @@
@chapter GNUstep Make Release Notes
The release notes include descriptions of API changes, behavior
changes and other information that might help developers and users
migrate to using a newer version of the make system.
@section Version 2.0.0
@ifinfo
Copyright @copyright{} 2007 Free Software Foundation
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
@end ifinfo

195
FAQ
View file

@ -1,24 +1,24 @@
GNUstep Frequently Asked Questions with Answers
***********************************************
1 GNUstep Frequently Asked Questions with Answers
*************************************************
Last updated 28 August 2006. Please send corrections to
Last updated 11 April 2007. Please send corrections to
<gnustep-maintainer@gnu.org>. Also look at the user FAQ for more user
oriented questions.
Compatibility
=============
1.1 Compatibility
=================
Is it easy to port OPENSTEP programs to GNUstep?
------------------------------------------------
1.1.1 Is it easy to port OPENSTEP programs to GNUstep?
------------------------------------------------------
It is probably easy for simple programs. There are some portability
tools to make this easier, or rewrite the Makefiles yourself. You will
also have to translate the NIB files (if there are any) to GNUstep
model files using the nib2gmodel program (from
<ftp://ftp.gnustep.org/pub/gnustep/dev-apps>).
`ftp://ftp.gnustep.org/pub/gnustep/dev-apps').
How about porting between Cocoa and GNUstep?
--------------------------------------------
1.1.2 How about porting between Cocoa and GNUstep?
--------------------------------------------------
It's easier from GNUstep to Cocoa than Cocoa to GNUstep. Cocoa is
constantly changing, much faster than GNUstep could hope to keep up.
@ -33,15 +33,16 @@ GNUstep yet. Plus there are some other issues. If you start with Cocoa:
* Do not use Quicktime or other proprietary extension
* You need to convert .nib files (see next question *note Tools for
porting::)
* GNUstep should be able to read Cocoa nib files automatically, so
there is no need to port these, although you might want to have
GNUstep specific versions of them anyway.
See also
<http://mediawiki.gnustep.org/index.php/Writing_portable_code> for more
`http://mediawiki.gnustep.org/index.php/Writing_portable_code' for more
information.
Tools for porting
-----------------
1.1.3 Tools for porting
-----------------------
While the programming interface should be almost transparent between
systems (expect for the unimplemented parts, of course), there are a
@ -49,10 +50,11 @@ variety of other files and tools that are necessary for porting
programs.
`ni2gmodel'
This program coverts nib files from any system, such as Cocoa or
OPENSTEP to a gmodel format file. Gmodel can be read directly by
GNUstep or you can convert this to a more GNUstep-native gorm
format (using the Gorm interface modeller).
This program coverts nib files from any system, such as OPENSTEP to
a gmodel format file. Gmodel can be read directly by GNUstep or
you can convert this to a more GNUstep-native gorm format (using
the Gorm interface modeller). Note this is not necessary for Cocoa
nibs - GNUstep can read these directly.
`Renaissance'
GNUstep Renaissance allows you to describe your user interfaces
@ -79,39 +81,36 @@ programs.
almost any language you like.
Can I transfer archived data from GNUstep to Cocoa?
---------------------------------------------------
1.1.4 Can I transfer archived data from GNUstep to Cocoa?
---------------------------------------------------------
Apple's archiving format is proprietary and not documented, so this
poses a problem for anyone wanting to implement compatibility with it.
However, even if we reverse engineered the format, there are enough
differences between the class and ivar layouts to make this sort of
compatibility difficult. Not to mention the fact that we would
constantly have to keep up with the changes Apple made. Also Apple's
archiving format, as far as we know, would not be compatible between
different machines because of endiness issues, although GNUstep doesn't
have this problem.
constantly have to keep up with the changes Apple made.
The new keyed archiving using XML file formats is much more portable,
and GNUstep is trying to maintain compatibility with Apple with this
type of archiving.
Does distributed objects work between GNUstep and Cocoa?
--------------------------------------------------------
1.1.5 Does distributed objects work between GNUstep and Cocoa?
--------------------------------------------------------------
See the answer to the previous question (on archive compatibility) for
why this won't work either.
Is there an Interface Builder for GNUstep?
------------------------------------------
1.1.6 Is there an Interface Builder for GNUstep?
------------------------------------------------
There is an Interface Builder for GNUstep called Gorm. A lot of work
has been put into it and it works very well. You can download it from
the ftp site or via http. The Project Manager ProjectCenter is also
available.
Can I use my original NIB files?
--------------------------------
1.1.7 Can I use my original NIB files?
--------------------------------------
No - NeXT/Apple never documented their nib format, so GNUstep supports
both the 'gmodel' format (which stores information as text
@ -124,15 +123,15 @@ nib files to GNUstep gmodel files.
transportable, although differences in class and ivar layout may still
make this difficult.
Can one use the hybrid "Objective-C++"
--------------------------------------
1.1.8 Can one use the hybrid "Objective-C++"
--------------------------------------------
No. at present the GNU compiler (gcc) does not support "Objective-C++".
Soon to br released gcc 4.1 will have this support, but it is still
unclear how robust it will be.
Is there a plan to support the Java/YellowBox Bindings?
-------------------------------------------------------
1.1.9 Is there a plan to support the Java/YellowBox Bindings?
-------------------------------------------------------------
Yes. The GNustep Java library/bridge called JIGS is available now. JIGS
is a free (LGPL) Java Interface for GNUstep; it can automatically wrap
@ -144,8 +143,8 @@ virtual machines inside GNUstep Objective-C code and access java objects
in the java virtual machine transparently, as if they were objective-C
objects.
What if I compile GNUstep under OPENSTEP/MacOS X?
-------------------------------------------------
1.1.10 What if I compile GNUstep under OPENSTEP/MacOS X?
--------------------------------------------------------
GNUstep uses the X-windows display postscript extension. The interface
to that is not the same as the interface to the OPENSTEP/MacOS-X
@ -155,8 +154,8 @@ the interface, nobody has bothered to date.
You can, however, use a GNUstep program with an X11 server running
on MacOSX.
Is the Objective C API for GTK related?
---------------------------------------
1.1.11 Is the Objective C API for GTK related?
----------------------------------------------
No. GNUstep applications provide their GUI via the OpenStep API, which
provides fully object-oriented access to GUI manipulation.
@ -165,8 +164,8 @@ provides fully object-oriented access to GUI manipulation.
much easier for new users to create their own subclasses rather than
simply using the supplied widgets as in other frameworks.
How about implementing parts of the Application Kit with GTK?
-------------------------------------------------------------
1.1.12 How about implementing parts of the Application Kit with GTK?
--------------------------------------------------------------------
Yes and No - The GNUstep architecture provides a single,
platform-independent, API for handling all aspects of GUI interaction
@ -184,18 +183,18 @@ win32 calls is likely to be minimal. If/when GTK is ported to more
systems, a backend written using it could be a valuable asset -
volunteers are, as always, welcome.
Compiling and Developing
========================
1.2 Compiling and Developing
============================
How can I get started programming?
----------------------------------
1.2.1 How can I get started programming?
----------------------------------------
Good question. Read the tutorials at the GNUstep web site. Also look at
Apple's documentation (pointers in the Resources section on the GNUstep
web site.)
How can I help with GNUstep?
----------------------------
1.2.2 How can I help with GNUstep?
----------------------------------
1. Write/debug library code
@ -229,8 +228,8 @@ anyone.
that begin with a slash and two asterices). But PLEASE, do not copy from
the Apple documentation or any other copyrighted documentation.
Helping develop GNUstep
-----------------------
1.2.3 Helping develop GNUstep
-----------------------------
There is plenty of unimplemented stuff in the gui library and backend
libraries that volunteers can work on - just browse through the code
@ -242,8 +241,8 @@ website.
Once you have coded something, you could always write a testcase and
documentation for it :-)
Helping document GNUstep
------------------------
1.2.4 Helping document GNUstep
------------------------------
All class documentation is written directly in the source code itself
and translated using the autogsdoc program. See the source code and
@ -265,21 +264,21 @@ format into gsdoc.
GNUstep documentation should have copyright assigned to the Free
Software Foundation.
How do I assign my contribution?
--------------------------------
1.2.5 How do I assign my contribution?
--------------------------------------
Everyone who contributes more than 20 lines of code or so needs to sign
a copyright assignment so that the FSF can have legal control of the
copyright. This makes it easier to defend against any copyright
infringement suits. Contact the GNUstep maintainer for instructions on
how to do this or download and fill out the form
<http://www.gnustep.org/resources/request-assign.future> (instructions
`http://www.gnustep.org/resources/request-assign.future' (instructions
are included).
How do I update the task list?
------------------------------
1.2.6 How do I update the task list?
------------------------------------
The task list (<http://savannah.gnu.org/pm/?group_id=99>) is supposed
The task list (`http://savannah.gnu.org/pm/?group_id=99') is supposed
to tell people what jobs are waiting to be done. Feel free to add to it
or update the tasks that are there (you need to create a login for
yourself first).
@ -311,8 +310,8 @@ bracketed in `#ifndef STRICT_MACOS_X'
There are a couple of people working on this already, so it's a good
idea to get in touch with Adam or Richard to coordinate efforts.
How do I start writing tests?
-----------------------------
1.2.7 How do I start writing tests?
-----------------------------------
You can write testcases - where the libraries fail tests, you could
either fix the problem, or add it to the task list.
@ -321,21 +320,23 @@ either fix the problem, or add it to the task list.
GNUstep sourcecode you can find. Then checkout the
'gnustep/tools/testsuite' module from svn.
How do I start writing applications?
------------------------------------
1.2.8 How do I start writing applications?
------------------------------------------
You can either look at the links on the GNUstep website for
applications that have been started, and email their owners to
volunteer to help, or you can start your own project.
How can I help with the GNUstep website?
----------------------------------------
1.2.9 How can I help with the GNUstep website?
----------------------------------------------
Talk to Adam Fedor <fedor@gnu.org>, the maintainer.
The GNUstep website is kept as a CVS module, but the largest portions
of it (the FAQ and the Documentation) are actually generated from files
in the individual GNUstep packages.
in the individual GNUstep packages. Many highly changeable portions
are kept on the Wiki, so anyone can change these (first you need to get
write access, though).
If you want to update the FAQ or documentation - grab the latest
snapshot of the GNUstep core you can find, update it from the svn
@ -344,22 +345,22 @@ directory.
If you want to work on other parts of the website, you can grab a
copy of the website via anonymous CVS. See
<http://savannah.gnu.org/cvs/?group_id=99> for instructions on how to
`http://savannah.gnu.org/cvs/?group_id=99' for instructions on how to
do that.
The main task with the website is to figure out which bits are
out-of-date (or wrong) and update/mark-as-outdated as required.
Why doesn't GDB support Objective-C?
------------------------------------
1.2.10 Why doesn't GDB support Objective-C?
-------------------------------------------
Um, it does. As of GDB 6.0, gdb supports debugging of Objective-C code.
GNU Objective C Compiler and Runtime
====================================
1.3 GNU Objective C Compiler and Runtime
========================================
What is the Objective C Runtime?
--------------------------------
1.3.1 What is the Objective C Runtime?
--------------------------------------
The Objective C Runtime Library provides C functions and data structures
required to execute an Objective C program.
@ -391,11 +392,11 @@ initialization of static instances (such as @""-style string objects).
be ported to the GNU runtime in the future.
GNUstep Base Library
====================
1.4 GNUstep Base Library
========================
What is the GNUstep Base Library?
---------------------------------
1.4.1 What is the GNUstep Base Library?
---------------------------------------
The GNUstep Base Library is a library of general-purpose, non-graphical
Objective C objects. For example, it includes classes for strings,
@ -407,8 +408,8 @@ random number generators.
It provides functionality that aims to implement the non-graphical
portion of the OpenStep standard (the Foundation library).
What is its current state of development?
-----------------------------------------
1.4.2 What is its current state of development?
-----------------------------------------------
GNUstep base is currently stable and, to the best of our knowledge,
implements all of the OpenStep functionality (except for a few classes
@ -416,8 +417,8 @@ that we feel are not useful). It also implements most all of the new
Cocoa classes. However we do some things, like scripting, differently,
so we don't implement all the Cocoa classes.
What are the features of GNU Distributed Objects?
-------------------------------------------------
1.4.3 What are the features of GNU Distributed Objects?
-------------------------------------------------------
GNU Distributed Objects has many of the features of other distributed
objects implementations, but, since it is free software, it can be
@ -443,11 +444,11 @@ GNU Proxy for the remote root object has a target address value just
like all other Proxy's, and you can change the root object as many
times as you like. ].
GNUstep GUI Library
===================
1.5 GNUstep GUI Library
=======================
What is the GUI Library?
------------------------
1.5.1 What is the GUI Library?
------------------------------
The GNUstep GUI Library is a library of objects useful for writing
graphical applications. For example, it includes classes for drawing
@ -462,8 +463,8 @@ context-dependent help, spell checking.
portion of the OpenStep standard. However the implementation has been
written to take advantage of GNUstep enhancements wherever possible.
Explain the organization of the front- and back-ends
----------------------------------------------------
1.5.2 Explain the organization of the front- and back-ends
----------------------------------------------------------
The GNUstep GUI Library is divided into a front- and back-end. The
front-end contains the majority of implementation, but leaves out the
@ -476,15 +477,15 @@ graphics/event platforms. Much work will be saved by this clean
separation between front- and back-end, because it allows different
platforms to share the large amount of front-end code.
What is the current state of development of the front-end?
----------------------------------------------------------
1.5.3 What is the current state of development of the front-end?
----------------------------------------------------------------
Many of the classes are well implemented, if not thoroughly tested.
See the GNUstep web sites and read status information contained in the
distribution for the most up-to-date information.
What is the current state of development of the back-ends?
----------------------------------------------------------
1.5.4 What is the current state of development of the back-ends?
----------------------------------------------------------------
There are several backends currently available:
@ -506,11 +507,11 @@ There are several backends currently available:
An up-and-coming backend. It still relies on unpublished functions
in the cairo library so using it is not for the beginner.
GNUstep DisplayGhostScript Server
=================================
1.6 GNUstep DisplayGhostScript Server
=====================================
What is the Display Ghostscript Server?
---------------------------------------
1.6.1 What is the Display Ghostscript Server?
---------------------------------------------
It is a free implementation of a Display PostScript server based on the
GNU Ghostscript program developed by Aladdin Enterprises and now owned
@ -521,8 +522,8 @@ the development of DGS has stopped as it is too difficult to maintain
and no one wanted to work on it. Now we are using other means of
drawing.
What is its current state of development?
-----------------------------------------
1.6.2 What is its current state of development?
-----------------------------------------------
GNU contracted with Aladdin Enterprises to add some key features to GNU
Ghostscript so it could be used as a DPS server. This work has mostly
@ -533,8 +534,8 @@ promised fees for the work that was actually done and delivered.) DGS
works fairly well with a single context. Alpha channel and compositing
doesn't work.
What is the relationship between the Display Ghostscript Server and X Windows?
------------------------------------------------------------------------------
1.6.3 What is the relationship between the Display Ghostscript Server and X Windows?
------------------------------------------------------------------------------------
Display Ghostscript runs on top of X Windows.

View file

@ -1,19 +1,19 @@
GNUstep HOWTO
*************
Last Update: 28 August 2006
Last Update: 11 April 2007
This document explains how to build the different components of the
GNUstep core libraries and GNUstep Launchpad.
Copyright (C) 1996 - 2002 Free Software Foundation, Inc.
Copyright (C) 1996 - 2007 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Public License, Version 1.0 or
any later version published by the Free Software Foundation.
Introduction
************
1 Introduction
**************
This document explains how to build the GNUstep core libraries. The
core libraries, along with associated tools and other files provide
@ -26,8 +26,8 @@ packages.
You will need at least 80Mb of hard disk space (150Mb prefered) in
order to compile the GNUstep core libraries.
Summary
*******
2 Summary
*********
In order to compile the libraries, you need to compile and install the
following packages first (if you don't already have them):
@ -80,7 +80,7 @@ are required.
support functions (iconv) come with glibc version 2.1 or greater.
If you don't have glibc (try iconv -version), you can get the
separate libiconv library from
<http://clisp.cons.org/~haible/packages-libiconv.html>. However,
`http://clisp.cons.org/~haible/packages-libiconv.html'. However,
neither one is required to use GNUstep.
`The TIFF library (libtiff) (Version 3.4beta36 or greater) (REQUIRED)'
@ -125,32 +125,31 @@ are required.
GNUstep and WindowMaker work together to provide a consistant
interface. Although it is not required, GNUstep will work much
better if you use it with the WindowMaker window manager. Get
WindowMaker from <http://www.windowmaker.info>.
WindowMaker from `http://www.windowmaker.info'.
`gnustep-objc package (for gcc version < 3.0 ONLY or MINGW/Cygwin) (RECOMMENDED)'
`gnustep-objc package (REQUIRED BUT ONLY for gcc version < 3.0 or MINGW/Cygwin)'
Note: Do not install this library unless you are sure you need it.
You probably don't need it except on MinGW and Cygwin (regardless
of the gcc version you have). This is a special version of the
Objective-C runtime that include several bug fixes and features
that were not in gcc versions previous to 3.0. It is available at
<ftp://ftp.gnustep.org/pub/gnustep/libs> which compiles using the
GNUstep Makefile package (so you don't have to get the entire gcc
dist). Make sure to set the THREADING variable in the GNUmakefile.
It's possible to compile the library static (make shared=no) and
just copy to the place where the gcc libobjc library is (type gcc
-v to get this location). Note you have to install gnustep-make
(below) before installing this library.
Objective-C runtime that is compiled as a shared library. It is
available at `ftp://ftp.gnustep.org/pub/gnustep/libs' which
compiles using the GNUstep Makefile package (so you don't have to
get the entire gcc dist). Make sure to set the THREADING variable
in the GNUmakefile. It's possible to compile the library static
(make shared=no) and just copy to the place where the gcc libobjc
library is (type gcc -v to get this location). Note you have to
install gnustep-make (below) before installing this library.
`GDB (OPTIONAL)'
GDB can be obtained from <ftp://ftp.gnu.org/gnu/gdb>. As of release
GDB can be obtained from `ftp://ftp.gnu.org/gnu/gdb'. As of release
6.0, gdb has special support for debugging Objective-C programs.
`TeX (OPTIONAL)'
You need a TeX implementation, like tetex, to compile some of the
documentation (although most of that is available on the web).
Compiling and Installing the packages
*************************************
3 Compiling and Installing the packages
***************************************
Get the following individual packages:
@ -162,7 +161,7 @@ Get the following individual packages:
* gnustep-back
See <http://www.gnustep.org> for information on where to get these
See `http://www.gnustep.org' for information on where to get these
packages.
Make sure you install (if necessary) all the previously mentioned
@ -176,37 +175,48 @@ instructions at the end of this document or appropriate README files in
the gnustep-make Documentation directory (such as README.MingW for
Windows).
Installing the Core Libraries
=============================
3.1 Installing the Core Libraries
=================================
The GNUstep packages uses the Autoconf mechanism for configuration; it
checks some host capabilties which are used by all GNUstep software.
To configure just type:
checks some host capabilities which are used by all GNUstep software.
The first package you will compile is gnustep-make. To configure
gnustep-make just type:
./configure
The GNUstep makefile package needs a root directory. If the
GNUSTEP_SYSTEM_ROOT environment variable is set then configure will
determine the root directory from its value (by removing the final
/System path component from it). You can also specify the root
directory when you run configure with the prefix paramater; the
following command makes /usr/local/GNUstep the root directory:
The GNUstep makefile package can be configured to use different types
of filesystem layouts. By default, GNUstep is installed with a GNUstep
filesystem layout into /usr/GNUstep. That is a good, recommended
default if you don't have an opinion on which filesystem layout to use.
But you can also install it somewhere else by using the prefix
parameter; the following command makes /usr/local/GNUstep the root
directory:
./configure --prefix=/usr/local/GNUstep
If you do not have the GNUSTEP_SYSTEM_ROOT environment variable set
and you do not specify a root directory when running configure, then
configure will use /usr/GNUstep as the default root directory.
You can also install GNUstep using an FHS layout (or some other
filesystem layout of your choice) by using the with-layout parameter;
the following command configures GNUstep to use the standard FHS (unix)
filesystem layout:
Alternate Library Setup
-----------------------
./configure --with-layout=fhs
In this document we will always present examples that assume that you
are using the default GNUstep filesystem layout in /usr/GNUstep. If
you are using a different layout, you will need to make the obvious
changes.
3.1.1 Alternate Library Setup
-----------------------------
Read the installation instructions in the Makefile package (make) for
more installation options. Make sure you use the same configuration
options when configuring each GNUstep library.
Building the Package
--------------------
3.1.2 Building the Package
--------------------------
To build the individual packages, use this familiar set of commands for
each pacakge (add any additional options you decide upon):
@ -215,7 +225,7 @@ each pacakge (add any additional options you decide upon):
make
make install
Start with the Makefile Pacakge (gnustep-make). After installing
Start with the Makefile Package (gnustep-make). After installing
gnustep-make you need to execute GNUstep's shell configuration script,
as follows:
@ -243,45 +253,70 @@ port is the one officially registered with IANA and is reserved for use
by gdomap - it should only be changed if you can't get your system
administrator to start the gdomap server using it.
Additional Installation
***********************
4 Additional Installation
*************************
Environment Setup
=================
4.1 Environment Setup
=====================
Add the shell script `GNUstep.sh' located in the Makefile package to
your shell startup file (such as `.profile'). For instance, if your
GNUSTEP_SYSTEM_ROOT is `/usr/GNUstep/System',
You need to make sure your environment is properly setup in order to
compile and run GNUstep software. The steps to setup your environment
differ slightly depending on your filesystem layout.
There is a way of setting up your environment that always works:
sourcing the `GNUstep.sh' shell script before using GNUstep. The shell
script `GNUstep.sh' is located in the Makefile package; you may want to
add it to your shell startup file (such as `.profile'). For instance,
if you installed GNUstep with the default GNUstep filesystem layout in
`/usr/GNUstep', then adding
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
in your `.profile' file will work (Note the period at the beginning
of the line, and the space between the period and the following path;
if your GNUSTEP_SYSTEM_ROOT is different, you need to replace
`/usr/GNUstep/System' with your GNUSTEP_SYSTEM_ROOT). It defines
environment variables that are needed to find GNUstep files and
executables. Users of csh need to use the `GNUstep.csh' script. Read
the make package `README' for more info. Some systems, like GNU/Linux
have an `/etc/profile.d' directory where scripts can be executed
automatically. If you want to set up GNUstep for every user on your
system, you can try copying/linking the `GNUstep.sh' there. For csh or
tcsh, try
if you installed GNUstep somewhere else, you need to replace
`/usr/GNUstep/System/Library/Makefiles' with the path to your
`GNUstep.sh' script). The script defines environment variables that
are needed to find GNUstep files and executables.
Users of csh need to use the `GNUstep.csh' script. Read the make
package `README' for more info. Some systems, like GNU/Linux have an
`/etc/profile.d' directory where scripts can be executed automatically.
If you want to set up GNUstep for every user on your system, you can
try copying/linking the `GNUstep.sh' there. For csh or tcsh, try
source /usr/GNUstep/System/Library/Makefiles/GNUstep.csh
GNUstep Home
============
Finally, in most filesystem configuration it's also possible to
manually set up your environment by setting PATH, the linker library
paths and the `GNUSTEP_MAKEFILES' variable (instead of using
`GNUstep.sh'). For example, on GNU/Linux (with a default GNUstep
installation), instead of sourcing `GNUstep.sh' you could manually add
the Tools directories to your PATH:
PATH="/usr/GNUstep/System/Tools:/usr/GNUstep/Local/Tools:$PATH"
manually add `/usr/GNUstep/System/Library/Libraries' and
`/usr/GNUstep/Local/Library/Libraries' to your `/etc/ld.so.conf' file
(don't forget to run `ldconfig' every time you install a library), and
set the environment variable `GNUSTEP_MAKEFILES' when you want to
compile something:
GNUSTEP_MAKEFILES=/usr/GNUstep/System/Library/Makefiles
4.2 GNUstep Home
================
Your home GNUstep directory should be created automatically the first
time you use a GNUstep tool or application. This is where user
defaults are kept as well as other user configuration files. User
installed apps, libraries, etc are also here (if the default user
directory is used). By default this is the directory `GNUstep' under
directory is used). By default this is the directory `GNUstep' under
your home directory, but you can change this (see the gnustep-make
installation documentation).
Time Zone
=========
4.3 Time Zone
=============
In most cases, GNUstep should be able to determine your time zone, if
you have already set it up correctly when setting up your computer.
@ -292,21 +327,21 @@ something like `defaults write NSGlobalDomain "Local Time Zone" GB'.
Where `GB' is a time zone abbreviation.
See
`$GNUSTEP_SYSTEM_ROOT/Library/Libraries/Resources/gnustep-bsae/NSTimeZones/zones'
for typical time zones):
`/usr/GNUstep/System/Library/Libraries/gnustep-base/Versions/1.14/Resources/NSTimeZones/zones/'
(or equivalent on your system depending on your filesystem layout) for
typical time zones.
GNUstep deamons
===============
4.4 GNUstep deamons
===================
Set up your system to execute some GNUstep deamons. If you don't do
this, they will be started automatically when you run your first GNUstep
app:
Set up your system to execute some GNUstep deamons. This is optional
because if you don't do this, they will be started automatically when
you run your first GNUstep app:
* gdomap - Put this in a system startup file, like `/etc/rc.local'
or `/etc/rc.d/rc.local' (customize for your system)
GNUSTEP_SYSTEM_ROOT=/usr/GNUstep/System
if [ -f $GNUSTEP_SYSTEM_ROOT/Tools/gdomap ]; then
$GNUSTEP_SYSTEM_ROOT/Tools/gdomap
if [ -f /usr/GNUstep/System/Tools/gdomap ]; then
/usr/GNUstep/System/Tools/gdomap
fi
* gdnc - Start after sourcing `GNUstep.sh' (e.g. in .profile)
@ -324,24 +359,24 @@ app:
fi
make_services
Test Tools and Applications
***************************
5 Test Tools and Applications
*****************************
Example applications are located in the gstep-examples package. To
make these, just uncompress and untar this package, cd to the
build these, just uncompress and untar this package, cd to the
appropriate directory, and type make. You will need to install the
GNUstep core libraries first before doing this.
To run the examples. Use the openapp utility that is part of the
GNUstep makefile package (and stored in `$GNUSTEP_SYSTEM_ROOT/Tools').
GNUstep makefile package (and stored in `/usr/GNUstep/System/Tools').
Usage is:
openapp application [additional arguments to app]
openapp application_name [additional arguments to app]
Good Luck!
Machine Specific Instructions
*****************************
6 Machine Specific Instructions
*******************************
\input texinfo
@ -358,8 +393,8 @@ although they may.
information about what you needed and any special instructions needed to
GNUstep <bug-gnustep@gnu.org>.
Compilers
=========
6.1 Compilers
=============
A recommended compiler is listed for each machine, if known. You should
try to use the recommended compiler for compiling GNUstep, as GNUstep
@ -384,14 +419,14 @@ GCC 2.96
cause mysterious errors. Not supported.
GCC 3.0.X
A fairly good compiler. Recommended.
A fairly good compiler.
GCC 3.1
Several bugs where introduced in the version. It's probably better
to avoid this one, although it might work fine.
GCC 3.2.X
Pretty good. Recommended.
Pretty good.
GCC 3.3.X
Recommended. Fixes some bugs relating to protocols as well as other
@ -409,6 +444,9 @@ GCC 4.0
GCC 4.0.1
Probably OK. This version should work on MacOSX.
GCC 4.1.X
4.1.0 and 4.1.1 don't work if you use precompiled headers.
If your having mysterious trouble with a machine, try compiling
GNUstep without optimization. Particularly in the newer GCC compilers,
optimization can break some code. The easiest way to do this is when
@ -416,7 +454,7 @@ configuring, `CFLAGS="" ./configure'. Or when building, `make
OPTFLAG=""'.
Also if you manually upgraded gcc and/or make, we recommend reading
the documentation at <http://www.LinuxFromScratch.org> for tips on
the documentation at `http://www.LinuxFromScratch.org' for tips on
compiling and installing gcc and make. If you had GNUstep previously
installed, make sure you completely remove all of it, including
installed init scripts.
@ -435,8 +473,15 @@ UNSTABLE
Has problems either building or running GNUstep or requires special
setp procedures to run correctly.
Darwin/ix86 (_Unsupported_)
===========================
6.2 CentOS/ix86 (_Supported_)
=============================
This RedHat variant is well-tested and well-supported (tested at least
up to CentOS release 4.4). For more information, please check the
section on RedHat/i386 below.
6.3 Darwin/ix86 (_Unsupported_)
===============================
Currently tested on Darwin 7.x
@ -457,12 +502,12 @@ EXTRA LIBS NEEDED
Use ffcall because libffi hasn't been ported to Darwin x86.
SPECIAL INSTRUCTIONS
Read the <README.Darwin> file in the gnustep-make/Documentation
Read the `README.Darwin' file in the gnustep-make/Documentation
directory for complete instructions.
Darwin/PowerPC (_Supported_)
============================
6.4 Darwin/PowerPC (_Supported_)
================================
This section is for building the complete GNUstep system. This system
will not interact at all with Mac OS X/Cocoa. It uses different
@ -471,54 +516,71 @@ extensions to be used with Mac OS X (for instance, if you want to build
something based on GNUstep, such as GSWeb or GNUMail), see the
MacOSX/PowerPC section.
Currently tested on Darwin 6.x, 7.x
Currently tested on Darwin 6.x, 7.x, 8.x
RECOMMENDED COMPILER
gcc 3.3.2 or greater 3.3.* versions. Older versions will not
compile on Darwin and 3.4.* versions don't support GNU runtime
gcc 4.x, gcc 3.3.2 or greater 3.3.* versions. Older versions will
not compile on Darwin and 3.4.* versions don't support GNU runtime
compilation on Darwin currently (The GCC bug report is
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11572).
Default compiler (Apple GCC) has unknown problems. Download the
FSF GCC compiler and configure it with -enable-threads=posix. You
don't need binutils or anything else. Use the GNU runtime. Make
sure to add
export CC=/usr/local/bin/gcc (use the correct path to FSF gcc)
Default compiler (Apple GCC) has problems, mostly because it tries
to link in Apple libraries that conflict with GNUstep. Get the
FSF gcc-4 compiler using fink or download the FSF GCC compiler and
configure it with -enable-threads=posix. You don't need binutils
or anything else. Use the GNU runtime. Make sure to add
export CC=gcc-4 (or use the correct path to FSF gcc)
so that the correct compiler is found
EXTRA LIBS NEEDED
Use libffi (not ffcall). This should be enabled by default in
gnustep-base so you don't have to type -enable-libffi. For 6.x,
you need the dlcompat library (from <www.opendarwin.org>) to load
bundles (not needed for 7.x).
you need the dlcompat library (from `www.opendarwin.org') to load
bundles (not needed for 7.x or later). libjpeg that comes with
fink conflicts with the Apple libraries and screw up other apps on
Mac OSX (like X11).
SPECIAL INSTRUCTIONS
Read the <README.Darwin> file in the gnustep-make/Documentation
directory for complete instructions.
Read the `README.Darwin' file in the gnustep-make/Documentation
directory for complete instructions. If you compiled FSF gcc by
hand, make sure to rename to GNU libobjc library to
libobjc-gnu.dylib
See also the MacOSX/PowerPC section
Debian/Alpha (_Unsupported_)
============================
6.5 Debian/Alpha (_Unsupported_)
================================
Debian/i386 (_Supported_)
=========================
6.6 Debian/i386 (_Supported_)
=============================
Tested on sid.
Debian/PowerPC (_Supported_)
6.7 Debian/em64t (_Supported_)
==============================
Tested on 'unstable'.
6.8 Debian/PowerPC (_Supported_)
================================
Tested on sid.
6.9 Debian/SPARC (_Release_)
============================
Tested on sid.
Debian/SPARC (_Release_)
========================
6.10 FedoraCore/ix86 (_Supported_)
==================================
Tested on sid.
This RedHat variant is well-tested and well-supported (tested at least
up to Fedora Core release 6). For more information, please check the
section on RedHat/i386 below.
FreeBSD 5.x (_Supported_)
=========================
6.11 FreeBSD 5.x (_Supported_)
==============================
Tested on 5.0, 5.1, 5.3
SPECIAL INSTRUCTIONS
@ -529,8 +591,8 @@ SPECIAL INSTRUCTIONS
For 5.3, there is a bug in libkvm that requires that /proc be
mounted. Use 'mount_procfs proc /proc' or see the procfs man page.
FreeBSD 4.x (_Unsupported_)
===========================
6.12 FreeBSD 4.x (_Unsupported_)
================================
SPECIAL INSTRUCTIONS
For gcc 3.0.4, make WANT_THREADS_SUPPORT=YES
@ -538,19 +600,19 @@ SPECIAL INSTRUCTIONS
For libxml2 2.4.24, make WITHOUT_PYTHON=YES
FreeBSD 3.x (_Obsolete_)
=========================
6.13 FreeBSD 3.x (_Obsolete_)
==============================
Compiles "out of the box" on FreeBSD 3.4.
SPECIAL INSTRUCTIONS
You need to use gmake not make to compile the GNUstep packages. A
special port of gdb can be used with the Objective-C patches from
<ftp://ftp.pcnet.com/users/eischen/FreeBSD/gdb-4.17-port.tar.gz>
`ftp://ftp.pcnet.com/users/eischen/FreeBSD/gdb-4.17-port.tar.gz'
The best compiler for GNUstep is the latest release of the GNU
Compiler Collection (GCC). You can find it at
<http://egcs.cygnus.com/>.
`http://egcs.cygnus.com/'.
If you want to use the native POSIX threads support from `libc_r'
pass `--enable-threads=posix' to configure. This is the
@ -574,8 +636,8 @@ SPECIAL INSTRUCTIONS
`CFLAGS="-I/usr/local/include"' and `LDFLAGS="-L/usr/local/lib"'.
FreeBSD 2.x (_Obsolete,Unstable_)
=================================
6.14 FreeBSD 2.x (_Obsolete,Unstable_)
======================================
SPECIAL INSTRUCTIONS
Only static libraries work on this system. Use /stand/sysinstall
@ -590,28 +652,28 @@ SPECIAL INSTRUCTIONS
GNUstep packages.
Gentoo/i686 (_Supported_)
=========================
6.15 Gentoo/i686 (_Supported_)
==============================
SPECIAL INSTRUCTIONS
libffi sometimes causes odd problems. Try to use ffcall.
Gentoo/PPC (_Supported_)
========================
6.16 Gentoo/PPC (_Supported_)
=============================
Gentoo/amd64 (_Unsupported_)
============================
6.17 Gentoo/amd64 (_Unsupported_)
=================================
32-bit mode only?
Gentoo/alpha (_Unsupported_)
============================
6.18 Gentoo/alpha (_Unsupported_)
=================================
Gentoo/sparc (_Unsupported_)
============================
6.19 Gentoo/sparc (_Unsupported_)
=================================
Irix 6.5/MIPS (_Unsupported_)
=============================
6.20 Irix 6.5/MIPS (_Unsupported_)
==================================
RECOMMENDED COMPILER
gcc 3.2.1
@ -631,8 +693,8 @@ SPECIAL INSTRUCTIONS
link the library by hand. No libffi-support: Use ffcall
MacOSX/PowerPC (_Release_)
==========================
6.21 MacOSX/PowerPC (_Release_)
===============================
This section is for building the GNUstep extensions only. Use this if,
for instance, if you want to build something based on GNUstep, such as
@ -651,7 +713,7 @@ EXTRA LIBS NEEDED
SPECIAL INSTRUCTIONS
Warning ! To know how to install a complete GNUstep system on Mac
OS X, read the Darwin/PowerPC section. By default, on Mac OS X,
only the GNUstep extensions are built. Read the <README.Darwin>
only the GNUstep extensions are built. Read the `README.Darwin'
file in the gnustep-make/Documentation directory for complete
instructions.
@ -677,13 +739,13 @@ SPECIAL INSTRUCTIONS
See also the Darwin/PowerPC section.
MkLinux/PowerPC (_Unsupported_)
===============================
6.22 MkLinux/PowerPC (_Unsupported_)
====================================
Tested with R2 RC2 (2004/03/04).
NetBSD/i386 (_Release_)
=======================
6.23 NetBSD/i386 (_Release_)
============================
Tested on NetBSD 2.0.2 (2005/04/15)
@ -699,8 +761,8 @@ SPECIAL INSTRUCTIONS
works fine (over ffcall).
NetBSD/Sparc64 (_Unstable_)
============================
6.24 NetBSD/Sparc64 (_Unstable_)
=================================
Tested on NetBSD 2.0.2 (2005/04/15)
@ -718,8 +780,8 @@ SPECIAL INSTRUCTIONS
gdomap crashes. Perhaps other things do not work as well.
Netwinder (_Unstable_)
======================
6.25 Netwinder (_Unstable_)
===========================
RECOMMENDED COMPILER
Build #12 of the system.
@ -728,17 +790,17 @@ EXTRA LIBS NEEDED
Unknown
SPECIAL INSTRUCTIONS
See <http://www.netwinder.org/~patrix>
See `http://www.netwinder.org/~patrix'
OpenBSD 3.9 (_Unsupported_)
============================
6.26 OpenBSD 3.9 (_Unsupported_)
=================================
Information for version 3.9 (2006/08/13)
Ports at <http://mail.rochester.edu/~asveikau/gnustep-openbsd/>
Ports at `http://mail.rochester.edu/~asveikau/gnustep-openbsd/'
OSF/Alpha (_Needs Testing, Unstable_)
======================================
6.27 OSF/Alpha (_Needs Testing, Unstable_)
===========================================
Information is for Version 3.2C
@ -758,14 +820,30 @@ SPECIAL INSTRUCTIONS
GNUmakefile(.preamble).
RedHat/Intel (_Unsupported_)
============================
6.28 RedHat/i386 (_Supported_)
==============================
Slackware/Intel (_Unsupported_)
===============================
RedHat and variants/clones such as Fedora Core and CentOS are all very
well supported and are regularly tested with all GNUstep releases.
Slackware/Sparc (Splack) (_Unsupported_)
========================================
RECOMMENDED COMPILER
The default compiler works very well.
EXTRA LIBS NEEDED
All extra libs needed are easily available from standard packages;
the only tricky one is ffcall. If you don't find an RPM for that
one, download it directly from the GNUstep web site
(http://www.gnustep.org).
SPECIAL INSTRUCTIONS
None.
6.29 Slackware/Intel (_Unsupported_)
====================================
6.30 Slackware/Sparc (Splack) (_Unsupported_)
=============================================
Tested with Spalck 8.0 (2005/03/01)
@ -779,8 +857,8 @@ SPECIAL INSTRUCTIONS
Tested on an ultra sparc server, kernel 2.4.27, XF86-4.0.3
Solaris 2.5.1/Sparc (_Obsolete_)
================================
6.31 Solaris 2.5.1/Sparc (_Obsolete_)
=====================================
This configuration is no longer being tested, but it may still work.
@ -793,10 +871,10 @@ EXTRA LIBS NEEDED
SPECIAL INSTRUCTIONS
See the Solaris 2.6 section for more instructions.
Solaris 2.[678]/Sparc (_Supported_)
===================================
6.32 Solaris 2.[678]/Sparc (_Supported_)
========================================
Tested on Solaris version 6, 7, and 8
Tested on Solaris version 6, 7, 8 and 9
RECOMMENDED COMPILER
gcc 3.2.1 or greater gcc 3.04. Not 3.1 - does not compile parts of
@ -821,8 +899,8 @@ the _REENTRANT flag defined (This does not seem to be true by default).
Or use the gnustep-objc package. Also make sure THREADS is set to
'posix' not 'solaris'.
Solaris 2.7/Intel (_Unsupported_)
=================================
6.33 Solaris 2.7/Intel (_Unsupported_)
======================================
RECOMMENDED COMPILER
Unknown.
@ -841,8 +919,8 @@ SPECIAL INSTRUCTIONS
instructions above for more information.
Suse 6.x/Intel (_Obsolete_)
===========================
6.34 Suse 6.x/Intel (_Obsolete_)
================================
GNUstep has been tested on version 6.2-6.4 of Suse
@ -859,8 +937,8 @@ SPECIAL INSTRUCTIONS
working.
Suse/Intel (_Supported_)
========================
6.35 Suse/Intel (_Supported_)
=============================
GNUstep has been tested on version 7.0, 8.0, 8.1, 8.2, 9.0, 9.1, 9.3,
and 10.1 of Suse
@ -877,8 +955,8 @@ SPECIAL INSTRUCTIONS
Suse 10.1 does not work with the x11 backend.
Suse 7.x/PPC (_Unsupported_)
============================
6.36 Suse 7.x/PPC (_Unsupported_)
=================================
GNUstep has been tested on version 7.0 of Suse/PPC
@ -891,8 +969,8 @@ EXTRA LIBS NEEDED
SPECIAL INSTRUCTIONS
Unixware-2.1.3/Intel (_Unsupported_)
====================================
6.37 Unixware-2.1.3/Intel (_Unsupported_)
=========================================
RECOMMENDED COMPILER
Unknown
@ -919,7 +997,7 @@ EXTRA LIBS NEEDED
flex
binutils (required by gcc if you want to debug)
gcc-2.8.1
(configure --with-gnu-as --with-gnu-ld --with-stabs)
(configure -with-gnu-as -with-gnu-ld -with-stabs)
NB. gcc-2.8.1 needs a fix to __do_global_dtors_aux()
in crtstuff.c on Unixware 2.1.3
(and possibly other unixware versions)
@ -931,16 +1009,16 @@ EXTRA LIBS NEEDED
{
static func_ptr *p = __DTOR_LIST__ + 1;
static int completed = 0;
if (completed)
return;
while (*p)
{
p++;
(*(p-1)) ();
}
#ifdef EH_FRAME_SECTION_ASM_OP
__deregister_frame_info (__EH_FRAME_BEGIN__);
#endif
@ -983,15 +1061,15 @@ EXTRA LIBS NEEDED
If you don't set gdomap up correctly, Distributed Objects will not
work.
Windows with CYGWIN (_Unsupported_)
===================================
6.38 Windows with CYGWIN (_Unsupported_)
========================================
RECOMMENDED COMPILER
gcc 3.3.1 or later (with libobjc and libjava (if using libffi))
EXTRA LIBS NEEDED
Objective-C library DLL
(<ftp://ftp.gnustep.org/pub/gnustep/windows/cygwin>) for shared
(`ftp://ftp.gnustep.org/pub/gnustep/windows/cygwin') for shared
libs. It's a good idea to remove the libobjc.a that comes with gcc
(gcc -v for location) so that it isn't accidentally found. For
ffcall, you should get version 1.8b or above (the earlier ones
@ -1002,11 +1080,11 @@ EXTRA LIBS NEEDED
SPECIAL INSTRUCTIONS
Make sure you have good shared libraries for everthing. Sometimes
a bad shared library (like libtiff) will cause odd and untraceable
problems. See <README.Cygwin> for information on compiling.
problems. See `README.Cygwin' for information on compiling.
Windows with MinGW (_Supported_)
================================
6.39 Windows with MinGW (_Supported_)
=====================================
RECOMMENDED COMPILER
See below.
@ -1015,36 +1093,36 @@ EXTRA LIBS NEEDED
See below.
SPECIAL INSTRUCTIONS
See the <README.MinGW> file located in the gnustep-make
See the `README.MinGW' file located in the gnustep-make
Documentation directory for instructions. Windows NT/2000/XP only.
Win98 machines and earlier are very buggy and are not supported.
Native GUI backend is alpha version.
Yellowdog/PowerPC (_Unsupported_)
=================================
6.40 Yellowdog/PowerPC (_Unsupported_)
======================================
Getting Libraries via SVN
*************************
7 Getting Libraries via SVN
***************************
If you didn't get one of the snapshots, or if you want to be sure to
stay on the bleading edge, then you should get the libraries via SVN. Go
to <http://www.gnustep.org/resources/sources.html> for information on
to `http://www.gnustep.org/resources/sources.html' for information on
how to get the sourcecode.
If you haven't already done so, change to the directory, where you
want the source to reside. To get a list of potential modules to check
out, type
cvs -z3 checkout -c
want the source to reside. To checkout all of the GNUstep repository,
type
svn co http://svn.gna.org/svn/gnustep/modules
For instance, to check our `core', which contains all the GNUstep
code libraries:
cvs -z3 checkout core
To check out only the `core', which contains all the GNUstep core
libraries:
svn co http://svn.gna.org/svn/gnustep/modules/core
After you have checked out the source you can compile it as usual.
To update the source, go into the directory of the source tree you want
to update, for example, go into 'base', and type:
cvs -z3 update -Pd
svn update
You don't have to re-checkout after you have the source, just update!

183
NEWS
View file

@ -1,10 +1,63 @@
NEWS
****
1 NEWS
******
The currently released version is `1.13.0'.
The currently released version is `2.0.0'.
Changes in version `1.13.0'
===========================
1.1 Changes in version `2.0.0'
==============================
The Makefile package has had a major makover which befits a major
version update. The most user-visible change of this is customized
filesystem support. GNUstep can now be configured and installed using
any of many typical filesystem layouts, including FHS, Mac, and the
traditional GNUstep layout.
Due to this change a number of variable names have been changed or
deprecated. If you are a developer maintaining makefiles, you should
check your makefiles for these variables. Most notibly, variabels such
as `GNUSTEP_SYSTEM_ROOT' no longer make any sense, as various
directories that were previously in a traditional GNUstep system root
directory exist accross multiple directories in disparate places in
other filesystem layouts.
If you are a user or developer that is just installing GNUstep, read
the `GNUstep-HOWTO' and `INSTALL' documents to find out new information
about configuring and installing make.
If you are a developer, read the files `filesystem' and `make' for
information on new and changed variables.
Various changes include:
* New configure option `--with-layout' to choose different
filesystem layouts.
* All applications use the `.app' extension even when compiled with
debugging or profiling.
* Precompiled header support added using
xxx_OBJC_PRECOMPILED_HEADERS.
* gnustep-config is a program which prints out information on the
GNUstep filesystem and variables (Similar to programs like
pkg-config).
* Applications can be started now just using their name (by
installing a wrapper in the tools directory).
* Versioning of Microsoft Windows DLLs implemented.
* Use of `GNUSTEP_SYSTEM_ROOT' and similar variables deprecated. Use
instead `GNUSTEP_INSTALLATION_DOMAIN' and `SYSTEM' or `LOCAL'
* Implement use of GNU standard `DESTDIR' variable.
* Object files are now placed in the `obj' directory.
* Static and profile libraries have the same name as normal
libraries.
1.2 Changes in version `1.13.0'
===============================
Debug libraries now have the same name as normal libraries (i.e. no "_d"
suffix). This reduces the possiblity of multiple libraries being loaded
@ -16,13 +69,13 @@ into the same executable.
make package (e.g. with Windows OS). The libraries can still use native
paths.
Changes in version `1.12.0'
===========================
1.3 Changes in version `1.12.0'
===============================
Minor fixes.
Changes in version `1.11.2'
===========================
1.4 Changes in version `1.11.2'
===============================
The `GNUstep.conf' file is now viewed as the essential determination of
the install location for GNUstep libraries, tools and other files.
@ -51,8 +104,8 @@ rules.
files in the xxx_OBJCC_FILES variable, and put extra ObjC++ flags in
xxx_OBJCCFLAGS or ADDITIONAL_OBJCCFLAGS.
Changes in version `1.11.1'
===========================
1.5 Changes in version `1.11.1'
===============================
Part of the previous change was reversed. Now libobjc is still linked
with individual applications (as well as the base library), since some
@ -62,8 +115,8 @@ there is no need to recompile all applications again.
Compilation of GNUstep on cygwin was revampled and fixed due to a
lot of work by Tom MacSween.
Changes in version `1.11.0'
===========================
1.6 Changes in version `1.11.0'
===============================
NOTE: The libobjc library is now linked in with the base library and
NOT with individual applications or tools (except on MingW). This
@ -85,8 +138,8 @@ apps when switching to this new version.
* Support for xxx_WINDRES_FILES on MinGW was implemented.
Changes in version `1.10.0'
===========================
1.7 Changes in version `1.10.0'
===============================
* a GNUsteprc file is now automatically created and installed in
$GNUSTEP_SYSTEM_ROOT, which sets the system-wide default for the
@ -104,15 +157,15 @@ Changes in version `1.10.0'
configure to enable use of built in objc exceptions with compilers
that support it.
Changes in version `1.9.2'
==========================
1.8 Changes in version `1.9.2'
==============================
* Application and Bundles use the latest convention on Apple.
* Improve/Simplify dependency checking when making docs
Changes in version `1.9.1'
==========================
1.9 Changes in version `1.9.1'
==============================
* Remove `--disable-import' option
@ -120,8 +173,8 @@ Changes in version `1.9.1'
* Framework version and naming clarified.
Changes in version `1.9.0'
==========================
1.10 Changes in version `1.9.0'
===============================
* Support for building in a separate build dir.
@ -129,8 +182,8 @@ Changes in version `1.9.0'
* List of classes in a framework gets written to the plist file.
Changes in version `1.8.0'
==========================
1.11 Changes in version `1.8.0'
===============================
Read the NEWS file for a complete list of changes since the last stable
release. The major difference from 1.6.0 is that the locations of
@ -138,20 +191,20 @@ certain directories have changed. Generally this will not cause a
problem unless your GNUstep directory is shared by multiple machines
running this and earlier (1.6.x) versions of the software.
Changes in version `1.7.4'
==========================
1.12 Changes in version `1.7.4'
===============================
Bug fixes.
Changes in version `1.7.3'
==========================
1.13 Changes in version `1.7.3'
===============================
* Adds library combo to Headers directory if not flattened.
* Add Markup file (Renaissance) support.
Changes in version `1.7.2'
==========================
1.14 Changes in version `1.7.2'
===============================
-enable-flattened (Flat directory structure) is on by default.
@ -159,13 +212,13 @@ Changes in version `1.7.2'
* netbsd and openbsd compile fixes.
Changes in version `1.7.1'
==========================
1.15 Changes in version `1.7.1'
===============================
Bug fixes.
Changes in version `1.7.0'
==========================
1.16 Changes in version `1.7.0'
===============================
This version contains a major change in the location of certain
directories and installed files as detailed in the `filesystem.texi'
@ -179,8 +232,8 @@ incompatibilities.
* Support for preprocessed Info.plists.
Changes in version `1.6.0'
==========================
1.17 Changes in version `1.6.0'
===============================
Make now configures by default for only one system. To compile and run
GNUstep for multiple platforms from the same directory, use the
@ -193,8 +246,8 @@ configure argument -enable-multi-platform.
* More efficient checks for re-making a project.
Changes in version `1.5.1'
==========================
1.18 Changes in version `1.5.1'
===============================
* Framework support rewritten, also supports multiple names.
@ -213,18 +266,18 @@ Changes in version `1.5.1'
* API change: TOOL_INSTALL_DIR.
Changes in version `1.5.0'
==========================
1.19 Changes in version `1.5.0'
===============================
* Add NetBSD Elf support
Changes in version `1.4.0'
==========================
1.20 Changes in version `1.4.0'
===============================
* Update Darwin/GNU gcc and Irix targets
Changes in version `1.3.4'
==========================
1.21 Changes in version `1.3.4'
===============================
This is a first prerelease version for 1.4.
@ -236,15 +289,15 @@ This is a first prerelease version for 1.4.
* Add verbosity levels. Use make messages=yes for full messages.
Changes in version `1.3.3'
==========================
1.22 Changes in version `1.3.3'
===============================
* Recognizes XXX_STANDARD_INSTALL=no to not do installation.
* Updated instructions for MingW/MSYS installation.
Changes in version `1.3.2'
==========================
1.23 Changes in version `1.3.2'
===============================
* Instructions for building on Windows with MSYS
@ -254,8 +307,8 @@ Changes in version `1.3.2'
* Continued reorganization.
Changes in version `1.3.0'
==========================
1.24 Changes in version `1.3.0'
===============================
The package has gone through an extensive reorganization to break up
each sub-make into two separate components. This allows for much
@ -277,8 +330,8 @@ effect, it also increased the speed of the code by at least a factor of
* Fixes for MacOSX, MingW
Changes in version `1.2.1'
==========================
1.25 Changes in version `1.2.1'
===============================
* the source distribution code has been rewritten to be more general
and extended. Packages built using gnustep-make now automatically
@ -295,8 +348,8 @@ Changes in version `1.2.1'
* various bug fixes and minor improvements.
Changes in version `1.2.0'
==========================
1.26 Changes in version `1.2.0'
===============================
* The core rules and internals of gnustep-make have been
fundamentally redesigned and rewritten. notably, gnustep-make now
@ -323,8 +376,8 @@ Changes in version `1.2.0'
* Much improved Windows path support
Changes in version `1.0.1'
==========================
1.27 Changes in version `1.0.1'
===============================
* Support for Java tools.
@ -334,8 +387,8 @@ Changes in version `1.0.1'
* Fixes to run on FreeBSD, Solaris.
Changes in version `1.0.0'
==========================
1.28 Changes in version `1.0.0'
===============================
* Optimizations that in many cases more than double the speed.
@ -345,15 +398,15 @@ Changes in version `1.0.0'
* Better checking for mingw and cygwin
Changes in version `0.9.2'
==========================
1.29 Changes in version `0.9.2'
===============================
* HOWTO and faq files moved from core package to here
* Configurable GNUSTEP_LOCAL_ROOT and GNUSTEP_NETWORK_ROOT
Changes in version `0.9.1'
==========================
1.30 Changes in version `0.9.1'
===============================
Make has been reoganized so that it only relies on libraries and other
things that are necessary for the Makefile package itself. Any
@ -367,8 +420,8 @@ simplifies compilation and packaging.
* RPM support rewritten from scratch.
Changes in version `0.9.0'
==========================
1.31 Changes in version `0.9.0'
===============================
ffcall library is highly recommended for use with the GNUstep base
library. You need to have installed it prior to configuring the Makefile
@ -384,8 +437,8 @@ package. See the INSTALL file.
* Added support for Frameworks
Noteworthy changes in version `0.6.6'
=====================================
1.32 Noteworthy changes in version `0.6.6'
==========================================
The GNUstep system libraries are now installed in a separate system root
directory (default /usr/GNUstep/System) rather than the GNUstep root

24
README
View file

@ -1,10 +1,10 @@
GNUstep makefile package
************************
1 GNUstep makefile package
**************************
Here is some introductory info to get you started:
What is the GNUstep makefile package?
=====================================
1.1 What is the GNUstep makefile package?
=========================================
The makefile package is a simple, powerful and extensible way to write
makefiles for a GNUstep-based project. It allows the user to write a
@ -12,8 +12,8 @@ project without having to deal with the complex issues associated with
configuration, building, installation, and packaging. It also allows
the user to easily create cross-compiled binaries.
Information
===========
1.2 Information
===============
The file `NEWS' has this packages feature history.
@ -25,8 +25,8 @@ various machine specific READMEs in the Documentation directory.
design of the Makefile system and how to write your own makefiles that
work with it.
License
=======
1.3 License
===========
The GNUstep libraries are covered under the GNU Lesser Public License.
This means you can use these libraries in any program (even non-free
@ -41,8 +41,8 @@ as well. You should read the COPYING file for more information.
The GNUstep make package is licensed under the GNU GPL.
History
=======
1.4 History
===========
The GNUstep makefile package was designed by Scott Christley and Ovidiu
Predescu.
@ -58,8 +58,8 @@ procedures to increase the speed of the package by over a factor of 7.
He also rewrote much of the rest of the system to make it simpler and
more effective.
How can you help?
=================
1.5 How can you help?
=====================
* Give us feedback! Tell us what you like; tell us what you think
could be better. Send bug reports to <bug-gnustep@gnu.org>.

View file

@ -2,9 +2,9 @@
# Compatible with Bourne shell syntax, so it can included there too.
# The version number of this release.
GNUSTEP_MAKE_MAJOR_VERSION=1
GNUSTEP_MAKE_MINOR_VERSION=98
GNUSTEP_MAKE_SUBMINOR_VERSION=2
GNUSTEP_MAKE_MAJOR_VERSION=2
GNUSTEP_MAKE_MINOR_VERSION=0
GNUSTEP_MAKE_SUBMINOR_VERSION=0
GNUSTEP_MAKE_VERSION=${GNUSTEP_MAKE_MAJOR_VERSION}.${GNUSTEP_MAKE_MINOR_VERSION}.${GNUSTEP_MAKE_SUBMINOR_VERSION}