head	1.6;
access;
symbols
	RELEASE_8_3_0:1.6
	RELEASE_9_0_0:1.5
	RELEASE_7_4_0:1.2
	RELEASE_8_2_0:1.2
	RELEASE_6_EOL:1.2;
locks; strict;
comment	@# @;


1.6
date	2011.12.13.18.05.25;	author dinoex;	state Exp;
branches;
next	1.5;

1.5
date	2011.10.29.20.40.15;	author dinoex;	state Exp;
branches;
next	1.4;

1.4
date	2011.10.19.18.56.47;	author dinoex;	state Exp;
branches;
next	1.3;

1.3
date	2011.06.02.20.06.44;	author pav;	state dead;
branches;
next	1.2;

1.2
date	2010.11.13.22.06.23;	author dinoex;	state Exp;
branches;
next	1.1;

1.1
date	2010.10.13.16.41.24;	author dinoex;	state Exp;
branches;
next	;


desc
@@


1.6
log
@- update to 1.6
- fix build with clang
@
text
@--- Makefile.orig	2011-11-23 13:43:16.000000000 +0100
+++ Makefile	2011-12-10 08:20:33.000000000 +0100
@@@@ -5,13 +5,13 @@@@
 MAJOR_VERSION = 4
 MINOR_VERSION = 6
 SUBMINOR_VERSION = 0
-VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBMINOR_VERSION)
+VERSION = $(SHLIB_VERSION)
 
 LIBOBJCLIBNAME=objc
 LIBOBJC=libobjc
 LIBOBJCXX=libobjcxx
 
-SILENT=@@
+SILENT=
 
 CFLAGS += -std=gnu99 -fPIC -fexceptions
 CXXFLAGS += -fPIC -fexceptions
@@@@ -62,21 +62,24 @@@@
 	selector_table.o\
 	sendmsg2.o\
 	statics_loader.o\
-	toydispatch.o
+
+.if !defined(WITHOUT_TOYDISPATCH)
+OBJECTS+= toydispatch.o
+.endif
 
 all: $(LIBOBJC).a $(LIBOBJCXX).so.$(VERSION)
 
 $(LIBOBJCXX).so.$(VERSION): $(LIBOBJC).so.$(VERSION) $(OBJCXX_OBJECTS)
 	$(SILENT)echo Linking shared Objective-C++ runtime library...
-	$(SILENT)$(CXX) -shared -o $@@ $(OBJCXX_OBJECTS)
+	$(SILENT)$(LD) $(LDFLAGS) -shared -o $@@ $(OBJCXX_OBJECTS)
 
 $(LIBOBJC).so.$(VERSION): $(OBJECTS)
 	$(SILENT)echo Linking shared Objective-C runtime library...
-	$(SILENT)$(CC) -shared -rdynamic -o $@@ $(OBJECTS)
+	$(SILENT)$(LD) $(LDFLAGS) -shared -o $@@ $(OBJECTS)
 
 $(LIBOBJC).a: $(OBJECTS)
 	$(SILENT)echo Linking static Objective-C runtime library...
-	$(SILENT)ld -r -s -o $@@ $(OBJECTS)
+	$(SILENT)$(LD) $(LDFLAGS) -r -s -o $@@ $(OBJECTS)
 
 .cc.o: Makefile
 	$(SILENT)echo Compiling `basename $<`...
@@@@ -108,11 +111,7 @@@@
 	fi
 	$(SILENT)echo Creating symbolic links...
 	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so
-	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so.$(MAJOR_VERSION)
-	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so.$(MAJOR_VERSION).$(MINOR_VERSION)
 	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)/$(LIBOBJCXX).so
