mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Shared library on Windows fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@6768 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
6bccc28a4d
commit
474cb8d525
16 changed files with 580 additions and 1367 deletions
19
ChangeLog
19
ChangeLog
|
@ -1,3 +1,22 @@
|
|||
2000-06-21 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Shared library (DLL) fixes on Windows
|
||||
* configure.in: Check for alternate objc (DLL) libraries.
|
||||
Look for objc_get_uninstalled_dtable.
|
||||
* Source/behavior.m (behavior_class_add_methods): Don't look for
|
||||
uninstalled_dtable if no objc_get_uninstalled_dtable.
|
||||
(check_class_methods): Remove unused.
|
||||
* Source/objc-load.m: Likewise.
|
||||
|
||||
* Headers/gnustep/base/NSObjCRuntime.h: Define GS_EXPORT
|
||||
* Headers/gnustep/base/NSZone.h: Define functions either static
|
||||
or extern depending on whether NSZone.m is being compiled.
|
||||
* Source/NSZone.m: Remove duplicate functions.
|
||||
* Source/Makefile.preamble (LIBRARIES_DEPEND_UPON): Add -lobjc
|
||||
if on windows.
|
||||
|
||||
* Source/UdpPort.m: Use NSMutableArray.
|
||||
|
||||
2000-06-19 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Source/NSBundle.m (_bundle_name_first_match): Work even when
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
=*
|
||||
version.tmpl.texi
|
||||
version.texi
|
||||
gnustep-base.texi
|
||||
gnustep-zones.texi
|
||||
announce.texi
|
||||
|
@ -39,4 +40,6 @@ ANNOUNCE
|
|||
*.pg
|
||||
*.ps
|
||||
*.vrs
|
||||
*.cl
|
||||
*.pr
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#ifndef __Foundation_h_GNUSTEP_BASE_INCLUDE
|
||||
#define __Foundation_h_GNUSTEP_BASE_INCLUDE
|
||||
|
||||
#include <Foundation/NSObjCRuntime.h>
|
||||
#include <GSConfig.h>
|
||||
#include <Foundation/NSDebug.h>
|
||||
#include <Foundation/NSObject.h>
|
||||
|
|
|
@ -27,14 +27,15 @@
|
|||
#include <objc/objc.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#if BUILD_libgnustep-base_DLL
|
||||
# define GS_EXPORT __declspec(dllexport)
|
||||
#elif libgnustep-base_ISDLL
|
||||
# define GS_EXPORT extern __declspec(dllimport)
|
||||
#if BUILD_libgnustep_base_DLL
|
||||
# define GS_EXPORT __declspec(dllexport)
|
||||
#elif libgnustep_base_ISDLL
|
||||
# define GS_EXPORT extern __declspec(dllimport)
|
||||
#else
|
||||
# define GS_EXPORT extern
|
||||
#endif
|
||||
#define GS_IMPORT extern
|
||||
#define GS_DECLARE
|
||||
|
||||
@class NSString;
|
||||
|
||||
|
|
|
@ -58,6 +58,14 @@ struct _NSZone
|
|||
|
||||
void *GSOutOfMemory(size_t size, BOOL retry);
|
||||
|
||||
#ifdef IN_NSZONE_M
|
||||
#define GS_ZONE_SCOPE extern
|
||||
#define GS_ZONE_ATTR
|
||||
#else
|
||||
#define GS_ZONE_SCOPE static inline
|
||||
#define GS_ZONE_ATTR __attribute__((unused))
|
||||
#endif
|
||||
|
||||
/* Default zone. Name is hopelessly long so that no one will ever
|
||||
want to use it. ;) Private variable. */
|
||||
GS_EXPORT NSZone* __nszone_private_hidden_default_zone;
|
||||
|
@ -71,19 +79,19 @@ GS_EXPORT NSZone* __nszone_private_hidden_default_zone;
|
|||
|
||||
GS_EXPORT NSZone* __nszone_private_hidden_atomic_zone;
|
||||
|
||||
GS_EXPORT inline NSZone* NSCreateZone (size_t start, size_t gran, BOOL canFree)
|
||||
GS_ZONE_SCOPE NSZone* NSCreateZone (size_t start, size_t gran, BOOL canFree)
|
||||
{ return __nszone_private_hidden_default_zone; }
|
||||
|
||||
GS_EXPORT inline NSZone* NSDefaultMallocZone (void)
|
||||
GS_ZONE_SCOPE NSZone* NSDefaultMallocZone (void)
|
||||
{ return __nszone_private_hidden_default_zone; }
|
||||
|
||||
GS_EXPORT inline NSZone* GSAtomicMallocZone (void)
|
||||
GS_ZONE_SCOPE NSZone* GSAtomicMallocZone (void)
|
||||
{ return __nszone_private_hidden_atomic_zone; }
|
||||
|
||||
GS_EXPORT inline NSZone* NSZoneFromPointer (void *ptr)
|
||||
GS_ZONE_SCOPE NSZone* NSZoneFromPointer (void *ptr)
|
||||
{ return __nszone_private_hidden_default_zone; }
|
||||
|
||||
GS_EXPORT inline void* NSZoneMalloc (NSZone *zone, size_t size)
|
||||
GS_ZONE_SCOPE void* NSZoneMalloc (NSZone *zone, size_t size)
|
||||
{
|
||||
void *ptr;
|
||||
|
||||
|
@ -97,7 +105,7 @@ GS_EXPORT inline void* NSZoneMalloc (NSZone *zone, size_t size)
|
|||
return ptr;
|
||||
}
|
||||
|
||||
GS_EXPORT inline void* NSZoneCalloc (NSZone *zone, size_t elems, size_t bytes)
|
||||
GS_ZONE_SCOPE void* NSZoneCalloc (NSZone *zone, size_t elems, size_t bytes)
|
||||
{
|
||||
size_t size = elems * bytes;
|
||||
void *ptr;
|
||||
|
@ -113,7 +121,7 @@ GS_EXPORT inline void* NSZoneCalloc (NSZone *zone, size_t elems, size_t bytes)
|
|||
return ptr;
|
||||
}
|
||||
|
||||
GS_EXPORT inline void* NSZoneRealloc (NSZone *zone, void *ptr, size_t size)
|
||||
GS_ZONE_SCOPE void* NSZoneRealloc (NSZone *zone, void *ptr, size_t size)
|
||||
{
|
||||
ptr = GC_REALLOC(ptr, size);
|
||||
if (ptr == 0)
|
||||
|
@ -121,37 +129,37 @@ GS_EXPORT inline void* NSZoneRealloc (NSZone *zone, void *ptr, size_t size)
|
|||
return ptr;
|
||||
}
|
||||
|
||||
GS_EXPORT inline void NSRecycleZone (NSZone *zone)
|
||||
GS_ZONE_SCOPE void NSRecycleZone (NSZone *zone)
|
||||
{
|
||||
}
|
||||
|
||||
GS_EXPORT inline void NSZoneFree (NSZone *zone, void *ptr)
|
||||
GS_ZONE_SCOPE void NSZoneFree (NSZone *zone, void *ptr)
|
||||
{
|
||||
GC_FREE(ptr);
|
||||
}
|
||||
|
||||
GS_EXPORT inline void NSSetZoneName (NSZone *zone, NSString *name)
|
||||
GS_ZONE_SCOPE void NSSetZoneName (NSZone *zone, NSString *name)
|
||||
{
|
||||
}
|
||||
|
||||
GS_EXPORT inline NSString* NSZoneName (NSZone *zone)
|
||||
GS_ZONE_SCOPE NSString* NSZoneName (NSZone *zone)
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
|
||||
#ifndef NO_GNUSTEP
|
||||
|
||||
GS_EXPORT inline void* NSZoneMallocAtomic (NSZone *zone, size_t size)
|
||||
GS_ZONE_SCOPE void* NSZoneMallocAtomic (NSZone *zone, size_t size)
|
||||
{
|
||||
return NSZoneMalloc(GSAtomicMallocZone(), size);
|
||||
}
|
||||
|
||||
GS_EXPORT inline BOOL NSZoneCheck (NSZone *zone)
|
||||
GS_ZONE_SCOPE BOOL NSZoneCheck (NSZone *zone)
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
|
||||
GS_EXPORT inline struct NSZoneStats NSZoneStats (NSZone *zone)
|
||||
GS_ZONE_SCOPE struct NSZoneStats NSZoneStats (NSZone *zone)
|
||||
{
|
||||
struct NSZoneStats stats = { 0 };
|
||||
return stats;
|
||||
|
@ -162,19 +170,25 @@ GS_EXPORT inline struct NSZoneStats NSZoneStats (NSZone *zone)
|
|||
|
||||
GS_EXPORT NSZone* NSCreateZone (size_t start, size_t gran, BOOL canFree);
|
||||
|
||||
GS_EXPORT inline NSZone* NSDefaultMallocZone (void)
|
||||
GS_ZONE_SCOPE NSZone* NSDefaultMallocZone (void) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE NSZone* NSDefaultMallocZone (void)
|
||||
{
|
||||
return __nszone_private_hidden_default_zone;
|
||||
}
|
||||
|
||||
GS_EXPORT inline NSZone* GSAtomicMallocZone (void)
|
||||
GS_ZONE_SCOPE NSZone* GSAtomicMallocZone (void) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE NSZone* GSAtomicMallocZone (void)
|
||||
{
|
||||
return NSDefaultMallocZone();
|
||||
}
|
||||
|
||||
GS_EXPORT NSZone* NSZoneFromPointer (void *ptr);
|
||||
|
||||
GS_EXPORT inline void* NSZoneMalloc (NSZone *zone, size_t size)
|
||||
GS_ZONE_SCOPE void* NSZoneMalloc (NSZone *zone, size_t size) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE void* NSZoneMalloc (NSZone *zone, size_t size)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
|
@ -183,21 +197,28 @@ GS_EXPORT inline void* NSZoneMalloc (NSZone *zone, size_t size)
|
|||
|
||||
GS_EXPORT void* NSZoneCalloc (NSZone *zone, size_t elems, size_t bytes);
|
||||
|
||||
GS_EXPORT inline void* NSZoneRealloc (NSZone *zone, void *ptr, size_t size)
|
||||
GS_ZONE_SCOPE void*
|
||||
NSZoneRealloc (NSZone *zone, void *ptr, size_t size) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE void* NSZoneRealloc (NSZone *zone, void *ptr, size_t size)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
return (zone->realloc)(zone, ptr, size);
|
||||
}
|
||||
|
||||
GS_EXPORT inline void NSRecycleZone (NSZone *zone)
|
||||
GS_ZONE_SCOPE void NSRecycleZone (NSZone *zone) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE void NSRecycleZone (NSZone *zone)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
(zone->recycle)(zone);
|
||||
}
|
||||
|
||||
GS_EXPORT inline void NSZoneFree (NSZone *zone, void *ptr)
|
||||
GS_ZONE_SCOPE void NSZoneFree (NSZone *zone, void *ptr) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE void NSZoneFree (NSZone *zone, void *ptr)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
|
@ -206,7 +227,9 @@ GS_EXPORT inline void NSZoneFree (NSZone *zone, void *ptr)
|
|||
|
||||
GS_EXPORT void NSSetZoneName (NSZone *zone, NSString *name);
|
||||
|
||||
GS_EXPORT inline NSString* NSZoneName (NSZone *zone)
|
||||
GS_ZONE_SCOPE NSString* NSZoneName (NSZone *zone) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE NSString* NSZoneName (NSZone *zone)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
|
@ -214,21 +237,28 @@ GS_EXPORT inline NSString* NSZoneName (NSZone *zone)
|
|||
}
|
||||
|
||||
#ifndef NO_GNUSTEP
|
||||
GS_EXPORT inline void* NSZoneMallocAtomic (NSZone *zone, size_t size)
|
||||
GS_ZONE_SCOPE void*
|
||||
NSZoneMallocAtomic (NSZone *zone, size_t size) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE void* NSZoneMallocAtomic (NSZone *zone, size_t size)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
return (zone->malloc)(zone, size);
|
||||
}
|
||||
|
||||
GS_EXPORT inline BOOL NSZoneCheck (NSZone *zone)
|
||||
GS_ZONE_SCOPE BOOL NSZoneCheck (NSZone *zone) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE BOOL NSZoneCheck (NSZone *zone)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
return (zone->check)(zone);
|
||||
}
|
||||
|
||||
GS_EXPORT inline struct NSZoneStats NSZoneStats (NSZone *zone)
|
||||
GS_ZONE_SCOPE struct NSZoneStats NSZoneStats (NSZone *zone) GS_ZONE_ATTR;
|
||||
|
||||
GS_ZONE_SCOPE struct NSZoneStats NSZoneStats (NSZone *zone)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
|
|
|
@ -36,6 +36,9 @@
|
|||
/* Define if your Obj-C compiler calls +load methods before main */
|
||||
#undef HAVE_LOAD_METHOD
|
||||
|
||||
/* Define if objc-api.h defines this function */
|
||||
#undef HAVE_OBJC_GET_UNINSTALLED_DTABLE
|
||||
|
||||
/* Define if your Lib C defines program_invocation_name */
|
||||
#undef HAVE_PROGRAM_INVOCATION_NAME
|
||||
|
||||
|
@ -126,6 +129,9 @@
|
|||
/* Define if you have the <grp.h> header file. */
|
||||
#undef HAVE_GRP_H
|
||||
|
||||
/* Define if you have the <libxml/xmlversion.h> header file. */
|
||||
#undef HAVE_LIBXML_XMLVERSION_H
|
||||
|
||||
/* Define if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
|
|
|
@ -57,6 +57,13 @@ ADDITIONAL_LDFLAGS =
|
|||
# Additional library directories the linker should search
|
||||
ADDITIONAL_LIB_DIRS =
|
||||
|
||||
ifeq ($(GNUSTEP_TARGET_OS),mingw32)
|
||||
libgnustep-base_LIBRARIES_DEPEND_UPON += -lobjc
|
||||
endif
|
||||
ifeq ($(GNUSTEP_TARGET_OS),cygwin)
|
||||
libgnustep-base_LIBRARIES_DEPEND_UPON += -lobjc
|
||||
endif
|
||||
|
||||
#
|
||||
# Flags dealing with installing and uninstalling
|
||||
#
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
#include <config.h>
|
||||
#include <base/preface.h>
|
||||
#include <Foundation/NSObjCRuntime.h>
|
||||
#include <GSConfig.h>
|
||||
#include <Foundation/NSConcreteNumber.h>
|
||||
#include <Foundation/NSString.h>
|
||||
|
|
|
@ -79,6 +79,7 @@
|
|||
/* Define to turn off NSAssertions. */
|
||||
#define NS_BLOCK_ASSERTIONS 1
|
||||
|
||||
#define IN_NSZONE_M 1
|
||||
|
||||
#include <config.h>
|
||||
#include <base/preface.h>
|
||||
|
@ -410,7 +411,7 @@ NSZone* __nszone_private_hidden_default_zone = &default_zone;
|
|||
*/
|
||||
static NSZone *zone_list = 0;
|
||||
|
||||
inline NSZone*
|
||||
GS_DECLARE NSZone*
|
||||
NSZoneFromPointer(void *ptr)
|
||||
{
|
||||
NSZone *zone;
|
||||
|
@ -1695,56 +1696,12 @@ NSCreateZone (size_t start, size_t gran, BOOL canFree)
|
|||
return newZone;
|
||||
}
|
||||
|
||||
inline NSZone*
|
||||
NSDefaultMallocZone (void)
|
||||
{
|
||||
return __nszone_private_hidden_default_zone;
|
||||
}
|
||||
|
||||
NSZone* GSAtomicMallocZone (void)
|
||||
{
|
||||
return NSDefaultMallocZone();
|
||||
}
|
||||
|
||||
inline void*
|
||||
NSZoneMalloc (NSZone *zone, size_t size)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
return (zone->malloc)(zone, size);
|
||||
}
|
||||
|
||||
void*
|
||||
NSZoneCalloc (NSZone *zone, size_t elems, size_t bytes)
|
||||
{
|
||||
return memset(NSZoneMalloc(zone, elems*bytes), 0, elems*bytes);
|
||||
}
|
||||
|
||||
inline void*
|
||||
NSZoneRealloc (NSZone *zone, void *ptr, size_t size)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
return (zone->realloc)(zone, ptr, size);
|
||||
}
|
||||
|
||||
inline void
|
||||
NSRecycleZone (NSZone *zone)
|
||||
{
|
||||
if (zone == 0)
|
||||
zone = NSDefaultMallocZone();
|
||||
|
||||
(zone->recycle)(zone);
|
||||
}
|
||||
|
||||
inline void
|
||||
NSZoneFree (NSZone *zone, void *ptr)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
(zone->free)(zone, ptr);
|
||||
}
|
||||
|
||||
void
|
||||
NSSetZoneName (NSZone *zone, NSString *name)
|
||||
{
|
||||
|
@ -1758,40 +1715,6 @@ NSSetZoneName (NSZone *zone, NSString *name)
|
|||
[gnustep_global_lock unlock];
|
||||
}
|
||||
|
||||
inline NSString*
|
||||
NSZoneName (NSZone *zone)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
return zone->name;
|
||||
}
|
||||
|
||||
/* Not in OpenStep. */
|
||||
|
||||
void*
|
||||
NSZoneMallocAtomic (NSZone *zone, size_t size)
|
||||
{
|
||||
return NSZoneMalloc(GSAtomicMallocZone(), size);
|
||||
}
|
||||
|
||||
/* Not in OpenStep. */
|
||||
inline BOOL
|
||||
NSZoneCheck (NSZone *zone)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
return (zone->check)(zone);
|
||||
}
|
||||
|
||||
/* Not in OpenStep. */
|
||||
inline struct NSZoneStats
|
||||
NSZoneStats (NSZone *zone)
|
||||
{
|
||||
if (!zone)
|
||||
zone = NSDefaultMallocZone();
|
||||
return (zone->stats)(zone);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <gc.h>
|
||||
|
|
|
@ -326,13 +326,13 @@ static NSMapTable *port_number_2_in_port = NULL;
|
|||
|
||||
@implementation UdpOutPort
|
||||
|
||||
static NSArray *udp_out_port_array;
|
||||
static NSMutableArray *udp_out_port_array;
|
||||
|
||||
+ (void) initialize
|
||||
{
|
||||
if (self == [UdpOutPort class])
|
||||
{
|
||||
udp_out_port_array = [NSArray new];
|
||||
udp_out_port_array = [NSMutableArray new];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -63,7 +63,6 @@ static void __objc_class_add_protocols (Class class,
|
|||
struct objc_protocol_list* protos);
|
||||
#endif
|
||||
static BOOL class_is_kind_of(Class self, Class class);
|
||||
static void check_class_methods(Class class);
|
||||
|
||||
/* xxx consider using sendmsg.c:__objc_update_dispatch_table_for_class,
|
||||
but, I think it will be slower than the current method. */
|
||||
|
@ -205,6 +204,7 @@ behavior_class_add_methods (Class class,
|
|||
the dtable sarray, but if it isn't, let
|
||||
__objc_install_dispatch_table_for_class do it. */
|
||||
|
||||
#ifdef HAVE_OBJC_GET_UNINSTALLED_DTABLE
|
||||
if (class->dtable != objc_get_uninstalled_dtable())
|
||||
{
|
||||
sarray_at_put_safe (class->dtable,
|
||||
|
@ -214,6 +214,7 @@ behavior_class_add_methods (Class class,
|
|||
fprintf(stderr, "\tinstalled method\n");
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if (behavior_debug)
|
||||
fprintf(stderr, "\tappended method\n");
|
||||
|
@ -427,34 +428,3 @@ static BOOL class_is_kind_of(Class self, Class aClassObject)
|
|||
return YES;
|
||||
return NO;
|
||||
}
|
||||
|
||||
void
|
||||
check_class_methods(Class class)
|
||||
{
|
||||
int counter;
|
||||
MethodList_t mlist;
|
||||
|
||||
if (class->dtable == objc_get_uninstalled_dtable())
|
||||
return;
|
||||
|
||||
for (mlist = class->methods; mlist; mlist = mlist->method_next)
|
||||
{
|
||||
counter = mlist->method_count - 1;
|
||||
while (counter >= 0)
|
||||
{
|
||||
Method_t method = &(mlist->method_list[counter]);
|
||||
IMP imp = sarray_get(class->dtable,
|
||||
(size_t)method->method_name->sel_id);
|
||||
NSCAssert((imp == method->method_imp), NSInvalidArgumentException);
|
||||
sarray_at_put_safe (class->dtable,
|
||||
(sidx) method->method_name->sel_id,
|
||||
method->method_imp);
|
||||
counter -= 1;
|
||||
}
|
||||
}
|
||||
if (class->super_class)
|
||||
check_class_methods(class->super_class);
|
||||
|
||||
(void) &check_class_methods; /* to prevent compiler warning about unused */
|
||||
}
|
||||
|
||||
|
|
|
@ -28,779 +28,5 @@
|
|||
; License along with this library; if not, write to the Free
|
||||
; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
|
||||
;
|
||||
|
||||
LIBRARY libgstep
|
||||
LIBRARY libgnustep-base
|
||||
EXPORTS
|
||||
__objc_class_name_Archiver
|
||||
__objc_class_name_Unarchiver
|
||||
__objc_class_name_Array
|
||||
__objc_class_name_ConstantArray
|
||||
__objc_class_name_Bag
|
||||
__objc_class_name_BinaryCStream
|
||||
__objc_class_name_BinaryTree
|
||||
__objc_class_name_BinaryTreeNode
|
||||
__objc_class_name_CircularArray
|
||||
__objc_category_name_ConstantCollection_ArchivingHelpers
|
||||
__objc_category_name_ConstantCollection_DeallocationHelpers
|
||||
__objc_class_name_Collection
|
||||
__objc_class_name_ConstantCollection
|
||||
__objc_class_name_Enumerator
|
||||
__objc_category_name_NSObject_ConnectedCoderCallbacks
|
||||
__objc_class_name_ConnectedDecoder
|
||||
__objc_class_name_ConnectedEncoder
|
||||
__objc_category_name_Coder_NSArchiverCompatibility
|
||||
__objc_category_name_Coder_NSCoderCompatibility
|
||||
__objc_class_name_Coder
|
||||
__objc_class_name_CStream
|
||||
__objc_class_name_Decoder
|
||||
__objc_class_name_DelegatePool
|
||||
__objc_class_name_Dictionary
|
||||
__objc_class_name_Encoder
|
||||
__objc_class_name_GapArray
|
||||
__objc_class_name_Heap
|
||||
__objc_class_name_ConstantIndexedCollection
|
||||
__objc_class_name_IndexedCollection
|
||||
__objc_class_name_ReverseEnumerator
|
||||
__objc_class_name_ArgframeInvocation
|
||||
__objc_class_name_Invocation
|
||||
__objc_class_name_MethodInvocation
|
||||
__objc_class_name_ObjectFunctionInvocation
|
||||
__objc_class_name_ObjectMethodInvocation
|
||||
__objc_class_name_VoidFunctionInvocation
|
||||
__objc_class_name_ConstantKeyedCollection
|
||||
__objc_class_name_KeyEnumerator
|
||||
__objc_class_name_KeyedCollection
|
||||
__objc_class_name_LinkedList
|
||||
__objc_class_name_LinkedListNode
|
||||
__objc_class_name_Magnitude
|
||||
__objc_class_name_MappedCollector
|
||||
__objc_class_name_MemoryStream
|
||||
inchar_func
|
||||
outchar_func
|
||||
unchar_func
|
||||
__objc_category_name_NotificationDispatcher_OpenStepCompat
|
||||
__objc_class_name_NotificationDispatcher
|
||||
__objc_class_name_NotificationInvocation
|
||||
__objc_class_name_NotificationPerformer
|
||||
__objc_class_name_NotificationRequest
|
||||
__objc_class_name_OrderedCollection
|
||||
__objc_class_name_InPacket
|
||||
__objc_class_name_InPort
|
||||
__objc_class_name_OutPacket
|
||||
__objc_class_name_OutPort
|
||||
__objc_class_name_Port
|
||||
__objc_category_name_NSObject_ForProxy
|
||||
__objc_category_name_Protocol_RemoteSelfCoding
|
||||
__objc_class_name_Queue
|
||||
__objc_class_name_Random
|
||||
__objc_class_name_RawCStream
|
||||
__objc_class_name_RBTree
|
||||
__objc_class_name_RBTreeNode
|
||||
__objc_class_name_RNGAdditiveCongruential
|
||||
__objc_class_name_RNGBerkeley
|
||||
__objc_category_name_NSObject_PerformingAfterDelay
|
||||
__objc_category_name_RunLoop_GNUstepExtensions
|
||||
__objc_class_name_FdInfo
|
||||
__objc_class_name_RunLoop
|
||||
__objc_class_name_Set
|
||||
__objc_class_name_SplayTree
|
||||
__objc_class_name_Stack
|
||||
__objc_class_name_StdioStream
|
||||
__objc_class_name_Stream
|
||||
__objc_class_name_TcpInPacket
|
||||
__objc_class_name_TcpInPort
|
||||
__objc_class_name_TcpOutPacket
|
||||
__objc_class_name_TcpOutPort
|
||||
__objc_class_name_TextCStream
|
||||
__objc_class_name_Time
|
||||
gettimeofday
|
||||
times
|
||||
__objc_class_name_UdpInPacket
|
||||
__objc_class_name_UdpInPort
|
||||
__objc_class_name_UdpOutPort
|
||||
behavior_class_add_category
|
||||
behavior_class_add_class
|
||||
behavior_class_add_methods
|
||||
behavior_set_debug
|
||||
class_add_behavior
|
||||
pl_create_buffer
|
||||
pl_delete_buffer
|
||||
pl_flush_buffer
|
||||
pl_init_buffer
|
||||
pl_load_buffer_state
|
||||
pl_scan_buffer
|
||||
pl_scan_bytes
|
||||
pl_scan_string
|
||||
pl_switch_to_buffer
|
||||
pllex
|
||||
plrestart
|
||||
plwrap
|
||||
str2data
|
||||
strdup
|
||||
unescstr
|
||||
sf_create_buffer
|
||||
sf_delete_buffer
|
||||
sf_flush_buffer
|
||||
sf_init_buffer
|
||||
sf_load_buffer_state
|
||||
sf_scan_buffer
|
||||
sf_scan_bytes
|
||||
sf_scan_string
|
||||
sf_switch_to_buffer
|
||||
sflex
|
||||
sfrestart
|
||||
sfwrap
|
||||
ostream_at_eos
|
||||
ostream_close
|
||||
ostream_close_memory
|
||||
ostream_flush
|
||||
ostream_get_memory_buffer
|
||||
ostream_getc
|
||||
ostream_gets
|
||||
ostream_map_file
|
||||
ostream_open_descriptor
|
||||
ostream_open_memory
|
||||
ostream_printf
|
||||
ostream_putc
|
||||
ostream_read
|
||||
ostream_save_to_file
|
||||
ostream_scanf
|
||||
ostream_seek
|
||||
ostream_tell
|
||||
ostream_ungetc
|
||||
ostream_vprintf
|
||||
ostream_vscanf
|
||||
ostream_write
|
||||
o_array_all_elements
|
||||
o_array_all_elements_ascending
|
||||
o_array_all_elements_descending
|
||||
o_array_alloc
|
||||
o_array_alloc_with_zone
|
||||
o_array_ascending_enumerator
|
||||
o_array_at_index_put_element
|
||||
o_array_capacity
|
||||
o_array_check
|
||||
o_array_contains_element
|
||||
o_array_count
|
||||
o_array_dealloc
|
||||
o_array_descending_enumerator
|
||||
o_array_element_at_index
|
||||
o_array_empty
|
||||
o_array_enumerator
|
||||
o_array_enumerator_next_element
|
||||
o_array_enumerator_next_index
|
||||
o_array_enumerator_next_index_and_element
|
||||
o_array_index_of_element
|
||||
o_array_init
|
||||
o_array_init_from_array
|
||||
o_array_init_with_callbacks
|
||||
o_array_is_empty
|
||||
o_array_is_equal_to_array
|
||||
o_array_map_elements
|
||||
o_array_of_char_p
|
||||
o_array_of_id
|
||||
o_array_of_int
|
||||
o_array_of_non_owned_void_p
|
||||
o_array_of_owned_void_p
|
||||
o_array_remove_element
|
||||
o_array_remove_element_at_index
|
||||
o_array_remove_element_known_present
|
||||
o_array_with_callbacks
|
||||
o_array_with_zone
|
||||
o_array_with_zone_with_callbacks
|
||||
o_hash_init_from_array
|
||||
_o_array_alloc_with_zone
|
||||
_o_array_copy_with_zone
|
||||
_o_array_dealloc
|
||||
_o_array_description
|
||||
_o_array_set_serial_number
|
||||
o_array_extra
|
||||
o_array_extra_callbacks
|
||||
o_array_magic_number
|
||||
o_array_name
|
||||
o_array_serial_number
|
||||
o_array_set_extra
|
||||
o_array_set_extra_callbacks
|
||||
o_array_set_name
|
||||
o_array_unset_extra
|
||||
o_array_unset_name
|
||||
o_array_zone
|
||||
o_array_element_callbacks
|
||||
o_array_not_an_element_marker
|
||||
o_callbacks_standard
|
||||
o_callbacks_standardize
|
||||
o_compare
|
||||
o_describe
|
||||
o_hash
|
||||
o_is_equal
|
||||
o_release
|
||||
o_retain
|
||||
o_char_p_compare
|
||||
o_char_p_describe
|
||||
o_char_p_hash
|
||||
o_char_p_is_equal
|
||||
o_char_p_release
|
||||
o_char_p_retain
|
||||
o_id_compare
|
||||
o_id_describe
|
||||
o_id_hash
|
||||
o_id_is_equal
|
||||
o_id_release
|
||||
o_id_retain
|
||||
o_int_compare
|
||||
o_int_describe
|
||||
o_int_hash
|
||||
o_int_is_equal
|
||||
o_int_release
|
||||
o_int_retain
|
||||
o_int_p_compare
|
||||
o_int_p_describe
|
||||
o_int_p_hash
|
||||
o_int_p_is_equal
|
||||
o_int_p_release
|
||||
o_int_p_retain
|
||||
o_non_owned_void_p_compare
|
||||
o_non_owned_void_p_describe
|
||||
o_non_owned_void_p_hash
|
||||
o_non_owned_void_p_is_equal
|
||||
o_non_owned_void_p_release
|
||||
o_non_owned_void_p_retain
|
||||
o_owned_void_p_compare
|
||||
o_owned_void_p_describe
|
||||
o_owned_void_p_hash
|
||||
o_owned_void_p_is_equal
|
||||
o_owned_void_p_release
|
||||
o_owned_void_p_retain
|
||||
_o_hash_hash
|
||||
_o_hash_retain
|
||||
o_callbacks_for_hash
|
||||
o_hash_add_element
|
||||
o_hash_add_element_if_absent
|
||||
o_hash_add_element_known_absent
|
||||
o_hash_all_elements
|
||||
o_hash_alloc
|
||||
o_hash_alloc_with_zone
|
||||
o_hash_capacity
|
||||
o_hash_check
|
||||
o_hash_contains_element
|
||||
o_hash_contains_hash
|
||||
o_hash_copy
|
||||
o_hash_copy_with_zone
|
||||
o_hash_count
|
||||
o_hash_dealloc
|
||||
o_hash_description
|
||||
o_hash_element
|
||||
o_hash_empty
|
||||
o_hash_enumerator_for_hash
|
||||
o_hash_enumerator_next_element
|
||||
o_hash_init
|
||||
o_hash_init_from_hash
|
||||
o_hash_init_with_callbacks
|
||||
o_hash_intersect_hash
|
||||
o_hash_intersects_hash
|
||||
o_hash_is_empty
|
||||
o_hash_is_equal_to_hash
|
||||
o_hash_map_elements
|
||||
o_hash_minus_hash
|
||||
o_hash_of_char_p
|
||||
o_hash_of_id
|
||||
o_hash_of_int
|
||||
o_hash_of_int_p
|
||||
o_hash_of_non_owned_void_p
|
||||
o_hash_of_owned_void_p
|
||||
o_hash_remove_element
|
||||
o_hash_replace_element
|
||||
o_hash_resize
|
||||
o_hash_rightsize
|
||||
o_hash_union_hash
|
||||
o_hash_with_callbacks
|
||||
o_hash_with_zone
|
||||
o_hash_with_zone_with_callbacks
|
||||
_o_hash_alloc_with_zone
|
||||
_o_hash_copy_with_zone
|
||||
_o_hash_dealloc
|
||||
_o_hash_description
|
||||
_o_hash_set_serial_number
|
||||
o_hash_extra
|
||||
o_hash_extra_callbacks
|
||||
o_hash_magic_number
|
||||
o_hash_name
|
||||
o_hash_serial_number
|
||||
o_hash_set_extra
|
||||
o_hash_set_extra_callbacks
|
||||
o_hash_set_name
|
||||
o_hash_unset_extra
|
||||
o_hash_unset_name
|
||||
o_hash_zone
|
||||
o_hash_element_callbacks
|
||||
o_hash_not_an_element_marker
|
||||
_o_list_free_node
|
||||
o_hash_init_from_list
|
||||
o_list
|
||||
o_list_all_elements
|
||||
o_list_alloc
|
||||
o_list_alloc_with_zone
|
||||
o_list_append_element
|
||||
o_list_append_element_if_absent
|
||||
o_list_append_list
|
||||
o_list_at_index_insert_element
|
||||
o_list_at_index_insert_element_if_absent
|
||||
o_list_at_index_insert_list
|
||||
o_list_capacity
|
||||
o_list_check
|
||||
o_list_contains_element
|
||||
o_list_copy
|
||||
o_list_copy_with_zone
|
||||
o_list_count
|
||||
o_list_dealloc
|
||||
o_list_element
|
||||
o_list_empty
|
||||
o_list_enumerator
|
||||
o_list_enumerator_next_element
|
||||
o_list_first_element
|
||||
o_list_forward_enumerator
|
||||
o_list_init
|
||||
o_list_init_from_list
|
||||
o_list_init_with_callbacks
|
||||
o_list_is_empty
|
||||
o_list_is_equal_to_list
|
||||
o_list_last_element
|
||||
o_list_map_elements
|
||||
o_list_nth_element
|
||||
o_list_of_char_p
|
||||
o_list_of_id
|
||||
o_list_of_int
|
||||
o_list_of_non_owned_void_p
|
||||
o_list_of_owned_void_p
|
||||
o_list_prepend_element
|
||||
o_list_prepend_element_if_absent
|
||||
o_list_prepend_list
|
||||
o_list_remove_element
|
||||
o_list_remove_first_element
|
||||
o_list_remove_last_element
|
||||
o_list_remove_nth_element
|
||||
o_list_remove_nth_occurrance_of_element
|
||||
o_list_replace_element
|
||||
o_list_replace_first_element
|
||||
o_list_replace_last_element
|
||||
o_list_replace_nth_element
|
||||
o_list_replace_nth_occurrance_of_element
|
||||
o_list_reverse_enumerator
|
||||
o_list_with_callbacks
|
||||
o_list_with_zone
|
||||
o_list_with_zone_with_callbacks
|
||||
_o_list_alloc_with_zone
|
||||
_o_list_copy_with_zone
|
||||
_o_list_dealloc
|
||||
_o_list_description
|
||||
_o_list_set_serial_number
|
||||
o_list_extra
|
||||
o_list_extra_callbacks
|
||||
o_list_magic_number
|
||||
o_list_name
|
||||
o_list_serial_number
|
||||
o_list_set_extra
|
||||
o_list_set_extra_callbacks
|
||||
o_list_set_name
|
||||
o_list_unset_extra
|
||||
o_list_unset_name
|
||||
o_list_zone
|
||||
o_list_element_callbacks
|
||||
o_list_not_an_element_marker
|
||||
_o_map_enumerator_next_node
|
||||
_o_map_hash
|
||||
_o_map_retain
|
||||
o_callbacks_for_map
|
||||
o_map_all_keys
|
||||
o_map_all_keys_and_values
|
||||
o_map_all_values
|
||||
o_map_alloc
|
||||
o_map_alloc_with_zone
|
||||
o_map_at_key_put_value
|
||||
o_map_at_key_put_value_if_absent
|
||||
o_map_at_key_put_value_known_absent
|
||||
o_map_capacity
|
||||
o_map_check
|
||||
o_map_contains_key
|
||||
o_map_contains_map
|
||||
o_map_contains_value
|
||||
o_map_copy
|
||||
o_map_copy_with_zone
|
||||
o_map_count
|
||||
o_map_dealloc
|
||||
o_map_description
|
||||
o_map_empty
|
||||
o_map_enumerator_for_map
|
||||
o_map_enumerator_next_key
|
||||
o_map_enumerator_next_key_and_value
|
||||
o_map_enumerator_next_value
|
||||
o_map_init
|
||||
o_map_init_from_map
|
||||
o_map_init_with_callbacks
|
||||
o_map_intersect_map
|
||||
o_map_intersects_map
|
||||
o_map_is_empty
|
||||
o_map_is_equal_to_map
|
||||
o_map_key_and_value_at_key
|
||||
o_map_key_at_key
|
||||
o_map_keys_contain_keys_of_map
|
||||
o_map_keys_intersect_keys_of_map
|
||||
o_map_map_keys
|
||||
o_map_map_values
|
||||
o_map_minus_map
|
||||
o_map_node_for_key
|
||||
o_map_of_char_p
|
||||
o_map_of_char_p_to_id
|
||||
o_map_of_char_p_to_int
|
||||
o_map_of_char_p_to_non_owned_void_p
|
||||
o_map_of_id
|
||||
o_map_of_id_to_char_p
|
||||
o_map_of_id_to_int
|
||||
o_map_of_id_to_non_owned_void_p
|
||||
o_map_of_int
|
||||
o_map_of_int_to_char_p
|
||||
o_map_of_int_to_id
|
||||
o_map_of_int_to_non_owned_void_p
|
||||
o_map_of_non_owned_void_p
|
||||
o_map_remove_key
|
||||
o_map_remove_node
|
||||
o_map_replace_key
|
||||
o_map_resize
|
||||
o_map_rightsize
|
||||
o_map_union_map
|
||||
o_map_value_at_key
|
||||
o_map_with_callbacks
|
||||
o_map_with_zone
|
||||
o_map_with_zone_with_callbacks
|
||||
_o_map_alloc_with_zone
|
||||
_o_map_copy_with_zone
|
||||
_o_map_dealloc
|
||||
_o_map_description
|
||||
_o_map_set_serial_number
|
||||
o_map_extra
|
||||
o_map_extra_callbacks
|
||||
o_map_magic_number
|
||||
o_map_name
|
||||
o_map_serial_number
|
||||
o_map_set_extra
|
||||
o_map_set_extra_callbacks
|
||||
o_map_set_name
|
||||
o_map_unset_extra
|
||||
o_map_unset_name
|
||||
o_map_zone
|
||||
o_map_key_callbacks
|
||||
o_map_not_a_key_marker
|
||||
o_map_not_a_value_marker
|
||||
o_map_value_callbacks
|
||||
gnustep_base_version
|
||||
o_gcc_version
|
||||
plerror
|
||||
plparse
|
||||
sfSetDict
|
||||
sferror
|
||||
sfparse
|
||||
method_types_get_next_argument
|
||||
method_types_get_number_of_arguments
|
||||
method_types_get_size_of_register_arguments
|
||||
method_types_get_size_of_stack_arguments
|
||||
mframe_build_return
|
||||
mframe_dissect_call
|
||||
mframe_do_call
|
||||
md5_buffer
|
||||
md5_init_ctx
|
||||
md5_process_block
|
||||
md5_read_ctx
|
||||
md5_stream
|
||||
_o_next_power_of_two
|
||||
_o_number_allocated
|
||||
_o_number_deallocated
|
||||
_o_number_serialized
|
||||
o_vscanf
|
||||
__objc_class_name_HashTable
|
||||
__objc_class_name_List
|
||||
CopyStringBuffer
|
||||
__objc_class_name_NXStringTable
|
||||
__objc_class_name_Storage
|
||||
NXlex__create_buffer
|
||||
NXlex__delete_buffer
|
||||
NXlex__flush_buffer
|
||||
NXlex__init_buffer
|
||||
NXlex__load_buffer_state
|
||||
NXlex__scan_buffer
|
||||
NXlex__scan_bytes
|
||||
NXlex__scan_string
|
||||
NXlex__switch_to_buffer
|
||||
NXlex_lex
|
||||
NXlex_restart
|
||||
NXlex_wrap
|
||||
NSAllocateObject
|
||||
__objc_category_name_NSObject_NSArchiver
|
||||
__objc_class_name_NSArchiver
|
||||
__objc_class_name_NSUnarchiver
|
||||
__objc_class_name_NSArray
|
||||
__objc_class_name_NSArrayEnumerator
|
||||
__objc_class_name_NSArrayEnumeratorReverse
|
||||
__objc_class_name_NSArrayNonCore
|
||||
__objc_class_name_NSMutableArray
|
||||
__objc_class_name_NSMutableArrayNonCore
|
||||
__objc_class_name_NSAssertionHandler
|
||||
__objc_class_name_NSAutoreleasePool
|
||||
__objc_class_name_NSBitmapCharSet
|
||||
__objc_class_name_NSMutableBitmapCharSet
|
||||
__objc_category_name_NSBundle_Private
|
||||
__objc_class_name_NSBundle
|
||||
_bundle_load_callback
|
||||
objc_executable_location
|
||||
__objc_category_name_NSCalendarDate_GregorianDate
|
||||
__objc_class_name_NSCalendarDate
|
||||
_NS_id_describe
|
||||
_NS_id_hash
|
||||
_NS_id_is_equal
|
||||
_NS_id_release
|
||||
_NS_id_retain
|
||||
_NS_int_describe
|
||||
_NS_int_hash
|
||||
_NS_int_is_equal
|
||||
_NS_int_p_describe
|
||||
_NS_int_p_hash
|
||||
_NS_int_p_is_equal
|
||||
_NS_int_p_release
|
||||
_NS_int_p_retain
|
||||
_NS_int_release
|
||||
_NS_int_retain
|
||||
_NS_non_owned_void_p_describe
|
||||
_NS_non_owned_void_p_hash
|
||||
_NS_non_owned_void_p_is_equal
|
||||
_NS_non_owned_void_p_release
|
||||
_NS_non_owned_void_p_retain
|
||||
_NS_non_retained_id_describe
|
||||
_NS_non_retained_id_hash
|
||||
_NS_non_retained_id_is_equal
|
||||
_NS_non_retained_id_release
|
||||
_NS_non_retained_id_retain
|
||||
_NS_owned_void_p_describe
|
||||
_NS_owned_void_p_hash
|
||||
_NS_owned_void_p_is_equal
|
||||
_NS_owned_void_p_release
|
||||
_NS_owned_void_p_retain
|
||||
__objc_class_name_NSCharacterSet
|
||||
__objc_class_name_NSMutableCharacterSet
|
||||
__objc_class_name_NSCoder
|
||||
__objc_class_name_NSCoderNonCore
|
||||
NSCopyObject
|
||||
__objc_class_name_NSConcreteValue
|
||||
__objc_class_name_NSCountedSet
|
||||
__objc_class_name_NSData
|
||||
__objc_class_name_NSMutableData
|
||||
__objc_class_name_NSDate
|
||||
NSDeallocateObject
|
||||
__objc_class_name_NSDictionary
|
||||
__objc_class_name_NSMutableDictionary
|
||||
__objc_class_name_NSEnumerator
|
||||
_NSAddHandler
|
||||
_NSRemoveHandler
|
||||
__objc_class_name_NSException
|
||||
__objc_category_name_NSDictionary_NSFileAttributes
|
||||
__objc_class_name_NSDirectoryEnumerator
|
||||
__objc_class_name_NSFileManager
|
||||
NSContainsRect
|
||||
NSDivideRect
|
||||
NSEqualPoints
|
||||
NSEqualRects
|
||||
NSEqualSizes
|
||||
NSHeight
|
||||
NSInsetRect
|
||||
NSIntegralRect
|
||||
NSIntersectionRect
|
||||
NSIntersectsRect
|
||||
NSIsEmptyRect
|
||||
NSMakePoint
|
||||
NSMakeRect
|
||||
NSMakeSize
|
||||
NSMaxX
|
||||
NSMaxY
|
||||
NSMidX
|
||||
NSMidY
|
||||
NSMinX
|
||||
NSMinY
|
||||
NSMouseInRect
|
||||
NSOffsetRect
|
||||
NSPointInRect
|
||||
NSStringFromPoint
|
||||
NSStringFromRect
|
||||
NSStringFromSize
|
||||
NSUnionRect
|
||||
NSWidth
|
||||
__objc_class_name_NSGArchiver
|
||||
__objc_class_name_NSGArchiverNullCStream
|
||||
__objc_class_name_NSGUnarchiver
|
||||
__objc_class_name_NSGArray
|
||||
__objc_class_name_NSGMutableArray
|
||||
__objc_class_name_NSGCountedSet
|
||||
__objc_class_name_NSGCountedSetEnumerator
|
||||
__objc_class_name_NSGCString
|
||||
__objc_class_name_NSGMutableCString
|
||||
__objc_class_name_NSGData
|
||||
__objc_class_name_NSGMutableData
|
||||
__objc_class_name_NSGDictionary
|
||||
__objc_class_name_NSGDictionaryKeyEnumerator
|
||||
__objc_class_name_NSGDictionaryObjectEnumerator
|
||||
__objc_class_name_NSGMutableDictionary
|
||||
__objc_class_name_NSGMutableSet
|
||||
__objc_class_name_NSGSet
|
||||
__objc_class_name_NSGSetEnumerator
|
||||
NSAllHashTableObjects
|
||||
NSCompareHashTables
|
||||
NSCopyHashTableWithZone
|
||||
NSCountHashTable
|
||||
NSCreateHashTable
|
||||
NSCreateHashTableWithZone
|
||||
NSEnumerateHashTable
|
||||
NSFreeHashTable
|
||||
NSHashGet
|
||||
NSHashInsert
|
||||
NSHashInsertIfAbsent
|
||||
NSHashInsertKnownAbsent
|
||||
NSHashRemove
|
||||
NSNextHashEnumeratorItem
|
||||
NSResetHashTable
|
||||
NSStringFromHashTable
|
||||
_NSHT_compare
|
||||
_NSHT_describe
|
||||
_NSHT_extra_describe
|
||||
_NSHT_extra_release
|
||||
_NSHT_extra_retain
|
||||
_NSHT_hash
|
||||
_NSHT_is_equal
|
||||
_NSHT_release
|
||||
_NSHT_retain
|
||||
__objc_class_name_NSInvocation
|
||||
__objc_class_name_NSConditionLock
|
||||
__objc_class_name_NSLock
|
||||
__objc_class_name_NSRecursiveLock
|
||||
NSLog
|
||||
NSLogv
|
||||
NSAllMapTableKeys
|
||||
NSAllMapTableValues
|
||||
NSCompareMapTables
|
||||
NSCopyMapTableWithZone
|
||||
NSCountMapTable
|
||||
NSCreateMapTable
|
||||
NSCreateMapTableWithZone
|
||||
NSEnumerateMapTable
|
||||
NSFreeMapTable
|
||||
NSMapGet
|
||||
NSMapInsert
|
||||
NSMapInsertIfAbsent
|
||||
NSMapInsertKnownAbsent
|
||||
NSMapMember
|
||||
NSMapRemove
|
||||
NSNextMapEnumeratorPair
|
||||
NSResetMapTable
|
||||
NSStringFromMapTable
|
||||
_NSMT_extra_describe
|
||||
_NSMT_extra_release
|
||||
_NSMT_extra_retain
|
||||
_NSMT_key_compare
|
||||
_NSMT_key_describe
|
||||
_NSMT_key_hash
|
||||
_NSMT_key_is_equal
|
||||
_NSMT_key_release
|
||||
_NSMT_key_retain
|
||||
_NSMT_value_describe
|
||||
_NSMT_value_release
|
||||
_NSMT_value_retain
|
||||
__objc_class_name_NSMethodSignature
|
||||
__objc_class_name_NSNotification
|
||||
__objc_class_name_NSNotificationCenter
|
||||
__objc_class_name_NSNumber
|
||||
NSClassFromString
|
||||
NSSelectorFromString
|
||||
NSStringFromClass
|
||||
NSStringFromSelector
|
||||
NSDecrementExtraRefCountWasZero
|
||||
NSIncrementExtraRefCount
|
||||
NSShouldRetainWithZone
|
||||
__objc_category_name_NSObject_GNU
|
||||
__objc_category_name_NSObject_NEXTSTEP
|
||||
__objc_class_name_NSObject
|
||||
NSAllocateMemoryPages
|
||||
NSCopyMemoryPages
|
||||
NSDeallocateMemoryPages
|
||||
NSLogPageSize
|
||||
NSPageSize
|
||||
NSRealMemoryAvailable
|
||||
NSRoundDownToMultipleOfPageSize
|
||||
NSRoundUpToMultipleOfPageSize
|
||||
__objc_class_name_NSProcessInfo
|
||||
__objc_class_name__NSConcreteProcessInfo
|
||||
NSEqualRanges
|
||||
NSIntersectionRange
|
||||
NSMakeRange
|
||||
NSStringFromRange
|
||||
NSUnionRange
|
||||
__objc_class_name_NSRunLoop
|
||||
__objc_class_name_NSScanner
|
||||
__objc_class_name_NSMutableSet
|
||||
__objc_class_name_NSSet
|
||||
__objc_class_name_NSMutableString
|
||||
__objc_class_name_NSString
|
||||
__objc_class_name_NXConstantString
|
||||
__objc_class_name_NSThread
|
||||
__objc_class_name_NSTimer
|
||||
__objc_category_name_NSConcreteTimeZoneDetail_NSCoding
|
||||
__objc_category_name_NSConcreteTimeZoneDetail_NSCopying
|
||||
__objc_category_name_NSTimeZone_Archiving
|
||||
__objc_category_name_NSTimeZone_NSCopying
|
||||
__objc_class_name_NSConcreteTimeZoneDetail
|
||||
__objc_class_name_NSTimeZone
|
||||
__objc_class_name_NSTimeZoneDetail
|
||||
NSHomeDirectory
|
||||
NSHomeDirectoryForUser
|
||||
NSUserName
|
||||
__objc_class_name_NSUserDefaults
|
||||
__objc_class_name_NSValue
|
||||
__objc_class_name_NSValueDecoder
|
||||
NSCreateChildZone
|
||||
NSCreateZone
|
||||
NSDefaultMallocZone
|
||||
NSDestroyZone
|
||||
NSMallocCheck
|
||||
NSMergeZone
|
||||
NSNameZone
|
||||
NSSetZoneName
|
||||
NSZoneCalloc
|
||||
NSZoneFree
|
||||
NSZoneFromPointer
|
||||
NSZoneMalloc
|
||||
NSZoneName
|
||||
NSZonePtrInfo
|
||||
NSZoneRealloc
|
||||
addtolist
|
||||
delfromlist
|
||||
searchheap
|
||||
lstat
|
||||
objc_find_executable
|
||||
readlink
|
||||
objc_load_module
|
||||
objc_load_modules
|
||||
objc_unload_module
|
||||
objc_unload_modules
|
||||
__objc_class_name_NSNonretainedObjectValue
|
||||
__objc_class_name_NSPointValue
|
||||
__objc_class_name_NSPointerValue
|
||||
__objc_class_name_NSRectValue
|
||||
__objc_class_name_NSSizeValue
|
||||
__objc_class_name_NSBoolNumber
|
||||
__objc_class_name_NSUCharNumber
|
||||
__objc_class_name_NSCharNumber
|
||||
__objc_class_name_NSUShortNumber
|
||||
__objc_class_name_NSShortNumber
|
||||
__objc_class_name_NSUIntNumber
|
||||
__objc_class_name_NSIntNumber
|
||||
__objc_class_name_NSULongNumber
|
||||
__objc_class_name_NSLongNumber
|
||||
__objc_class_name_NSULongLongNumber
|
||||
__objc_class_name_NSLongLongNumber
|
||||
__objc_class_name_NSFloatNumber
|
||||
__objc_class_name_NSDoubleNumber
|
||||
|
|
|
@ -85,8 +85,13 @@ objc_invalidate_dtable(Class class)
|
|||
{
|
||||
Class s;
|
||||
|
||||
#ifdef HAVE_OBJC_GET_UNINSTALLED_DTABLE
|
||||
if (class->dtable == objc_get_uninstalled_dtable())
|
||||
return;
|
||||
#else
|
||||
if (class->dtable == NULL)
|
||||
return;
|
||||
#endif
|
||||
sarray_free(class->dtable);
|
||||
__objc_install_premature_dtable(class);
|
||||
for (s=class->subclass_list; s; s=s->sibling_class)
|
||||
|
|
|
@ -127,6 +127,9 @@
|
|||
/* Define if your Obj-C compiler calls +load methods before main */
|
||||
#undef HAVE_LOAD_METHOD
|
||||
|
||||
/* Define if objc-api.h defines this function */
|
||||
#undef HAVE_OBJC_GET_UNINSTALLED_DTABLE
|
||||
|
||||
/* Define if your Lib C defines program_invocation_name */
|
||||
#undef HAVE_PROGRAM_INVOCATION_NAME
|
||||
|
||||
|
|
39
configure.in
39
configure.in
|
@ -169,9 +169,44 @@ AC_DEFINE_UNQUOTED(NeXT_runtime, $NeXT_runtime)
|
|||
AC_DEFINE_UNQUOTED(NeXT_cc, $NeXT_cc)
|
||||
AC_SUBST(NEXT_INCLUDES)
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Check for alternate Objective-C libraries
|
||||
#--------------------------------------------------------------------
|
||||
if test x$GNUSTEP_SYSTEM_ROOT != "x"; then
|
||||
gnustep_obj_dir=${target_cpu}/${target_os}/${ac_cv_library_combo}
|
||||
# May have a private version of libobj installed here
|
||||
if test -f $GNUSTEP_SYSTEM_ROOT/Headers/objc/objc.h; then
|
||||
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_ROOT/Headers"
|
||||
LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_ROOT/Libraries/$gnustep_obj_dir"
|
||||
echo "Using Objective-C library from $GNUSTEP_SYSTEM_ROOT, if available"
|
||||
fi
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Check if Objective-C is installed
|
||||
#--------------------------------------------------------------------
|
||||
AC_MSG_CHECKING(for alternate objc library)
|
||||
AC_CACHE_VAL(gs_cv_objc_libdir,
|
||||
[dnl
|
||||
gs_cv_objc_libdir=NONE
|
||||
if test -f $GNUSTEP_SYSTEM_ROOT/Headers/objc/objc.h; then
|
||||
clean_target_os=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_os.sh $target_os`
|
||||
clean_target_cpu=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_cpu.sh $target_cpu`
|
||||
obj_dir=$clean_target_cpu/$clean_target_os/$ac_cv_library_combo
|
||||
if test -f $GNUSTEP_SYSTEM_ROOT/Libraries/$obj_dir/libobjc.a; then
|
||||
gs_cv_objc_libdir=$GNUSTEP_SYSTEM_ROOT/Libraries/$obj_dir
|
||||
else
|
||||
gs_cv_objc_libdir=NONE
|
||||
fi
|
||||
fi
|
||||
])
|
||||
AC_MSG_RESULT($gs_cv_objc_libdir)
|
||||
|
||||
if test "$gs_cv_objc_libdir" != "NONE"; then
|
||||
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_ROOT/Headers/"
|
||||
LDFLAGS="$LDFLAGS -L$gs_cv_objc_libdir"
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADERS(objc/objc.h)
|
||||
if test $ac_cv_header_objc_objc_h = no; then
|
||||
echo "Could not find Objective-C headers"
|
||||
|
@ -472,9 +507,13 @@ CPPFLAGS="$saved_CPPFLAGS"
|
|||
|
||||
#--------------------------------------------------------------------
|
||||
# This function needed by NSLock.m for conditioned wait
|
||||
# get_uninstalled_dtable used by behavior.m and objc-load.m
|
||||
#--------------------------------------------------------------------
|
||||
AC_CHECK_FUNCS(objc_condition_timedwait)
|
||||
|
||||
AC_EGREP_HEADER(objc_get_uninstalled_dtable, objc/objc-api.h,
|
||||
AC_DEFINE(HAVE_OBJC_GET_UNINSTALLED_DTABLE),)
|
||||
|
||||
LIBS="$saved_LIBS"
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in a new issue