Update docs. Rearrange includes

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11957 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
fedor 2002-01-02 21:01:26 +00:00
parent 2a7cd1989c
commit 15cbe22642
13 changed files with 649 additions and 3014 deletions

View file

@ -1,3 +1,16 @@
2002-01-02 Adam Fedor <fedor@gnu.org>
* configure.in: Show openssl as enabled by default in help. Check for
more headers.
* Source/NSTask.m: Move #includes to front, remove redundancies.
* Source/GSXML.m ([(non-libxml)GSXMLNode +forwardInvocation]):
Implement.
* Documentation/GNUmakefile: Remove gnustep-base.texi
* Documentation/install.texi: Update.
* Documentation/news.texi: Likewise.
2002-01-02 Richard Frith-Macdonald <rfm@gnu.org>
* Source/GSXML.m: Tidied some methods and added autogsdoc comments.

View file

@ -32,7 +32,7 @@ include ../Version
include ../config.mak
# The documents to be generated
DOCUMENT_NAME = coding-standards gnustep-base
DOCUMENT_NAME = coding-standards
# The text documents to be generated
DOCUMENT_TEXT_NAME = \
@ -74,10 +74,6 @@ ANNOUNCE_TEXI_FILES = version.texi
ANNOUNCE_TEXT_MAIN = announce.texi
ANNOUNCE_DOC_INSTALL_DIR = Developer/Base/ReleaseNotes/$(VERSION)
STATUS_TEXI_FILES = version.texi
STATUS_TEXT_MAIN = status.texi
STATUS_DOC_INSTALL_DIR = Developer/Base/ReleaseNotes/$(VERSION)
-include Makefile.preamble
-include GNUmakefile.local

View file

@ -41,11 +41,6 @@ The gnustep-base-@value{GNUSTEP-BASE-VERSION}.tar.gz distribution file has
been placed on @samp{@value{GNUSTEP-BASE-FTP-MACHINE}} in
@samp{@value{GNUSTEP-BASE-FTP-DIRECTORY}}.
@end ifset
@ifclear GNUSTEP-BASE-FTP-MACHINE
The libgnustep-base-@value{GNUSTEP-BASE-VERSION}.tar.gz distribution file has
been placed on @samp{@value{GNUSTEP-BASE-SNAP-FTP-MACHINE}} in
@samp{@value{GNUSTEP-BASE-SNAP-FTP-DIRECTORY}}.
@end ifclear
The library requires gcc @value{GCC-VERSION} or higher.
See the @samp{GNUstep-HOWTO}

View file

