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