-	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)/$(LIBOBJCXX).so.$(MAJOR_VERSION)
-	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)/$(LIBOBJCXX).so.$(MAJOR_VERSION).$(MINOR_VERSION)
 	$(SILENT)echo Installing headers...
 	$(SILENT)install -d $(HEADER_DIR)/objc
 	$(SILENT)install -m 444 objc/*.h $(HEADER_DIR)/objc
@


1.5
log
@- honor LDFLAGS
@
text
@d1 5
a5 5
--- Makefile.orig	2011-07-10 19:20:10.000000000 +0200
+++ Makefile	2011-10-19 19:41:37.000000000 +0200
@@@@ -5,7 +5,7 @@@@
 MAJOR_VERSION = 1
 MINOR_VERSION = 5
d10 10
a19 3
 CFLAGS += -std=gnu99 -fPIC
 CXXFLAGS += -fPIC
@@@@ -50,25 +50,29 @@@@
a24 1
+
d29 1
a29 1
 all: libobjc.a libobjcxx.so.$(VERSION)
d31 29
a59 34
 libobjcxx.so.$(VERSION): libobjc.so.$(VERSION) $(OBJCXX_OBJECTS)
 	@@echo Linking shared Objective-C++ runtime library...
-	@@$(CXX) -Wl,-shared -o $@@ $(OBJCXX_OBJECTS) -lobjc
+	$(LD) $(LDFLAGS) -shared -o $@@ $(OBJCXX_OBJECTS) -lobjc
 
 libobjc.so.$(VERSION): $(OBJECTS)
 	@@echo Linking shared Objective-C runtime library...
-	@@ld -shared -o $@@ $(OBJECTS)
+	$(LD) $(LDFLAGS) -shared -o $@@ $(OBJECTS)
 
 libobjc.a: $(OBJECTS)
 	@@echo Linking static Objective-C runtime library...
-	@@ld -r -s -o $@@ $(OBJECTS)
+	$(LD) $(LDFLAGS) -r -s -o $@@ $(OBJECTS)
 
 .cc.o:
 	@@echo Compiling `basename $<`...
-	@@$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@@
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@@
 
 .c.o:
 	@@echo Compiling `basename $<`...
@@@@ -86,11 +90,7 @@@@
 	@@install -m 444 libobjc.a $(LIB_DIR)
 	@@echo Creating symbolic links...
 	@@ln -sf $(LIB_DIR)/libobjc.so.$(VERSION) $(LIB_DIR)/libobjc.so
-	@@ln -sf $(LIB_DIR)/libobjc.so.$(VERSION) $(LIB_DIR)/libobjc.so.$(MAJOR_VERSION)
-	@@ln -sf $(LIB_DIR)/libobjc.so.$(VERSION) $(LIB_DIR)/libobjc.so.$(MAJOR_VERSION).$(MINOR_VERSION)
 	@@ln -sf $(LIB_DIR)/libobjcxx.so.$(VERSION) $(LIB_DIR)/libobjcxx.so
-	@@ln -sf $(LIB_DIR)/libobjcxx.so.$(VERSION) $(LIB_DIR)/libobjcxx.so.$(MAJOR_VERSION)
-	@@ln -sf $(LIB_DIR)/libobjcxx.so.$(VERSION) $(LIB_DIR)/libobjcxx.so.$(MAJOR_VERSION).$(MINOR_VERSION)
 	@@echo Installing headers...
 	@@install -d $(HEADER_DIR)/objc
 	@@install -m 444 objc/*.h $(HEADER_DIR)/objc
@


1.4
log
@Replacement for the GNU Objective-C runtime supporting the features
of Objective-C 2 for use with GNUstep and other Objective-C programs.
This runtime is based on the Etoile 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.
@
text
@d28 1
a28 1
+	$(LD) -shared -o $@@ $(OBJCXX_OBJECTS) -lobjc
d33 1
a33 1
+	$(LD) -shared -o $@@ $(OBJECTS)
d38 1
a38 1
+	$(LD) -r -s -o $@@ $(OBJECTS)
@


1.3
log
@- Remove lang/libobjc2, it's duplicate of gnustep-libobjc

Submitted by:	Pete French <pete@@twisted.org.uk> (maintainer)
@
text
@d1 16
a16 10
--- Makefile.orig	2010-09-14 17:02:29.000000000 +0100
+++ Makefile	2010-11-12 14:03:01.589695176 +0000
@@@@ -4,13 +4,20 @@@@
 
 #CC=clang
 
-CFLAGS += -std=c99
+CFLAGS += -std=c99 -fPIC
 CPPFLAGS += -DTYPE_DEPENDENT_DISPATCH
+CPPFLAGS += -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500
a17 8
+.if defined(WITH_NSOBJECT_ROOT)
+CPPFLAGS += -DGNUSTEP
+.endif
 
 #LIB_DIR=/usr/local/GNUstep/Local/Library/Libraries/
 #HEADER_DIR=/usr/local/GNUstep/Local/Library/Headers
-LIB_DIR=/tmp/usr/lib/
-HEADER_DIR=/tmp/usr/include/
a18 11
+PREFIX?= /tmp/usr
+LIB_DIR= ${PREFIX}/lib
+HEADER_DIR= ${PREFIX}/include
 
 OBJECTS = \
 	NSBlocks.o\
@@@@ -38,11 +45,19 @@@@
 	statics_loader.o\
 	sync.o
 
-all: libobjc.so.$(VERSION)
d22 7
a28 2
+
+all: libobjc.so.$(VERSION) libobjc.a
d31 13
a43 7
 	@@echo Linking shared library...
-	ld -shared -o $@@ $(OBJECTS)
+	@@ld -shared -o $@@ $(OBJECTS)
+
+libobjc.a: $(OBJECTS)
+	@@echo Linking static library...
+	@@ld -r -s -o $@@ $(OBJECTS)
d46 13
a58 19
 	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@@
@@@@ -50,8 +65,12 @@@@
 .m.o:
 	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@@
 
+toydispatch.o: toydispatch/toydispatch.c
+	$(CC) $(CPPFLAGS) $(CFLAGS) -I toydispatch -c $< -o $@@
+
 install: all
 	install -m 444 libobjc.so.$(VERSION) $(LIB_DIR)
+	install -m 444 libobjc.a $(LIB_DIR)
 	ln -sf $(LIB_DIR)/libobjc.so.$(VERSION) $(LIB_DIR)/libobjc.so
 	install -d $(HEADER_DIR)/objc
 	install -m 444 objc/*.h $(HEADER_DIR)/objc
@@@@ -59,3 +78,4 @@@@
 clean:
 	rm -f $(OBJECTS)
 	rm -f libobjc.so.$(VERSION)
+	rm -f libobjc.a
@


1.2
log
@- add new option WITHOUT_NSOBJECT_ROOT
Submitted by:	Pete French (maintainer)
Reviewed by:	dinoex
@
text
@@


1.1
log
@Replacement for the GNU Objective-C runtime supporting the features
of Objective-C 2 for use with GNUstep and other Objective-C programs.
This runtime is based on the Etoile 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.

Submitted by:	Pete French
Reviewed by:	dinoex
@
text
@d1 66
a66 89
*** Makefile.orig	2010-10-06 14:03:45.281764937 +0100
--- Makefile	2010-10-07 17:49:29.429419346 +0100
***************
*** 4,16 ****
  
  #CC=clang
  
! CFLAGS += -std=c99
  CPPFLAGS += -DTYPE_DEPENDENT_DISPATCH
  
  #LIB_DIR=/usr/local/GNUstep/Local/Library/Libraries/
  #HEADER_DIR=/usr/local/GNUstep/Local/Library/Headers
! LIB_DIR=/tmp/usr/lib/
! HEADER_DIR=/tmp/usr/include/
  
  OBJECTS = \
  	NSBlocks.o\
--- 4,19 ----
  
  #CC=clang
  
! CFLAGS += -std=c99 -fPIC
  CPPFLAGS += -DTYPE_DEPENDENT_DISPATCH
+ CPPFLAGS += -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500
  
  #LIB_DIR=/usr/local/GNUstep/Local/Library/Libraries/
  #HEADER_DIR=/usr/local/GNUstep/Local/Library/Headers
! 
! PREFIX?= /tmp/usr
! LIB_DIR= ${PREFIX}/lib
! HEADER_DIR= ${PREFIX}/include
  
  OBJECTS = \
  	NSBlocks.o\
***************
*** 38,48 ****
  	statics_loader.o\
  	sync.o
  
! all: libobjc.so.$(VERSION)
  
  libobjc.so.$(VERSION): $(OBJECTS)
  	@@echo Linking shared library...
! 	ld -shared -o $@@ $(OBJECTS)
  
  .c.o:
  	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@@
--- 41,59 ----
  	statics_loader.o\
  	sync.o
  
! .if !defined(WITHOUT_TOYDISPATCH)
! OBJECTS+= toydispatch.o
! .endif
! 
! all: libobjc.so.$(VERSION) libobjc.a
  
  libobjc.so.$(VERSION): $(OBJECTS)
  	@@echo Linking shared library...
! 	@@ld -shared -o $@@ $(OBJECTS)
! 
! libobjc.a: $(OBJECTS)
! 	@@echo Linking static library...
! 	@@ld -r -s -o $@@ $(OBJECTS)
  
  .c.o:
  	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@@
***************
*** 50,57 ****
--- 61,72 ----
  .m.o:
  	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@@
  
+ toydispatch.o: toydispatch/toydispatch.c
+ 	$(CC) $(CPPFLAGS) $(CFLAGS) -I toydispatch -c $< -o $@@
+ 
  install: all
  	install -m 444 libobjc.so.$(VERSION) $(LIB_DIR)
+ 	install -m 444 libobjc.a $(LIB_DIR)
  	ln -sf $(LIB_DIR)/libobjc.so.$(VERSION) $(LIB_DIR)/libobjc.so
  	install -d $(HEADER_DIR)/objc
  	install -m 444 objc/*.h $(HEADER_DIR)/objc
***************
*** 59,61 ****
--- 74,77 ----
  clean:
  	rm -f $(OBJECTS)
  	rm -f libobjc.so.$(VERSION)
+ 	rm -f libobjc.a
@