@ -105,7 +105,7 @@ library that implements a Foreign-Function Interface (FFI), such as the
ffcall libraries. Use of ffcall is automatically enabled if the ffcall
libraries are found, unless specifically disabled with @code{--disable-ffcall}.
If disabled, the code reverts to the builtin method for stack frame handling,
but this rarely works on non ix86 machines and is not supported.
but this rarely works on non-ix86 machines and is not supported.
You need to have the ffcall libraries, which you can
get from @url{ftp://www.gnustep.org/pub/gnustep/libs/} or
@ -118,11 +118,13 @@ were not in the standard library). You can get this library from
@subsection OpenSSL
GNUstep base has optional support for using the OpenSSL libraries for
secure URL connections (with the NSURL classes). To enable this option
you need to have the openssl libraries installed and add the option
@code{--enable-openssl} when running the @file{configure} script. Note that
the OpenSSL license is not compatible with GPL, so do not use this option
if you want your programs to be GPL compatible.
secure URL connections (with the NSURL 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. The
openssl libraries need to be installed for this to work. To disable
this option add @code{--disable-openssl} when running the
@file{configure} script.
@node Compilation, , Configuration, Top
@section Compilation

File diff suppressed because it is too large Load diff

View file

@ -7,6 +7,25 @@
The currently released version of the library is
@samp{@value{GNUSTEP-BASE-VERSION}}.
@section Noteworthy changes in version @samp{1.1.0}
@itemize @bullet
@item Removed use of distributed lock to sync defaults file.
@item Compiles on Darwin (but does not work yet).
@item New tool autogsdoc for inline Objective-C documentation.
@item Some NSBundle convienience methods for associating resources with
libraries and tools (like a lightweight framework).
@item URL classes improved and more robust.
@item SSL classes compiled as a separate bundle due to license problems.
@item Better operation in MinGW environment.
@item New localization files.
@item XML property lists
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{1.0.2}
Mostly a bug fix release to work with the new gcc 3.0.
@ -15,10 +34,6 @@ Mostly a bug fix release to work with the new gcc 3.0.
@item Added support for special gcc 3.0 options (constant string support).
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{1.0.1}
@itemize @bullet

View file

@ -1,567 +0,0 @@
\input texinfo @c -*-texinfo-*-
@c @setfilename objective-c.info
@ifinfo
@format
START-INFO-DIR-ENTRY
* Objective-C: (objective-c). The GNU Objective-C Language Manual
END-INFO-DIR-ENTRY
@end format
@end ifinfo
@ifinfo
Copyright @copyright{} 1994 Andrew Kachites McCallum and Free Software
Foundation, Inc.
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
@setchapternewpage odd
@settitle Objective-C Language Manual
@titlepage
@finalout
@title The GNU Objective-C Language Manual
@author Andrew Kachites McCallum
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1994 Andrew Kachites McCallum and Free Software
Foundation, Inc.
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
@node Top, Introduction, (dir), (dir)
@top Main Menu
This is the manual for the GNU Objective-C language.
@menu
* Introduction::
* Objects Messages and Classes::
* Techniques::
* Advanced Features::
* Builtin Classes::
Appendices
* History and Comparisons::
* Runtime Internals::
* Hacking for Efficiency::
* Debugging ObjC::
* Language Summary:: A summary of ObjC syntax and semantics.
Indeces
* Concept Index::
* Function Index::
@end menu
@c ******************************************************************
@node Introduction, Objects Messages and Classes, Top, Top
@chapter Introduction
This manual describes the GNU Objective-C language. It is assumed that
the reader is already familiar with ANSI C.
@section Overview
Objective-C is an object-oriented computer programming language. It is
a superset of ANSI C and provides classes and message passing similar to
Smalltalk. (xxx Lifted from FAQ. General question: Should I lift from
the Objc FAQ? Is there a problem with this? If in doubt, I'll write it
all myself.)
@menu
* Caveats:: Flaws and requests for help.
* Conventions:: How this manual is formatted.
* Acknowledgements:: The authors and editors of this manual.
@end menu
@node Caveats, Conventions, Introduction, Introduction
@section Caveats
This manual is pre-alpha. I am now trying to determine the organization
of manual. Afterward, sections will be filled in with text.
If you have suggestions for additional topics or organizational changes,
please email them to @samp{mccallum@@cs.rochester.edu}.
@node Conventions, Acknowledgements, Caveats, Introduction
@section Conventions
@node Acknowledgements, , Conventions, Introduction
@section Acknowledgements
@c ******************************************************************
@node Objects Messages and Classes, Techniques, Introduction, Top
@chapter Objects, Messages and Classes
Object-oriented programming made up of objects, the messages they can
receive and the classes that specify how objects are related.
@menu
* Objects::
* Messages::
* Classes and Instances::
* Inheritance of Subclasses::
@end menu
@node Objects, Messages, Objects Messages and Classes, Objects Messages and Classes
@section Objects Encapsulate Data and Operations
Procedures and data in a bundle. Abstraction.
@node Messages, Classes and Instances, Objects, Objects Messages and Classes
@section Messages Request Operations
@c @section Sending a Message to an Object
@smallexample
[@var{receiver} @var{message}];
@end smallexample
Messages with arguments.
Return types.
Argument types.
Messages to @samp{nil}.
@node Classes and Instances, Inheritance of Subclasses, Messages, Objects Messages and Classes
@section Classes Define Objects
@c @section Classes and Instances
@c @section Classes Define their Instances
Inheritance of methods and instance variables.
Overriding methods.
Syntax of @@interface, @@implementation.
Messages to super.
Creating and freeing instances.
@node Inheritance of Subclasses, , Classes and Instances, Objects Messages and Classes
@section Inheritance of Subclasses
@c @section Classes are Defined in an Inheritance Heirarchy
@c @section Subclasses and Inheritance
@node Techniques, Advanced Features, Objects Messages and Classes, Top
@chapter Programming Techniques and Conventions
@section Overriding Methods
@section Abstract Superclasses
@section Returning @samp{self}
@section ...more here...
@c ******************************************************************
@node Advanced Features, Builtin Classes, Techniques, Top
@chapter Advanced Features
@menu
* Runtime Message Variation::
* Forwarding a Message:: Using @samp{-forward::} and @samp{-performv::}.
* Adding Methods to a Class:: Defining categories.
* Posing as a Superclass::
* Protocols of Messages::
* Class initialization:: Defining @samp{+initialize}.
* Encoding Types::
* Structure of an Object:: Using @@defs().
* Archiving:: Using @samp{-write:} and @samp{-read:}.
@end menu
@node Runtime Message Variation, Forwarding a Message, Advanced Features, Advanced Features
@section Runtime Message Variation
Describe @samp{-perform:} and friends.
@node Forwarding a Message, Adding Methods to a Class, Runtime Message Variation, Advanced Features
@section Forwarding a Message
@cindex Forwarding a Message
Describe @samp{-forward::} and @samp{-performv::}.
@node Adding Methods to a Class, Posing as a Superclass, Forwarding a Message, Advanced Features
@section Adding Methods to a Class
@cindex Categories
Categories.
You can use this feature to add new methods to a class, but not to
change methods that have already been defined in the class implementation.
You can't add new instance variables (although I should include a
footnote that shows the hack for getting around this).
@node Posing as a Superclass, Protocols of Messages, Adding Methods to a Class, Advanced Features
@section Posing as a Superclass
@cindex Posing
Describe @samp{poseAs:}.
Changing Behavior of Inherited Methods.
Substituting a your new class for some old class.
You can use this to override methods that have already been defined in
the implementation of the old class.
Use subclassing to override method behavior in new classes you write.
Use posing to override method behavior in preexisting subclasses of the
posed class.
@node Protocols of Messages, Class initialization, Posing as a Superclass, Advanced Features
@section Defining a Message Protocol
@cindex Protocols
@cindex @@protocol
@node Class initialization, Encoding Types, Protocols of Messages, Advanced Features
@section Class Initialization
@cindex @samp{+initialize} method
Describe the @samp{+initialize} method.
@node Encoding Types, Structure of an Object, Class initialization, Advanced Features
@section Encoding Types
@cindex @@encode
@node Structure of an Object, Archiving, Encoding Types, Advanced Features
@section Obtaining the Structure of an Object
@cindex @@defs
@node Archiving, , Structure of an Object, Advanced Features
@section Archiving Objects to a Stream
@cindex Archiving
@cindex Typed Stream
@section ...potential for more here...
@c ******************************************************************
@node Builtin Classes, History and Comparisons, Advanced Features, Top
@chapter Builtin Classes
@menu
* The Object Class::
* The Protocol Class::
@end menu
@node The Object Class, The Protocol Class, Builtin Classes, Builtin Classes
@section The @samp{Object} Class
@subsection Creating, Copying and Freeing
@deftypemethod Object {} @keyword{+alloc}
@end deftypemethod
@deftypemethod Object {} @keyword{+new}
@end deftypemethod
@deftypemethod Object {} @keyword{-init}
@end deftypemethod
@deftypemethod Object {} @keyword{-shallowCopy}
@end deftypemethod
@deftypemethod Object {} @keyword{-deepCopy}
@end deftypemethod
@deftypemethod Object {} @keyword{-deepen}
@end deftypemethod
@deftypemethod Object {} @keyword{-copy}
@end deftypemethod
@deftypemethod Object {} @keyword{-free}
@end deftypemethod
@subsection Identifying the Class
@deftypemethod Object {(Class*)} @keyword{-class}
@end deftypemethod
@deftypemethod Object {(const char *)} @keyword{-name}
@end deftypemethod
@subsection Identifying and Comparing the Instance
@deftypemethod Object {} @keyword{-self}
@end deftypemethod
@deftypemethod Object {(int)} @keyword{-hash}
@end deftypemethod
@deftypemethod Object {(BOOL)} @keyword{-isEqual:} @var{anObject}
@end deftypemethod
@deftypemethod Object {(int)} @keyword{-compare} @var{anObject}
@end deftypemethod
@subsection Determining Object Type
@deftypemethod Object {(BOOL)} @keyword{-isMetaClass}
@end deftypemethod
@deftypemethod Object {(BOOL)} @keyword{-isClass}
@end deftypemethod
@deftypemethod Object {(BOOL)} @keyword{-isInstance}
@end deftypemethod
@subsection Determining Inheritance Relations
@deftypemethod Object {(BOOL)} @keyword{-isKindOf:} (Class*)@var{aClassObj}
@end deftypemethod
@deftypemethod Object {(BOOL)} @keyword{-isKindOfClassNamed:} (const char *)@var{aClassName}
@end deftypemethod
@deftypemethod Object {(BOOL)} @keyword{-isMemberOf:} (Class*)@var{aClassObj}
@end deftypemethod
@deftypemethod Object {(BOOL)} @keyword{-isMemberOfClassNamed:} (const char *)@var{aClassName}
@end deftypemethod
@subsection Determining Messages Understood
@deftypemethod Object {(BOOL)} @keyword{-instancesRespondTo:} (SEL)@var{aSel}
@end deftypemethod
@deftypemethod Object {(BOOL)} @keyword{-respondsTo:} (SEL)@var{aSel}
@end deftypemethod
@deftypemethod Object {(BOOL)} @keyword{-conformsTo:} (Protocol*)@var{aProtocolObj}
@end deftypemethod
@subsection Method Lookup
@subsection Sending Messages Determined at Runtime
@subsection Forwarding
@subsection Posing
@subsection Enforcing Intentions
@subsection Announcing Errors
@subsection Archiving
@deftypemethod Object {(int)} @keyword{+version}
<<Undocumented>>
@end deftypemethod
@deftypemethod Object {} @keyword{+setVersion:} (int)@var{aVersion}
<<Undocumented>>
@end deftypemethod
@deftypemethod Object {(int)} @keyword{+streamVersion:} (TypedStream*)@var{aStream}
<<Undocumented>>
@end deftypemethod
@deftypemethod Object {} @keyword{-write:} (TypedStream*)@var{aStream}
<<Undocumented>> Returns self.
@end deftypemethod
@deftypemethod Object {} @keyword{-read:} (TypedStream*)@var{aStream}
<<Undocumented>> Returns self.
@end deftypemethod
@c ******************************************************************
@node The Protocol Class, , The Object Class, Builtin Classes
@section The @samp{Protocol} Class
@deftypemethod Protocol {(const char *)} @keyword{-name}
@end deftypemethod
@deftypemethod Protocol {(BOOL)} @keyword{-conformsTo:} (Protocol*)@var{aProtocolObj}
@end deftypemethod
@deftypemethod Protocol {(struct objc_method_description *)} @keyword{-descriptionForInstanceMethod:} (SEL)@var{aSel}
@end deftypemethod
@deftypemethod Protocol {(struct objc_method_description *)} @keyword{-descriptionForClassMethod:} (SEL)@var{aSel}
@end deftypemethod
@c ******************************************************************
@node History and Comparisons, Runtime Internals, Builtin Classes, Top
@appendix Objective-C History and Comparisons
@menu
* History of ObjC::
* Smalltalk and ObjC::
* C++ vs ObjC::
* Other ObjC's::
@end menu
@node History of ObjC, Smalltalk and ObjC, History and Comparisons, History and Comparisons
@section History of Objective-C
@node Smalltalk and ObjC, C++ vs ObjC, History of ObjC, History and Comparisons
@section Smalltalk and Objective-C
@node C++ vs ObjC, Other ObjC's, Smalltalk and ObjC, History and Comparisons
@section Difference between Objective-C and C++
@node Other ObjC's, , C++ vs ObjC, History and Comparisons
@section Difference between GNU Objective-C and others
@c ******************************************************************
@node Runtime Internals, Hacking for Efficiency, History and Comparisons, Top
@appendix Runtime Internals
Some notes on topics to be covered:
Data structures: Symtab, Module, IvarList, MethodList, Category.
Info bits.
Runtime class lookup.
Ivar lookup.
Method lookup.
version number.
IMP.
objc_class.
arglist_t.
sarray.
@menu
* Method Lookup and Selectors::
* Runtime Initialization::
* Memory Management::
* Metaclasses::
* Archiving and Typed Streams::
* Internal Hash Tables::
@end menu
@node Method Lookup and Selectors, Runtime Initialization, Runtime Internals, Runtime Internals
@section Method Lookup and Selectors
@cindex Method lookup
@cindex Selector
objc_msg_lookup. message to self and super.
@deftp {Data Type} IMP
The @code{IMP} data type is a pointer to the function implementing an
Objective-C method.
@end deftp
@node Runtime Initialization, Memory Management, Method Lookup and Selectors, Runtime Internals
@section Runtime Initialization
@node Memory Management, Metaclasses, Runtime Initialization, Runtime Internals
@section Memory Management
class_create_instance, object_dispose, object_copy...
For instance, @samp{Object}'s @samp{-alloc} method is implemented like
this:
@smallexample
+ alloc
@{
return class_create_instance(self);
@}
@end smallexample
@node Metaclasses, Archiving and Typed Streams, Memory Management, Runtime Internals
@section Metaclasses
Move this to "Advanced Features"? I'm not sure we want to talk about it
as an implementation detail.
@node Archiving and Typed Streams, Internal Hash Tables, Metaclasses, Runtime Internals
@section Archiving and Typed Streams
@cindex Archiving an object to a stream
@node Internal Hash Tables, , Archiving and Typed Streams, Runtime Internals
@section Internal Hash Tables
@c ******************************************************************
@node Hacking for Efficiency, Debugging ObjC, Runtime Internals, Top
@appendix Hacking for Efficiency
@menu
* Address of a Method::
* Address of an Ivar::
@end menu
@node Address of a Method, Address of an Ivar, Hacking for Efficiency, Hacking for Efficiency
@section Getting the Address of a Method
@node Address of an Ivar, , Address of a Method, Hacking for Efficiency
@section Getting the Address of an Instance Variable
@c ******************************************************************
@node Debugging ObjC, Language Summary, Hacking for Efficiency, Top
@appendix Debugging Objective-C
@c ******************************************************************
@node Language Summary, Concept Index, Debugging ObjC, Top
@appendix Language Summary
@menu
* Directives::
* Declaring Methods::
* Types and Keywords::
* Formal Grammar::
@end menu
@node Directives, Declaring Methods, Language Summary, Language Summary
@section Directives
@itemize @bullet
@item @@defs
@item @@encode
@item @@end
@item @@implementation
@item @@interface
@item @@protocol
@item @@public
@item @@selector
@end itemize
@node Declaring Methods, Types and Keywords, Directives, Language Summary
@section Declaring Methods
Difference between -,+. Return types of methods. Argument types of
methods.
@node Types and Keywords, Formal Grammar, Declaring Methods, Language Summary
@section Types and Keywords
BOOL, Class, id, IMP, SEL, STR.
nil, Nil.
@node Formal Grammar, , Types and Keywords, Language Summary
@section Formal Grammar of Objective-C
@c ******************************************************************
@node Concept Index, Function Index, Language Summary, Top
@unnumbered Concept Index
@printindex cp
@c ******************************************************************
@node Function Index, , Concept Index, Top
@unnumbered Function Index
@printindex fn
@bye

