mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Update of docs. Fixes from Frith-MacDonald, others.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2679 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
e72b63e234
commit
e6395ff746
22 changed files with 467 additions and 559 deletions
40
ChangeLog
40
ChangeLog
|
@ -1,3 +1,43 @@
|
|||
Fri Jan 2 13:04:53 1998 Adam Fedor <fedor@spanky.doc.com>
|
||||
|
||||
* doc/Makefile.postamble: Generate texi from tmpl.texi files.
|
||||
* doc/announce.tmpl.texi: Renamed from announce.texi
|
||||
* doc/faq.tmpl.texi: Likewise.
|
||||
* doc/gnustep-base.tmpl.texi: Likewise.
|
||||
* doc/gnustep-howto.tmpl.texi: Likewise.
|
||||
* doc/gnustep-zones.tmpl.texi: Likewise.
|
||||
* doc/install.tmpl.texi: Likewise.
|
||||
* doc/manual.tmpl.texi: Likewise.
|
||||
* doc/news.tmpl.texi: Likewise.
|
||||
* doc/readme.tmpl.texi: Likewise.
|
||||
* doc/todo.tmpl.texi: Likewise.
|
||||
|
||||
Wed Dec 31 13:58:51 1997 Adam Fedor <fedor@doc.com>
|
||||
|
||||
* STATUS: Updated status on a few classes.
|
||||
|
||||
* doc/GNUmakefile (TOP_DOC_FILES): Add GNUstep-HOWTO.
|
||||
* doc/gnustep-howto.texi: Update documentation.
|
||||
* doc/gnustep-faq.texi: Likewise.
|
||||
* doc/install.texi: Likewise.
|
||||
* doc/readme.texi: Likewise.
|
||||
|
||||
Mon Dec 29 09:16:34 1997 Adam Fedor <fedor@doc.com>
|
||||
|
||||
* src/Random.m ([Random -randomFloatBetween:and:]): Add lowBound
|
||||
(Fix suggested by Masatake Yamato <masata-y@is.aist-nara.ac.jp>).
|
||||
|
||||
Fri Dec 26 10:25:00 1997 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
* src/NSCalendarDate.m:
|
||||
([-dateByAddingYears:months:days:hours:minutes:seconds:]) Fixed
|
||||
bug in wrapping months when adding date to december.
|
||||
|
||||
* src/NSUserDefaults.m: ([-__createArgumentDictionary]) Fixed to
|
||||
use command line args beginning with a dash as defaults keys.
|
||||
Retained old behaviour for -GS and --GS prefixes for backward
|
||||
compatibility.
|
||||
|
||||
Fri Dec 19 13:09:28 1997 Adam Fedor <fedor@doc.com>
|
||||
|
||||
* src/NSGeometry.m (NSPointFromString, NSSizeFromString,
|
||||
|
|
|
@ -32,33 +32,41 @@ MAKEINFO = makeinfo
|
|||
TEXI2DVI = texi2dvi
|
||||
TEXI2HTML = texi2html
|
||||
|
||||
ORIG_FILES = \
|
||||
version.tmpl.texi \
|
||||
gnustep-gui.tmpl.texi \
|
||||
gnustep-howto.tmpl.texi \
|
||||
announce.tmpl.texi \
|
||||
install.tmpl.texi \
|
||||
news.tmpl.texi \
|
||||
readme.tmpl.texi \
|
||||
status.tmpl.texi \
|
||||
todo.tmpl.texi \
|
||||
faq.tmpl.texi
|
||||
|
||||
TEXI_FILES = \
|
||||
announce.texi \
|
||||
base-desc.texi \
|
||||
coding-standards.texi \
|
||||
faq.texi \
|
||||
gnustep-base.texi \
|
||||
gnustep-faq.texi \
|
||||
gnustep-howto.texi \
|
||||
gnustep-zones.texi \
|
||||
install.texi \
|
||||
machines.texi \
|
||||
news.texi \
|
||||
objective-c.texi \
|
||||
readme.texi \
|
||||
todo.texi \
|
||||
version.texi \
|
||||
NSZone.texi
|
||||
gnustep-gui.texi \
|
||||
announce.texi \
|
||||
install.texi \
|
||||
news.texi \
|
||||
readme.texi \
|
||||
status.texi \
|
||||
todo.texi \
|
||||
faq.texi \
|
||||
coding-standards.texi \
|
||||
gnustep-howto.texi \
|
||||
gnustep-zones.texi
|
||||
|
||||
TEXT_FILES = \
|
||||
TODO INSTALL NEWS CODING-STANDARDS README ANNOUNCE GNUstep-HOWTO
|
||||
TODO INSTALL NEWS CODING-STANDARDS README ANNOUNCE FAQ STATUS GNUstep-HOWTO
|
||||
|
||||
INFO_FILES = gnustep-base.info
|
||||
PS_FILES = gnustep-base.dvi
|
||||
HTML_FILES =
|
||||
DVI_FILES = gnustep-base.dvi objective-c.dvi
|
||||
HTML_FILES = gnustep-base_toc.html
|
||||
DVI_FILES = gnustep-base.dvi
|
||||
|
||||
TOP_DOC_FILES = README INSTALL NEWS
|
||||
TOP_DOC_FILES = README INSTALL NEWS GNUstep-HOWTO
|
||||
RCS_FILES = $(TEXI_FILES) GNUmakefile Makefile.postamble
|
||||
DIST_FILES = $(RCS_FILES) texinfo.tex $(TEXT_FILES)
|
||||
|
||||
|
|
|
@ -80,63 +80,131 @@ after-clean::
|
|||
# after-check::
|
||||
|
||||
srcdir=.
|
||||
INFO_FLAGS = -I $(srcdir) -D NO-TEXI2HTML --no-header
|
||||
HTML_FLAGS = -split_chapter -expandinfo -I $(srcdir)
|
||||
TEXT_FLAGS = -I $(srcdir) -D NO-TEXI2HTML -D TEXT-ONLY --no-header --no-split
|
||||
|
||||
text: $(TEXT_FILES)
|
||||
info: version.texi $(INFO_FILES)
|
||||
info: $(INFO_FILES)
|
||||
ps: $(PS_FILES)
|
||||
html: $(HTML_FILES)
|
||||
dvi: $(DVI_FILES)
|
||||
|
||||
version.texi: $(srcdir)/../Version
|
||||
rm -f version.texi
|
||||
echo '@set GNUSTEP_BASE_VERSION' $(VERSION) \
|
||||
> version.texi
|
||||
echo '@set GNUSTEP_BASE_GCC_VERSION $(GCC_VERSION)' \
|
||||
>> version.texi
|
||||
if [ $(FTP_MACHINE) ]; then \
|
||||
echo '@set GNUSTEP_BASE_FTP_MACHINE $(FTP_MACHINE)' \
|
||||
>> version.texi; fi
|
||||
if [ $(FTP_DIRECTORY) ]; then \
|
||||
echo '@set GNUSTEP_BASE_FTP_DIRECTORY $(FTP_DIRECTORY)' \
|
||||
>> version.texi; fi
|
||||
version.tmpl.texi: $(srcdir)/../Version
|
||||
rm -f version.tmpl.texi
|
||||
echo '@set GNUSTEP-BASE-VERSION' $(GNUSTEP_BASE_VERSION) \
|
||||
> version.tmpl.texi
|
||||
echo '@set GCC-VERSION $(GCC_VERSION)' \
|
||||
>> version.tmpl.texi
|
||||
if [ $(GNUSTEP_BASE_FTP_MACHINE) ]; then \
|
||||
echo '@set GNUSTEP-BASE-FTP-MACHINE $(GNUSTEP_BASE_FTP_MACHINE)' \
|
||||
>> version.tmpl.texi; fi
|
||||
if [ $(GNUSTEP_BASE_FTP_DIRECTORY) ]; then \
|
||||
echo '@set GNUSTEP-BASE-FTP-DIRECTORY $(GNUSTEP_BASE_FTP_DIRECTORY)' \
|
||||
>> version.tmpl.texi; fi
|
||||
if [ $(GNUSTEP_BASE_SNAP_FTP_MACHINE) ]; then \
|
||||
echo '@set GNUSTEP-BASE-SNAP-FTP-MACHINE \
|
||||
$(GNUSTEP_BASE_SNAP_FTP_MACHINE)' \
|
||||
>> version.tmpl.texi; fi
|
||||
if [ $(GNUSTEP_BASE_SNAP_FTP_DIRECTORY) ]; then \
|
||||
echo '@set GNUSTEP-BASE-SNAP-FTP-DIRECTORY \
|
||||
$(GNUSTEP_BASE_SNAP_FTP_DIRECTORY)' \
|
||||
>> version.tmpl.texi; fi
|
||||
cp version.tmpl.texi version.texi
|
||||
|
||||
gnustep-base.dvi: gnustep-base.texi version.texi
|
||||
gnustep-base.dvi: $(ORIG_FILES)
|
||||
rm -f $(TEXI_FILES)
|
||||
for i in $(ORIG_FILES); do \
|
||||
cp $$i `basename $$i .tmpl.texi`.texi ; \
|
||||
done
|
||||
$(TEXI2DVI) $(srcdir)/gnustep-base.texi
|
||||
objective-c.dvi: objective-c.texi
|
||||
$(TEXI2DVI) $(srcdir)/objective-c.texi
|
||||
|
||||
MAKEINFO_FLAGS = -I $(srcdir)
|
||||
gnustep-base.info: $(ORIG_FILES)
|
||||
rm -f $(TEXI_FILES)
|
||||
for i in $(ORIG_FILES); do \
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/$$i \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> `basename $$i .tmpl.texi`.texi ; \
|
||||
done
|
||||
$(MAKEINFO) $(INFO_FLAGS) -o gnustep-base.info $(srcdir)/gnustep-base.texi
|
||||
|
||||
gnustep-base.ps: gnustep-base.dvi
|
||||
dvips gnustep-base.dvi -o gnustep-base.ps
|
||||
|
||||
gnustep-base_toc.html: $(ORIG_FILES)
|
||||
rm -f $(TEXI_FILES)
|
||||
for i in $(ORIG_FILES); do \
|
||||
sed -e 's,@email{\([^}]*\)},<A HREF="mailto:\1">\1</A>,g' \
|
||||
$(srcdir)/$$i \
|
||||
| sed -e 's,@url{\([^}]*\)},<A HREF="\1">\1</A>,g' \
|
||||
| sed -e 's,^ *$$,@br{},g' \
|
||||
> `basename $$i .tmpl.texi`.texi ; \
|
||||
done
|
||||
$(TEXI2HTML) $(HTML_FLAGS) gnustep-base.texi
|
||||
|
||||
# Rules for producing the text files
|
||||
README: version.tmpl.texi readme.tmpl.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/readme.tmpl.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> readme.texi ; \
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o README $(srcdir)/readme.texi
|
||||
|
||||
ANNOUNCE: version.tmpl.texi announce.tmpl.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/announce.tmpl.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> announce.texi ; \
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o ANNOUNCE $(srcdir)/announce.texi
|
||||
|
||||
INSTALL: version.tmpl.texi install.tmpl.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/install.tmpl.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> install.texi ; \
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o INSTALL $(srcdir)/install.texi
|
||||
|
||||
NEWS: version.tmpl.texi news.tmpl.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/news.tmpl.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> news.texi ; \
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o NEWS $(srcdir)/news.texi
|
||||
|
||||
FAQ: version.tmpl.texi faq.tmpl.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/faq.tmpl.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> faq.texi ; \
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o FAQ $(srcdir)/faq.texi
|
||||
|
||||
STATUS: version.tmpl.texi status.tmpl.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/status.tmpl.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> status.texi ; \
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o STATUS $(srcdir)/status.texi
|
||||
|
||||
TODO: version.tmpl.texi todo.tmpl.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/todo.tmpl.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> todo.texi ; \
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o TODO $(srcdir)/todo.texi
|
||||
|
||||
CODING-STANDARDS: version.tmpl.texi coding-standards.texi
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o CODING-STANDARDS \
|
||||
$(srcdir)/coding-standards.texi
|
||||
|
||||
GNUstep-HOWTO: version.tmpl.texi gnustep-howto.tmpl.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/gnustep-howto.tmpl.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> gnustep-howto.texi ; \
|
||||
$(MAKEINFO) $(TEXT_FLAGS) -o GNUstep-HOWTO \
|
||||
$(srcdir)/gnustep-howto.texi
|
||||
|
||||
gnustep-base.info: gnustep-base.texi todo.texi version.texi
|
||||
@echo Sorry, makeinfo does not yet support Objective C documentation.
|
||||
:$(MAKEINFO) $(MAKEINFO_FLAGS) $(srcdir)/gnustep-base.texi
|
||||
objective-c.info: objective-c.texi
|
||||
@echo Sorry, makeinfo does not yet support Objective C documentation.
|
||||
:$(MAKEINFO) $(MAKEINFO_FLAGS) $(srcdir)/objective-c.texi
|
||||
TODO: todo.texi version.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o TODO -D TODO_ONLY \
|
||||
--no-header --no-split $(srcdir)/todo.texi
|
||||
INSTALL: install.texi version.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o INSTALL -D INSTALL_ONLY \
|
||||
--no-header --no-split $(srcdir)/install.texi
|
||||
CODING-STANDARDS: coding-standards.texi version.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o CODING-STANDARDS -D CODING_ONLY \
|
||||
--no-header --no-split $(srcdir)/coding-standards.texi
|
||||
README: readme.texi version.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o README -D README_ONLY \
|
||||
--no-header --no-split $(srcdir)/readme.texi
|
||||
ANNOUNCE: announce.texi version.texi news.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o ANNOUNCE -D ANNOUNCE_ONLY \
|
||||
--no-header --no-split $(srcdir)/announce.texi
|
||||
NEWS: news.texi version.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o NEWS -D NEWS_ONLY \
|
||||
--no-header --no-split $(srcdir)/news.texi
|
||||
ADVERTISEMENT: advertisement.texi version.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o ADVERTISEMENT -D ADVERTISEMENT_ONLY \
|
||||
--no-header --no-split $(srcdir)/advertisement.texi
|
||||
GNUstep-HOWTO: gnustep-howto.texi version.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o GNUstep-HOWTO -D GNUsteo-HOWTO_ONLY \
|
||||
--no-header --no-split $(srcdir)/gnustep-howto.texi
|
||||
|
||||
# Unused for now, but may be used in the future.
|
||||
#%: %.texi
|
||||
|
@ -160,34 +228,6 @@ GNUstep-HOWTO: gnustep-howto.texi version.texi
|
|||
# texi2html -expandinfo $(MAKEINFO_FLAGS) $<.html.texi
|
||||
# mv -f $<.html.html $*.html
|
||||
|
||||
# Make substitutions for @email{} and @url{} before passing to makeinfo.
|
||||
# These substitution scripts could be cleaned up.
|
||||
GNUstep-FAQ: gnustep-faq.texi version.texi
|
||||
rm -f GNUstep-FAQ.texi
|
||||
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||
$(srcdir)/gnustep-faq.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||
> GNUstep-FAQ.texi
|
||||
$(MAKEINFO) $(MAKEINFO_FLAGS) -o $@ \
|
||||
--no-header --no-split GNUstep-FAQ.texi
|
||||
rm -f GNUstep-FAQ.texi
|
||||
# Make substitutions for @email{} and @url{}, and add @br{} before @item
|
||||
# before passing to texi2html. Note: I think that this `@br{}' should
|
||||
# actually be a `@br', but the extra `{}' is necessary to work around a
|
||||
# bug in texi@html.
|
||||
# These substitution scripts could be cleaned up.
|
||||
GNUstep-FAQ.html: gnustep-faq.texi version.texi
|
||||
rm -f GNUstep-FAQ.texi
|
||||
sed -e 's,@email{\([^}]*\)},<A HREF="mailto:\1">\1</A>,g' \
|
||||
$(srcdir)/gnustep-faq.texi \
|
||||
| sed -e 's,@url{\([^}]*\)},<A HREF="\1">\1</A>,g' \
|
||||
| sed -e 's,^ *$$,@br{},g' \
|
||||
> GNUstep-FAQ.texi
|
||||
texi2html -expandinfo $(MAKEINFO_FLAGS) GNUstep-FAQ.texi
|
||||
|
||||
# | awk -- '/@item/ { print "@br{}" } /@end itemize/ { print "@br{}" } ; { print }'
|
||||
#<A HREF="http://www.cl.cam.ac.uk/texinfodoc/dir.html">GNU "info" manuals</A>
|
||||
|
||||
copy-dist: $(DIST_FILES)
|
||||
mkdir ../snap/doc
|
||||
ln $(DIST_FILES) ../snap/doc
|
||||
|
|
|
@ -1,125 +0,0 @@
|
|||
\input texinfo @c -*- texinfo -*-
|
||||
@c %**start of header
|
||||
@setfilename NSZone.info
|
||||
@settitle Zone Functions in GNUstep
|
||||
@c %**end of header
|
||||
|
||||
@ifinfo
|
||||
This explains the zone functions in the GNUstep base library.
|
||||
|
||||
This document is in the public domain.
|
||||
@end ifinfo
|
||||
|
||||
@titlepage
|
||||
@title Zone Funtions in GNUstep
|
||||
@author Yoo C. Chung
|
||||
@end titlepage
|
||||
|
||||
|
||||
@node Top, (dir), (dir), (dir)
|
||||
@comment node-name, next, previous, up
|
||||
|
||||
@ifinfo
|
||||
This explains how to use the zone functions in the GNUstep base library.
|
||||
@end ifinfo
|
||||
|
||||
For the current implementation, memory allocated by @code{malloc()}
|
||||
cannot be freed by @code{NSZoneFree()}, and memory allocated by
|
||||
@code{NSZoneMalloc()} cannot be freed by @code{free()}.
|
||||
|
||||
All the zone functions should be thread safe, though you should still be
|
||||
careful (it wouldn't make much sense to use a zone before it's created
|
||||
or after it's recycled).
|
||||
|
||||
|
||||
@deftypefun {NSZone *} NSCreateZone (size_t @var{start}, size_t @var{gran}, BOOL @var{canFree})
|
||||
Creates a memory zone which starts with a size of at least @var{start}
|
||||
bytes and grows by at least @var{gran} bytes when needed. If
|
||||
@var{canFree} is @code{YES}, then memory allocated in the zone can be
|
||||
freed. If @var{canFree} is @code{NO}, then memory allocated in the zone
|
||||
cannot be freed unless the whole zone is recycled (in which case the
|
||||
memory will be returned to the system regardless of whether they are
|
||||
still in use).
|
||||
|
||||
If @var{start} is zero, the zone will start out with some default size.
|
||||
If @var{gran} is zero, the zone will grow by some default number of
|
||||
bytes when the zone needs more memory.
|
||||
|
||||
There is no advantage in setting @var{start} or @var{gran} to a multiple
|
||||
of the page size of the machine.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun {NSZone *} NSDefaultMallocZone (void)
|
||||
Returns the default memory zone.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun {NSZone *} NSZoneFromPointer(void *@var{ptr})
|
||||
Finds the zone that contains the memory pointed to by @var{ptr}. This
|
||||
should be very fast.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun void NSRecycleZone (NSZone *@var{zone})
|
||||
This function destroys the zone. If @var{zone} is a zone that can free
|
||||
allocated memory, then memory blocks in the zone that are still in use
|
||||
will be merged with the default zone (or at least they should be, they
|
||||
currently aren't merged). If not, all memory in the zone will be
|
||||
reclaimed.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun {void *} NSZoneMalloc (NSZone *@var{zone}, size_t @var{size})
|
||||
Allocate @var{size} bytes from @var{zone} and return a pointer to the
|
||||
allocated memory.
|
||||
|
||||
If @var{size} is zero @code{NULL} is returned.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun {void *} NSZoneCalloc (NSZone *@var{zone}, size_t @var{elems}, size_t @var{bytes})
|
||||
Allocate memory for @var{elems} elements (each of which are @var{bytes}
|
||||
bytes) from @var{zone}. The memory is initialized with zeroes.
|
||||
|
||||
If either @var{elems} or @var{bytes} is zero, NULL is returned.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun {void *} NSZoneRealloc (NSZone *@var{zone}, void *@var{ptr}, size_t @var{size})
|
||||
Resizes the memory block pointed to by @var{ptr} to @var{size} bytes.
|
||||
If the memory block needs to be relocated, then the original contents
|
||||
will be copied to the new location. @var{ptr} may be @code{NULL}, in
|
||||
which case a new memory block will be allocated from the zone.
|
||||
|
||||
If @var{size} is zero, the memory pointed to by @var{ptr} is freed.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun void NSZoneFree (NSZone *@var{zone}, void *@var{ptr})
|
||||
This frees the allocated memory that @var{ptr} points at. The memory
|
||||
block must have been allocated from the @var{zone}.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun void NSSetZoneName (NSZone *@var{zone}, NSString *@var{name})
|
||||
This sets a name for @var{zone}. If @var{name} is @code{nil}, the name
|
||||
of the zone will be unset if there was a name previously set. Otherwise
|
||||
a copy will be made of @var{name} in the default zone.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun {NSString *} NSZoneName (NSZone *@var{zone})
|
||||
Returns the name for @var{zone}. Don't release it!
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@deftypefun {BOOL} NSZoneInUse (void *@var{ptr})
|
||||
Returns whether @var{ptr} points to memory that has been allocated or not.
|
||||
It does not work for memory allocated from a zone that cannot free memory.
|
||||
|
||||
This function is not in OpenStep.
|
||||
@end deftypefun
|
||||
|
||||
|
||||
@bye
|
|
@ -1,44 +0,0 @@
|
|||
@ifset FAQ_ONLY
|
||||
@chapter Frequently Asked Questions with Answers
|
||||
@c set the vars GNUSTEP_BASE_VERSION and GNUSTEP_BASE_GCC_VERSION
|
||||
@include version.texi
|
||||
@end ifset
|
||||
|
||||
@enumerate
|
||||
|
||||
@item Why not separate the GNU classes from the NS* foundation
|
||||
classes?
|
||||
|
||||
They are intimately intertwinned---not in a messy way, but for good
|
||||
reasons. ...explain more detail...
|
||||
|
||||
|
||||
@item I'm trying to compile an Objective C program on Linux, and it's not
|
||||
working.
|
||||
|
||||
Link with @samp{-lieee}.
|
||||
|
||||
|
||||
@item What are the differences and improvements of the GNU base classes
|
||||
over the NS* foundation classes?
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item Better collection class heirarchy.
|
||||
|
||||
@itemize @bullet
|
||||
@item Deep class heirarchy provides uniform method names and common
|
||||
superclasses in which to add generally-applicable new functionality.
|
||||
@item Richer use of invocations for enumerating
|
||||
@item More classes, providing new functionality, such as linked lists,
|
||||
binary trees, splay trees, etc.
|
||||
@item Dictionary can handle keys that are not Strings.
|
||||
@end itemize
|
||||
|
||||
@item Better archiving
|
||||
@item Better distributed objects
|
||||
|
||||
@end itemize
|
||||
|
||||
@end enumerate
|
||||
|
|
@ -20,16 +20,14 @@
|
|||
@chapter GNUstep Frequently Asked Questions with Answers
|
||||
@end iftex
|
||||
|
||||
Maintained by Andrew McCallum @email{mccallum@@gnu.ai.mit.edu}, with
|
||||
contributions by Pascal Forget @email{pascal@@wsc.com}, Scott Christley
|
||||
Maintained by Andrew McCallum @email{mccallum@@gnu.org}, with
|
||||
contributions by Adam Fedor @email{fedor@@gnu.org},
|
||||
Pascal Forget @email{pascal@@wsc.com}, Scott Christley
|
||||
@email{scottc@@net-community.com}, and Randy Chapman
|
||||
@email{chapman@@u.washington.edu}.
|
||||
|
||||
@c Do not remove the two words at the beginning of the next
|
||||
@c non-commented line, nor the period at the end of the line.
|
||||
@c time-stamp depends on them to find and properly update the date.
|
||||
Last updated 17 September 1996.
|
||||
Please send corrections to @email{mccallum@@gnu.ai.mit.edu}.
|
||||
Last updated @today{}
|
||||
Please send corrections to @email{gnustep-maintainer@@gnu.org}.
|
||||
|
||||
The intended audience of this FAQ is future and present code developers
|
||||
for GNUstep. This FAQ serves a purpose complementary to the GNUstep WWW
|
||||
|
@ -125,9 +123,9 @@ involvement in the GNUstep coding efforts.
|
|||
|
||||
@itemize @bullet
|
||||
|
||||
@item Adam Fedor @email{fedor@@mode.colorado.edu} continues his
|
||||
excellent, long service as user, tester, and code contributor to both
|
||||
the Base Library and the GUI Library.
|
||||
@item Adam Fedor @email{fedor@@gnu.org} Co-Maintainer of the
|
||||
GNUstep project, continues his excellent, long service as user, tester,
|
||||
and code contributor to both the Base Library and the GUI Library.
|
||||
|
||||
@item Andrew McCallum @email{mccallum@@gnu.ai.mit.edu} was appointed chief
|
||||
maintainer of the GNUstep project by Richard Stallman in January 1996.
|
||||
|
@ -144,9 +142,9 @@ on the GNUstep DisplayGhostScript Server, adding DPS extensions to
|
|||
GhostScript, including pswrap work.
|
||||
|
||||
@item Scott Christley @email{scottc@@net-community.com} is in charge of
|
||||
the InterfaceModeler project, which is currently in the design stages.
|
||||
He is working on the GUI Library in conjunction with Pascal Forget. He
|
||||
has already written much of the GUI Library frontend.
|
||||
the GUI library and the InterfaceModeler project, which is currently in
|
||||
the design stages. He is also the maintainer of the Objective-C
|
||||
language and runtime for GCC.
|
||||
|
||||
@end itemize
|
||||
|
||||
|
@ -217,8 +215,8 @@ maintained by McCallum @email{mccallum@@gnu.ai.mit.edu}.
|
|||
|
||||
@item @b{What is the current state of the project? When can I expect it to be completed?}
|
||||
|
||||
The Base Library is about 85 percent done. Significant useful work can
|
||||
already be done using the library. The GUI library is about 25
|
||||
The Base Library is about 90 percent done. Significant useful work can
|
||||
already be done using the library. The GUI library is about 45
|
||||
percent done. It is going through a major transition at the moment
|
||||
to coordinate work from multiple developers, DisplayPostscript, and
|
||||
the non-OpenStep objcX library into a single package that will be made
|
||||
|
@ -226,12 +224,12 @@ available to the public. The DisplayPostscript and drawing support
|
|||
is also in transition.
|
||||
|
||||
More detailed information about the state of each of the sub-projects
|
||||
can be found below.
|
||||
can be found at the above mentioned web sites.
|
||||
|
||||
With free software, you should never, ever, believe promises about when
|
||||
a project will be finished. ...However, that said: there are certain
|
||||
GNUstep developers that are counting on having useful Base and GUI
|
||||
libraries working by the end of Summer 1996.
|
||||
libraries working by the end of Summer 1998.
|
||||
|
||||
|
||||
@item @b{On what platforms will it run?}
|
||||
|
@ -252,13 +250,13 @@ few code contributions for OS/2.
|
|||
|
||||
If you have a specific piece of functionality that you would like to
|
||||
contribute, or if you would like to ask for suggestions about what
|
||||
coding work you can do to help, contact the GNUstep Chief Maintainer,
|
||||
Andrew McCallum @email{mccallum@@gnu.ai.mit.edu}.
|
||||
coding work you can do to help, contact the GNUstep Maintainers,
|
||||
Andrew McCallum and Adam Fedor @email{gnustep-maintainer@@gnu.org}.
|
||||
|
||||
@end enumerate
|
||||
@c GNUstep General
|
||||
|
||||
More detailed inforation about each of the GNUstep sub-projects can be
|
||||
More detailed inforamtion about each of the GNUstep sub-projects can be
|
||||
found below.
|
||||
|
||||
@section GNU Objective C Compiler and Objective C Runtime Library
|
||||
|
@ -271,7 +269,7 @@ found below.
|
|||
The Objective C Runtime Library provides C functions and data structures
|
||||
required to execute an Objective C program. An introduction to the
|
||||
Objective C Language is provided at
|
||||
@url{http://www.next.com/Pubs/Documents/OPENSTEP/ObjectiveC/objctoc.htm}.
|
||||
@url{http://gemma.apple.com/techinfo/techdocs/rhapsody}.
|
||||
The Frequently Asked Questions list for
|
||||
@url{news://comp.lang.objective-c} can be found at @url{??}.
|
||||
|
||||
|
@ -332,12 +330,10 @@ library. It can be obtained from @url{ftp://prep.ai.mit.edu/pub/gnu},
|
|||
or any other mirror of the GNU archives. As far as I know, the GNU
|
||||
Objective C Runtime runs on all, platforms on which GCC runs.
|
||||
|
||||
GCC version 2.7.2 does not contain the thread-safe features, but the
|
||||
next version of GCC will. A patch for thread-safe features is provided
|
||||
GCC version 2.7.2 does not contain the thread-safe features, but GCC version 2.8.0 will. A patch for thread-safe features is provided
|
||||
with the latest developer snaphots of the GNUstep Base Library. There
|
||||
are currently thread-safe backends for DEC OSF/1, Solaris, IRIX, and
|
||||
WindowsNT. Volunteers are solicited for writing additional back-ends,
|
||||
especially one for Linux.
|
||||
are currently thread-safe backends for DEC OSF/1, Solaris, IRIX, Linux, and
|
||||
WindowsNT. Volunteers are solicited for writing additional back-ends.
|
||||
|
||||
@item @b{Does it allow a mixture of Objective C and C++}
|
||||
|
||||
|
@ -377,30 +373,13 @@ the GNUstep Base Library homepage at
|
|||
|
||||
@item @b{What is its current state of development?}
|
||||
|
||||
It is about 85 percent of the way to having all the OpenStep classes.
|
||||
It is about 90 percent of the way to having all the OpenStep classes.
|
||||
Significant useful work can already be done using the library since the
|
||||
missing 15 percent are the less-often-used classes, such as NSByteStore.
|
||||
missing 10 percent are the less-often-used classes, such as NSByteStore.
|
||||
Over 60,000 lines of code have already been written.
|
||||
|
||||
The following OpenStep classes and class clusters are pretty much done
|
||||
and usable: NSArchiver, NSArray, NSAssertionHandler, NSAutoreleasePool,
|
||||
NSBitmapCharSet, NSBundle, NSCharacterSet, NSCoder, NSCountedSet,
|
||||
NSData, NSDate, NSDictionary, NSEnumerator, NSException, NSInvocation,
|
||||
NSLock, NSMethodSignature, NSNotification, NSNotificationCenter,
|
||||
NSNumber, NSObject, NSProcessInfo, NSRunLoop, NSScanner, NSSet,
|
||||
NSString, NSThread, NSTimeZone, NSTimer, NSUserDefaults, NSValue.
|
||||
|
||||
Most of the C functions are also implemented, including NSHashTable and
|
||||
NSMaptable.
|
||||
|
||||
A GNU implementation of Distributed Object works. However, the wrappers
|
||||
for creating the NSConnection, NSDistantObject, NSProxy wrappers have
|
||||
not yet been made.
|
||||
|
||||
The following classes are unstarted or unusable: NSBTreeBlock,
|
||||
NSBTreeCursor, NSByteStore, NSByteStoreFile, NSCalendarDate,
|
||||
NSDeserializer, NSSerializer.
|
||||
|
||||
Look at the STATUS file that comes with the distriution for additional
|
||||
status information.
|
||||
|
||||
@item @b{In what ways is the Base Library different from OpenStep's FoundationKit?}
|
||||
|
||||
|
@ -749,10 +728,10 @@ efficiency, and (2) legal clarity. GNUstep is no exception.
|
|||
@item @b{Where can I get a copy?}
|
||||
|
||||
The most recently released ``official'' version can be obtained from
|
||||
@url{ftp://prep.ai.mit.edu}.
|
||||
@url{ftp://ftp.gnu.org/pub/gnu}.
|
||||
|
||||
The most recently released alpha version can be obtained from
|
||||
@url{ftp://alpha.gnu.ai.mit.edu}.
|
||||
@url{ftp://alpha.gnu.org/gnu/gnustep}.
|
||||
|
||||
@end enumerate
|
||||
@c GNUstep Base Library
|
||||
|
@ -805,32 +784,24 @@ having the interface between front- and back-end fixed by the front-end.
|
|||
|
||||
@item @b{What is the current state of development of the front-end?}
|
||||
|
||||
A number of classes in the front-end are complete or almost complete;
|
||||
these include: NSActionCell, NSButtonCell, NSButton, NSCell, NSControl,
|
||||
NSEvent, NSFont, NSResponder, and NSSlider.
|
||||
|
||||
Other classes are complete enough to use, but still require some major
|
||||
additions before being considered almost complete: NSApplication, NSBox,
|
||||
NSColor, NSFontManager, NSMenu, NSMenuCell, NSPopUpButton, NSSliderCell,
|
||||
NSText, NSTextField, NSTextFieldCell, NSView, and NSWindow.
|
||||
|
||||
All remaining classes have stub implementations.
|
||||
|
||||
Many of the classes are well implemented, if not thouroughly tested.
|
||||
See the GNUstep web sites and read status information contained in the
|
||||
distribution for the most up-to-date information.
|
||||
|
||||
@item @b{What is the current state of development of the X/DPS back-end?}
|
||||
|
||||
Many of the classes are well implemented, if not thouroughly tested.
|
||||
See the GNUstep web sites and read status information contained in the
|
||||
distribution for the most up-to-date information.
|
||||
|
||||
@item @b{Where can I get a copy?}
|
||||
|
||||
It is not yet publically available. When it is available you will be
|
||||
able to find it in @url{ftp://alpha.gnu.ai.mit.edu/gnu}. Pre-release
|
||||
snapshots are available at @url{ftp://ocbi.com}.
|
||||
At the same place as the Base library.
|
||||
|
||||
@end enumerate
|
||||
@c GNUstep GUI Library
|
||||
|
||||
|
||||
|
||||
@section GNUstep DisplayGhostScript Server
|
||||
|
||||
@enumerate
|
||||
|
@ -871,6 +842,47 @@ current specifications are available through the GNUstep WWW pages.
|
|||
@end enumerate
|
||||
@c GNUstep IM
|
||||
|
||||
@c ****************************************************************
|
||||
@c Compiling
|
||||
@section Compiling the GNUstep package
|
||||
|
||||
@enumerate
|
||||
|
||||
@item @b{How do I compile GNUstep on my machine?}
|
||||
|
||||
Read the file @file{GNUstep-HOWTO}, which comes with the Base library
|
||||
distribution, and also is available separately on the GNUstep ftp sites.
|
||||
|
||||
@item @b{Are there any precompiled packages available?}
|
||||
|
||||
Not really, but you can contact Net-Community
|
||||
@email{info@@net-community.com} for information on a CD they release
|
||||
occasionally contaning compiled packages for Linux and Windows NT.
|
||||
|
||||
@item @b{I get an error compiling mframe.m in gnustep-base}
|
||||
|
||||
This occurs on some Linux systems. You'll need to change the
|
||||
optimization level, usually like this:
|
||||
@example
|
||||
make OPTFLAG=-O
|
||||
@end example
|
||||
|
||||
@item @b{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.
|
||||
|
||||
@item @b{Is it easy to port OPENSTEP and Rhapsody programs to GNUstep?}
|
||||
|
||||
It is probably easy for simple programs. You'll have to rewrite the
|
||||
Makefiles as GNUstep uses a slightly different format. You will also
|
||||
have to translate the NIB files (if there are any) to GNUstep model
|
||||
files using the FoundationExt library.
|
||||
|
||||
@end enumerate
|
||||
|
||||
|
||||
@ignore
|
||||
[Notes to FAQ contributors: Be succinct. Stick to the facts. Emphasize
|
109
Documentation/gnustep-base.tmpl.texi
Normal file
109
Documentation/gnustep-base.tmpl.texi
Normal file
|
@ -0,0 +1,109 @@
|
|||
\input texinfo @c -*-texinfo-*-
|
||||
@c GNUstep BASE Library
|
||||
@c
|
||||
@c This file uses the special commands @url{} and @email{}.
|
||||
|
||||
@iftex
|
||||
@global@let@email=@i
|
||||
@global@let@url=@samp
|
||||
@end iftex
|
||||
|
||||
@ifset NO-TEXI2HTML
|
||||
@ifinfo
|
||||
@definfoenclose email, <, >
|
||||
@definfoenclose url `, '
|
||||
@end ifinfo
|
||||
@end ifset
|
||||
|
||||
@settitle The GNUstep BASE Library
|
||||
@setfilename gnustep-base.info
|
||||
@include version.texi
|
||||
|
||||
@ifinfo
|
||||
This file documents the GNUstep BASE Library.
|
||||
|
||||
@ifclear NO-TEXI2HTML
|
||||
@subtitle DRAFT Edition for GNUstep BASE Library @value{GNUSTEP-BASE-VERSION}
|
||||
@subtitle Last revision Jan 1998
|
||||
@c @subtitle For GCC Version @value{GNUSTEP-BASE-GCC}
|
||||
@author Andrew McCallum
|
||||
@sp 1
|
||||
@end ifclear
|
||||
Copyright @copyright{} 1998 Free Software Foundation
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of this
|
||||
manual under the conditions for verbatim copying, provided also that
|
||||
the entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this manual
|
||||
into another language, under the above conditions for modified versions.
|
||||
@end ifinfo
|
||||
|
||||
@iftex
|
||||
@setchapternewpage odd
|
||||
@finalout
|
||||
@titlepage
|
||||
@title The GNUstep BASE Library
|
||||
@subtitle DRAFT Edition for GNUstep BASE Library @value{GNUSTEP-BASE-VERSION}
|
||||
@subtitle Last revision Jan 1998
|
||||
@c @subtitle For GCC Version @value{GNUSTEP-BASE-GCC}
|
||||
@author Andrew McCallum
|
||||
@page
|
||||
|
||||
@vskip 0pt plus 1filll
|
||||
Copyright @copyright{} 1998 Free Software Foundation
|
||||
|
||||
@sp 2
|
||||
GNUstep BASE Library Version @value{GNUSTEP-BASE-VERSION}@*
|
||||
@c For GCC Version @value{GCC-VERSION}@*
|
||||
@sp 1
|
||||
Last printed Jan, 1998.@*
|
||||
@sp 1
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of this
|
||||
manual under the conditions for verbatim copying, provided also that
|
||||
the entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this manual
|
||||
into another language, under the above conditions for modified versions.
|
||||
@end titlepage
|
||||
@end iftex
|
||||
|
||||
@chapter Introduction
|
||||
|
||||
@c README
|
||||
@include readme.texi
|
||||
|
||||
@c Announcement
|
||||
@include announce.texi
|
||||
|
||||
@c Installation Instructions
|
||||
@include gnustep-howto.texi
|
||||
|
||||
@c News
|
||||
@include news.texi
|
||||
|
||||
@c The FAQ
|
||||
@include faq.texi
|
||||
|
||||
@c Status Report
|
||||
@include status.texi
|
||||
|
||||
@c The ToDo
|
||||
@include todo.texi
|
||||
|
||||
@c Generate Short Contents
|
||||
@shortcontents
|
||||
|
||||
@c Generate Complete Contents
|
||||
@contents
|
||||
@bye
|
|
@ -1,6 +1,7 @@
|
|||
\input texinfo @c -*-texinfo-*-
|
||||
|
||||
@setfilename gnustep-howto.texi
|
||||
@chapter GNUstep Installation
|
||||
|
||||
@paragraphindent 4
|
||||
|
||||
|
@ -71,6 +72,7 @@ gstep-make
|
|||
gstep-base or libFoundation
|
||||
gstep-gui
|
||||
gstep-xpds
|
||||
FoundationExt (optional).
|
||||
@end display
|
||||
|
||||
@section Getting the files
|
||||
|
@ -98,21 +100,22 @@ You need the following packages of either the version given or any later
|
|||
version, in order to compile GNUstep.
|
||||
|
||||
@example
|
||||
gcc-2.7.2.1.tar.gz (The gcc compiler. Version 2.7.2 also works):
|
||||
gcc-2.8.0.tar.gz (The GCC compiler), or gcc-2.7.2.x.tar.gz with the patch
|
||||
listed below.
|
||||
gdb-4.16.tar.gz (The gdb debugger)
|
||||
make-3.75.tar.gz (You need GNU make to compile GNUstep).
|
||||
ftp://ftp.gnu.org/pub/gnu or from other GNU mirror sites.
|
||||
|
||||
gcc-2.7.2.1-objc-970318.diff.gz (patch for multi-threaded Obj-C runtime)
|
||||
gcc-2.7.2.1-objc-970318.diff.gz (patch needed for using gcc 2.7.2.x)
|
||||
From the gstep-base distribution (gcc-2.7.2.1-objc.diff) or
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
ftp://ftp.gnustep.org/pub/gnustep/developer
|
||||
ftp://zarquon.mathi.uni-heidelberg.de/pub/GNUstep/developer/releases
|
||||
gdb-4.16-objc-971112.diff.gz (A patch for easier debugging of Objective-C code).
|
||||
gdb-4.16-objc-971112.diff.gz (A patch for easier debugging of Objective-C).
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
ftp://ftp.gnustep.org/pub/gnustep/developer
|
||||
|
||||
tiff-v3.4beta036-tar.gz (The TIFF library)
|
||||
tiff-v3.4beta036-tar.gz (The TIFF library), or
|
||||
tiff-970711.tar.gz
|
||||
ftp://ftp.sgi.com/graphics/tiff/
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
|
@ -121,18 +124,24 @@ tiff-970711.tar.gz
|
|||
pcthreads-1.1.0.tar.gz (PCThreads for Linux/GNU Inel x86 systems)
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
|
||||
gstep-make-971102.tar.gz (Makefile package)
|
||||
gstep-make-0.4.0.tar.gz (Makefile package)
|
||||
dgs-970711.tar.gz (The Display Ghostscript distribution)
|
||||
gstep-base-971102.tar.gz (Foundation)
|
||||
gstep-gui-971102.tar.gz (AppKit)
|
||||
gstep-xdps-971102.tar.gz (X11/PostScript backend)
|
||||
ftp://alpha.gnu.org/gnu/gnustep/snap
|
||||
ftp://ftp.gnustep.org/pub/gnustep/developer/snap
|
||||
ftp://zarquon.mathi.uni-heidelberg.de/pub/GNUstep/developer/snapshots
|
||||
gstep-base-0.4.0.tar.gz (Foundation)
|
||||
gstep-gui-0.4.0.tar.gz (AppKit)
|
||||
gstep-xdps-0.4.0.tar.gz (X11/PostScript backend)
|
||||
ftp://ftp.gnu.org/pub/gnu
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
ftp://zarquon.mathi.uni-heidelberg.de/pub/GNUstep
|
||||
|
||||
libFoundation-0.8.0.tar.gz (Foundation)
|
||||
ftp://zarquon.mathi.uni-heidelberg.de/pub/GNUstep
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
|
||||
FoundationExt-0.8.1.tar.gz (Foundation extentions (optional))
|
||||
ftp://ftp.gnu.org/pub/gnu
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
ftp://zarquon.mathi.uni-heidelberg.de/pub/GNUstep
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
@end example
|
||||
|
||||
You may get either one of the Foundations libraries (you only need to
|
||||
|
@ -141,7 +150,8 @@ take one of them, not both) gstep-base or libFoundation.
|
|||
Note that you should get the latest version available, not
|
||||
necessarily the one listed here. For the more adventurous, and since the
|
||||
project is still in development, it might be better to get the latest snapshot
|
||||
located in the snap or snapshot subdirectories at these locations.
|
||||
located in the snap or snapshot subdirectories at alpha.gnu.org/gnu/gnustep
|
||||
or the other ftp locations.
|
||||
|
||||
For the following instructions, some version numbers are replaced by XXX.
|
||||
You shoule replace the 'X's with the version of the package you have.
|
||||
|
@ -182,7 +192,7 @@ threads, you need to specify the thread package you are using when
|
|||
running configure:
|
||||
|
||||
@example
|
||||
LIBS=-lthread; ./configure --prefix=/usr/local/GNUstep
|
||||
LIBS=-lpthread; ./configure --prefix=/usr/local/GNUstep
|
||||
@end example
|
||||
|
||||
After this you should add the shell script @file{GNUstep.sh} in the makefile
|
||||
|
@ -232,7 +242,10 @@ GNUstep system root as the prefix when you configure the package.
|
|||
@subsection Patching and Compiling GCC
|
||||
|
||||
The following commands assume that all the aforementioned files have been
|
||||
copied to the /usr/src directory on your machine.
|
||||
copied to the /usr/src directory on your machine. GCC version 2.8.0 should
|
||||
be released soon. If you have this version, you do NOT need to apply the
|
||||
following patch to it. Version 2.8.0 already has the required changes
|
||||
included.
|
||||
|
||||
@table @asis
|
||||
@item 1. Uncompress gcc:
|
||||
|
@ -448,6 +461,25 @@ Compile the XDPS library:
|
|||
make
|
||||
@end example
|
||||
|
||||
@subsection Building the Foundation extensions
|
||||
|
||||
The Foundation extensions have some useful features in them. The one
|
||||
reason you definitely might want to use it is to read in GNUstep model
|
||||
files which store User Interface structures in ASCII format, and can
|
||||
also be used to translate NeXT and OpenStep NIB files to GNUstep model
|
||||
format.
|
||||
|
||||
Compiling:
|
||||
|
||||
@example
|
||||
cd /usr/src
|
||||
tar zxf FoundationExt-XXX.tar.gz
|
||||
cd extensions
|
||||
make
|
||||
su root
|
||||
make install
|
||||
@end example
|
||||
|
||||
@section Additional Installation
|
||||
|
||||
Set up your home GNUstep directory. This is where user defaults are
|
|
@ -1,192 +0,0 @@
|
|||
@c This is a generic INSTALL file for utilities distributions.
|
||||
@c If this package does not come with, e.g., installable documentation or
|
||||
@c data files, please ignore the references to them below.
|
||||
|
||||
@c set the vars GNUSTEP_BASE_VERSION and GNUSTEP_BASE_GCC_VERSION
|
||||
@include version.texi
|
||||
|
||||
@ifset INSTALL_ONLY
|
||||
This file documents the installation of the GNUstep Base Library,
|
||||
@samp{libgnustep-base}. Copyright (C) 1993, 1994, 1996, 1997 Free Software
|
||||
Foundation, Inc. You may copy, distribute, and modify it freely as long
|
||||
as you preserve this copyright notice and permission notice.
|
||||
@chapter Installing @samp{libgnustep-base}
|
||||
@end ifset
|
||||
|
||||
Most of the information below is also included in the general GNUstep
|
||||
installation instruction GNUstep-HOWTO located at the same ftp sites
|
||||
as this library, notable @file{ftp://ftp.gnustep.org/pub/gnustep}.
|
||||
To compile and install @samp{libgnustep-base}:
|
||||
|
||||
@enumerate
|
||||
|
||||
@item
|
||||
Get and compile GNU make, if you don't already have GNU make.
|
||||
|
||||
@example
|
||||
cd /usr/src
|
||||
tar fvxz make-XXX.tar.gz
|
||||
cd make-XXX
|
||||
./configure
|
||||
make
|
||||
su root
|
||||
make install
|
||||
@end example
|
||||
|
||||
@item
|
||||
Decide where you want the GNUstep files to go, and use this as
|
||||
an argument to configure in the makefile package. If you don't choose
|
||||
a location, the default is /usr/GNUstep. The example below shows how
|
||||
to configure the packages for installation in /usr/local/GNUstep.
|
||||
|
||||
@example
|
||||
tar fvxz gstep-make-XXXXXX.tar.gz
|
||||
cd gstep-make-XXXXXX
|
||||
./configure --prefix=/usr/local/GNUstep
|
||||
su root
|
||||
make install
|
||||
@end example
|
||||
|
||||
After this you should add the shell script GNUstep.sh in the makefile
|
||||
package to you initialization file (such as .profile). For instance:
|
||||
|
||||
@example
|
||||
. /usr/local/GNUstep/Makefiles/GNUstep.sh
|
||||
@end example
|
||||
|
||||
in your .profile file will work. It defines environment variables that
|
||||
are needed to find GNUstep files and executables. Users of csh neet
|
||||
to change the GNUstep.sh script so it will work with csh. Read the
|
||||
README for more info.
|
||||
|
||||
GNUstep packages will automatically install in this directory structure. You
|
||||
can install other packages (such as gcc) in the same structure if you specify
|
||||
the GNUstep system root as the prefix when you configure the package.
|
||||
|
||||
@example
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
@end example
|
||||
|
||||
@item
|
||||
For Linux/GNU systems on Intel x86 processors, the PCThreads library is
|
||||
known to work with GNUstep. PCThreads version 1.1.0 is an enhanced version
|
||||
of PCThread 1.0.0 with better support for GNUstep.
|
||||
|
||||
@example
|
||||
cd /usr/src
|
||||
tar fvxz pcthreads-1.1.0.tar.gz
|
||||
cd pcthreads-1.1.0
|
||||
./configure
|
||||
make
|
||||
su root
|
||||
make install
|
||||
@end example
|
||||
|
||||
If you are using the GNUstep makefile package and wish PCThreads to be
|
||||
installed with the GNUstep directory structure; then you should specify the
|
||||
GNUstep system root as the prefix when you configure the package.
|
||||
|
||||
@example
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
@end example
|
||||
|
||||
@item
|
||||
The following commands assume that all the aforementioned files have been
|
||||
copied to the /usr/src directory on your machine.
|
||||
|
||||
@example
|
||||
1. Uncompress gcc:
|
||||
|
||||
cd /usr/src
|
||||
tar fvxz gcc-2.7.2.1.tar.gz
|
||||
|
||||
2. Apply the Objective-C runtime patch. Go inside the GCC directory and issue
|
||||
the command (Make sure you have the correct patch for the version of gcc):
|
||||
|
||||
cd gcc-2.7.2.1
|
||||
cat gcc-2.7.2.1-objc.diff | patch -p1
|
||||
|
||||
3. Configure the gcc compiler's makefile for your machine:
|
||||
|
||||
./configure
|
||||
|
||||
If you are using the GNUstep makefile package and wish gcc to be
|
||||
installed with the GNUstep directory structure; then you should specify the
|
||||
GNUstep system root as the prefix when you configure the package.
|
||||
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
|
||||
4. Compile gcc
|
||||
|
||||
4.1 With a single-threaded Objective-C runtime:
|
||||
|
||||
make OBJC_THREAD_FILE=thr-single
|
||||
|
||||
or
|
||||
|
||||
4.2 With thread support appropriate for your system
|
||||
|
||||
make
|
||||
|
||||
or
|
||||
|
||||
4.3 With PCThreads support (Linux/GNU)
|
||||
|
||||
make OBJC_THREAD_FILE=thr-pthreads
|
||||
|
||||
5. Wait
|
||||
|
||||
If you have a Pentium Pro, go drink a coffee.
|
||||
If you have a fast Pentium, count from 0 to 100 in your head.
|
||||
If you have a slow Pentium, go eat a bagel.
|
||||
If you have a 486, go watch the news.
|
||||
If you have a 386, come back tomorrow.
|
||||
|
||||
6. Install gcc
|
||||
|
||||
su root
|
||||
make install
|
||||
|
||||
7. Delete the gcc directory if you're low on disk space
|
||||
|
||||
rm -rf /usr/src/gcc-2.7.2.1
|
||||
@end example
|
||||
|
||||
@item
|
||||
Then configure and make libgnustep-base:
|
||||
|
||||
@example
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
@end example
|
||||
|
||||
@item
|
||||
If you want to compile the self-tests, cd to @samp{checks} and type
|
||||
@samp{make}. If you want to compile the examples, cd to @samp{examples}
|
||||
and type @samp{make}.
|
||||
|
||||
@item
|
||||
Type @samp{make install} to install programs, data files, and
|
||||
documentation.
|
||||
|
||||
@item
|
||||
You can remove the program binaries and object files from the source
|
||||
directory by typing @samp{make clean}. To also remove the Makefile(s),
|
||||
and @samp{config.status} (all the files that @samp{configure} created),
|
||||
type @samp{make distclean}.
|
||||
|
||||
The file @samp{configure.in} is used as a template to create
|
||||
@samp{configure} by a program called @samp{autoconf}. You will only
|
||||
need it if you want to regenerate @samp{configure} using a newer version
|
||||
of @samp{autoconf}.
|
||||
|
||||
@end enumerate
|
||||
|
||||
|
||||
Notes:
|
||||
|
||||
If you are running GNU/Linux and have an older version of
|
||||
libc, then the Objective C runtime will not work unless you pass
|
||||
@samp{-lieee} to the linker.
|
||||
|
21
Documentation/install.tmpl.texi
Normal file
21
Documentation/install.tmpl.texi
Normal file
|
@ -0,0 +1,21 @@
|
|||
@c This is a generic INSTALL file for utilities distributions.
|
||||
@c If this package does not come with, e.g., installable documentation or
|
||||
@c data files, please ignore the references to them below.
|
||||
|
||||
@c set the vars GNUSTEP_BASE_VERSION and GNUSTEP_BASE_GCC_VERSION
|
||||
@include version.texi
|
||||
|
||||
@ifset INSTALL_ONLY
|
||||
This file documents the installation of the GNUstep Base Library,
|
||||
@samp{libgnustep-base}. Copyright (C) 1993, 1994, 1996, 1997 Free Software
|
||||
Foundation, Inc. You may copy, distribute, and modify it freely as long
|
||||
as you preserve this copyright notice and permission notice.
|
||||
@chapter Installing @samp{libgnustep-base}
|
||||
@end ifset
|
||||
|
||||
Read the file GNUstep-HOWTO for instructions on how to install the
|
||||
entire GNUstep package (including the base library).
|
||||
GNUstep-HOWTO comes with this distribution and also
|
||||
is located at the same ftp sites as this library.
|
||||
|
||||
@bye
|
|
@ -10,6 +10,8 @@ The currently released version of the library is
|
|||
|
||||
@itemize @bullet
|
||||
|
||||
@item New tools for maintaining the defaults database.
|
||||
|
||||
@item Use the new GNUstep Makefile Package to compile the library, tools
|
||||
checks, and everything else.
|
||||
|
|
@ -11,7 +11,8 @@ Here is some introductory info to get you started:
|
|||
|
||||
The file @samp{NEWS} has the library's feature history.
|
||||
|
||||
The file @samp{INSTALL} gives instructions for installing the library.
|
||||
The files @samp{INSTALL} and @samp{GNUstep-HOWTO}
|
||||
give instructions for installing the library.
|
||||
|
||||
@section Preparing to write code
|
||||
|
||||
|
@ -120,7 +121,7 @@ takers?
|
|||
|
||||
@item Read the projects and questions in the @samp{TODO} file. If you
|
||||
can volunteer for any of the projects, or if you have any useful
|
||||
comments send me email! <mccallum@@gnu.ai.mit.edu>
|
||||
comments send me email!
|
||||
|
||||
@item
|
||||
Give me feedback! Tell me what you like; tell me what you think
|
|
@ -1,8 +1,6 @@
|
|||
@ifset TODO_ONLY
|
||||
@chapter GNU Objective-C Class Library To Do list, and Questions.
|
||||
@c set the vars GOBJC_VERSION and GCC_VERSION
|
||||
@include version.texi
|
||||
@end ifset
|
||||
|
||||
This TODO list is out of date.
|
||||
|
6
MACHINES
6
MACHINES
|
@ -3,7 +3,7 @@ The testers of the various ports to different machines.
|
|||
A machine's presence in this list does not imply that the latest
|
||||
version of libobjects works on that machine. Mostly this list
|
||||
provides you with people you can contact who have had experience with
|
||||
libobjects on these machines.
|
||||
libobjects on these machines. This list is probably out of date.
|
||||
|
||||
i386-unknown-linux jbettis@cse.unl.edu (Jeremy Bettis)
|
||||
i386-freebsd2.0 cracauer@wavehh.hanse.de (Martin Cracauer)
|
||||
|
@ -20,7 +20,7 @@ hppa1.1-hp-hpux9 mooney@golem.phys.ndsu.NoDak.edu (Timothy Mooney)
|
|||
mips-sgi-irix5.2 mccallum@gnu.ai.mit.edu (Andrew McCallum)
|
||||
cracauer@wavehh.hanse.de (Martin Cracauer)
|
||||
ebariaux@ulb.ac.be (Eric Bariaux)
|
||||
mips-dec-ultrix4.2 fedor@boulder.colorado.edu (Adam Fedor)
|
||||
sparc-sun-solaris2.5 fedor@doc.com(Adam Fedor)
|
||||
|
||||
The uniq'ed list:
|
||||
|
||||
|
@ -31,4 +31,4 @@ The uniq'ed list:
|
|||
ebariaux@ulb.ac.be (Eric Bariaux),
|
||||
fog@cyberspace.org (Federico Di Gregorio),
|
||||
mooney@golem.phys.ndsu.NoDak.edu (Timothy Mooney),
|
||||
fedor@boulder.colorado.edu (Adam Fedor)
|
||||
fedor@doc.com(Adam Fedor)
|
||||
|
|
19
STATUS
19
STATUS
|
@ -17,20 +17,19 @@ Classes
|
|||
* NSArchiver:: [8]
|
||||
Doesn't yet call -awakeAfterUsingCoder:.
|
||||
|
||||
* NSArray:: [8]
|
||||
* NSArray:: [9]
|
||||
|
||||
* NSAssertionHandler:: [9]
|
||||
|
||||
* NSAutoreleasePool:: [9]
|
||||
But not exception- or thread-safe
|
||||
But not exception- safe
|
||||
|
||||
* NSBundle:: [8]
|
||||
|
||||
* NSCalendarDate:: [5]
|
||||
* NSCalendarDate:: [7]
|
||||
|
||||
* NSCharacterSet:: [8]
|
||||
decomposableCharacterSet and illegalCharacter set missing
|
||||
No Unicode support
|
||||
|
||||
* NSCoder:: [8]
|
||||
Missing class name substitution methods.
|
||||
|
@ -241,13 +240,13 @@ Error-Handling Functions
|
|||
Geometric Functions
|
||||
-------------------
|
||||
|
||||
[9] Create Basic Structures
|
||||
[10] Create Basic Structures
|
||||
`NSPoint NSMakePoint(float X, float Y)'
|
||||
`NSSize NSMakeSize(float W, float H)'
|
||||
`NSRect NSMakeRect(float X, float Y, float W, float H)'
|
||||
`NSRange NSMakeRange(unsigned int LOCATION, unsigned int LENGTH)'
|
||||
|
||||
[9] Get a Rectangle's Coordinates
|
||||
[10] Get a Rectangle's Coordinates
|
||||
`float NSMaxX(NSRect ARECT)'
|
||||
`float NSMaxY(NSRect ARECT)'
|
||||
`float NSMidX(NSRect ARECT)'
|
||||
|
@ -257,17 +256,17 @@ Geometric Functions
|
|||
`float NSWidth(NSRect ARECT)'
|
||||
`float NSHeight(NSRect ARECT)'
|
||||
|
||||
[9] Modify a Copy of a Rectangle
|
||||
[10] Modify a Copy of a Rectangle
|
||||
`NSRect NSInsetRect(NSRect ARECT, float DX, float DY)'
|
||||
`NSRect NSOffsetRect(NSRect ARECT, float DX, float DY)'
|
||||
`void NSDivideRect(NSRect INRECT, NSRect *SLICE, NSRect *REMAINDER, float AMOUNT, NSRectEdge EDGE)'
|
||||
`NSRect NSIntegralRect(NSRect ARECT)'
|
||||
|
||||
[9] Compute a Third Rectangle from Two Rectangles
|
||||
[10] Compute a Third Rectangle from Two Rectangles
|
||||
`NSRect NSUnionRect(NSRect ARECT, NSRect BRECT)'
|
||||
`NSRect NSIntersectionRect(NSRect ARECT, NSRect BRECT)'
|
||||
|
||||
[9] Test Geometric Relationships
|
||||
[10] Test Geometric Relationships
|
||||
`BOOL NSEqualRects(NSRect ARECT, NSRect BRECT)'
|
||||
`BOOL NSEqualSizes(NSSize ASIZE, NSSize BSIZE)'
|
||||
`BOOL NSEqualPoints(NSPoint APOINT, NSPoint BPOINT)'
|
||||
|
@ -276,7 +275,7 @@ Geometric Functions
|
|||
`BOOL NSPointInRect(NSPoint APOINT, NSRect ARECT)'
|
||||
`BOOL NSContainsRect(NSRect ARECT, NSRect BRECT)'
|
||||
|
||||
[0] Get a String Representation
|
||||
[10] Get a String Representation
|
||||
`NSString *NSStringFromPoint(NSPoint APOINT)'
|
||||
`NSString *NSStringFromRect(NSRect ARECT)'
|
||||
`NSString *NSStringFromSize(NSSize ASIZE)'
|
||||
|
|
|
@ -1068,7 +1068,7 @@ static id long_day[7] = {@"Sunday",
|
|||
}
|
||||
|
||||
day += days;
|
||||
if (day > 0)
|
||||
if (day > 28)
|
||||
{
|
||||
i = [self lastDayOfGregorianMonth: month year: year];
|
||||
while (day > i)
|
||||
|
@ -1078,7 +1078,7 @@ static id long_day[7] = {@"Sunday",
|
|||
month++;
|
||||
else
|
||||
{
|
||||
month = 0;
|
||||
month = 1;
|
||||
year++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -635,7 +635,13 @@ static NSMutableString *processName = nil;
|
|||
|
||||
while (!done)
|
||||
{
|
||||
if ([key hasPrefix:@"-GS"] || [key hasPrefix:@"--GS"]) {
|
||||
if ([key hasPrefix:@"-"]) {
|
||||
/* anything beginning with a '-' is a defaults key and we must strip
|
||||
the '-' from it. As a special case, we leave the '- in place
|
||||
for '-GS...' and '--GS...' for backward compatibility. */
|
||||
if ([key hasPrefix:@"-GS"] == NO && [key hasPrefix:@"--GS"] == NO) {
|
||||
key = [key substringFromIndex: 1];
|
||||
}
|
||||
val = [enumerator nextObject];
|
||||
if (!val)
|
||||
{ // No more args
|
||||
|
|
|
@ -244,7 +244,7 @@ static id defaultRNG = nil;
|
|||
|
||||
- (float) randomFloatBetween: (float)lowBound and: (float)highBound
|
||||
{
|
||||
return [self randomFloat] * (highBound - lowBound);
|
||||
return ([self randomFloat] * (highBound - lowBound) + lowBound);
|
||||
}
|
||||
|
||||
- (float) randomFloatProbability
|
||||
|
|
11
Version
11
Version
|
@ -7,10 +7,11 @@ GCC_VERSION=2.7.2
|
|||
MAJOR_VERSION=0
|
||||
MINOR_VERSION=2
|
||||
SUBMINOR_VERSION=12
|
||||
VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${SUBMINOR_VERSION}
|
||||
GNUSTEP_BASE_VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${SUBMINOR_VERSION}
|
||||
VERSION=$(GNUSTEP_BASE_VERSION)
|
||||
|
||||
#FTP_MACHINE=ftp.gnu.org
|
||||
#FTP_DIRECTORY=pub/gnu
|
||||
FTP_MACHINE=alpha.gnu.org
|
||||
FTP_DIRECTORY=gnu/gnustep
|
||||
GNUSTEP_BASE_FTP_MACHINE=ftp.gnu.org
|
||||
GNUSTEP_BASE_FTP_DIRECTORY=pub/gnu
|
||||
GNUSTEP_BASE_SNAP_FTP_MACHINE = alpha.gnu.org
|
||||
GNUSTEP_BASE_SNAP_FTP_DIRECTORY = gnu/gnustep
|
||||
|
||||
|
|
Loading…
Reference in a new issue