hwloc: new recipe (#1828)

This commit is contained in:
Damillora
2017-12-16 02:55:53 +07:00
committed by fbrosson
parent 32d4882026
commit 36ae2b1fd0
2 changed files with 194 additions and 0 deletions

View File

@@ -0,0 +1,138 @@
SUMMARY="The Hardware Locality library"
DESCRIPTION="The Hardware Locality (hwloc) software project aims at easing the \
process of discovering hardware resources in parallel architectures. It offers \
command-line tools and a C API for consulting these resources, their locality, \
attributes, and interconnection. hwloc primarily aims at helping \
high-performance computing (HPC) applications, but is also applicable to any \
project seeking to exploit code and/or data locality on modern computing \
platforms."
HOMEPAGE="https://www.open-mpi.org/projects/hwloc/"
COPYRIGHT="2004-2006 The Trustees of Indiana University and Indiana University \
Research and Technology Corporation
2004-2005 The University of Tennessee and The University of Tennessee \
Research Foundation
2004-2005 High Performance Computing Center Stuttgart, University of \
Stuttgart
2004-2005 The Regents of the University of California
2009 CNRS
2009-2017 Inria
2009-2015 University of Bordeaux
2009-2015 Cisco Systems, Inc.
2009-2012 Oracle and/or its affiliates
2010 IBM
2010 Jirka Hladky
2012 Aleksej Saushev, The NetBSD Foundation
2012 Blue Brain Project, EPFL
2015 Research Organization for Information Science and Technology \
(RIST)
2015-2016 Intel, Inc."
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-$portVersion.tar.bz2"
CHECKSUM_SHA256="ecef10265084d9123dc0b03d82ff5ee06fbf5ba755a912e7511ae590c9ee594d"
PATCHES="hwloc-$portVersion.patchset"
ARCHITECTURES="?x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
libVersion=5.7.5
libVersionCompat="$libVersion compat >= 5"
PROVIDES="
hwloc$secondaryArchSuffix = $portVersion
lib:libhwloc$secondaryArchSuffix = $libVersionCompat
cmd:hwloc_annotate$secondaryArchSuffix = $portVersion
cmd:hwloc_assembler$secondaryArchSuffix = $portVersion
cmd:hwloc_assembler_remote$secondaryArchSuffix = $portVersion
cmd:hwloc_bind$secondaryArchSuffix = $portVersion
cmd:hwloc_calc$secondaryArchSuffix = $portVersion
cmd:hwloc_compress_dir$secondaryArchSuffix = $portVersion
cmd:hwloc_diff$secondaryArchSuffix = $portVersion
cmd:hwloc_distances$secondaryArchSuffix = $portVersion
cmd:hwloc_distrib$secondaryArchSuffix = $portVersion
# cmd:hwloc_dump_hwdata$secondaryArchSuffix = $portVersion
# cmd:hwloc_gather_topology$secondaryArchSuffix = $portVersion
cmd:hwloc_info$secondaryArchSuffix = $portVersion
cmd:hwloc_ls$secondaryArchSuffix = $portVersion
cmd:hwloc_patch$secondaryArchSuffix = $portVersion
cmd:hwloc_ps$secondaryArchSuffix = $portVersion
cmd:lstopo$secondaryArchSuffix = $portVersion
cmd:lstopo_no_graphics$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libltdl$secondaryArchSuffix
"
PROVIDES_devel="
hwloc${secondaryArchSuffix}_devel = $portVersion
devel:libhwloc$secondaryArchSuffix = $libVersion
"
REQUIRES_devel="
hwloc$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libxml2$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:autom4te
cmd:automake
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:sed
"
defineDebugInfoPackage hwloc$secondaryArchSuffix \
$libDir/hwloc/hwloc_xml_libxml.so \
$libDir/libhwloc.so.$libVersion \
$binDir/lstopo-no-graphics \
$binDir/hwloc-annotate \
$binDir/hwloc-assembler \
$binDir/hwloc-bind \
$binDir/hwloc-calc \
$binDir/hwloc-diff \
$binDir/hwloc-distances \
$binDir/hwloc-distrib \
$binDir/hwloc-info \
$binDir/hwloc-patch \
$binDir/hwloc-ps
BUILD()
{
autoreconf -fi
runConfigure ./configure --enable-plugins
make
}
INSTALL()
{
install -d $docDir
make install
rm -f $libDir/hwloc/*.la
rm -f $libDir/libhwloc.la
prepareInstalledDevelLib libhwloc
fixPkgconfig
packageEntries devel \
$developDir \
$docDir/hwloc-*.pdf \
$manDir/man3
install -t $docDir AUTHORS COPYING README
}
TEST()
{
make check
}

View File

@@ -0,0 +1,56 @@
From 2832c559d41e30aefae58cdcae1fcde2ebd63bea Mon Sep 17 00:00:00 2001
From: Damillora <duniapengetahuan.12345@gmail.com>
Date: Sun, 3 Dec 2017 11:14:55 +0000
Subject: Remove unknown compiler parameter (gcc2)
diff --git a/config/hwloc_internal.m4 b/config/hwloc_internal.m4
index 0c54667..6ba7bf4 100644
--- a/config/hwloc_internal.m4
+++ b/config/hwloc_internal.m4
@@ -219,7 +219,6 @@ EOF
fi
fi
if test "$hwloc_want_picky" = 1; then
- add="-Wall -Wunused-parameter -Wundef -Wno-long-long -Wsign-compare"
add="$add -Wmissing-prototypes -Wstrict-prototypes"
add="$add -Wcomment -pedantic -Wshadow"
diff --git a/configure b/configure
index cef42d0..e5e1a43 100755
--- a/configure
+++ b/configure
@@ -16373,7 +16373,6 @@ $as_echo "no (default)" >&6; }
fi
fi
if test "$hwloc_want_picky" = 1; then
- add="-Wall -Wunused-parameter -Wundef -Wno-long-long -Wsign-compare"
add="$add -Wmissing-prototypes -Wstrict-prototypes"
add="$add -Wcomment -pedantic -Wshadow"
--
2.15.0
From 7481700c79f7b0d59d805a000aa68c10750616ee Mon Sep 17 00:00:00 2001
From: Damillora <duniapengetahuan.12345@gmail.com>
Date: Sun, 3 Dec 2017 11:19:42 +0000
Subject: Fix asm error
diff --git a/include/private/cpuid-x86.h b/include/private/cpuid-x86.h
index 9a5f544..2500b66 100644
--- a/include/private/cpuid-x86.h
+++ b/include/private/cpuid-x86.h
@@ -76,7 +76,7 @@ static __hwloc_inline void hwloc_x86_cpuid(unsigned *eax, unsigned *ebx, unsigne
"mov %%ebx,%1\n\t"
"cpuid\n\t"
"xchg %%ebx,%1\n\t"
- : "+a" (*eax), "=SD" (*ebx), "+c" (*ecx), "=d" (*edx));
+ : "+a" (*eax), "=b" (*ebx), "+c" (*ecx), "=d" (*edx));
#else
#error unknown architecture
#endif
--
2.15.0