diff options
author | 2012-03-22 21:50:02 +0000 | |
---|---|---|
committer | 2012-03-22 21:50:02 +0000 | |
commit | 8490be765670e0aa7e8e32cfe6250d5967dec771 (patch) | |
tree | 7be7e62acdb6c68fcc9277416dede21c743cbca5 /sys-process | |
parent | Set PYTHON_DEPEND=2, bug 312125. Remove old. (diff) | |
download | gentoo-2-8490be765670e0aa7e8e32cfe6250d5967dec771.tar.gz gentoo-2-8490be765670e0aa7e8e32cfe6250d5967dec771.tar.bz2 gentoo-2-8490be765670e0aa7e8e32cfe6250d5967dec771.zip |
Build static library without -fPIC and make it optional wrt #379849 by Agostino Sarubbo <ago@gentoo.org>
(Portage version: 2.2.0_alpha93/cvs/Linux x86_64)
Diffstat (limited to 'sys-process')
-rw-r--r-- | sys-process/numactl/ChangeLog | 10 | ||||
-rw-r--r-- | sys-process/numactl/files/numactl-2.0.7-static_libs.patch | 79 | ||||
-rw-r--r-- | sys-process/numactl/numactl-2.0.7-r2.ebuild (renamed from sys-process/numactl/numactl-2.0.7-r1.ebuild) | 10 |
3 files changed, 94 insertions, 5 deletions
diff --git a/sys-process/numactl/ChangeLog b/sys-process/numactl/ChangeLog index ce9f60ceb7c3..c50d92915a2d 100644 --- a/sys-process/numactl/ChangeLog +++ b/sys-process/numactl/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-process/numactl # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/numactl/ChangeLog,v 1.21 2012/03/22 19:13:11 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-process/numactl/ChangeLog,v 1.22 2012/03/22 21:50:02 xarthisius Exp $ + +*numactl-2.0.7-r2 (22 Mar 2012) + + 22 Mar 2012; Kacper Kowalik <xarthisius@gentoo.org> + +files/numactl-2.0.7-static_libs.patch, +numactl-2.0.7-r2.ebuild, + -numactl-2.0.7-r1.ebuild: + Build static library without -fPIC and make it optional wrt #379849 by + Agostino Sarubbo <ago@gentoo.org> 22 Mar 2012; Mike Frysinger <vapier@gentoo.org> numactl-2.0.7-r1.ebuild: Fix libdir handling and update to EAPI=4 #379849 by Agostino Sarubbo. diff --git a/sys-process/numactl/files/numactl-2.0.7-static_libs.patch b/sys-process/numactl/files/numactl-2.0.7-static_libs.patch new file mode 100644 index 000000000000..27bd9b61ab9d --- /dev/null +++ b/sys-process/numactl/files/numactl-2.0.7-static_libs.patch @@ -0,0 +1,79 @@ +Build static libs without -fPIC and only if BUILD_STATIC=yes + +https://bugs.gentoo.org/show_bug.cgi?id=379849 + +Patch written by Kacper Kowalik <xarthisius@gentoo.org> +--- a/Makefile ++++ b/Makefile +@@ -7,6 +7,8 @@ + # for compatibility with old releases + CFLAGS += ${OPT_CFLAGS} + override CFLAGS += -I. ++# build static libraries by default ++BUILD_STATIC ?= yes + + # find out if compiler supports __thread + THREAD_SUPPORT := $(shell if $(CC) $(CFLAGS) threadtest.c -o threadtest \ +@@ -24,6 +26,7 @@ + + CLEANFILES := numactl.o libnuma.o numactl numademo numademo.o distance.o \ + memhog libnuma.so libnuma.so.1 numamon numamon.o syscall.o bitops.o \ ++ distance.pic.o libnuma.pic.o syscall.pic.o \ + memhog.o util.o stream_main.o stream_lib.o shm.o stream clearcache.o \ + test/pagesize test/tshared test/mynode.o test/tshared.o mt.o empty.o empty.c \ + test/mynode test/ftok test/prefered test/randmap \ +@@ -40,10 +43,15 @@ + libdir := ${prefix}/$(shell ./getlibdir) + docdir := ${prefix}/share/doc + ++NUMA_LIBS = libnuma.so ++ifeq ($(BUILD_STATIC),yes) ++NUMA_LIBS+= libnuma.a ++endif ++ + all: numactl migratepages migspeed libnuma.so numademo numamon memhog \ + test/tshared stream test/mynode test/pagesize test/ftok test/prefered \ + test/randmap test/nodemap test/distance test/tbitmap test/move_pages \ +- test/mbind_mig_pages test/migrate_pages test/realloc_test libnuma.a ++ test/mbind_mig_pages test/migrate_pages test/realloc_test ${NUMA_LIBS} + + numactl: numactl.o util.o shm.o bitops.o libnuma.so + +@@ -81,13 +89,14 @@ + + libnuma.so.1: versions.ldscript + +-libnuma.so.1: libnuma.o syscall.o distance.o ++libnuma.so.1: libnuma.pic.o syscall.pic.o distance.pic.o + ${CC} ${LDFLAGS} -shared -Wl,-soname=libnuma.so.1 -Wl,--version-script,versions.ldscript -Wl,-init,numa_init -Wl,-fini,numa_fini -o libnuma.so.1 $(filter-out versions.ldscript,$^) + + libnuma.so: libnuma.so.1 + ln -sf libnuma.so.1 libnuma.so + +-libnuma.o : CFLAGS += -fPIC ++%.pic.o: %.c ++ ${CC} -fPIC ${CPPFLAGS} ${CFLAGS} -c $< -o $@ + + AR ?= ar + RANLIB ?= ranlib +@@ -95,10 +104,6 @@ + $(AR) rc $@ $^ + $(RANLIB) $@ + +-distance.o : CFLAGS += -fPIC +- +-syscall.o : CFLAGS += -fPIC +- + test/tshared: test/tshared.o libnuma.so + + test/mynode: test/mynode.o libnuma.so +@@ -143,7 +148,9 @@ + mkdir -p ${libdir} + install -m 0755 libnuma.so.1 ${libdir} + cd ${libdir} ; ln -sf libnuma.so.1 libnuma.so ++ifeq ($(BUILD_STATIC),yes) + install -m 0644 libnuma.a ${libdir} ++endif + mkdir -p ${prefix}/include + install -m 0644 numa.h numaif.h numacompat1.h ${prefix}/include + install -m 0755 numastat ${prefix}/bin diff --git a/sys-process/numactl/numactl-2.0.7-r1.ebuild b/sys-process/numactl/numactl-2.0.7-r2.ebuild index da8b7ef7d2b1..3a36ed830bde 100644 --- a/sys-process/numactl/numactl-2.0.7-r1.ebuild +++ b/sys-process/numactl/numactl-2.0.7-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/numactl/numactl-2.0.7-r1.ebuild,v 1.3 2012/03/22 19:13:11 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-process/numactl/numactl-2.0.7-r2.ebuild,v 1.1 2012/03/22 21:50:02 xarthisius Exp $ EAPI="4" @@ -13,16 +13,18 @@ SRC_URI="ftp://oss.sgi.com/www/projects/libnuma/download/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux" -IUSE="perl" +IUSE="perl static-libs" RDEPEND="perl? ( dev-lang/perl )" src_prepare() { echo "printf $(get_libdir)" > getlibdir + epatch "${FILESDIR}"/${P}-static_libs.patch } src_compile() { - emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" BENCH_CFLAGS="" + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" BENCH_CFLAGS="" \ + BUILD_STATIC=$(usex static-libs) } src_test() { @@ -37,7 +39,7 @@ src_test() { } src_install() { - emake install prefix="${ED}/usr" + emake install prefix="${ED}/usr" BUILD_STATIC=$(usex static-libs) # delete man pages provided by the man-pages package #238805 rm -rf "${ED}"/usr/share/man/man[25] doman *.8 # makefile doesnt get them all |