diff --git a/devel/Makefile b/devel/Makefile index faa5afa25577..0ee61e148fae 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -762,6 +762,7 @@ SUBDIR += libassa SUBDIR += libassetml SUBDIR += libast + SUBDIR += libatomic_ops SUBDIR += libaura SUBDIR += libavl SUBDIR += libbegemot diff --git a/devel/libatomic_ops/Makefile b/devel/libatomic_ops/Makefile new file mode 100644 index 000000000000..f8d0d1960d12 --- /dev/null +++ b/devel/libatomic_ops/Makefile @@ -0,0 +1,24 @@ +# New ports collection makefile for: libatomic-ops +# Date created: 09/22/2011 +# Whom: stas +# +# $FreeBSD$ +# + +PORTNAME= libatomic_ops +PORTVERSION= 7.2.a6 +PORTREVISION= 0 +CATEGORIES= devel +MASTER_SITES= http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ +DISTNAME= gc-${PORTVERSION:S/.a/alpha/} + +MAINTAINER= stas@FreeBSD.org +COMMENT= Atomic operations access library + +USE_AUTOTOOLS= aclocal autoconf automake +GNU_CONFIGURE= yes +USE_LDCONFIG= yes + +WRKSRC= ${WRKDIR}/${DISTNAME}/libatomic_ops + +.include diff --git a/devel/libatomic_ops/distinfo b/devel/libatomic_ops/distinfo new file mode 100644 index 000000000000..31464ed90574 --- /dev/null +++ b/devel/libatomic_ops/distinfo @@ -0,0 +1,2 @@ +SHA256 (gc-7.2alpha6.tar.gz) = ebf425b254773d565e1690287641ed177716a78e952c96fec917edbc64535c16 +SIZE (gc-7.2alpha6.tar.gz) = 1241386 diff --git a/devel/libatomic_ops/files/patch-configure.ac b/devel/libatomic_ops/files/patch-configure.ac new file mode 100644 index 000000000000..6c16dbb12e5d --- /dev/null +++ b/devel/libatomic_ops/files/patch-configure.ac @@ -0,0 +1,22 @@ +--- configure.ac.orig 2011-09-22 22:52:50.000000000 -0700 ++++ configure.ac 2011-09-22 22:53:33.000000000 -0700 +@@ -49,6 +49,10 @@ + PICFLAG=-fPIC + # Any Linux compiler had better be gcc compatible. + ;; ++ *-*-freebsd*) ++ AC_MSG_RESULT(-fPIC) ++ PICFLAG=-fPIC ++ ;; + *) + AC_MSG_RESULT("") + ;; +@@ -68,7 +72,7 @@ + *-*-netbsd*) + AC_DEFINE(_PTHREADS) + ;; +- *-*-openbsd* | *-*-kfreebsd*-gnu | *-*-dgux*) ++ *-*-freebsd* | *-*-openbsd* | *-*-kfreebsd*-gnu | *-*-dgux*) + THREADDLLIBS=-pthread + ;; + *-*-cygwin* | *-*-darwin*) diff --git a/devel/libatomic_ops/files/patch-doc_Makefile.am b/devel/libatomic_ops/files/patch-doc_Makefile.am new file mode 100644 index 000000000000..fdf24271a23e --- /dev/null +++ b/devel/libatomic_ops/files/patch-doc_Makefile.am @@ -0,0 +1,7 @@ +--- doc/Makefile.am.orig 2011-09-22 22:53:38.000000000 -0700 ++++ doc/Makefile.am 2011-09-22 22:53:45.000000000 -0700 +@@ -1,3 +1,3 @@ + # installed documentation + # +-dist_pkgdata_DATA=COPYING LICENSING.txt README.txt README_stack.txt README_malloc.txt README_win32.txt ++dist_doc_DATA=COPYING LICENSING.txt README.txt README_stack.txt README_malloc.txt README_win32.txt diff --git a/devel/libatomic_ops/pkg-descr b/devel/libatomic_ops/pkg-descr new file mode 100644 index 000000000000..10d2ae78b536 --- /dev/null +++ b/devel/libatomic_ops/pkg-descr @@ -0,0 +1,15 @@ +This package provides semi-portable access to hardware provided +atomic memory operations. These might allow you to write code: + +- That does more interesting things in signal handlers. +- Makes more effective use of multiprocessors by allowing you to write + clever lock-free code. Note that such code is very difficult to get + right, and will unavoidably be less portable than lock-based code. It + is also not always faster than lock-based code. But it may occasionally + be a large performance win. +- To experiment with new and much better thread programming paradigms, etc. + +For details and licensing restrictions see the files in the doc +subdirectory. + +WWW: http://www.hpl.hp.com/personal/Hans_Boehm/gc/ diff --git a/devel/libatomic_ops/pkg-plist b/devel/libatomic_ops/pkg-plist new file mode 100644 index 000000000000..3af5d819c47d --- /dev/null +++ b/devel/libatomic_ops/pkg-plist @@ -0,0 +1,73 @@ +include/atomic_ops.h +include/atomic_ops/generalize-small.h +include/atomic_ops/generalize.h +include/atomic_ops/sysdeps/README +include/atomic_ops/sysdeps/acquire_release_volatile.h +include/atomic_ops/sysdeps/aligned_atomic_load_store.h +include/atomic_ops/sysdeps/all_acquire_release_volatile.h +include/atomic_ops/sysdeps/all_aligned_atomic_load_store.h +include/atomic_ops/sysdeps/all_atomic_load_store.h +include/atomic_ops/sysdeps/ao_t_is_int.h +include/atomic_ops/sysdeps/armcc/arm_v6.h +include/atomic_ops/sysdeps/atomic_load_store.h +include/atomic_ops/sysdeps/char_acquire_release_volatile.h +include/atomic_ops/sysdeps/char_atomic_load_store.h +include/atomic_ops/sysdeps/emul_cas.h +include/atomic_ops/sysdeps/gcc/alpha.h +include/atomic_ops/sysdeps/gcc/arm.h +include/atomic_ops/sysdeps/gcc/avr32.h +include/atomic_ops/sysdeps/gcc/cris.h +include/atomic_ops/sysdeps/gcc/hppa.h +include/atomic_ops/sysdeps/gcc/ia64.h +include/atomic_ops/sysdeps/gcc/m68k.h +include/atomic_ops/sysdeps/gcc/mips.h +include/atomic_ops/sysdeps/gcc/powerpc.h +include/atomic_ops/sysdeps/gcc/s390.h +include/atomic_ops/sysdeps/gcc/sh.h +include/atomic_ops/sysdeps/gcc/sparc.h +include/atomic_ops/sysdeps/gcc/x86.h +include/atomic_ops/sysdeps/gcc/x86_64.h +include/atomic_ops/sysdeps/generic_pthread.h +include/atomic_ops/sysdeps/hpc/hppa.h +include/atomic_ops/sysdeps/hpc/ia64.h +include/atomic_ops/sysdeps/ibmc/powerpc.h +include/atomic_ops/sysdeps/icc/ia64.h +include/atomic_ops/sysdeps/int_acquire_release_volatile.h +include/atomic_ops/sysdeps/int_aligned_atomic_load_store.h +include/atomic_ops/sysdeps/int_atomic_load_store.h +include/atomic_ops/sysdeps/msftc/arm.h +include/atomic_ops/sysdeps/msftc/common32_defs.h +include/atomic_ops/sysdeps/msftc/x86.h +include/atomic_ops/sysdeps/msftc/x86_64.h +include/atomic_ops/sysdeps/ordered.h +include/atomic_ops/sysdeps/ordered_except_wr.h +include/atomic_ops/sysdeps/read_ordered.h +include/atomic_ops/sysdeps/short_acquire_release_volatile.h +include/atomic_ops/sysdeps/short_aligned_atomic_load_store.h +include/atomic_ops/sysdeps/short_atomic_load_store.h +include/atomic_ops/sysdeps/standard_ao_double_t.h +include/atomic_ops/sysdeps/sunc/sparc.h +include/atomic_ops/sysdeps/sunc/x86.h +include/atomic_ops/sysdeps/sunc/x86_64.h +include/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h +include/atomic_ops/sysdeps/test_and_set_t_is_char.h +include/atomic_ops_malloc.h +include/atomic_ops_stack.h +lib/libatomic_ops.a +lib/libatomic_ops_gpl.a +%%DOCSDIR%%/COPYING +%%DOCSDIR%%/LICENSING.txt +%%DOCSDIR%%/README.txt +%%DOCSDIR%%/README_malloc.txt +%%DOCSDIR%%/README_stack.txt +%%DOCSDIR%%/README_win32.txt +@dirrm %%DOCSDIR%% +@dirrm include/atomic_ops/sysdeps/sunc +@dirrm include/atomic_ops/sysdeps/msftc +@dirrm include/atomic_ops/sysdeps/icc +@dirrm include/atomic_ops/sysdeps/ibmc +@dirrm include/atomic_ops/sysdeps/hpc +@dirrm include/atomic_ops/sysdeps/gcc +@dirrm include/atomic_ops/sysdeps/armcc +@dirrm include/atomic_ops/sysdeps +@dirrm include/atomic_ops