mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Version 1.9.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@18119 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
ab838e429a
commit
2186d3d252
9 changed files with 221 additions and 157 deletions
14
ANNOUNCE
14
ANNOUNCE
|
@ -1,7 +1,7 @@
|
|||
Announcement
|
||||
************
|
||||
|
||||
The GNUstep Makefile Package version 1.7.3 is now available.
|
||||
The GNUstep Makefile Package version 1.9.0 is now available.
|
||||
|
||||
What is the GNUstep makefile package?
|
||||
=====================================
|
||||
|
@ -13,20 +13,22 @@ associated with configuration, building, installation, and packaging.
|
|||
It also allows the user to easily create cross-compiled binaries.
|
||||
|
||||
Note that versions that have a odd minor release number (the second
|
||||
number, y, in x.y.z) are unstable releases (like 1.5.2), which even
|
||||
number, y, in x.y.z) are unstable releases (like 1.5.2), while even
|
||||
minor release numbers (1.4.1) are stable releases.
|
||||
|
||||
Changes in version `1.7.3'
|
||||
Changes in version `1.9.0'
|
||||
==========================
|
||||
|
||||
* Adds library combo to Headers directory if not flattened.
|
||||
* Support for building in a separate build dir.
|
||||
|
||||
* Add Markup file (Renaissance) support.
|
||||
* Add -enable-string-makefiles option to configure
|
||||
|
||||
* List of classes in a framework gets written to the plist file.
|
||||
|
||||
Obtaining gnustep-make
|
||||
======================
|
||||
|
||||
You can get the gstep-make-1.7.3.tar.gz distribution file at
|
||||
You can get the gstep-make-1.9.0.tar.gz distribution file at
|
||||
<ftp://ftp.gnustep.org/pub/gnustep/core>
|
||||
|
||||
Please log bug reports on the GNUstep project page
|
||||
|
|
|
@ -66,7 +66,7 @@ Fri Oct 24 15:54:41 2003 Nicola Pero <n.pero@mi.flashnet.it>
|
|||
|
||||
2003-10-20 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* configure.ac: Add 1.57 prereq, subst OBJCFLAGS
|
||||
* configure.ac: Add 2.57 prereq, subst OBJCFLAGS
|
||||
* config.make.in (OBJCFLAGS): New
|
||||
|
||||
Mon Oct 20 15:02:22 2003 Nicola Pero <n.pero@mi.flashnet.it>
|
||||
|
|
|
@ -116,7 +116,7 @@ You need things in the following order:
|
|||
|
||||
GNUstep-make (release, snapshot, or cvs core module)
|
||||
libffcall (http://ftp.gnustep.org/pub/gnustep/lib)
|
||||
GNUstep-libobjc (release, snapshot, or cvs dev-apps module)
|
||||
GNUstep-objc (release, snapshot, or cvs dev-apps module)
|
||||
GNUstep-base (snapshot, or cvs core module)
|
||||
|
||||
For gui ... GNUstep-back (snapshot, or cvs core module)
|
||||
|
@ -176,7 +176,7 @@ 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.
|
||||
|
||||
Go to gnustep-objc (or from CVS, into dev-apps/libobjc), and type
|
||||
Go to gnustep-objc (or from CVS, into dev-libs/libobjc), and type
|
||||
|
||||
make install
|
||||
|
||||
|
|
|
@ -9,6 +9,28 @@
|
|||
The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
|
||||
@end ifclear
|
||||
|
||||
@section Changes in version @samp{1.9.0}
|
||||
|
||||
@itemize @bullet
|
||||
@item Support for building in a separate build dir.
|
||||
@item Add --enable-string-makefiles option to configure
|
||||
@item List of classes in a framework gets written to the plist file.
|
||||
@end itemize
|
||||
|
||||
@ifclear ANNOUNCE-ONLY
|
||||
|
||||
@section Changes in version @samp{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 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.
|
||||
|
||||
@section Changes in version @samp{1.7.4}
|
||||
|
||||
Bug fixes.
|
||||
|
||||
@section Changes in version @samp{1.7.3}
|
||||
|
||||
@itemize @bullet
|
||||
|
@ -16,8 +38,6 @@ The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
|
|||
@item Add Markup file (Renaissance) support.
|
||||
@end itemize
|
||||
|
||||
@ifclear ANNOUNCE-ONLY
|
||||
|
||||
@section Changes in version @samp{1.7.2}
|
||||
|
||||
--enable-flattened (Flat directory structure) is on by default.
|
||||
|
|
145
FAQ
145
FAQ
|
@ -1,7 +1,7 @@
|
|||
GNUstep Frequently Asked Questions with Answers
|
||||
***********************************************
|
||||
|
||||
Last updated 22 August 2003. Please send corrections to
|
||||
Last updated 23 November 2003. Please send corrections to
|
||||
<gnustep-maintainer@gnu.org>. Also look at the user FAQ for more user
|
||||
oriented questions.
|
||||
|
||||
|
@ -25,20 +25,52 @@ constantly changing, much faster than GNUstep could hope to keep up.
|
|||
They have added extensions and new classes that aren't available in
|
||||
GNUstep yet. Plus there are some other issues. If you start with Cocoa:
|
||||
|
||||
* Be careful with Cocoa.h includes
|
||||
* Be careful with Cocoa.h includes (Use #ifndef GNUSTEP, for
|
||||
instance)
|
||||
|
||||
* Do not use CoreFoundation
|
||||
|
||||
* Do not use C++
|
||||
* Do not use Objective-C++
|
||||
|
||||
* Do not use Quicktime or other propriatory extention
|
||||
* Do not use Quicktime or other proprietary extension
|
||||
|
||||
* You need to convert .nib (IB if you use it) to .gmodel or .gorm
|
||||
and Gorm is good enough for most of the work
|
||||
* You need to convert .nib files (see next question *note Tools for
|
||||
porting::)
|
||||
|
||||
* Do not use NSToolBar (not finished in GNUstep)
|
||||
* Some unfinished classes include NSToolBar and Drawers.
|
||||
|
||||
* Do not use Drawer (not implmented in GNUstep)
|
||||
Tools for porting
|
||||
-----------------
|
||||
|
||||
While the programming interface should be almost transparent between
|
||||
systems (expect for the unimplemented parts, of course), there are a
|
||||
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).
|
||||
|
||||
`Renaissance'
|
||||
GNUstep Renaissance allows you to describe your user interfaces
|
||||
(that is, the windows in your application, and the buttons, boxes,
|
||||
textfields, etc in the windows) in simple and intuitive XML files,
|
||||
using an open, standard format describing the logic of the
|
||||
interface. It has a number of advantages over the proprietary nib
|
||||
format: portability, open standard, easy localization,
|
||||
themeability, and intelligent autolayout.
|
||||
|
||||
`OpenStep2GNUConverter and nfmake'
|
||||
Two programs that allow you to convert PB files to GNUstep
|
||||
makefiles or compile a program on GNUstep directly from PB files.
|
||||
They probably work only for OPENSTEP systems and are a little
|
||||
out-of-date.
|
||||
|
||||
`StepTalk'
|
||||
A portable scripting environment that lets your do scripting in
|
||||
almost any language you like.
|
||||
|
||||
Can I transfer archived data from GNUstep to Cocoa?
|
||||
---------------------------------------------------
|
||||
|
@ -54,7 +86,7 @@ different machines because of endiness issues, although GNUstep doesn't
|
|||
have this problem.
|
||||
|
||||
Your best bet is to implement your own archiving format that would
|
||||
work both with GNUstep and Cocoa. Fortuneatly, you don't have to start
|
||||
work both with GNUstep and Cocoa. Fortunately, you don't have to start
|
||||
from scratch, since this has been essentially done for you in the
|
||||
nib2gmodel tool, which has an archiver that works both on GNUstep and
|
||||
Cocoa. It might be nice to split this off into a separate project to
|
||||
|
@ -82,16 +114,15 @@ supports both the 'gmodel' format (which stores information as text
|
|||
(property-lists) and can therefore be edited 'by hand') and binary
|
||||
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.
|
||||
nib files to GNUstep gmodel files.
|
||||
|
||||
Can one use the hybrid "Objective-C++"
|
||||
--------------------------------------
|
||||
|
||||
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>.
|
||||
"Objective-C++". Apple is interested in adding back their implementation
|
||||
to gcc and is slowly adding parts of it to the mainline gcc
|
||||
implementation.
|
||||
|
||||
Is there a plan to support the Java/YellowBox Bindings?
|
||||
-------------------------------------------------------
|
||||
|
@ -114,7 +145,8 @@ 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.
|
||||
You should, however, be able to use a GNUstep program with an X11
|
||||
server running on MacOSX.
|
||||
|
||||
Is the Objective C API for GTK related?
|
||||
---------------------------------------
|
||||
|
@ -143,7 +175,7 @@ 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.
|
||||
volunteers are, as always, welcome.
|
||||
|
||||
Compiling and Developing
|
||||
========================
|
||||
|
@ -153,7 +185,7 @@ 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.
|
||||
GNUstep web site.)
|
||||
|
||||
How can I help with GNUstep?
|
||||
----------------------------
|
||||
|
@ -176,7 +208,7 @@ Software Foundation before they can be incorporated into the project.
|
|||
Get in touch with the maintainer of the library you are working on
|
||||
about this.
|
||||
|
||||
Don't start with large-scale reorganisation of anything - instead,
|
||||
Don't start with large-scale reorganization of anything - instead,
|
||||
get a general idea in mind of what you want to do, and proceed as much
|
||||
as possible with incremental changes that don't break anything - that
|
||||
way you can make those incremental changes available to the rest of the
|
||||
|
@ -308,14 +340,11 @@ out-of-date (or wrong) and update/mark-as-outdated as required.
|
|||
Why doesn't GDB support Objective-C?
|
||||
------------------------------------
|
||||
|
||||
Apple has submitted their patches to make GDB work with Objective-C
|
||||
programs, and the GDB maintainer has said that he is interested in
|
||||
integrating them. Now it appears that that there is just a lack of time
|
||||
and priority to get this done. You can ask about or lobby for this -
|
||||
see <http://sources.redhat.com/gdb/>.
|
||||
Update: GDB 6.0, which should come out sometime in September 2003
|
||||
supports debugging of Objective-C code.
|
||||
|
||||
There are patches available on the gnustep web site if you want to
|
||||
compile your own gdb (see <ftp://ftp.gnustep.org/pub/gnustep/patches>).
|
||||
There are patches available on the gnustep web site for earlier
|
||||
versions of gdb (see <ftp://ftp.gnustep.org/pub/gnustep/patches>).
|
||||
|
||||
GNU Objective C Compiler and Runtime
|
||||
====================================
|
||||
|
@ -331,36 +360,22 @@ does, including Categories, Protocols, `+poseAs:', thread-safety, class
|
|||
initialization on demand, delayed loading of classes, and
|
||||
initialization of static instances (such as @""-style string objects).
|
||||
|
||||
It also has several improvements over NeXT's implementation:
|
||||
|
||||
* NeXT's runtime requires an extra function call (objc_msgSend) for
|
||||
each message that is sent; (the function looks up the receiving
|
||||
instance's implementation of the method). GNU's implementation is
|
||||
faster because it does not use an extra function call. Instead, it
|
||||
inlines a short piece of code that makes two pointer hops into a
|
||||
method dispatch table; because the code is inlined, it does not
|
||||
incur the overhead of a function call.
|
||||
|
||||
* When running in thread-safe mode, NeXT's runtime must aquire a
|
||||
global mutual exclusion lock every time a message is sent; this is
|
||||
extremely slow. GNU's runtime, amazingly, sends messages just as
|
||||
fast in thread-safe mode as it does in single-thread mode--the
|
||||
code path does not contain even a single extra instruction! The
|
||||
GNU runtime only needs locks when certainly structures are
|
||||
written, not read; the structures are written relatively
|
||||
infrequently: only at class initialization and when `+poseAs:' is
|
||||
called.
|
||||
It also has several differences over NeXT's implementation:
|
||||
|
||||
* GNU's runtime provides "selector-types" along with each selector;
|
||||
NeXT's does not. A selector-type is a string that describes the C
|
||||
variable types for the method's return and argument values. Among
|
||||
other uses, selector-types is extrememly helpful for fast
|
||||
other uses, selector-types is extremely helpful for fast
|
||||
distributed objects implementations, (see GNUstep Base Library
|
||||
Section, below).
|
||||
|
||||
* Many of the GNU functions have different names than their
|
||||
corresponding NeXT functions; the GNU names conform to the GNU
|
||||
coding standards.
|
||||
coding standards. The GNUstep base library contains a
|
||||
compatibility header that works with both runtimes. You should use
|
||||
functions there or use OpenStep Foundation methods/functions
|
||||
instead of the basic runtime functions so that you code can run
|
||||
with either system.
|
||||
|
||||
|
||||
Does it allow a mixture of Objective C and C++?
|
||||
|
@ -393,11 +408,11 @@ portion of the OpenStep standard (the Foundation library).
|
|||
What is its current state of development?
|
||||
-----------------------------------------
|
||||
|
||||
GNUstep base is currently stable and implements probably 99% of the
|
||||
functionality of the OpenStep classes and most all of the new Cocoa
|
||||
classes. Normal work can already be done using the library since the
|
||||
missing 1 percent are the least-often-used features or are simply not
|
||||
up to date with the latest Carbon spec.
|
||||
GNUstep base is currently stable and, to the best of our knowledge,
|
||||
implements all of the OpenStep functionality (except for a few classes
|
||||
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?
|
||||
-------------------------------------------------
|
||||
|
@ -409,7 +424,7 @@ are not available.
|
|||
|
||||
[NOTE: The GNU distributed object facilities have the same
|
||||
ease-of-use as NeXT's; be warned, however, that they are not compatible
|
||||
with each other. They have different class heirarchies, different
|
||||
with each other. They have different class hierarchies, different
|
||||
instance variables, different method names, different implementation
|
||||
strategies and different network message formats. You cannot
|
||||
communicate with a NeXT NSConnection using a GNU NSConnection.
|
||||
|
@ -462,14 +477,27 @@ platforms to share the large amount of front-end code.
|
|||
What is the current state of development of the front-end?
|
||||
----------------------------------------------------------
|
||||
|
||||
Many of the classes are well implemented, if not thouroughly tested.
|
||||
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 X/DPS back-end?
|
||||
---------------------------------------------------------------
|
||||
What is the current state of development of the back-ends?
|
||||
----------------------------------------------------------
|
||||
|
||||
It works, but is slow and buggy. A lot of work could be done.
|
||||
There are several backends currently available:
|
||||
|
||||
`xlib'
|
||||
This is the standard backend that runs on X11 and uses standard
|
||||
xlib calls for implementing drawing. It works well, but is limited
|
||||
in many areas due to the limitations of xlib drawing.
|
||||
|
||||
`art'
|
||||
This is a very good backend that draws using the libart package and
|
||||
freetype with near PostScript quality and functionality. At some
|
||||
point it will become the standard.
|
||||
|
||||
`w32'
|
||||
This backend works on Windows and is currently very alpha quality.
|
||||
|
||||
GNUstep DisplayGhostScript Server
|
||||
=================================
|
||||
|
@ -481,6 +509,11 @@ What is the Display Ghostscript Server?
|
|||
the GNU Ghostscript program developed by Aladdin Enterprises and now
|
||||
owned by artofcode LLC.
|
||||
|
||||
At one point, GNUstep was using this for display purposes. However
|
||||
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?
|
||||
-----------------------------------------
|
||||
|
||||
|
|
154
GNUstep-HOWTO
154
GNUstep-HOWTO
|
@ -1,7 +1,7 @@
|
|||
GNUstep HOWTO
|
||||
*************
|
||||
|
||||
Last Update: 22 August 2003
|
||||
Last Update: 23 November 2003
|
||||
|
||||
This document explains how to build the different components of the
|
||||
GNUstep core libraries and GNUstep Launchpad.
|
||||
|
@ -52,10 +52,8 @@ are required.
|
|||
|
||||
`libffi library (OPTIONAL)'
|
||||
This is a library that provides stack frame handling for
|
||||
NSInvocation and NSConnection similar to ffcall. However, libffi
|
||||
is not as well tested as ffcall so you should not use it unless
|
||||
you are familiar with potential problems. Use this instead of
|
||||
ffcall. You don't need both.
|
||||
NSInvocation and NSConnection similar to ffcall. Use this instead
|
||||
of ffcall. You don't need both.
|
||||
|
||||
`WindowMaker (Version >= 0.62) (OPTIONAL)'
|
||||
GNUstep and WindowMaker work together to provide a consistant
|
||||
|
@ -83,28 +81,30 @@ are required.
|
|||
creating another bundle.
|
||||
|
||||
`libiconv (OPTIONAL)'
|
||||
Unicode 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
|
||||
Note: Do not install this library unless you are sure you need it.
|
||||
You probably don't need it except perhaps on MinGW. Unicode
|
||||
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,
|
||||
neither one is required to use GNUstep.
|
||||
|
||||
`gnustep-objc package (for gcc version < 3.0 ONLY) (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.
|
||||
Note: Do not install this library unless you are sure you need it.
|
||||
You probably don't need it except on MinGW. 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.
|
||||
|
||||
`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/patches>
|
||||
`GDB (OPTIONAL)'
|
||||
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
|
||||
|
@ -179,7 +179,7 @@ for each pacakge (add any additional options you decide upon):
|
|||
gnustep-make you need to execute GNUstep's shell configuration script,
|
||||
as follows:
|
||||
|
||||
. /usr/GNUstep/System/Makefiles/GNUstep.sh
|
||||
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
|
||||
|
||||
before proceeding any further.
|
||||
|
||||
|
@ -213,7 +213,7 @@ Environment Setup
|
|||
your shell startup file (such as `.profile'). For instance, if your
|
||||
GNUSTEP_SYSTEM_ROOT is `/usr/GNUstep/System',
|
||||
|
||||
. /usr/GNUstep/System/Makefiles/GNUstep.sh
|
||||
. /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;
|
||||
|
@ -227,7 +227,7 @@ 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/Makefiles/GNUstep.csh
|
||||
source /usr/GNUstep/System/Library/Makefiles/GNUstep.csh
|
||||
|
||||
GNUstep Home
|
||||
============
|
||||
|
@ -341,6 +341,10 @@ of the following information before choosing the compiler you use.
|
|||
`gcc 3.2.x'
|
||||
Pretty good. Recommended.
|
||||
|
||||
`gcc 3.3.x'
|
||||
Recommended. Fixes some bugs relating to protocols as well as other
|
||||
improvements.
|
||||
|
||||
If you have compiled GNUstep on a specific machine, please send
|
||||
information about what you needed and any special instructions needed to
|
||||
GNUstep <bug-gnustep@gnu.org>.
|
||||
|
@ -357,37 +361,41 @@ compiling and installing gcc and make. If you had GNUstep previously
|
|||
installed, make sure you completely remove all of it, including
|
||||
installed init scripts.
|
||||
|
||||
Darwin 6.x/PowerPC (_Unstable!_)
|
||||
================================
|
||||
Darwin 6.x/PowerPC
|
||||
==================
|
||||
|
||||
`Recommended compiler'
|
||||
gcc 3.2.2
|
||||
|
||||
Default compiler has some odd memory(?) related problems. Use the
|
||||
GNU runtime. Download the gcc compiler and configure it with
|
||||
-enable-threads=posix. Usually the installed compiler will produce
|
||||
object files for the NeXT runtime if you don't say gcc
|
||||
-fgnu-runtime. To change this behaviour, edit
|
||||
src-dir/gcc/config/darwin.h: You have to change the word #define
|
||||
in line 73 to #undef. Then the runtime default is gnu. When
|
||||
bootstrapping the compiler a nice working objective C gnu-runtime
|
||||
library (which is a little bit faster than Apple's runtime) will
|
||||
be compiled and installed when make install. To use it, there is
|
||||
one (important) thing left: After installing the compiler, you
|
||||
have to go to install-dir/lib and produce the following dynamic
|
||||
link: ln -s libobjc.a libobjc.dylib This might seem senseless, but
|
||||
it forces the linker to use this library instead of the
|
||||
NeXT-runtime!
|
||||
-enable-threads=posix. You don't need binutils or anything else.
|
||||
|
||||
Optional: Usually the installed compiler will produce object files
|
||||
for the NeXT runtime if you don't say gcc -fgnu-runtime. To change
|
||||
this behaviour, edit src-dir/gcc/config/darwin.h: You have to
|
||||
change the word #define in line 73 to #undef. Then the runtime
|
||||
default is gnu. When bootstrapping the compiler a nice working
|
||||
objective C gnu-runtime library (which is a little bit faster than
|
||||
Apple's runtime) will be compiled and installed when make install.
|
||||
To use it, there is one (important) thing left: After installing
|
||||
the compiler, you have to go to install-dir/lib and produce the
|
||||
following dynamic link:
|
||||
ln -s libobjc.a libobjc.dylib
|
||||
This might seem senseless, but it forces the linker to use this
|
||||
library instead of the NeXT-runtime!
|
||||
|
||||
`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. Also you
|
||||
need the dlcompat library (from <www.opendarwin.org>) to load
|
||||
bundles (like the backend bundle).
|
||||
|
||||
`Special Instructions'
|
||||
Make sure to configure gnustep-make with ./configure
|
||||
-with-library-combo=gnu-gnu-gnu if you want to use all the GNUstep
|
||||
libraries.
|
||||
|
||||
`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
|
||||
|
||||
`Special Instructions'
|
||||
Debian/DEC-Alpha
|
||||
================
|
||||
|
||||
|
@ -480,49 +488,16 @@ FreeBSD 2.x (_Unstable!_)
|
|||
FreeBSD 3.x. You need to use gmake not make to compile the
|
||||
GNUstep packages.
|
||||
|
||||
GNU-Linux/Intel (RedHat 5.x, 6.x, and 7.0)
|
||||
==========================================
|
||||
|
||||
`Recommended compiler'
|
||||
With 5.x, the egcs compiler that comes with RedHat. Later versions
|
||||
may have gcc installed, although 7.0 comes with a snapshot of gcc
|
||||
(called 2.96) which is unsuitable for compiling Objective-C code.
|
||||
For 7.0 you should install the egcs compatibility packages (or an
|
||||
official gcc release). For RedHat 7.2 or later, the default gcc
|
||||
apparently works fine (even if it is 2.96)
|
||||
|
||||
`Extra libs needed'
|
||||
Unknown
|
||||
|
||||
`Special Instructions'
|
||||
Make sure you have a decent version of the compiler. Try `cc -v'
|
||||
or `gcc -v' to get the version of the compiler. With 5.x, make
|
||||
sure you set CC=egcs before configuring, as in:
|
||||
|
||||
export CC=egcs
|
||||
configure ....
|
||||
|
||||
Since RedHat 5.x also comes standard with an old version of gcc.
|
||||
|
||||
On RedHat 7.0, configure like this
|
||||
CC=egcs LDFLAGS="-u shmctl@GLIBC_2.2 -L/lib -lc -u getpwuid_r@GLIBC_2.1.2
|
||||
-L/lib -lc -u getpwnam_r@GLIBC_2.1.2 -L/lib -lc" ./configure
|
||||
|
||||
GNU-Linux/PowerPC (LinuxPPC, Yellowdog)
|
||||
=======================================
|
||||
|
||||
`Recommended compiler'
|
||||
The default compiler. gcc-3.x works, but you need a new gdb also
|
||||
to debug.
|
||||
Standard
|
||||
|
||||
`Extra libs needed'
|
||||
None.
|
||||
Standard (ffcall or libffi)
|
||||
|
||||
`Special Instructions'
|
||||
ffcall or libffi is required for invocations (and DO) to work well.
|
||||
The major problem is sending data with data sizes less than 4 bytes
|
||||
(chars, shorts, etc).
|
||||
|
||||
Irix 6.5/MIPS
|
||||
=============
|
||||
|
||||
|
@ -566,6 +541,18 @@ MkLinux/PowerPC (_Obsolete_)
|
|||
compiler and glibc library (which has the threads library) and
|
||||
install both.
|
||||
|
||||
RedHat/Intel
|
||||
============
|
||||
|
||||
`Recommended compiler'
|
||||
Standard
|
||||
|
||||
`Extra libs needed'
|
||||
Standard (ffcall or libffi)
|
||||
|
||||
`Special Instructions'
|
||||
None
|
||||
|
||||
NetBSD
|
||||
======
|
||||
|
||||
|
@ -590,7 +577,7 @@ Netwinder (_Unstable!_)
|
|||
`Special Instructions'
|
||||
See <http://www.netwinder.org/~patrix>
|
||||
|
||||
OpenBSD 2.x (_Unstable!_)
|
||||
OpenBSD 3.x (_Unstable!_)
|
||||
==========================
|
||||
|
||||
`Recommended compiler'
|
||||
|
@ -600,7 +587,6 @@ OpenBSD 2.x (_Unstable!_)
|
|||
Unknown
|
||||
|
||||
`Special Instructions'
|
||||
Can only compile with static libraries. Gives a lot of warnings.
|
||||
Try reading the README.NetBSD which might work the same on OpenBSD.
|
||||
|
||||
OSF Alpha (_Unstable!_)
|
||||
|
@ -826,7 +812,7 @@ Unixware-2.1.3/Intel
|
|||
|
||||
and your startup file would contain the lines
|
||||
|
||||
. /usr/local/GNUstep/Makefiles/GNUstep.sh
|
||||
. /usr/local/GNUstep/Library/Makefiles/GNUstep.sh
|
||||
gdomap -a /etc/gdomap_addresses
|
||||
|
||||
If you don't set gdomap up correctly, Distributed Objects will not
|
||||
|
@ -845,7 +831,7 @@ Windows with CYGWIN (_Unstable!_)
|
|||
found. For ffcall, you should get version 1.8b or above (the
|
||||
earlier ones don't compile). There are still some problems with
|
||||
structure passing, but that is generally not supportred on any
|
||||
architecture.
|
||||
architecture. libffi not supported.
|
||||
|
||||
`Special Instructions'
|
||||
On later versions of Cygwin you may be required to include the
|
||||
|
|
6
INSTALL
6
INSTALL
|
@ -206,7 +206,7 @@ systems, there might be a system wide script that everyone uses, such
|
|||
as `/etc/bashrc', where you could add lines similar to these:
|
||||
|
||||
# Setup for the GNUstep environment
|
||||
. /usr/GNUstep/System/Makefiles/GNUstep.sh
|
||||
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
|
||||
|
||||
This will source in the GNUstep.sh file and set the environment
|
||||
variables; thus making them available for all users. Before executing
|
||||
|
@ -240,8 +240,8 @@ reads the .bash_profile file in the user's home directory. So you can
|
|||
add the following lines to that file:
|
||||
|
||||
# Setup for the GNUstep environment
|
||||
if [ -f $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh ]; then
|
||||
. $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh
|
||||
if [ -f $GNUSTEP_SYSTEM_ROOT/Library/Makefiles/GNUstep.sh ]; then
|
||||
. $GNUSTEP_SYSTEM_ROOT/Library/Makefiles/GNUstep.sh
|
||||
fi
|
||||
|
||||
This will source in the GNUstep.sh file and set the environment
|
||||
|
|
25
NEWS
25
NEWS
|
@ -1,7 +1,30 @@
|
|||
NEWS
|
||||
****
|
||||
|
||||
The currently released version is `1.7.3'.
|
||||
The currently released version is `1.9.0'.
|
||||
|
||||
Changes in version `1.9.0'
|
||||
==========================
|
||||
|
||||
* Support for building in a separate build dir.
|
||||
|
||||
* Add -enable-string-makefiles option to configure
|
||||
|
||||
* List of classes in a framework gets written to the plist file.
|
||||
|
||||
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 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'
|
||||
==========================
|
||||
|
||||
Bug fixes.
|
||||
|
||||
Changes in version `1.7.3'
|
||||
==========================
|
||||
|
|
4
Version
4
Version
|
@ -3,8 +3,8 @@
|
|||
|
||||
# The version number of this release.
|
||||
GNUSTEP_MAKE_MAJOR_VERSION=1
|
||||
GNUSTEP_MAKE_MINOR_VERSION=8
|
||||
GNUSTEP_MAKE_SUBMINOR_VERSION=90
|
||||
GNUSTEP_MAKE_MINOR_VERSION=9
|
||||
GNUSTEP_MAKE_SUBMINOR_VERSION=0
|
||||
GNUSTEP_MAKE_VERSION=${GNUSTEP_MAKE_MAJOR_VERSION}.${GNUSTEP_MAKE_MINOR_VERSION}.${GNUSTEP_MAKE_SUBMINOR_VERSION}
|
||||
VERSION=${GNUSTEP_MAKE_VERSION}
|
||||
|
||||
|
|
Loading…
Reference in a new issue