fix gnustep-objc on illumosdiff -r1.27 -r1.28 pkgsrc/devel/gnustep-objc/Makefile
(wiedi)
@@ -1,24 +1,26 @@ | @@ -1,24 +1,26 @@ | |||
1 | # $NetBSD: Makefile,v 1.27 2015/04/18 07:23:18 manu Exp $ | 1 | # $NetBSD: Makefile,v 1.28 2016/11/16 22:46:48 wiedi Exp $ | |
2 | 2 | |||
3 | DISTNAME= libobjc2-1.6.1 | 3 | DISTNAME= libobjc2-1.6.1 | |
4 | PKGNAME= ${DISTNAME:S/libobjc2/gnustep-objc/} | 4 | PKGNAME= ${DISTNAME:S/libobjc2/gnustep-objc/} | |
5 | PKGREVISION= 1 | 5 | PKGREVISION= 2 | |
6 | CATEGORIES= devel gnustep | 6 | CATEGORIES= devel gnustep | |
7 | MASTER_SITES= http://download.gna.org/gnustep/ | 7 | MASTER_SITES= http://download.gna.org/gnustep/ | |
8 | EXTRACT_SUFX= .tar.bz2 | 8 | EXTRACT_SUFX= .tar.bz2 | |
9 | 9 | |||
10 | MAINTAINER= pkgsrc-users@NetBSD.org | 10 | MAINTAINER= pkgsrc-users@NetBSD.org | |
11 | HOMEPAGE= https://github.com/gnustep/gnustep-libobjc2 | 11 | HOMEPAGE= https://github.com/gnustep/gnustep-libobjc2 | |
12 | COMMENT= Objective-C runtime | 12 | COMMENT= Objective-C runtime | |
13 | LICENSE= gnu-gpl-v3 | 13 | LICENSE= gnu-gpl-v3 | |
14 | 14 | |||
15 | USE_LANGUAGES= objc | 15 | USE_LANGUAGES= objc | |
16 | USE_TOOLS+= gmake | 16 | USE_TOOLS+= gmake | |
17 | MAKE_FILE= GNUmakefile | 17 | MAKE_FILE= GNUmakefile | |
18 | MAKE_ENV+= ADDITIONAL_LDFLAGS=-lpthread | 18 | MAKE_ENV+= ADDITIONAL_LDFLAGS=-lpthread | |
19 | GNUSTEP_OVERRIDE_INSTALL= YES | 19 | GNUSTEP_OVERRIDE_INSTALL= YES | |
20 | NO_CONFIGURE= YES | 20 | NO_CONFIGURE= YES | |
21 | 21 | |||
22 | .include "../../mk/compiler.mk" | |||
23 | ||||
22 | .include "../../devel/gnustep-make/buildlink3.mk" | 24 | .include "../../devel/gnustep-make/buildlink3.mk" | |
23 | .include "../../mk/pthread.buildlink3.mk" | 25 | .include "../../mk/pthread.buildlink3.mk" | |
24 | .include "../../mk/bsd.pkg.mk" | 26 | .include "../../mk/bsd.pkg.mk" |
@@ -1,7 +1,8 @@ | @@ -1,7 +1,8 @@ | |||
1 | $NetBSD: distinfo,v 1.10 2015/11/03 03:27:29 agc Exp $ | 1 | $NetBSD: distinfo,v 1.11 2016/11/16 22:46:48 wiedi Exp $ | |
2 | 2 | |||
3 | SHA1 (libobjc2-1.6.1.tar.bz2) = 02a6cf02f620530ecd64f32dca348def92412b2b | 3 | SHA1 (libobjc2-1.6.1.tar.bz2) = 02a6cf02f620530ecd64f32dca348def92412b2b | |
4 | RMD160 (libobjc2-1.6.1.tar.bz2) = 7babdba063d5377125ffd5b9481e074c32a8cf10 | 4 | RMD160 (libobjc2-1.6.1.tar.bz2) = 7babdba063d5377125ffd5b9481e074c32a8cf10 | |
5 | SHA512 (libobjc2-1.6.1.tar.bz2) = e43bf867ca734e76274826a222a10e9b603e085a9dd245912ee16603bb61e276fcd9388918f61aba7d0bded0c045bc9799f7e24b309d670d144175707662f9c8 | 5 | SHA512 (libobjc2-1.6.1.tar.bz2) = e43bf867ca734e76274826a222a10e9b603e085a9dd245912ee16603bb61e276fcd9388918f61aba7d0bded0c045bc9799f7e24b309d670d144175707662f9c8 | |
6 | Size (libobjc2-1.6.1.tar.bz2) = 116263 bytes | 6 | Size (libobjc2-1.6.1.tar.bz2) = 116263 bytes | |
7 | SHA1 (patch-objc_msgSend.x86-32.S) = 381fe840c433864ea39858b0cf4af6af46790d06 | 7 | SHA1 (patch-GNUmakefile) = 35524689235c4596c58e32eb38ad770d59e7d994 | |
8 | SHA1 (patch-objc_msgSend.x86-32.S) = ff1cc0247e5c2277f852f68addbe0bae4db82ba7 |
$NetBSD: patch-GNUmakefile,v 1.1 2016/11/16 22:46:49 wiedi Exp $
- only use -no-integrated-as with clang
- _XOPEN_SOURCE=500 conflicts with c99
--- GNUmakefile.orig 2012-03-21 16:45:31.000000000 +0000
+++ GNUmakefile
@@ -81,7 +81,7 @@ ${LIBOBJC}_OBJ_FILES = \
# Add rule for producing object files from assembler
$(GNUSTEP_OBJ_INSTANCE_DIR)/%.S$(OEXT) : %.S
- $(ECHO_COMPILING)$(CC) -no-integrated-as $< -c \
+ $(ECHO_COMPILING)$(CC) $(ASMFLAGS) $< -c \
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
$(ALL_CFLAGS)) \
$($<_FILE_FLAGS) -o $@$(END_ECHO)
@@ -153,7 +153,7 @@ endif
# we are special, precious, little flowers.
${LIBOBJC}_CPPFLAGS +=\
-D__OBJC_RUNTIME_INTERNAL__=1\
- -D_XOPEN_SOURCE=500\
+ -D_XOPEN_SOURCE=600\
-D__BSD_VISIBLE=1\
-D_BSD_SOURCE=1\
@@ -164,6 +164,8 @@ ${LIBOBJC}_CFLAGS += -std=gnu99 -g -fexc
${LIBOBJC}_CCFLAGS += -std=c++98 -g -fexceptions #-fvisibility=hidden
${LIBOBJC}_CFLAGS += -Wno-unused-function
+ASMFLAGS += `if $(CC) -v 2>&1| grep -q 'clang' ; then echo -no-integrated-as ; fi`
+
# Uncomment this when debugging - it makes everything slow, but means that the
# debugger actually works...
ifeq ($(debug), yes)
@@ -1,26 +1,23 @@ | @@ -1,26 +1,23 @@ | |||
1 | $NetBSD: patch-objc_msgSend.x86-32.S,v 1.1 2015/04/18 07:23:18 manu Exp $ | 1 | $NetBSD: patch-objc_msgSend.x86-32.S,v 1.2 2016/11/16 22:46:49 wiedi Exp $ | |
2 | 2 | |||
3 | Depending on the compiler, __i686.get_pc_thunk.bx may be missing | 3 | Depending on the compiler, __i686.get_pc_thunk.bx may be missing | |
4 | from runtime. Replace it by a localy supplied version. | 4 | from runtime. Replace it by a localy supplied version. | |
5 | 5 | |||
6 | --- objc_msgSend.x86-32.S.orig 2015-04-17 09:44:49.000000000 +0000 | 6 | --- objc_msgSend.x86-32.S.orig 2012-05-04 13:28:08.000000000 +0000 | |
7 | +++ objc_msgSend.x86-32.S 2015-04-17 09:47:40.000000000 +0000 | 7 | +++ objc_msgSend.x86-32.S | |
8 | @@ -77,9 +77,9 @@ | 8 | @@ -78,7 +78,7 @@ | |
9 | ||||
10 | jmp *%eax | 9 | jmp *%eax | |
11 | 6: # smallObject: | 10 | 6: # smallObject: | |
12 | push %ebx # Save old %ebx | 11 | push %ebx # Save old %ebx | |
13 | - call __i686.get_pc_thunk.bx | 12 | - call __i686.get_pc_thunk.bx | |
14 | + call ___i686.get_pc_thunk.bx | 13 | + call ___i686.get_pc_thunk.bx | |
15 | addl $_GLOBAL_OFFSET_TABLE_, %ebx | 14 | addl $_GLOBAL_OFFSET_TABLE_, %ebx | |
16 | mov SmallObjectClasses@GOT(%ebx), %eax | 15 | mov SmallObjectClasses@GOT(%ebx), %eax | |
17 | mov (%eax), %eax | 16 | mov (%eax), %eax | |
18 | popl %ebx | 17 | @@ -98,3 +98,6 @@ objc_msgSend: | |
19 | @@ -97,4 +97,7 @@ | |||
20 | .globl objc_msgSend_stret | |||
21 | .type objc_msgSend_stret, @function | 18 | .type objc_msgSend_stret, @function | |
22 | objc_msgSend_stret: | 19 | objc_msgSend_stret: | |
23 | MSGSEND 8, 12, 0 | 20 | MSGSEND 8, 12, 0 | |
24 | +___i686.get_pc_thunk.bx: | 21 | +___i686.get_pc_thunk.bx: | |
25 | + mov (%esp),%ebx | 22 | + mov (%esp),%ebx | |
26 | + ret | 23 | + ret |