Initial update
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/libobjc/trunk@9783 72102866-910b-0410-8b05-ffd578937521main
parent
3788b5ee9a
commit
3dcf666e04
@ -0,0 +1,15 @@
|
|||||||
|
2001-05-04 Adam Fedor <fedor@gnu.org>
|
||||||
|
|
||||||
|
|
||||||
|
* Previous changes before importing into GNUstep CVS.
|
||||||
|
* hash.c (hash_add): cast cachep to int.
|
||||||
|
* init.c: Change DEBUG to DEBUG_RUNTIME
|
||||||
|
* libobjc.def: Remove NXConstantString, add thread functions.
|
||||||
|
* linking.m: Remove NXConstantString
|
||||||
|
* selector.c (__sel_register_typed_name): Cast soffset_decode to int.
|
||||||
|
* sendmsg.c: Declare __objc_generate_gc_type_description extern
|
||||||
|
* objc/hash.h: Change extern to objc_EXPORT
|
||||||
|
* objc/runtime.h: Likewise. Change DEBUG to DEBUG_RUNTIME
|
||||||
|
* objc/objc-decl.h: New file.
|
||||||
|
* config: New config directory
|
||||||
|
|
||||||
@ -0,0 +1,188 @@
|
|||||||
|
#
|
||||||
|
# GNUmakefile
|
||||||
|
#
|
||||||
|
# Copyright (C) 1998 MDlink online service center, Helge Hess
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Author: Helge Hess (helge@mdlink.de)
|
||||||
|
#
|
||||||
|
# This file is part of the MDlink Object Framework 2 (MOF2)
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and distribute this software and its
|
||||||
|
# documentation for any purpose and without fee is hereby granted, provided
|
||||||
|
# that the above copyright notice appear in all copies and that both that
|
||||||
|
# copyright notice and this permission notice appear in supporting
|
||||||
|
# documentation.
|
||||||
|
#
|
||||||
|
# We disclaim all warranties with regard to this software, including all
|
||||||
|
# implied warranties of merchantability and fitness, in no event shall
|
||||||
|
# we be liable for any special, indirect or consequential damages or any
|
||||||
|
# damages whatsoever resulting from loss of use, data or profits, whether in
|
||||||
|
# an action of contract, negligence or other tortious action, arising out of
|
||||||
|
# or in connection with the use or performance of this software.
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
include $(GNUSTEP_SYSTEM_ROOT)/Makefiles/common.make
|
||||||
|
|
||||||
|
PACKAGE_NAME = gnustep-objc
|
||||||
|
VERSION=1.0.0
|
||||||
|
|
||||||
|
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)
|
||||||
|
|
||||||
|
# Make sure it doesn't get installed in library_combo dir
|
||||||
|
LIBRARY_INSTALL_DIR = $(GNUSTEP_TARGET_LIBRARIES)
|
||||||
|
|
||||||
|
LIBRARY_NAME = libobjc
|
||||||
|
|
||||||
|
# dce, decosf1, irix, mach, os2, posix, pthreads, single, solaris, vxworks
|
||||||
|
THREADING = posix
|
||||||
|
ifeq ($(GNUSTEP_TARGET_OS),mingw32)
|
||||||
|
THREADING = win32
|
||||||
|
endif
|
||||||
|
|
||||||
|
GC_HEADER_FILES_DIR = ./gc/include
|
||||||
|
GC_HEADER_FILES = \
|
||||||
|
cord.h \
|
||||||
|
ec.h \
|
||||||
|
gc.h \
|
||||||
|
gc_alloc.h \
|
||||||
|
gc_cpp.h \
|
||||||
|
gc_inl.h \
|
||||||
|
gc_inline.h \
|
||||||
|
gc_typed.h \
|
||||||
|
weakpointer.h \
|
||||||
|
|
||||||
|
libobjc_HEADER_FILES = \
|
||||||
|
objc/hash.h objc/objc-list.h objc/sarray.h \
|
||||||
|
objc/objc.h objc/objc-api.h objc/objc-decls.h \
|
||||||
|
objc/NXConstStr.h objc/Object.h \
|
||||||
|
objc/Protocol.h objc/encoding.h objc/typedstream.h \
|
||||||
|
objc/thr.h
|
||||||
|
|
||||||
|
libobjc_OBJC_FILES = \
|
||||||
|
Object.m \
|
||||||
|
Protocol.m \
|
||||||
|
linking.m
|
||||||
|
|
||||||
|
ifeq ($(GNUSTEP_TARGET_OS), cygwin)
|
||||||
|
extra_C_FILES=libobjc_entry.c
|
||||||
|
else
|
||||||
|
extra_C_FILES=
|
||||||
|
endif
|
||||||
|
|
||||||
|
libobjc_C_FILES = \
|
||||||
|
archive.c \
|
||||||
|
class.c \
|
||||||
|
encoding.c \
|
||||||
|
gc.c \
|
||||||
|
hash.c \
|
||||||
|
init.c \
|
||||||
|
misc.c \
|
||||||
|
nil_method.c \
|
||||||
|
objects.c \
|
||||||
|
sarray.c \
|
||||||
|
selector.c \
|
||||||
|
sendmsg.c \
|
||||||
|
thr-$(THREADING).c \
|
||||||
|
thr.c \
|
||||||
|
$(extra_C_FILES)
|
||||||
|
|
||||||
|
# Add -DDEBUG_RUNTIME to add debug printf statments
|
||||||
|
ADDITIONAL_CPPFLAGS += \
|
||||||
|
-DIN_GCC \
|
||||||
|
-pipe \
|
||||||
|
-DSTDC_HEADERS=1\
|
||||||
|
-DHAVE_STDLIB_H
|
||||||
|
|
||||||
|
CC1OBJ = `$(CC) -print-prog-name=cc1obj`
|
||||||
|
|
||||||
|
ADDITIONAL_CFLAGS += -Wall
|
||||||
|
|
||||||
|
libobjc_HEADER_FILES_DIR = .
|
||||||
|
libobjc_HEADER_FILES_INSTALL_DIR =
|
||||||
|
|
||||||
|
libobjc_DLL_DEF = libobjc.def
|
||||||
|
|
||||||
|
ifeq ($(THREADING), single)
|
||||||
|
ADDITIONAL_CPPFLAGS += -DOBJC_WITHOUT_THREADING
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(gc), yes)
|
||||||
|
ADDITIONAL_CPPFLAGS += -DOBJC_WITH_GC=1 -DGC_DEBUG=1
|
||||||
|
ADDITIONAL_CPPFLAGS += -DDEBUG_OBJC_GC=0
|
||||||
|
libobjc_LIBRARIES_DEPEND_UPON += -lgc
|
||||||
|
|
||||||
|
ifeq ($(THREADING), solaris)
|
||||||
|
ADDITIONAL_CPPFLAGS += -DSOLARIS_THREADS
|
||||||
|
endif
|
||||||
|
|
||||||
|
else # gc
|
||||||
|
ADDITIONAL_CPPFLAGS += -DOBJC_WITH_GC=0 -DDEBUG_OBJC_GC=0
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(gc), xyes)
|
||||||
|
GC_OFILES = \
|
||||||
|
alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o \
|
||||||
|
headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dbg_mlc.o \
|
||||||
|
malloc.o stubborn.o checksums.o solaris_threads.o irix_threads.o \
|
||||||
|
typd_mlc.o ptr_chck.o mallocx.o solaris_pthreads.o \
|
||||||
|
dyn_load.o \
|
||||||
|
|
||||||
|
ADDITIONAL_LIBRARY_OBJ_FILES = $(addprefix gc/, $(GC_OFILES))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Additional directories to be created during installation
|
||||||
|
ADDITIONAL_INSTALL_DIRS = $(GNUSTEP_HEADERS)/objc
|
||||||
|
|
||||||
|
-include config/$(GNUSTEP_TARGET_CPU)/config.make
|
||||||
|
-include config/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/config.make
|
||||||
|
|
||||||
|
-include GNUmakefile.preamble
|
||||||
|
include $(GNUSTEP_SYSTEM_ROOT)/Makefiles/library.make
|
||||||
|
-include GNUmakefile.postamble
|
||||||
|
|
||||||
|
#ADDITIONAL_INCLUDE_DIRS += -Iobjc -I. -I../gcc -I../gcc/config
|
||||||
|
ADDITIONAL_INCLUDE_DIRS += \
|
||||||
|
-Iconfig/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS) \
|
||||||
|
-Iconfig/$(GNUSTEP_TARGET_CPU)/generic \
|
||||||
|
-Iobjc -I.
|
||||||
|
|
||||||
|
before-all:: runtime-info.h
|
||||||
|
|
||||||
|
ifeq ($(gc),xyes)
|
||||||
|
|
||||||
|
after-install::
|
||||||
|
for file in $(GC_HEADER_FILES) __done; do \
|
||||||
|
if [ $$file != __done ]; then \
|
||||||
|
$(INSTALL_DATA) $(GC_HEADER_FILES_DIR)/$$file \
|
||||||
|
$(GNUSTEP_HEADERS)$(libobjc_HEADER_FILES_INSTALL_DIR)/$$file ; \
|
||||||
|
fi; \
|
||||||
|
done;
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(GNUSTEP_OBJ_DIR)/thr-backends: $(GNUSTEP_OBJ_DIR)
|
||||||
|
@if [ ! -d $@ ]; then echo mkdir $@; mkdir $@; fi
|
||||||
|
|
||||||
|
runtime-info.h:
|
||||||
|
echo "" > tmp-runtime
|
||||||
|
echo "/* This file is automatically generated */" > $@
|
||||||
|
$(CC1OBJ) -print-objc-runtime-info tmp-runtime >> $@
|
||||||
|
rm -f tmp-runtime
|
||||||
|
|
||||||
|
|
||||||
|
after-clean::
|
||||||
|
rm -f runtime-info.h tmp-runtime.s
|
||||||
|
|
||||||
|
after-distclean::
|
||||||
|
rm -f config.status config.log config.cache
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,55 @@
|
|||||||
|
|
||||||
|
This is a snapshot of the GCC libobjc library, which includes
|
||||||
|
a patch that fixes dallocation of posix threads, ffi library support
|
||||||
|
and other things that are not in the gcc 2.95.2 release.
|
||||||
|
|
||||||
|
In addition, a GNUmakefile file has been added so this library can be compiled
|
||||||
|
stand-alone (i.e. without the rest of the gcc sources). However, you
|
||||||
|
must have the gstep-make package installed first to do this. The library
|
||||||
|
will compile as a shared library by default (on systems that support this),
|
||||||
|
and install in the GNUstep directory structure. After doing this, recompile
|
||||||
|
GNUstep - which will automatically use the new library rather than the
|
||||||
|
default one installed with gcc.
|
||||||
|
|
||||||
|
Note this library is only meant to be used with GNUstep, since it is missing
|
||||||
|
the NXConstStr class (which GNUstep provides).
|
||||||
|
|
||||||
|
To compile this library, don't run the configure script. First edit the
|
||||||
|
GNUmakefile to set the type of threading you want, then type
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
On MingW and Cygwin systems you need to explicitly add 'shared=yes' to make
|
||||||
|
(if you want DLLs, that is, otherwise use shared=no):
|
||||||
|
|
||||||
|
make shared=yes
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
Changes:
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
Version 1.0.0
|
||||||
|
-------------
|
||||||
|
Set threading for mingw32. Use DEBUG_RUNTIME rather than DEBUG to add
|
||||||
|
debugging statements.
|
||||||
|
|
||||||
|
Version 0.9.2
|
||||||
|
-------------
|
||||||
|
Added objc_thread_add, objc_thread_remove, and a few more objc_EXPORTS for
|
||||||
|
Windows.
|
||||||
|
|
||||||
|
Version 0.9.2
|
||||||
|
-------------
|
||||||
|
Added more config dirs. Changed extern to objc_EXPORT for Windows machines.
|
||||||
|
Changed package name to gnustep-objc to avoid possible conflicts
|
||||||
|
|
||||||
|
Version 0.9.1
|
||||||
|
-------------
|
||||||
|
Comment out NXConstantString from linking.m so there won't be a reference
|
||||||
|
to it (needed by MingW). Added config/ix86/generic
|
||||||
|
|
||||||
|
Version 0.9.0
|
||||||
|
-------------
|
||||||
|
Added config directory with various platforms. Added GNUmakefile.
|
||||||
|
Added libobjc.spec.in for RPM generation.
|
||||||
|
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 64
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 16
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
|
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 64
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
# $Id$
|
||||||
|
|
||||||
|
ADDITIONAL_CPPFLAGS += -DPRECOMPUTE_SELECTORS=1
|
||||||
|
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
#define STRUCTURE_SIZE_BOUNDARY 8
|
||||||
|
#define PCC_BITFIELD_TYPE_MATTERS 1
|
||||||
|
#define BITS_PER_UNIT 8
|
||||||
|
#define BITS_PER_WORD 32
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
Release: 1
|
||||||
|
Source: ftp://ftp.gnustep.org/pub/gnustep/libs/%{gs_name}-%{gs_version}.tar.gz
|
||||||
|
Copyright: GPL
|
||||||
|
Group: Development/Libraries
|
||||||
|
Summary: Objective-C Runtime Library
|
||||||
|
Packager: Adam Fedor <fedor@gnu.org>
|
||||||
|
Vendor: The GNUstep Project
|
||||||
|
URL: http://www.gnustep.org/
|
||||||
|
|
||||||
|
%description
|
||||||
|
Library containing the Objective-C runtime.
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
// $Id$
|
||||||
|
|
||||||
|
#ifndef __objc_decls_H__
|
||||||
|
#define __objc_decls_H__
|
||||||
|
|
||||||
|
#if BUILD_libobjc_DLL
|
||||||
|
# define objc_EXPORT __declspec(dllexport)
|
||||||
|
# define objc_DECLARE __declspec(dllexport)
|
||||||
|
#elif libobjc_ISDLL
|
||||||
|
# define objc_EXPORT extern __declspec(dllimport)
|
||||||
|
# define objc_DECLARE extern __declspec(dllimport)
|
||||||
|
#else
|
||||||
|
# define objc_EXPORT extern
|
||||||
|
# define objc_DECLARE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __objc_decls_H__ */
|
||||||
Loading…
Reference in New Issue