Skip to content

Commit

Permalink
Added 1.1 announcement. Committed some work-in-progress clang-specifi…
Browse files Browse the repository at this point in the history
…c build stuff (don't use this, it doesn't work correctly yet).
  • Loading branch information
theraven committed Jan 10, 2011
1 parent 4ab4b40 commit ff3f7be
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 38 deletions.
16 changes: 8 additions & 8 deletions ANNOUNCE
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
GNUstep Objective-C Runtime 1.0
GNUstep Objective-C Runtime 1.1
===============================

This is the first official release of the GNUstep Objective-C runtime (a.k.a.
This is the second official release of the GNUstep Objective-C runtime (a.k.a.
libobjc2). This runtime was designed to support the features of Objective-C 2
for use with GNUstep and other Objective-C programs.
for use with GNUstep and other Objective-C programs. This release contains
minor bug fixes and provides compatibility with synthesised declared properties
from GCC 4.6 and recent versions of clang.

You may obtain the code for this release from subversion at the following
subversion branch:

svn://svn.gna.org/svn/gnustep/libs/libobjc2/1.0
svn://svn.gna.org/svn/gnustep/libs/libobjc2/1.1

Alternatively, a tarball is available from:

http://download.gna.org/gnustep/libobjc2-1.0.tar.bz2
http://download.gna.org/gnustep/libobjc2-1.1.tar.bz2

The runtime library is responsible for implementing the core features of the
object model, as well as exposing introspection features to the user. The
Expand All @@ -28,6 +30,4 @@ Clang and is required for some of the newer features.
Although the runtime has been tested by several people, and is being used
extensively by the Étoilé project, it is entirely new (MIT licensed) code and
may still contain bugs. If you come across any problems, please report them to
the GNUstep Developer mailing list <[email protected]>. A 1.1 release,
fixing any bugs that are encountered in wider deployment, is planned to
coincide with the next GNUstep release.
the GNUstep Developer mailing list <[email protected]>.
33 changes: 33 additions & 0 deletions ANNOUNCE.1.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
GNUstep Objective-C Runtime 1.0
===============================

This is the first official release of the GNUstep Objective-C runtime (a.k.a.
libobjc2). This runtime was designed to support the features of Objective-C 2
for use with GNUstep and other Objective-C programs.

You may obtain the code for this release from subversion at the following
subversion branch:

svn://svn.gna.org/svn/gnustep/libs/libobjc2/1.0

Alternatively, a tarball is available from:

http://download.gna.org/gnustep/libobjc2-1.0.tar.bz2

The runtime library is responsible for implementing the core features of the
object model, as well as exposing introspection features to the user. The
GNUstep runtime implements Apple's Objective-C Runtime APIs, and a small number
of GCC APIs for legacy compatibility.

This library is based on the Étoilé Objective-C Runtime, an earlier research
prototype, and includes support for non-fragile instance variables,
type-dependent dispatch, and object planes. It is fully compatible with the
FSF's GCC Objective-C ABI and also implements a new ABI that is supported by
Clang and is required for some of the newer features.

Although the runtime has been tested by several people, and is being used
extensively by the Étoilé project, it is entirely new (MIT licensed) code and
may still contain bugs. If you come across any problems, please report them to
the GNUstep Developer mailing list <[email protected]>. A 1.1 release,
fixing any bugs that are encountered in wider deployment, is planned to
coincide with the next GNUstep release.
33 changes: 33 additions & 0 deletions ANNOUNCE.1.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
GNUstep Objective-C Runtime 1.1
===============================

This is the second official release of the GNUstep Objective-C runtime (a.k.a.
libobjc2). This runtime was designed to support the features of Objective-C 2
for use with GNUstep and other Objective-C programs. This release contains
minor bug fixes and provides compatibility with synthesised declared properties
from GCC 4.6 and recent versions of clang.

You may obtain the code for this release from subversion at the following
subversion branch:

svn://svn.gna.org/svn/gnustep/libs/libobjc2/1.1

Alternatively, a tarball is available from:

http://download.gna.org/gnustep/libobjc2-1.1.tar.bz2

The runtime library is responsible for implementing the core features of the
object model, as well as exposing introspection features to the user. The
GNUstep runtime implements Apple's Objective-C Runtime APIs, and a small number
of GCC APIs for legacy compatibility.

This library is based on the Étoilé Objective-C Runtime, an earlier research
prototype, and includes support for non-fragile instance variables,
type-dependent dispatch, and object planes. It is fully compatible with the
FSF's GCC Objective-C ABI and also implements a new ABI that is supported by
Clang and is required for some of the newer features.

Although the runtime has been tested by several people, and is being used
extensively by the Étoilé project, it is entirely new (MIT licensed) code and
may still contain bugs. If you come across any problems, please report them to
the GNUstep Developer mailing list <[email protected]>.
26 changes: 13 additions & 13 deletions Makefile.clang
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ VERSION = 4

#CC=clang

CFLAGS += -fPIC
CFLAGS += -fPIC -g
CPPFLAGS += -DTYPE_DEPENDENT_DISPATCH -DGNUSTEP
CPPFLAGS += -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500

Expand Down Expand Up @@ -52,21 +52,20 @@ libobjc.a: libobjc.o
@ld -r -s -o $@ libobjc.o

libobjc.o: libobjc.bc
llc -O3 -filetype=obj -o libobjc.o libobjc.bc
@echo Generating native object code...
@llc -O3 -filetype=obj -o libobjc.o libobjc.bc

libobjc.bc: $(OBJECTS)
libobjc.bc: $(OBJECTS) exports.txt
@echo Linking bitcode...
pwd
llvm-ld -internalize-public-api-file=../exports.txt -link-as-library -native -o libobjc.bc $(OBJECTS)
@llvm-ld -internalize -internalize-public-api-file=../exports.txt -link-as-library -native -o libobjc.bc $(OBJECTS)

.c.bc: obj
clang $(CPPFLAGS) $(CFLAGS) -emit-llvm -c $< -o $@
.c.bc:
@echo Compiling $<...
@clang $(CPPFLAGS) $(CFLAGS) -emit-llvm -c $< -o $@

.m.bc: obj
clang $(CPPFLAGS) $(CFLAGS) -emit-llvm -c $< -o $@

obj:
mkdir obj
.m.bc:
@echo Compiling $<...
@clang $(CPPFLAGS) $(CFLAGS) -emit-llvm -c $< -o $@

install: all
install -m 444 libobjc.so.$(VERSION) $(LIB_DIR)
Expand All @@ -76,4 +75,5 @@ install: all
install -m 444 objc/*.h $(HEADER_DIR)/objc

clean:
rm -f obj/*
@echo Cleaning...
@rm -f obj/*
17 changes: 0 additions & 17 deletions exports.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
.objc_sel_nameautorelease
.objc_sel_namecopy
.objc_sel_namedealloc
.objc_sel_namerelease
.objc_sel_nameretain
_Block_copy
_Block_object_assign
_Block_object_dispose
Expand Down Expand Up @@ -53,16 +48,12 @@ class_getSuperclass
class_getVersion
class_getWeakIvarLayout
class_isMetaClass
class_pose_as
class_replaceMethod
class_respondsToSelector
class_setIvarLayout
class_setSuperclass
class_setVersion
class_setWeakIvarLayout
class_table_get_safe
class_table_insert
class_table_internal_create
get_imp
ivar_getName
ivar_getOffset
Expand All @@ -84,9 +75,6 @@ objc_allocateClassPair
objc_atomic_malloc
objc_calloc
objc_check_abi_version
objc_collect_garbage_data
objc_compute_ivar_offsets
objc_copy_dtable_for_class
objc_create_block_classes_as_subclasses_of
objc_disposeClassPair
objc_enumerationMutation
Expand All @@ -102,10 +90,6 @@ objc_get_class
objc_get_meta_class
objc_get_slot
objc_get_type_qualifiers
objc_init_buffered_statics
objc_init_load_messages_table
objc_init_protocols
objc_init_statics
objc_layout_structure
objc_layout_structure_get_info
objc_layout_structure_next_member
Expand Down Expand Up @@ -164,7 +148,6 @@ sel_get_type
sel_get_typed_uid
sel_get_uid
sel_isEqual
sel_is_mapped
sel_registerName
sel_registerTypedName_np
sel_register_name
Expand Down

0 comments on commit ff3f7be

Please sign in to comment.