devel/boehm-gc: Fix functionality on DragonFly

Boehm-gc built on DragonFly, but it wasn't working properly.  This is
one of the major reasons lang/guile20 doesn't build.  Ths fix is proven
as it has been taken from DPorts.
This commit is contained in:
marino 2016-12-03 03:09:26 +00:00
parent 670fd84de8
commit 891d4f3b58
5 changed files with 51 additions and 3 deletions

View file

@ -1,8 +1,8 @@
# $NetBSD: Makefile,v 1.84 2016/09/28 08:15:30 jperkin Exp $
# $NetBSD: Makefile,v 1.85 2016/12/03 03:09:26 marino Exp $
DISTNAME= gc-7.6.0
PKGNAME= ${DISTNAME:S/gc/boehm-gc/}
PKGREVISION= 1
PKGREVISION= 2
CATEGORIES= devel
MASTER_SITES= http://www.hboehm.info/gc/gc_source/

View file

@ -1,8 +1,11 @@
$NetBSD: distinfo,v 1.56 2016/09/21 17:59:10 maya Exp $
$NetBSD: distinfo,v 1.57 2016/12/03 03:09:26 marino Exp $
SHA1 (gc-7.6.0.tar.gz) = bae6b3754ff8d3845b5171346bf924e13be6c693
RMD160 (gc-7.6.0.tar.gz) = f69b900fed7ae844d355cfccad90cd25214da98e
SHA512 (gc-7.6.0.tar.gz) = 511e8c01287b1ee9dbec87f0573377de77038b7af053a3f33afed9b3ffa30e2402d6a9bb0ca4f4b81cd808209b47b5718d498cff3de6632a057fe03fad51fc43
Size (gc-7.6.0.tar.gz) = 1111751 bytes
SHA1 (patch-configure) = f3bb73ee9535fa2d313bab5d4afa961457c8762c
SHA1 (patch-dyn__load.c) = 5869f863853a80bb290c8224c4f861a92553e278
SHA1 (patch-include_private_gc__priv.h) = d9fc570f2ef9d57afe92e63db1f9c5f48b1c0514
SHA1 (patch-include_private_gcconfig.h) = 23621c34483899df0b3d3dd9f982a1d601c716a0
SHA1 (patch-tools_threadlibs.c) = 5dd3e8bdbba8806cafcbaa5aa5c0a0778243c8ab

View file

@ -0,0 +1,15 @@
$NetBSD: patch-configure,v 1.1 2016/12/03 03:09:26 marino Exp $
Support DragonFly.
--- configure.orig 2016-08-02 20:23:32 UTC
+++ configure
@@ -16416,7 +16416,7 @@ $as_echo "$as_me: WARNING: \"Only HP-UX
THREADDLLIBS=-pthread
AM_CFLAGS="$AM_CFLAGS -pthread"
;;
- *-*-freebsd*)
+ *-*-freebsd*|*-*-dragonfly*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
$as_echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
$as_echo "#define GC_FREEBSD_THREADS 1" >>confdefs.h

View file

@ -0,0 +1,15 @@
$NetBSD: patch-dyn__load.c,v 1.3 2016/12/03 03:09:26 marino Exp $
Support DragonFly.
--- dyn_load.c.orig 2016-08-02 19:36:14 UTC
+++ dyn_load.c
@@ -435,7 +435,7 @@ GC_INNER GC_bool GC_register_main_static
# pragma weak dl_iterate_phdr
#endif
-#if (defined(FREEBSD) && __FreeBSD__ >= 7)
+#if (defined(FREEBSD) && __FreeBSD__ >= 7) || defined __DragonFly__
/* On the FreeBSD system, any target system at major version 7 shall */
/* have dl_iterate_phdr; therefore, we need not make it weak as above. */
# define HAVE_DL_ITERATE_PHDR

View file

@ -0,0 +1,15 @@
$NetBSD: patch-tools_threadlibs.c,v 1.1 2016/12/03 03:09:26 marino Exp $
Support DragonFly.
--- tools/threadlibs.c.orig 2016-08-02 19:36:14 UTC
+++ tools/threadlibs.c
@@ -42,7 +42,7 @@ int main(void)
# ifdef GC_USE_DLOPEN_WRAP
printf("-ldl ");
# endif
-# if (__FREEBSD_version >= 500000)
+# if (__FREEBSD_version >= 500000) || defined __DragonFly__
printf("-lpthread\n");
# else
printf("-pthread\n");