View file

@ -1,425 +0,0 @@
@c -*-texinfo-*-
@chapter Status Report
@ifset TEXT-ONLY
@include version.tmpl.texi
@end ifset
The gnustep-base library is nearly complete, although a few things could
be fixed here and there and it could be ported to more systems. This
list is probably out of date. In the future we will be primarily adding
features and performance tuning.
Please send corrections to @email{fedor@@gnu.org}.
@emph{Key:}
@table @strong
@item [10]
Complete and tested.
@item [8]
Missing a few non-core methods, definitely usable.
@item [6]
Missing several methods, but core is there, usable.
@item [4]
Begun, but missing core functionality, not usable.
@item [2]
Skeleton.
@item [0]
Nothing there.
@item [?]
Unknown status.
@end table
@section Classes
(Many classes do not raise the proper NSExceptions yet.)
@table @strong
@item NSArchiver:: [9]
@item NSArray:: [9]
@item NSAssertionHandler:: [9]
@item NSAttributedString:: [9]
@item NSAutoreleasePool:: [9]
But not exception- safe
@item NSBundle:: [9]
@item NSCalendarDate:: [8]
@item NSCharacterSet:: [9]
@item NSCoder:: [9]
@item NSConditionLock:: [8]
@item NSConnection:: [9]
@item NSCountedSet:: [9]
@item NSData:: [9]
@item NSDate:: [9]
@item NSDeserializer:: [8]
@item NSDictionary:: [9]
@item NSDistantObject:: [8]
@item NSDistributedLock:: [9]
@item NSEnumerator:: [9]
@item NSException:: [9]
But this needs integration with new, better
@item NSFileHandle:: [9]
@item NSFileManager:: [9]
@item NSHashTable:: [9]
@item NSHost:: [9]
@item NSInvocation:: [7]
@item NSLock:: [9]
@item NSMapTable:: [9]
@item NSMethodSignature:: [7]
@item NSMutableArray:: [9]
@item NSMutableCharacterSet:: [8]
@item NSMutableData:: [9]
@item NSMutableDictionary:: [9]
@item NSMutableSet:: [9]
@item NSMutableString:: [9]
@item NSNotification:: [9]
@item NSNotificationCenter:: [9]
@item NSNotificationQueue:: [6]
@item NSNumber:: [9]
@item NSObject:: [10]
@item NSProcessInfo:: [9]
@item NSProxy:: [8]
@item NSRecursiveLock:: [9]
@item NSRunLoop:: [9]
@item NSScanner:: [9]
@item NSSerializer:: [8]
@item NSSet:: [9]
@item NSString:: [9]
@item NSTask:: [8]
@item NSThread:: [8]
@item NSTimeZone:: [9]
@item NSTimeZoneDetail:: [9]
@item NSTimer:: [7]
@item NSUnarchiver:: [9]
@item NSUserDefaults:: [9]
@item NSValue:: [9]
@end table
@section Cross-Class Projects, or GNU-related foundations for GNUstep classes
@table @strong
@item Finish subclasses of Port class: Ports based on UDP, pflocal
sockets, and shared memory.
@item String classes will get some organizational work.
@end table
@section Protocols
@table @strong
@item NSCoding:: [9]
@item NSCopying:: [9]
@item NSLocking:: [9]
@item NSMutableCopying:: [9]
@item NSObjCTypeSerializationCallBack:: [9]
@item NSObject (Protocol):: [9]
@end table
@section Functions
@subsection Memory Allocation Functions
@table @strong
@item [8] Get the Virtual Memory Page Size
@example
`unsigned NSPageSize (void)'
`unsigned NSLogPageSize (void)'
`unsigned NSRoundDownToMultipleOfPageSize (unsigned BYTECOUNT)'
`unsigned NSRoundUpToMultipleOfPageSize (unsigned BYTECOUNT)'
@end example
@item [2] Get the Amount of Real Memory
`unsigned NSRealMemoryAvailable (void)'
@item [8] Allocate or Free Virtual Memory
@example
`void *NSAllocateMemoryPages (unsigned BYTECOUNT)'
`void NSDeallocateMemoryPages (void *POINTER, unsigned BYTECOUNT)'
`void NSCopyMemoryPages (const void *SOURCE, void *DESTINATION, unsigned BYTECOUNT)'
@end example
@item [8] Child and Merge Zones
@example
void NSMergeZone(NSZone *zonep)
NSZone *NSCreateChildZone(NSZone *parentZone, size_t startSize, size_t granularity, int canFree)
@end example
@item [9] Get a Zone
@example
`NSZone *NSCreateZone (unsigned STARTSIZE, unsigned GRANULARITY, BOOL CANFREE)'
`NSZone *NSDefaultMallocZone (void)'
`NSZone *NSZoneFromPointer (void *POINTER)'
@end example
@item [10] Allocate or Free Memory in a Zone
@example
`void *NSZoneMalloc (NSZone *ZONE,'
`void *NSZoneCalloc (NSZone *ZONE, unsigned NUMELEMS, unsigned NUMBYTES)'
`void *NSZoneRealloc (NSZone *ZONE, void *POINTER, unsigned SIZE)'
`void NSRecycleZone (NSZone *ZONE)'
`void NSZoneFree (NSZone *ZONE, void *POINTER)'
@end example
@item [9] Name a Zone
@example
But the function names are wrong
`void NSSetZoneName (NSZone *ZONE, NSString *name)'
`NSString *NSZoneName (NSZone *ZONE)'
@end example
@end table
@subsection Object Allocation Functions
@table @strong
@item [10] Allocate or Free an Object
@example
`NSObject *NSAllocateObject (Class ACLASS, unsigned EXTRABYTES, NSZone *ZONE)'
`NSObject *NSCopyObject(NSObject *ANOBJECT, unsigned EXTRABYTES, NSZone *ZONE)'
`void NSDeallocateObject (NSObject *ANOBJECT)'
@end example
@item [9] Decide Whether to Retain an Object
`BOOL NSShouldRetainWithZone (NSObject *ANOBJECT, NSZone *REQUESTEDZONE)'
@item [9] Modify the Number of References to an Object
@example
`BOOL NSDecrementExtraRefCountWasZero(id ANOBJECT)'
`void NSIncrementExtraRefCount(id ANOBJECT)'
@end example
@end table
@subsection Error-Handling Functions
@table @strong
@item [9] Change the Top-level Error Handler
@example
``NSUncaughtException'Handler *`NSGetUncaughtException'Handler(void)'
`void `NSSetUncaughtException'Handler(`NSUncaughtException'Handler *HANDLER)'
@end example
@item [9] Macros to Handle an Exception
@example
`NS_DURING'
`NS_ENDHANDLER'
`NS_HANDLER'
`NS_VALUERETURN(VALUE, TYPE)'
`NS_VOIDRETURN'
@end example
@item [9] Call the Assertion Handler from the Body of an Objective-C Method
@example
`NSAssert(BOOL CONDITION, NSString *DESCRIPTION)'
`NSAssert1(BOOL CONDITION, NSString *DESCRIPTION, ARG)'
`NSAssert2(BOOL CONDITION, NSString *DESCRIPTION, ARG1, ARG2)'
`NSAssert3(BOOL CONDITION, NSString *DESCRIPTION, ARG1, ARG2, ARG3)'
`NSAssert4(BOOL CONDITION, NSString *DESCRIPTION, ARG1, ARG2, ARG3, ARG4)'
`NSAssert5(BOOL CONDITION, NSString *DESCRIPTION, ARG1, ARG2, ARG3, ARG4, ARG5)'
@end example
@item [9] Call the Assertion Handler from the Body of a C Function
@example
`NSCAssert(BOOL CONDITION, NSString *DESCRIPTION)'
`NSCAssert1(BOOL CONDITION, NSString *DESCRIPTION, ARG)'
`NSCAssert2(BOOL CONDITION, NSString *DESCRIPTION, ARG1, ARG2)'
`NSCAssert3(BOOL CONDITION, NSString *DESCRIPTION, ARG1, ARG2, ARG3)'
`NSCAssert4(BOOL CONDITION, NSString *DESCRIPTION, arg1, ARG2, ARG3, ARG4)'
`NSCAssert5(BOOL CONDITION, NSString *DESCRIPTION, ARG1, ARG2, ARG3, ARG4, ARG5)'
@end example
@item [9] Validate a Parameter
@example
`NSParameterAssert(BOOL CONDITION)'
`NSCParameterAssert(BOOL CONDITION)'
@end example
@end table
@subsection Geometric Functions
@table @strong
@item [10] Create Basic Structures
@example
`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)'
@end example
@item [10] Get a Rectangle's Coordinates
@example
`float NSMaxX(NSRect ARECT)'
`float NSMaxY(NSRect ARECT)'
`float NSMidX(NSRect ARECT)'
`float NSMidY(NSRect ARECT)'
`float NSMinX(NSRect ARECT)'
`float NSMinY(NSRect ARECT)'
`float NSWidth(NSRect ARECT)'
`float NSHeight(NSRect ARECT)'
@end example
@item [10] Modify a Copy of a Rectangle
@example
`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)'
@end example
@item [10] Compute a Third Rectangle from Two Rectangles
@example
`NSRect NSUnionRect(NSRect ARECT, NSRect BRECT)'
`NSRect NSIntersectionRect(NSRect ARECT, NSRect BRECT)'
@end example
@item [10] Test Geometric Relationships
@example
`BOOL NSEqualRects(NSRect ARECT, NSRect BRECT)'
`BOOL NSEqualSizes(NSSize ASIZE, NSSize BSIZE)'
`BOOL NSEqualPoints(NSPoint APOINT, NSPoint BPOINT)'
`BOOL NSIsEmptyRect(NSRect ARECT)'
`BOOL NSMouseInRect(NSPoint APOINT, NSRect ARECT, BOOL FLIPPED)'
`BOOL NSPointInRect(NSPoint APOINT, NSRect ARECT)'
`BOOL NSContainsRect(NSRect ARECT, NSRect BRECT)'
@end example
@item [10] Get a String Representation
@example
`NSString *NSStringFromPoint(NSPoint APOINT)'
`NSString *NSStringFromRect(NSRect ARECT)'
`NSString *NSStringFromSize(NSSize ASIZE)'
@end example
@end table
@subsection Range Functions
@table @strong
@item [9] Query a Range
@example
`BOOL NSEqualRanges(NSRange RANGE1, NSRange RANGE2)'
`unsigned NSMaxRange(NSRange RANGE)'
`BOOL NSLocationInRange(unsigned LOCATION, NSRange RANGE)'
@end example
@item [9] Compute a Range from Two Other Ranges
@example
`NSRange NSUnionRange(NSRange RANGE1, NSRange RANGE2)'
`NSRange NSIntersectionRange(NSRange RANGE1, NSRange RANGE2)'
@end example
@item [9] Get a String Representation
`NSString *NSStringFromRange(NSRange RANGE)'
@end table
@subsection Hash Table Functions
@table @strong
@item [8]
@example
Create a Table
`NSHashTable * NSCreateHashTable(NSHashTableCallBacks CALLBACKS, unsigned CAPACITY)'
`NSHashTable * NSCreateHashTableWithZone(NSHashTableCallBacks CALLBACKS, unsigned CAPACITY, NSZone * ZONE)'
`NSHashTable * NSCopyHashTableWithZone(NSHashTable * TABLE, NSZone * ZONE)'
Free a Table
`void NSFreeHashTable(NSHashTable * TABLE)'
`void NSResetHashTable(NSHashTable * TABLE)'
Compare Two Tables
`BOOL NSCompareHashTables(NSHashTable * TABLE1, NSHashTable * TABLE2)'
Get the Number of Items
`unsigned NSCountHashTable(NSHashTable * TABLE)'
Returns the number of elements in TABLE.
Retrieve Items
`void * NSHashGet(NSHashTable * TABLE, const void * POINTER)'
`NSArray * NSAllHashTableObjects(NSHashTable * TABLE)'
`NSHashEnumerator NSEnumerateHashTable(NSHashTable * TABLE)'
`void * NSNextHashEnumeratorItem(NSHashEnumerator * ENUMERATOR)'
Add or Remove an Item
`void NSHashInsert(NSHashTable * TABLE, const void * POINTER)'
`void NSHashInsertKnownAbsent(NSHashTable * TABLE, const void * POINTER)'
`void * NSHashInsertIfAbsent(NSHashTable * TABLE, const void * POINTER)'
`void NSHashRemove(NSHashTable * TABLE, const void * POINTER)'
Get a String Representation
`NSString * NSStringFromHashTable(NSHashTable * TABLE)'
@end example
@end table
@subsection Map Table Functions
@table @strong
@item [8]
@example
Create a Table
`NSMapTable * NSCreateMapTable(NSMapTableKeyCallBacks KEYCALLBACKS, NSMapTableValueCallBacks VALUECALLBACKS, unsigned CAPACITY)'
`NSMapTable * NSCreateMapTableWithZone(NSMapTableKeyCallBacks KEYCALLBACKS, NSMapTableValueCallBacks VALUECALLBACKS, unsigned CAPACITY,'
`NSMapTable * NSCopyMapTableWithZone(NSMapTable * TABLE, NSZone * ZONE)'
Free a Table
`void NSFreeMapTable(NSMapTable * TABLE)'
`void NSResetMapTable(NSMapTable * TABLE)'
Compare Two Tables:
`BOOL NSCompareMapTables(NSMapTable * TABLE1, NSMapTable * TABLE2)'
Get the Number of Items
`unsigned NSCountMapTable(NSMapTable * TABLE)'
Retrieve Items
`BOOL NSMapMember(NSMapTable * TABLE, const void * KEY, void ** ORIGINALKEY, void ** VALUE)'
`void * NSMapGet(NSMapTable * TABLE,'
`NSMapEnumerator NSEnumerateMapTable(NSMapTable * TABLE)'
`BOOL NSNextMapEnumeratorPair(NSMapEnumerator * ENUMERATOR, void ** KEY, void ** VALUE)'
`NSArray * NSAllMapTableKeys(NSMapTable * TABLE)'
`NSArray * NSAllMapTableValues(NSMapTable * TABLE)'
Add or Remove an Item
`void NSMapInsert(NSMapTable * TABLE, const void * KEY, const void * VALUE)'
`void * NSMapInsertIfAbsent(NSMapTable * TABLE, const void * KEY, const void * VALUE)'
`void NSMapInsertKnownAbsent(NSMapTable * TABLE, const void * KEY, const void * VALUE)'
`void NSMapRemove(NSMapTable * TABLE,'
`NSString *NSStringFromMapTable(NSMapTable *TABLE)'
@end example
@end table
@subsection Miscellaneous Functions
@table @strong
@item [7] Get Information about a User
@example
`NSString *NSUserName(void)'
`NSString *NSHomeDirectory(void)'
`NSString *NSHomeDirectoryForUser(NSString *USERNAME)'
@end example
@item [9] Log an Error Message
@example
`void NSLog(NSString *format,...'
`void NSLogv(NSString * FORMAT, va_list ARGS)'
@end example
@item [8] Get Localized Versions of Strings
@example
`NSString * NSLocalizedString(NSString * KEY, NSString * COMMENT)'
`NSString * NSLocalizedStringFromTable(NSString * KEY, NSString * TABLENAME, NSString * COMMENT)'
`NSString * NSLocalizedStringFromTableInBundle(NSString * KEY, NSString * TABLENAME, NSBundle * ABUNDLE, NSString * COMMENT)'
@end example
@item [9] Convert to and from a String
@example
`Class NSClassFromString(NSString *ACLASSNAME)'
`SEL NSSelectorFromString(NSString *ASELECTORNAME)'
`NSString *NSStringFromClass(Class ACLASS)'
`NSString *NSStringFromSelector(SEL ASELECTOR)'
@end example
@item [3] Compose a Message To Be Sent Later to an Object
@example
`NSInvocation *NS_INVOCATION(Class ACLASS, INSTANCEMESSAGE)'
`NSInvocation *NS_MESSAGE(id ANOBJECT, INSTANCEMESSAGE)'
@end example
@end table

View file

@ -51,9 +51,6 @@
/* Define if libxml available */
#undef HAVE_LIBXML
/* Define if openssl available */
#undef HAVE_OPENSSL
#undef HAVE_PTS_STREAM_MODULES
#undef HAVE_UINTMAX_T
@ -256,9 +253,15 @@
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/rusage.h> header file. */
#undef HAVE_SYS_RUSAGE_H
/* Define if you have the <sys/signal.h> header file. */
#undef HAVE_SYS_SIGNAL_H
/* Define if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
@ -283,6 +286,9 @@
/* Define if you have the <sys/vfs.h> header file. */
#undef HAVE_SYS_VFS_H
/* Define if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H

View file

@ -2957,6 +2957,13 @@ fatalErrorFunction(void *ctx, const char *msg, ...)
NSStringFromClass(self), NSStringFromSelector(_cmd));
return nil;
}
+ (void) forwardInvocation: (NSInvocation*)anInvocation
{
NSLog(@"Not built with libxml ... %@ unusable in %@",
NSStringFromClass([self class]),
NSStringFromSelector([anInvocation selector]));
return;
}
- (id) init
{
NSLog(@"Not built with libxml ... %@ unusable in %@",

View file

@ -50,16 +50,45 @@
#ifdef __FreeBSD__
#include <fcntl.h>
#endif
#ifndef __MINGW__
#include <sys/signal.h>
#include <sys/param.h>
#include <sys/wait.h>
#endif
#if HAVE_WINDOWS_H
# include <windows.h>
#endif
#if HAVE_SYS_SIGNAL_H
#include <sys/signal.h>
#endif
#if HAVE_SIGNAL_H
#include <signal.h>
#endif
#if HAVE_SYS_FILE_H
#include <sys/file.h>
#endif
#if HAVE_SYS_FCNTL_H
#include <sys/fcntl.h>
#endif
#if HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
#endif
#if HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
#if HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
/*
* If we are on a streams based system, we need to include stropts.h
* for definitions needed to set up slave pseudo-terminal stream.
*/
#if HAVE_SYS_STROPTS_H
#include <sys/stropts.h>
#endif
#ifndef MAX_OPEN
#define MAX_OPEN 64
#endif
/*
* If we don't have NFILE, default to 256 open descriptors.
*/
@ -97,34 +126,6 @@ static void handleSignal(int sig)
@end
#define NSConcreteTask NSConcreteUnixTask
#if HAVE_SIGNAL_H
#include <signal.h>
#endif
#if HAVE_SYS_FILE_H
#include <sys/file.h>
#endif
#if HAVE_SYS_FCNTL_H
#include <sys/fcntl.h>
#endif
#if HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
#endif
#if HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
/*
* If we are on a streams based system, we need to include stropts.h
* for definitions needed to set up slave pseudo-terminal stream.
*/
#if HAVE_SYS_STROPTS_H
#include <sys/stropts.h>
#endif
#ifndef MAX_OPEN
#define MAX_OPEN 64
#endif
static int
pty_master(char* name, int len)
{

1216
configure vendored

File diff suppressed because it is too large Load diff

View file

@ -582,7 +582,7 @@ esac
AC_DEFINE_UNQUOTED(HAVE_PTS_STREAM_MODULES, $HAVE_PTS_STREAM_MODULES)
AC_SUBST(HAVE_PTS_STREAM_MODULES)
AC_CHECK_HEADERS(libc.h limits.h malloc.h memory.h string.h signal.h sys/file.h sys/fcntl.h sys/ioctl.h sys/stropts.h unistd.h utime.h stdint.h sys/inttypes.h)
AC_CHECK_HEADERS(libc.h limits.h malloc.h memory.h string.h signal.h sys/signal.h sys/param.h sys/wait.h sys/file.h sys/fcntl.h sys/ioctl.h sys/stropts.h unistd.h utime.h stdint.h sys/inttypes.h)
#--------------------------------------------------------------------
# This function needed by NSThread.m
@ -854,7 +854,7 @@ AC_SUBST(HAVE_LIBXML)
# Check OpenSSL for HTTPS support.
#--------------------------------------------------------------------
AC_ARG_ENABLE(openssl,
[ --enable-openssl Enable support for openssl in URL classes],,
[ --disable-openssl Disable support for openssl in URL classes],,
enable_openssl=yes)
AC_ARG_WITH(openssl-include,
[ --with-openssl-include=PATH include path for openssl headers],