mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Version 1.3.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@13115 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
1f73722085
commit
28e6d8a6b8
10 changed files with 301 additions and 521 deletions
31
ANNOUNCE
31
ANNOUNCE
|
@ -1,7 +1,7 @@
|
|||
Announcement
|
||||
************
|
||||
|
||||
The GNUstep Makefile Package version 1.2.1 is now available.
|
||||
The GNUstep Makefile Package version 1.3.0 is now available.
|
||||
|
||||
What is the GNUstep makefile package?
|
||||
=====================================
|
||||
|
@ -12,28 +12,33 @@ write a 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.2.1'
|
||||
Changes in version `1.3.0'
|
||||
==========================
|
||||
|
||||
* the source distribution code has been rewritten to be more general
|
||||
and extended. Packages built using gnustep-make now automatically
|
||||
have handy targets building tarballs from sources or from CVS
|
||||
imports.
|
||||
The package has gone through an extensive reorganization to break up
|
||||
each sub-make into two separate components. This allows for much
|
||||
simplified code and lots of code sharing between components. As a side
|
||||
effect, it also increased the speed of the code by at least a factor of
|
||||
2.
|
||||
|
||||
* implemented support for auto-dependencies, which means that any
|
||||
object file automatically depends on all the header files which
|
||||
were used to build it. Only works with newer compilers.
|
||||
* Force shared=yes for cygwin and mingw
|
||||
|
||||
* implemented INSTALL_AS_USER and INSTALL_AS_GROUP.
|
||||
* Bundles copy resources from subprojects.
|
||||
|
||||
* implemented a strip=yes option.
|
||||
* Better resource management. Resources handled accross all project
|
||||
types.
|
||||
|
||||
* various bug fixes and minor improvements.
|
||||
* Simplified and fixed user root location between make and base
|
||||
libraries.
|
||||
|
||||
* Changed Apps directory to Applications
|
||||
|
||||
* Fixes for MacOSX, MingW
|
||||
|
||||
Obtaining gnustep-make
|
||||
======================
|
||||
|
||||
You can get the gstep-make-1.2.1.tar.gz distribution file at
|
||||
You can get the gstep-make-1.3.0.tar.gz distribution file at
|
||||
<ftp://ftp.gnustep.org/pub/gnustep/core>
|
||||
|
||||
Please send bug reports to <bug-gnustep@gnu.org>.
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2002-03-14 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Version: 1.3.0
|
||||
* Documentation/README.MinGW: Minor formatting.
|
||||
* README, ANNOUNCE, GNUstep-HOWTO, ...: Regenerate.
|
||||
|
||||
2002-03-13 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Documentation/gnustep-howto.texi: Update.
|
||||
|
|
|
@ -27,27 +27,23 @@ Probably background file handle operations (other than networking) and
|
|||
advanced parts of NSTask code do not currently work.
|
||||
|
||||
|
||||
|
||||
PRELIMINARIES
|
||||
-------------
|
||||
|
||||
Before we start, we need to get some preliminary windoze software -
|
||||
a tool for fetching source code via CVS.
|
||||
|
||||
If you don't want to use windows tools for this ... you can get the
|
||||
latest cygwin distribution and use the cvs client in that - the following is
|
||||
for people qho don't want to download all that cygwin stuff.
|
||||
If you don't want to use windows tools for this, you can get the
|
||||
latest cygwin distribution and use the cvs client in that. The following is
|
||||
for people who don't want to download all that cygwin stuff.
|
||||
|
||||
To get stuff from CVCS you can download and install WinCVS ... which you
|
||||
can find at http://sourceforge.net/projects/cvsgui
|
||||
|
||||
You will need to be a system administrator on your machine to install
|
||||
this software.
|
||||
To get stuff from CVS you can download and install WinCVS ... which
|
||||
you can find at http://sourceforge.net/projects/cvsgui You will need
|
||||
to be a system administrator on your machine to install this software.
|
||||
You should be able to use it without changing/setting any special
|
||||
configuration options.
|
||||
|
||||
|
||||
|
||||
Installing and setting up MINGW and MSYS
|
||||
----------------------------------------
|
||||
|
||||
|
@ -62,14 +58,13 @@ This will unpack the mingw source tree within the msys hierarchy.
|
|||
Unpacking mingw into the correct location within msys will ensure that the
|
||||
path set up in /etc/profile in msys picks up the mingw tools too.
|
||||
|
||||
Remove the mingw make.exe file ... mingw make is not good.
|
||||
Remove the mingw make.exe file - mingw make is not good.
|
||||
Rename the msys gmake.exe to make.exe, so we will use this make program.
|
||||
|
||||
It's a good idea to remove the libobjc.a and include/objc header that come
|
||||
with gcc (gcc -v for location) so that they are not accidentally found
|
||||
instead of the libobjc DLL that you will compile below.
|
||||
|
||||
|
||||
Now you can double click on the c:/msys/version-number/bin/sh program to
|
||||
open a window containing a shell.
|
||||
|
||||
|
@ -79,55 +74,53 @@ to point to the home directory you wish to work from (though the defaults
|
|||
may be ok for you).
|
||||
NB. This home directory for building software must *not* contain spaces.
|
||||
|
||||
From this window we can now start building things...
|
||||
|
||||
|
||||
From this window we can now start building things.
|
||||
|
||||
Obtaining GNUstep
|
||||
-----------------
|
||||
|
||||
The main GNUstep project pages tell you how to get hold of this.
|
||||
The main GNUstep project pages tell you how to get hold of this. You can get
|
||||
the latest release of the following libraries. However, since MinGW support
|
||||
is currently evolving, we recommend that you get the latest snapshot
|
||||
or code from CVS.
|
||||
|
||||
You need things in the following order -
|
||||
You need things in the following order:
|
||||
|
||||
GNUstep-make (cvs core module)
|
||||
GNUstep-make (release, snapshot, or cvs core module)
|
||||
libffcall (http://ftp.gnustep.org/pub/gnustep/lib)
|
||||
GNUstep-libobjc (cvs dev-apps module)
|
||||
GNUstep-base (cvs core module)
|
||||
|
||||
If you can't get the latest CVS code, recent snapshots might work by the
|
||||
time you read this (at 11-Mar-2002 they won't)
|
||||
|
||||
GNUstep-libobjc (release, snapshot, or cvs dev-apps module)
|
||||
GNUstep-base (release, snapshot, or cvs core module)
|
||||
|
||||
|
||||
Setting up the GNUstep make environment
|
||||
---------------------------------------
|
||||
|
||||
In the core/make package, do 'configure --prefix=C:/GNUstep'
|
||||
You can of course use a different prefix to install the GNUstep system in
|
||||
an alternative location, but it is important that the path you use is a
|
||||
full windows style path with a drive letter and colon at the start of it.
|
||||
This is because, while the msys shell and other tools automatically map
|
||||
unix style paths to windows paths, the mingw compiler does not!
|
||||
In the GNUstep-make (core/make) package, do 'configure
|
||||
--prefix=C:/GNUstep' You can of course use a different prefix to
|
||||
install the GNUstep system in an alternative location, but it is
|
||||
important that the path you use is a full windows style path with a
|
||||
drive letter and colon at the start of it. This is because, while the
|
||||
msys shell and other tools automatically map unix style paths to
|
||||
windows paths, the mingw compiler does not!
|
||||
|
||||
IMPORTANT ... bear this in mind. The msys tools all handle unix style
|
||||
paths and map them to windows style paths internally. The mingw tools
|
||||
only handle windows style paths. In particular this means that where
|
||||
absolute paths are given for commands within makefiles, and where paths
|
||||
for headers and libraries are supplied to the compiler, these paths must
|
||||
be in windows format, not unix format!!!
|
||||
The big place where things go wrong is with configure .... the configure
|
||||
script may use the msys shell and other tools to locate binaries etc, and
|
||||
the msys tools will supply those locations as unix style paths. If the
|
||||
configure script then causes those paths to be built in to makefiles, the
|
||||
make process is likely to fall over.
|
||||
IMPORTANT: The msys tools all handle unix style paths and map them to
|
||||
windows style paths internally. The mingw tools only handle windows
|
||||
style paths. In particular this means that where absolute paths are
|
||||
given for commands within makefiles, and where paths for headers and
|
||||
libraries are supplied to the compiler, these paths must be in windows
|
||||
format, not unix format!!! The big place where things go wrong is
|
||||
with configure. The configure script may use the msys shell and other
|
||||
tools to locate binaries etc, and the msys tools will supply those
|
||||
locations as unix style paths. If the configure script then causes
|
||||
those paths to be built in to makefiles, the make process is likely to
|
||||
fall over.
|
||||
|
||||
Now you can type 'make install' to build and install the make package.
|
||||
|
||||
Once this is done, type '. GNUstep.sh' to set up your GNUstep environment.
|
||||
The environment for building software is now completely set up ... but for
|
||||
ease of use later, you might set up a script to be used to set up any new
|
||||
shell windows you create. Something like this -
|
||||
Once this is done, type '. GNUstep.sh' to set up your GNUstep
|
||||
environment. The environment for building software is now completely
|
||||
set up, but for ease of use later, you might set up a script to be
|
||||
used to set up any new shell windows you create. Something like this:
|
||||
|
||||
. /etc/profile
|
||||
export HOMEDRIVE=C:
|
||||
|
@ -142,16 +135,16 @@ Building and installing FFCALL
|
|||
|
||||
The next priority is to get the ffcall library built and installed.
|
||||
You should get the latest ffcall archive from
|
||||
http://ftp.gnustep.org/pub/gnustep/libs
|
||||
Currently this is ffcall-1.8d.tar.gz
|
||||
http://ftp.gnustep.org/pub/gnustep/libs. Currently this is
|
||||
ffcall-1.8d.tar.gz
|
||||
|
||||
Ignore any other instructions for builting this ...
|
||||
|
||||
First, rename the msys/version-number/bin/ln.exe file ...
|
||||
this program creates 'symbolic links' using windows 'shortcuts' ...
|
||||
but some tools like the compiler won't follow them - so renaming this
|
||||
program forces configure scripts to use the 'cp' program instead.
|
||||
If you don't do this, the configure scripts for ffcall will produce
|
||||
First, rename the msys/version-number/bin/ln.exe file ... this
|
||||
program creates 'symbolic links' using windows 'shortcuts' ... but
|
||||
some tools like the compiler won't follow them - so renaming this
|
||||
program forces configure scripts to use the 'cp' program instead. If
|
||||
you don't do this, the configure scripts for ffcall will produce
|
||||
makefiles which won't work properly!
|
||||
|
||||
Next, in the shell window in which you have set up your GNUstep
|
||||
|
@ -159,20 +152,19 @@ environment, type
|
|||
|
||||
RANLIB=touch ./configure --prefix=`$GNUSTEP_MAKEFILES/fixpath.sh -u $GNUSTEP_SYSTEM_ROOT`
|
||||
|
||||
We use 'touch' as a substitute for 'ranlib', as windows does not
|
||||
have (and does not need) ranlib.
|
||||
We provided the installation prefix as a unix style pathname ...
|
||||
since the libtool scripts barf on windows style paths.
|
||||
We use 'touch' as a substitute for 'ranlib', as windows does not have
|
||||
(and does not need) ranlib. We provided the installation prefix as a
|
||||
unix style pathname, since the libtool scripts barf on windows style
|
||||
paths.
|
||||
|
||||
Having configured the ffcall library, you can now build and install
|
||||
it simply by typing -
|
||||
it simply by typing:
|
||||
|
||||
make install
|
||||
|
||||
Finally, rename the ln.exe program back into place.
|
||||
|
||||
|
||||
|
||||
Building and installing libobjc
|
||||
-------------------------------
|
||||
|
||||
|
@ -180,25 +172,21 @@ Despite the statement in the GNUstep-HOWTO, even if you have a 3.x
|
|||
compiler, you still need to install gnustep-objc as it properly
|
||||
exports symbols for DLLs.
|
||||
|
||||
You get this from the dev-apps area of the GNUstep cvs repository
|
||||
(not the ftp site).
|
||||
|
||||
Go into dev-apps/libobjc, and type
|
||||
Go to gnustep-objc (or from CVS, into dev-apps/libobjc), and type
|
||||
|
||||
make install
|
||||
|
||||
This should build and install the ObjectiveC runtime and headers for you.
|
||||
|
||||
|
||||
|
||||
Optional libraries
|
||||
------------------
|
||||
|
||||
There are some optional (but very strongly recommended) libraries you
|
||||
can install to make GNUstep work better.
|
||||
|
||||
libiconv ...
|
||||
needed for multilingual character support (unicode etc)
|
||||
libiconv
|
||||
Needed for multilingual character support (unicode etc)
|
||||
|
||||
Get the binary package from
|
||||
http://www.fh-frankfurt.de/~igor/projects/libxml
|
||||
|
@ -207,11 +195,11 @@ libiconv ...
|
|||
cp iconv.lib $GNUSTEP_SYSTEM_ROOT/Libraries/ix86/mingw32/libiconv.a
|
||||
cp iconv.dll $GNUSTEP_SYSTEM_ROOT/Tools/ix86/mingw32/iconv.dll
|
||||
|
||||
libxml2 ...
|
||||
needed for XML parsing support - needed for MacOS-X compatible
|
||||
property lists and for documentation processing.
|
||||
NB. at the time of writing, XML support in GNUstep base has *not*
|
||||
been ported to windows - but when it is, you will need this package.
|
||||
libxml2
|
||||
Needed for XML parsing support, for MacOS-X compatible
|
||||
property lists, and for documentation processing.
|
||||
NB. at the time of writing, XML support in GNUstep base has *not*
|
||||
been ported to windows - but when it is, you will need this package.
|
||||
|
||||
Get the binary package from
|
||||
http://www.fh-frankfurt.de/~igor/projects/libxml
|
||||
|
@ -220,10 +208,10 @@ been ported to windows - but when it is, you will need this package.
|
|||
cp libxml2.lib $GNUSTEP_SYSTEM_ROOT/Libraries/ix86/mingw32/libxml2.a
|
||||
cp libxml2.dll $GNUSTEP_SYSTEM_ROOT/Tools/ix86/mingw32
|
||||
|
||||
openssl ...
|
||||
needed for the SSL bundle, providing HTTPS support for NSURL.
|
||||
NB. at the time of writing, SSL support in GNUstep base has *not*
|
||||
been ported to windows - but when it is, you will need this package.
|
||||
openssl
|
||||
Needed for the SSL bundle, providing HTTPS support for NSURL.
|
||||
NB. at the time of writing, SSL support in GNUstep base has *not*
|
||||
been ported to windows - but when it is, you will need this package.
|
||||
Get the binary package from
|
||||
http://www.kix.or.jp/~fujino/openssl
|
||||
Unpack this and
|
||||
|
@ -232,11 +220,10 @@ been ported to windows - but when it is, you will need this package.
|
|||
cp *.dll *.exe $GNUSTEP_SYSTEM_ROOT/Tools/ix86/mingw32
|
||||
|
||||
|
||||
|
||||
Building and installing GNUstep-base
|
||||
------------------------------------
|
||||
|
||||
Go into the core/base directory, and type
|
||||
Go gnustep-base (or from CVS into the core/base directory), and type
|
||||
|
||||
make install
|
||||
|
||||
|
|
|
@ -383,7 +383,7 @@ fi
|
|||
@end itemize
|
||||
|
||||
@example
|
||||
if [ `gdomap -L GDNCServer | grep -c Found` == '0' ]; then
|
||||
if [ `gdomap -L GDNCServer | grep Unable` ]; then
|
||||
echo "Starting GNUstep services..."
|
||||
gdnc
|
||||
gpbs
|
||||
|
|
432
FAQ
432
FAQ
|
@ -1,261 +1,12 @@
|
|||
GNUstep Frequently Asked Questions with Answers
|
||||
***********************************************
|
||||
|
||||
Last updated 1 January 2002 Please send corrections to
|
||||
<gnustep-maintainer@gnu.org>.
|
||||
Last updated 14 March 2002. Please send corrections to
|
||||
<gnustep-maintainer@gnu.org>. Also look at the user FAQ for more user
|
||||
oriented questions.
|
||||
|
||||
GNUstep General Information
|
||||
===========================
|
||||
|
||||
What is GNUstep?
|
||||
----------------
|
||||
|
||||
GNUstep is the Free Software Foundation's effort to implement NeXT
|
||||
Software Inc.'s (now Apple Inc.) OpenStep Standard. The project is not
|
||||
finished, however some components are useable now.
|
||||
|
||||
The GNUstep project consists of the following sub-projects:
|
||||
|
||||
* GNU Objective C Compiler and Objective C Runtime Library -
|
||||
Although not actually a component of GNUstep, GCC and the GNU
|
||||
Objective C Runtime Library are integral to GNUstep, since they
|
||||
are used to make every GNU Objective C program.
|
||||
|
||||
* GNUstep Base Library - Code for non-graphical objects, such as
|
||||
strings, collections, archiving support and distributed objects
|
||||
messaging. (Including functionality similar to OpenStep's
|
||||
`FoundationKit'.)
|
||||
|
||||
* GNUstep GUI Library - Code for graphical objects used in making a
|
||||
Graphical User Interface (GUI). This includes buttons, sliders,
|
||||
text fields, windows, menus, etc. (Including functionality
|
||||
similar to OpenStep's `AppKit'.)
|
||||
|
||||
* GNUstep DisplayGhostscript Server - A server that draws PostScript
|
||||
graphics to the screen, and receives events from the keyboard and
|
||||
mouse. It is based on GNU GhostScript. There is also an DPS
|
||||
extension to Xfree*6 that is usable.
|
||||
|
||||
* Various Tools and applications, including GORM, The GNUstep
|
||||
interface builder for graphically assembling application
|
||||
interfaces, and ProjectCenter, a project manager.
|
||||
|
||||
|
||||
What is the OpenStep standard?
|
||||
------------------------------
|
||||
|
||||
OpenStep is an Application Programming Interface (API) for creating
|
||||
applications using the Objective C language. It was published by NeXT
|
||||
Computer Inc. in 1994.
|
||||
|
||||
OpenStep consists of three parts: the `FoundationKit', a library of
|
||||
non-graphical objects; the `AppKit', a library of objects usful in
|
||||
creating graphical applications; and `Display Postscript', an interface
|
||||
for drawing to the screen using the PostScript graphics language.
|
||||
|
||||
You can obtain a copy of the OpenStep standard from the GNUstep web
|
||||
site <http://www.gnustep.org> or it's mirror sites.
|
||||
|
||||
What platforms does GNUstep run on?
|
||||
-----------------------------------
|
||||
|
||||
See the list of supported platforms at
|
||||
<http://www.gnustep.org/information/machines_toc.html> for information
|
||||
on what machines GNUstep builds on and what the status of the ports is.
|
||||
Probably a few days porting to any other Unix system where current
|
||||
gcc/egcs compilers and gdb debugger work.
|
||||
|
||||
Does GNUstep run on Windows?
|
||||
----------------------------
|
||||
|
||||
The primary targets for GNUstep are free 'Unix' platforms such as
|
||||
GNU/Linux.
|
||||
|
||||
That being said, the base library should run on Windows-NT,98 with
|
||||
the Cygwin unix emulation library from Cygnus
|
||||
(http://sourceware.cygnus.com/cygwin/) or the MinGW libraries. At
|
||||
present there are a few problems with networking (Distributed Objects)
|
||||
support, but the library is believed to work.
|
||||
|
||||
The gui library needs a win32 backend library to work under
|
||||
Windows-NT. The backend library is a thin layer that converts the
|
||||
GNUstep methods to handle drawing of GUI elements to calls to the win32
|
||||
api. This is a project looking for a volunteer.
|
||||
|
||||
The application-wrapper used for GNUstep already allows for multiple
|
||||
binaries to be stored for different systems, so you should be able to
|
||||
write once, deploy anywhere.
|
||||
|
||||
What is GNUstep's position towards KDE and the GNOME project?
|
||||
-------------------------------------------------------------
|
||||
|
||||
You can use GNUstep with GNOME and/or KDE. GNUstep displays on top
|
||||
of X11. You can still do programming in C (since Objective-C is just a
|
||||
superset of C), and when (if?) GCC gets around to it, you'll be able to
|
||||
mix C++ and Objective-C code in the SAME file.
|
||||
|
||||
GNUstep, is much more than a window manager or desktop environment.
|
||||
It frees you to develop cross-platform applications without the work of
|
||||
developing an OS independent framework from scratch. It gives you lots
|
||||
of basic functionality, from Font Panels to Unicode strings to
|
||||
Distributed Objects.
|
||||
|
||||
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.
|
||||
|
||||
The object-oriented nature of the libraries and language make it
|
||||
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?
|
||||
-------------------------------------------------------------
|
||||
|
||||
Yes and No - The GNUstep architecture provides a single,
|
||||
platform-independent, API for handling all aspects of GUI interaction
|
||||
(implemented in the gstep-gui library), with a backend architecture
|
||||
that permits you to have different display models (display postscript,
|
||||
X-windows, win32, berlin ...) while letting you use the same code for
|
||||
printing as for displaying. Use of GTK in the frontend gui library
|
||||
would remove some of those advantages without adding any.
|
||||
|
||||
That being said, a backend library could be implemented using gtk if
|
||||
anyone wanted to do so. Since the frontend library handles most of the
|
||||
work involved in implementing the OpenStep API, the backend is a
|
||||
relatively thin layer and the advantages of GTK over direct xlib or
|
||||
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, wecome.
|
||||
|
||||
Which compiler can I use? Where can I get it?
|
||||
---------------------------------------------
|
||||
|
||||
Use gcc-2.8.1 or later, from any GNU ftp site or, on some platforms
|
||||
you must use egcs-1.1.1 or later, from http://egcs.cygnus.com/
|
||||
|
||||
Which Foundation Library can I use?
|
||||
-----------------------------------
|
||||
|
||||
That depends ...
|
||||
|
||||
If you only want to use the database package - gnustep-db, you can
|
||||
use either the gnustep base library or libFoundation.
|
||||
|
||||
If you want to develop/use GNUstep gui applications, you must use
|
||||
the gnustep-base library since libFoundation is (13-Feb-2000) missing
|
||||
much essential functionality.
|
||||
|
||||
How do you use the gnustep-make package?
|
||||
----------------------------------------
|
||||
|
||||
Good question. Read the tutorials at the GNUstep web site. Also,
|
||||
use the makefiles in the libraries, tool directories, and test
|
||||
applications as examples.
|
||||
|
||||
How can I get GNUstep?
|
||||
----------------------
|
||||
|
||||
Get the HOWTO from
|
||||
<http://www.gnustep.org/resources/documentation/GNUstep-HOWTO> Get the
|
||||
latest release from <ftp://ftp.gnustep.org>. If you're really
|
||||
adventurous, get the latest snapshot by anonymous ftp from
|
||||
<ftp://ftp.gnustep.org:/pub/daily-snapshots>
|
||||
|
||||
Use anonymous CVS to keep up to date - instructions are in the HOWTO.
|
||||
|
||||
How do you run GNUstep?
|
||||
-----------------------
|
||||
|
||||
You are presumably under the misapprehension that GNUstep is some
|
||||
sort of window manager.
|
||||
|
||||
It isn't.
|
||||
|
||||
GNUstep is a whole load of things - primarily a set of libraries for
|
||||
developing software.
|
||||
|
||||
At present, it's those libraries, plus various command-line based
|
||||
support tools and service providing daemons. In the future, it will be
|
||||
the libraries, plus the support tools, plus various GUI development
|
||||
tools, a GUI desktop/workspace application etc.
|
||||
|
||||
At no stage will you ever 'run' GNUstep - you will run applications
|
||||
and tools and will make use of it's services (though at some point you
|
||||
may well find packages distributed as 'GNUstep' systems in the way that
|
||||
you get 'Linux' systems packaged today).
|
||||
|
||||
Current tools are -
|
||||
|
||||
The makefiles package
|
||||
To make building GNUstep tools and apps simple.
|
||||
The 'openapp' script
|
||||
To start up a GUI application from the command line.
|
||||
The defaults tools
|
||||
To read, create, delete, and modify user defaults from the command
|
||||
line.
|
||||
The name server
|
||||
To permit applications and tools to locate each other and
|
||||
communicate.
|
||||
The pasteboard server
|
||||
To permit cut-and-paste, drag-and-drop, and to let applicationsm
|
||||
and tools transparently provide services to each other.
|
||||
The distributed notification center
|
||||
To permit applications and tools to be notified of arbitrary
|
||||
external events.
|
||||
The 'make_services' program
|
||||
To locate (and cache information about) applications that are
|
||||
willing to provide services to other applications.
|
||||
The 'set_show_service' program
|
||||
A command-line utility to determine what services an application
|
||||
should be permitted to offer on it's 'services' menu.
|
||||
|
||||
If you want to see a sample GUI application running you need to build
|
||||
GNUstep and look at the example applications in the gstep-examples
|
||||
package. Build 'Finger' or 'Ink' and start it with 'openapp Finger.app'
|
||||
or 'openapp Ink.app'
|
||||
|
||||
To look best - use WindowMaker (the currently preferred GNUstep
|
||||
window manager) as your window manager.
|
||||
|
||||
Is there a web site?
|
||||
--------------------
|
||||
|
||||
See <http://www.gnustep.org/>.
|
||||
|
||||
When is GNUstep intended to be available?
|
||||
-----------------------------------------
|
||||
|
||||
It's usable now. Releases are made about every six months. However,
|
||||
if you are a serious developer, it's probably best to use the latest
|
||||
snapshots. See the GNUstep web site for a release schedule.
|
||||
|
||||
What is usable?
|
||||
---------------
|
||||
|
||||
* gstep-make does pretty much what the makefiles in NeXTstep do.
|
||||
|
||||
* gstep-base (Foundation) stuff should work fine for almost all
|
||||
projects.
|
||||
|
||||
* gstep-db is only EOF-1.0 compatible but should work ok.
|
||||
|
||||
* gstep-gui (AppKit) has a lot working but there is still stuff
|
||||
missing.
|
||||
|
||||
* DGS (Display Ghostscript) is usable but slow.
|
||||
|
||||
Compatibility with OPENSTEP/Cocoa/MacOSX
|
||||
========================================
|
||||
|
||||
Can I run NeXT OPENSTEP or Apple Rhapsody programs on GNUstep?
|
||||
--------------------------------------------------------------
|
||||
|
||||
You can't run these programs on GNUstep, but if you have the source
|
||||
code for the programs, you should be able to port them to GNUstep and
|
||||
compile them. Whether or not you will be able to run them depends on how
|
||||
complete GNUstep is at the time.
|
||||
Compatibility
|
||||
=============
|
||||
|
||||
Is it easy to port OPENSTEP and Rhapsody programs to GNUstep?
|
||||
-------------------------------------------------------------
|
||||
|
@ -311,38 +62,14 @@ archive format (which can be edited by Gorm). There IS a conversion
|
|||
tool called nib2gmodel that can be compiled under OPENSTEP to convert
|
||||
OPENSTEP nib files to GNUstep gmodel files.
|
||||
|
||||
Will code without NIB files work?
|
||||
---------------------------------
|
||||
|
||||
Well, GNUstep implements the OpenStep API, not the old NeXTstep API
|
||||
but, Yes - once the gui library is complete, OpenStep or MacOS-X code
|
||||
should work without translation under GNUstep.
|
||||
|
||||
Is GNUstep following Apple's Changes to OpenStep?
|
||||
-------------------------------------------------
|
||||
|
||||
Yes - gstep-base already contains the documented changes in the
|
||||
Foundation library. GNUstep aims to be compatible with both the
|
||||
OpenStep specification and with MacOS-X It should be easy to write an
|
||||
application that compiles cleanly under both GNUstep and Yellow Box.
|
||||
|
||||
Do we have to have the NeXTstep look and feel?
|
||||
----------------------------------------------
|
||||
|
||||
Gnustep is aiming for something like the NeXTstep-3.3 look and feel.
|
||||
This is mostly determined by the gui backend library. In the case of
|
||||
the two existing backends (xdps and xgps), both are designed to look
|
||||
like NeXTstep/OPENSTEP. If someone wants to write a backend with a
|
||||
different look, they can. This would only be a few man-months work.
|
||||
|
||||
Can one use the hybrid "Objective-C++"
|
||||
--------------------------------------
|
||||
|
||||
that one could on the NeXT?
|
||||
|
||||
No - at present the GNU compiler (gcc) does not support
|
||||
"Objective-C++" There are no specific plans to make it do so, but any
|
||||
volunteers to do it would be welcome.
|
||||
No. at present the GNU compiler (gcc) does not support
|
||||
"Objective-C++". Apple has submitted patches for this, but it is up to
|
||||
the GCC steering commitee to decide if they want to add them. If you
|
||||
would like to see this, please politely and respectfully lobby them at
|
||||
<gcc@gnu.org>.
|
||||
|
||||
Is there a plan to support the Java/YellowBox Bindings?
|
||||
-------------------------------------------------------
|
||||
|
@ -360,16 +87,52 @@ objective-C objects.
|
|||
What if I compile GNUstep under OPENSTEP/MacOS X Server?
|
||||
--------------------------------------------------------
|
||||
|
||||
No - GNUstep uses the X-windows display postscript extension - the
|
||||
GNUstep uses the X-windows display postscript extension. The
|
||||
interface to that is not the same as the interface to the
|
||||
OPENSTEP/MacOS-X windows server. While someone could write a backend
|
||||
library to provide the interface, nobody has bothered to date.
|
||||
|
||||
Also, the GNUstep base library is still being ported to Darwin.
|
||||
|
||||
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.
|
||||
|
||||
The object-oriented nature of the libraries and language make it
|
||||
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?
|
||||
-------------------------------------------------------------
|
||||
|
||||
Yes and No - The GNUstep architecture provides a single,
|
||||
platform-independent, API for handling all aspects of GUI interaction
|
||||
(implemented in the gstep-gui library), with a backend architecture
|
||||
that permits you to have different display models (display postscript,
|
||||
X-windows, win32, berlin ...) while letting you use the same code for
|
||||
printing as for displaying. Use of GTK in the frontend gui library
|
||||
would remove some of those advantages without adding any.
|
||||
|
||||
That being said, a backend library could be implemented using gtk if
|
||||
anyone wanted to do so. Since the frontend library handles most of the
|
||||
work involved in implementing the OpenStep API, the backend is a
|
||||
relatively thin layer and the advantages of GTK over direct xlib or
|
||||
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, wecome.
|
||||
|
||||
Compiling and Developing
|
||||
========================
|
||||
|
||||
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?
|
||||
----------------------------
|
||||
|
||||
|
@ -377,7 +140,7 @@ How can I help with GNUstep?
|
|||
|
||||
2. Write documentation
|
||||
|
||||
3. Update the TODO list and library headers
|
||||
3. Update the task list and library headers
|
||||
|
||||
4. Write applications
|
||||
|
||||
|
@ -402,8 +165,12 @@ you have take on too large/complex a project. It's much better to
|
|||
'resign' and take on a smaller job than to just stop without telling
|
||||
anyone.
|
||||
|
||||
How do I start writing code?
|
||||
----------------------------
|
||||
Please document the code you add or change (using autogsdoc comments
|
||||
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
|
||||
-----------------------
|
||||
|
||||
There is plenty of unimplemented stuff in the gui library and
|
||||
backend libraries that volunteers can work on - just browse through the
|
||||
|
@ -415,8 +182,8 @@ website.
|
|||
Once you have coded something, you could always write a testcase and
|
||||
documentation for it :-)
|
||||
|
||||
How do I start writing documentation?
|
||||
-------------------------------------
|
||||
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
|
||||
|
@ -441,19 +208,21 @@ Software Foundation.
|
|||
How do I update the task list?
|
||||
------------------------------
|
||||
|
||||
The task list (<http://www.gnustep.org/developers/tasks.html>) is
|
||||
supposed to tell people what jobs are waiting to be done.
|
||||
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).
|
||||
|
||||
One job of major importance that pretty much anyone can do is to
|
||||
look for jobs to add to the task list. In the case of methods from the
|
||||
OpenStep specification or the MacOS-X documentation not being present
|
||||
in the GNustep libraries, it is also helpful to add the method
|
||||
in the GNUstep libraries, it is also helpful to add the method
|
||||
prototypes to the library header files.
|
||||
|
||||
Send any changes or additions to <bug-gnustep@gnu.org>.
|
||||
|
||||
A beginner can look through the MacOS-X documentation, the OpenStep
|
||||
specification and the GNUstep source and contribute TODO items.
|
||||
specification and the GNUstep source and contribute task items.
|
||||
|
||||
If a class or method is in MacOS-X and OpenStep but is not in
|
||||
GNUstep - it's a high priority TODO and should at least be added to the
|
||||
|
@ -482,8 +251,8 @@ latest GNUstep snapshots you can find. Then checkout the 'tests' module
|
|||
from CVS. In the 'tests' directory, you will find a regression testing
|
||||
framework. In order to use this you will also need a recent (v 1.3.2
|
||||
or later) copy of Guile (you can get this from a GNU ftp site) and will
|
||||
need to hacke checked out, built, and installed the 'guile' package
|
||||
from the GNUstep CVS repository.
|
||||
need to check-out, built, and installed the 'guile' package from the
|
||||
GNUstep CVS repository.
|
||||
|
||||
How do I start writing applications?
|
||||
------------------------------------
|
||||
|
@ -498,13 +267,13 @@ 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, the TODO list, and the Documentation) are actually
|
||||
generated from files in the individual GNUstep packages.
|
||||
of it (the FAQ and the Documentation) are actually generated from files
|
||||
in the individual GNUstep packages.
|
||||
|
||||
If you want to update the FAQ or TODO list or documentation - grab
|
||||
the latest snapshot of the GNUstep core you can find, update it from
|
||||
the CVS repository, and work with the contents of the appropriate
|
||||
documentation directory.
|
||||
If you want to update the FAQ or documentation - grab the latest
|
||||
snapshot of the GNUstep core you can find, update it from the CVS
|
||||
repository, and work with the contents of the appropriate documentation
|
||||
directory.
|
||||
|
||||
If you want to work on other parts of the website, you can grab a
|
||||
copy of the website via anonymous CVS. See
|
||||
|
@ -514,36 +283,11 @@ 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.
|
||||
|
||||
How do I compile GNUstep on my machine?
|
||||
---------------------------------------
|
||||
GNU Objective C Compiler and Runtime
|
||||
====================================
|
||||
|
||||
Read the file `GNUstep-HOWTO', which comes with the GNUstep
|
||||
distribution, and also is available separately on the GNUstep web site.
|
||||
|
||||
Are there any precompiled packages available?
|
||||
---------------------------------------------
|
||||
|
||||
Check <http://www.gnustep.org/resources/sources.html> for links to
|
||||
sites with RPMS, and perhaps in the future, Debian packages. In some
|
||||
cases. You can check the debian site for preconfigured GNUstep
|
||||
packages. Also check the BSD sites for GNUstep ports.
|
||||
|
||||
What are these type and size warnings?
|
||||
--------------------------------------
|
||||
|
||||
These warnings:
|
||||
/usr/bin/ld: warning: type and size of dynamic symbol
|
||||
`__objc_class_name_NSConstantString' are not defined
|
||||
|
||||
are a common occurence and are due to a mismatch between gcc and ld.
|
||||
They don't do any harm so they can be safely ignored. Apparently no one
|
||||
has bothered to fix them yet.
|
||||
|
||||
GNU Objective C Compiler and Objective C Runtime Library
|
||||
========================================================
|
||||
|
||||
What is the Objective C Runtime Library?
|
||||
----------------------------------------
|
||||
What is the Objective C Runtime?
|
||||
--------------------------------
|
||||
|
||||
The Objective C Runtime Library provides C functions and data
|
||||
structures required to execute an Objective C program.
|
||||
|
@ -584,24 +328,11 @@ initialization of static instances (such as @""-style string objects).
|
|||
corresponding NeXT functions; the GNU names conform to the GNU
|
||||
coding standards.
|
||||
|
||||
* NeXT's compiler, `cc', is based on an old version of `gcc'. GNU's
|
||||
compiler is, of course, the latest version of `gcc', and therefore
|
||||
contains all the latest enhancements.
|
||||
|
||||
|
||||
Does it allow a mixture of Objective C and C++?
|
||||
-----------------------------------------------
|
||||
|
||||
No. Unlike NeXT's `cc', GNU GCC does not support source files
|
||||
containing both Objective C and C++. Apple seems to be willing to
|
||||
merge their code back into the main GCC project, but this may take some
|
||||
convincing of the GCC maintainers due to the large number of changes
|
||||
necessary. Send email to `discuss-gnustep@gnu.org' if you are
|
||||
interesting in pushing this issue, so that the efforts of all those
|
||||
people interested can be coordinated.
|
||||
|
||||
Also, unlike NeXT's `cc', GNU GCC does not support the `extern
|
||||
"Objective-C"' construct.
|
||||
No. See *note Can one use the hybrid "Objective-C++"::
|
||||
|
||||
Where can I find more information?
|
||||
----------------------------------
|
||||
|
@ -647,7 +378,7 @@ ease-of-use as NeXT's; be warned, however, that they are not compatible
|
|||
with each other. They have different class heirarchies, different
|
||||
instance variables, different method names, different implementation
|
||||
strategies and different network message formats. You cannot
|
||||
communicate with a NeXT NSConnection using a GNU Connection.
|
||||
communicate with a NeXT NSConnection using a GNU NSConnection.
|
||||
|
||||
Here are some differences between GNU distributed objects and NeXT's
|
||||
distributed objects: NeXT NSDistantObject asks it's remote target for
|
||||
|
@ -688,12 +419,11 @@ front-end contains the majority of implementation, but leaves out the
|
|||
low-level drawing and event code. A back-end can override whatever
|
||||
methods necessary in order to implement low-level drawing event
|
||||
receiving. Different back-ends will make GNUstep available on various
|
||||
platforms. The default GNU back-end will run on top of X Windows and
|
||||
the DisplayGhostScript Server. Other back-ends could allow GNUstep to
|
||||
run on OpenGL, OS/2, and WIN32 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.
|
||||
platforms. The default GNU back-end will run on top of X Windows.
|
||||
Other back-ends could allow GNUstep to run on OpenGL and WIN32
|
||||
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?
|
||||
----------------------------------------------------------
|
||||
|
|
156
GNUstep-HOWTO
156
GNUstep-HOWTO
|
@ -1,7 +1,7 @@
|
|||
GNUstep HOWTO
|
||||
*************
|
||||
|
||||
Last Update: 1 January 2002
|
||||
Last Update: 14 March 2002
|
||||
|
||||
This document explains how to build the different components of the
|
||||
GNUstep core libraries and GNUstep Launchpad.
|
||||
|
@ -33,34 +33,25 @@ Summary
|
|||
In order to compile the libraries, you need to compile and install
|
||||
the following packages first (if you don't already have them):
|
||||
|
||||
* gcc (Version 2.8.0 or greater)
|
||||
* gcc (Version 2.8.0 or greater, 3.0.4 or greater recommended)
|
||||
|
||||
* GNU make (Version 3.75 or greater)
|
||||
|
||||
* The TIFF library (libtiff) (Version 3.4beta36 or greater)
|
||||
* gdb, if you plan to do any debugging
|
||||
|
||||
After installing these packages, get the following individual
|
||||
packages:
|
||||
You may also need to install some of the following libraries and
|
||||
packages described below. Most of these packages are optional, but some
|
||||
are required.
|
||||
|
||||
* gnustep-make
|
||||
`ffcall libraries (HIGHLY RECOMMENDED)'
|
||||
This is a library that provides stack frame handling for
|
||||
NSInvocation and NSConnection. This library is highly recommended.
|
||||
The previous builtin method for stack frame handling is no longer
|
||||
supported and may be removed in the future. ffcall is under GNU
|
||||
GPL. As a special exception, if used in GNUstep or in derivate
|
||||
works of GNUstep, the included parts of ffcall are under GNU LGPL.
|
||||
|
||||
* gnustep-base
|
||||
|
||||
* gnustep-gui
|
||||
|
||||
* gnustep-xdps
|
||||
|
||||
* gnustep-xgps
|
||||
|
||||
For GNUstep Launchpad, substitue `gnustep-guile' and `jigs' for
|
||||
`gnustep-gui' and `gnustep-xgps/xdps'.
|
||||
|
||||
See <http://www.gnustep.org> for information on where to get these
|
||||
packages. Only one of gnustep-xgps or gnustep-xdps is required. We
|
||||
currently recommend gnustep-xgps. Other packages you may need to get
|
||||
depending on the type of system you are using, include:
|
||||
|
||||
`WindowMaker (Version >= 0.62)'
|
||||
`WindowMaker (Version >= 0.62) (OPTIONAL)'
|
||||
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. In
|
||||
|
@ -68,7 +59,43 @@ depending on the type of system you are using, include:
|
|||
uses that would otherwise not be available. Get WindowMaker from
|
||||
<http://www.windowmaker.org>.
|
||||
|
||||
`DGS, the XFree86 DPS extension, or Adobe DPS'
|
||||
`libxml2 (OPTIONAL)'
|
||||
The libxml library (Version 2) is used to translate some of the
|
||||
documentation for GNUstep and to provide suport for MacOS-X
|
||||
compatible XML-based property-lists. It is recommended but not
|
||||
currently required.
|
||||
|
||||
`openssl (OPTIONAL)'
|
||||
The openssl library is used to provide support for https
|
||||
connections by the NSURL and HSURLHandle classes. This
|
||||
functionality is compiled as a separate bundle since the OpenSSL
|
||||
license is not compatible with GPL, and in the hopes that if
|
||||
someone writes an openssl replacement, it can quickly be used by
|
||||
creating another bundle.
|
||||
|
||||
`libiconv (OPTIONAL)'
|
||||
Unicode support functions (iconv) come with glibc version 2.1 or
|
||||
greater. If you don't have this, you can get the separate libiconv
|
||||
library from <
|
||||
http://clisp.cons.org/~haible/packages-libiconv.html>. However,
|
||||
neither one is required to use GNUstep.
|
||||
|
||||
`gnustep-objc package (for gcc version < 3.0) (RECOMMENDED)'
|
||||
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.
|
||||
|
||||
`The TIFF library (libtiff) (Version 3.4beta36 or greater) (REQUIRED)'
|
||||
The GUI library uses this to handle loading and saving TIFF images.
|
||||
|
||||
`DGS, the XFree86 DPS extension, or Adobe DPS (OPTIONAL)'
|
||||
If you want to use the features of a Display Postscript
|
||||
(DPS)backend. Note that it is not required since you can use the
|
||||
XGPS backend that is Xlib based. Note that the DPS backend is
|
||||
|
@ -81,63 +108,39 @@ depending on the type of system you are using, include:
|
|||
|
||||
* Adobe DPS, (contact your OS distributor)
|
||||
|
||||
`PCThreads'
|
||||
`PCThreads (OPTIONAL)'
|
||||
For GNU/Linux systems on Intel x86 processors. PCThreads is no
|
||||
longer necessary (and should not be used) on GNU/Linux systems with
|
||||
glibc version 2, such as Debian 2.0 and RedHat 5.x and greater.
|
||||
|
||||
`GDB and Objective-C patch'
|
||||
`GDB and Objective-C patch (OPTIONAL)'
|
||||
GDB can be obtained from <ftp://ftp.gnu.org/gnu/gdb>. The patch to
|
||||
make it work better with GNUstep can be obtained from
|
||||
<ftp://ftp.gnustep.org/pub/gnustep>
|
||||
|
||||
`libxml'
|
||||
The libxml library (Version 2) is used to translate some of the
|
||||
documentation for GNUstep and to provide suport for MacOS-X
|
||||
compatible XML-based property-lists. It is recommended but not
|
||||
currently required.
|
||||
|
||||
`openssl'
|
||||
The openssl library is used to provide support for https
|
||||
connections by the NSURL and HSURLHandle classes. This
|
||||
functionality is compiled as a separate bundle since the OpenSSL
|
||||
license is not compatible with GPL, and in the hopes that if
|
||||
someone writes an openssl replacement, it can quickly be used by
|
||||
creating another bundle.
|
||||
|
||||
`libiconv'
|
||||
Unicode support functions (iconv) come with glibc version 2.1 or
|
||||
greater. If you don't have this, you can get the separate libiconv
|
||||
library from <
|
||||
http://clisp.cons.org/~haible/packages-libiconv.html>. However,
|
||||
neither one is required to use GNUstep.
|
||||
|
||||
`ffcall libraries'
|
||||
This is a library that provides stack frame handling for
|
||||
NSInvocation and NSConnection. This library is highly recommended.
|
||||
The previous builtin method for stack frame handling is no longer
|
||||
supported and may be removed in the future. ffcall is under GNU
|
||||
GPL. As a special exception, if used in GNUstep or in derivate
|
||||
works of GNUstep, the included parts of ffcall are under GNU LGPL.
|
||||
|
||||
`gnustep-objc package (for gcc version < 3.0)'
|
||||
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).
|
||||
|
||||
Compiling and Installing the packages
|
||||
*************************************
|
||||
|
||||
Get the following individual packages:
|
||||
|
||||
* gnustep-make
|
||||
|
||||
* gnustep-base
|
||||
|
||||
* gnustep-gui
|
||||
|
||||
* gnustep-xgps
|
||||
|
||||
For GNUstep Launchpad, substitue `gnustep-guile' and `jigs' for
|
||||
`gnustep-gui' and `gnustep-xgps/xdps'.
|
||||
|
||||
See <http://www.gnustep.org> for information on where to get these
|
||||
packages. Only one of gnustep-xgps or gnustep-xdps is required. We
|
||||
currently recommend gnustep-xgps.
|
||||
|
||||
Make sure you install all the previously mentioned libraries first
|
||||
before configuring and building GNUstep (Except you need to install
|
||||
gnustep-objc after installing gnustep-make, unless your installing it
|
||||
as part of gcc).
|
||||
gnustep-objc after installing gnustep-make).
|
||||
|
||||
Note: you will need to be able to install packages as root (at least
|
||||
the base library) for applications to work correctly.
|
||||
|
@ -150,6 +153,10 @@ Windows).
|
|||
Using a Display Postscript System
|
||||
=================================
|
||||
|
||||
Please skip this instruction unless you really know what you are
|
||||
doing. The DPS backend is not well developed. You are better off
|
||||
sticking to the gnustep-xgps backend.
|
||||
|
||||
Install a Display PostScript system if you want to use the XDPS
|
||||
backend. You do not need it if you want to use the XGPS backend. Some
|
||||
systems, like Sun Microcomputers(TM) already have a DPS system
|
||||
|
@ -301,7 +308,7 @@ app:
|
|||
|
||||
* gpbs - Put this after executing `GNUstep.sh' in your local .profile
|
||||
|
||||
if [ `gdomap -L GDNCServer | grep -c Found` == '0' ]; then
|
||||
if [ `gdomap -L GDNCServer | grep Unable` ]; then
|
||||
echo "Starting GNUstep services..."
|
||||
gdnc
|
||||
gpbs
|
||||
|
@ -632,15 +639,18 @@ Solaris 2.7/Intel
|
|||
=================
|
||||
|
||||
`Recommended compiler'
|
||||
egcs 1.1.2
|
||||
egcs 1.1.2, unknown
|
||||
|
||||
`Extra libs needed'
|
||||
Unknown
|
||||
|
||||
`Special Instructions'
|
||||
Make sure there are no -g compiler flags (specify `CFLAGS=
|
||||
./configure', when configuring) or remove it from `OPTFLAG'
|
||||
make/config.make. You will probable get a lot of text relocation
|
||||
Make sure there are no -g compiler flags (i.e. compiling with
|
||||
debug=yes might be a problem). Unsure of correct bundle flags -
|
||||
You might need to use the alternate flags listed in target.make,
|
||||
line 989. Also, configuring gnustep-make with
|
||||
`--disable-backend-bundle' might be necessary if you can't get
|
||||
bundles to work. You will probable get a lot of text relocation
|
||||
warnings, which probably can be ignored. See the other Solaris
|
||||
instructions above for more information.
|
||||
|
||||
|
|
23
INSTALL
23
INSTALL
|
@ -9,7 +9,9 @@ libraries, read the file GNUstep-HOWTO for more complete instructions on
|
|||
how to install the entire GNUstep package (including this package).
|
||||
GNUstep-HOWTO comes with this distribution.
|
||||
|
||||
This should be the first GNUstep package you install.
|
||||
This should be the first GNUstep package you install. After
|
||||
installing this package, install ffcall and any other libraries that
|
||||
GNUstep may need (see the GNUstep-HOWTO). Then install gnustep-base.
|
||||
|
||||
When you configure additional libraries, make sure you use the same
|
||||
configuration options as with gstep-make.
|
||||
|
@ -196,9 +198,10 @@ as `/etc/bashrc', where you could add lines similar to these:
|
|||
|
||||
This will source in the GNUstep.sh file and set the environment
|
||||
variables; thus making them available for all users. Before executing
|
||||
this script, you can setup a default path for searching for tools and
|
||||
apps by defining the variable GNUSTEP_PATHPREFIX_LIST (and exporting
|
||||
it). By default, it's set to
|
||||
this script, you can setup a default path for scripts in the makefiles
|
||||
package to use for searching for tools and apps by defining the
|
||||
variable GNUSTEP_PATHPREFIX_LIST (and exporting it). By default, it's
|
||||
set to
|
||||
|
||||
$GNUSTEP_USER_ROOT:$GNUSTEP_LOCAL_ROOT:$GNUSTEP_SYSTEM_ROOT
|
||||
|
||||
|
@ -208,6 +211,10 @@ it). By default, it's set to
|
|||
|
||||
when all is done.
|
||||
|
||||
NB. This path is NOT used by GNUstep tools and applications
|
||||
themselves ... they use a standard function
|
||||
NSSearchPathForDirectoriesInDomains() to locate files instead.
|
||||
|
||||
Setting up the GNUstep environment for a single user
|
||||
----------------------------------------------------
|
||||
|
||||
|
@ -229,3 +236,11 @@ add the following lines to that file:
|
|||
This will source in the GNUstep.sh file and set the environment
|
||||
variables; thus making them available for the user.
|
||||
|
||||
The GNUstep.sh file will set up GNUSTEP_USER_ROOT to the GNUstep
|
||||
subdirectory of the users home directory by default. This may be
|
||||
overridden by a user providing a .GNUsteprc file in their home
|
||||
directory.
|
||||
|
||||
# Set up to store GNUstep files directly in my home directory
|
||||
GNUSTEP_USER_ROOT=~
|
||||
|
||||
|
|
25
NEWS
25
NEWS
|
@ -1,7 +1,30 @@
|
|||
NEWS
|
||||
****
|
||||
|
||||
The currently released version is `1.2.1'.
|
||||
The currently released version is `1.3.0'.
|
||||
|
||||
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
|
||||
simplified code and lots of code sharing between components. As a side
|
||||
effect, it also increased the speed of the code by at least a factor of
|
||||
2.
|
||||
|
||||
* Force shared=yes for cygwin and mingw
|
||||
|
||||
* Bundles copy resources from subprojects.
|
||||
|
||||
* Better resource management. Resources handled accross all project
|
||||
types.
|
||||
|
||||
* Simplified and fixed user root location between make and base
|
||||
libraries.
|
||||
|
||||
* Changed Apps directory to Applications
|
||||
|
||||
* Fixes for MacOSX, MingW
|
||||
|
||||
Changes in version `1.2.1'
|
||||
==========================
|
||||
|
|
4
README
4
README
|
@ -25,6 +25,10 @@ various machine specific READMEs in the Documentation directory.
|
|||
design of the Makefile system and how to write your own makefiles that
|
||||
work with it.
|
||||
|
||||
Note that releases numbers that have an odd minor version (e.g.
|
||||
1.3.2) are unstable releases. They are not as well tested as stable
|
||||
releases (e.g. 1.4.1).
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
|
|
4
Version
4
Version
|
@ -3,7 +3,7 @@
|
|||
|
||||
# The version number of this release.
|
||||
GNUSTEP_MAKE_MAJOR_VERSION=1
|
||||
GNUSTEP_MAKE_MINOR_VERSION=2
|
||||
GNUSTEP_MAKE_SUBMINOR_VERSION=1
|
||||
GNUSTEP_MAKE_MINOR_VERSION=3
|
||||
GNUSTEP_MAKE_SUBMINOR_VERSION=0
|
||||
GNUSTEP_MAKE_VERSION=${GNUSTEP_MAKE_MAJOR_VERSION}.${GNUSTEP_MAKE_MINOR_VERSION}.${GNUSTEP_MAKE_SUBMINOR_VERSION}
|
||||
|
||||
|
|
Loading…
Reference in a new issue