Update to 0.2.15.

0.2.15 was released in October 2015.
Release notes: http://www.openblas.net/Changelog.txt

This update introduces support for new CPU architectures, such as Intel's
Broadwell and Skylake. In practice, this means people using those architectures
can actually build the port now (OpenBLAS seems to do some CPU-detection that
cannot be easily turned off and refusing to build on unrecognized CPUs).

Port changes:
- Reorganize a few variables in Makefile.
- Refresh patches.

PR:		206886
Submitted by:	Adriaan de Groot <groot@kde.org> (first version),
		Eijiro Shibusawa <phd_kimberlite@yahoo.co.jp> (maintainer)
MFH:		2016Q1
This commit is contained in:
Raphael Kubo da Costa 2016-02-18 16:35:48 +00:00
parent 6347ab0288
commit 66cb2cdb0b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=409114
12 changed files with 64 additions and 49 deletions

View File

@ -2,20 +2,20 @@
# $FreeBSD$
PORTNAME= openblas
PORTVERSION= 0.2.14
PORTEPOCH= 1
PORTVERSION= 0.2.15
DISTVERSIONPREFIX= v
PORTEPOCH= 1
CATEGORIES= math
MASTER_SITES= GH NL/lapack/timing/:lapack_tmg
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
large.tgz:lapack_tmg timing.tgz:lapack_tmg
DIST_SUBDIR= openblas
MAINTAINER= phd_kimberlite@yahoo.co.jp
COMMENT= Optimized BLAS library based on GotoBLAS2
LICENSE= BSD3CLAUSE
DIST_SUBDIR= openblas
USE_GITHUB= yes
GH_ACCOUNT= xianyi
GH_PROJECT= OpenBLAS
@ -141,9 +141,6 @@ do-build:
${MAKE_CMD} ${MAKE_ARGS}
${CP} ${WRKSRC}/libopenblasp-${OPENBLAS_SUFX}.a ${WRKDIR}/lib/libopenblasp.a
${CP} ${WRKSRC}/libopenblasp-${OPENBLAS_SUFX}.so ${WRKDIR}/lib/libopenblasp.so.${OPENBLAS_SVER}
.if !${PORT_OPTIONS:MDEBUG}
${LOCALBASE}/bin/strip -X ${WRKDIR}/lib/*.so.${OPENBLAS_SVER}
.endif
BENCHMARK_MAXTHREADS?= ${MAXTHREADS}
.if ${PORT_OPTIONS:MOPENMP}
@ -159,16 +156,10 @@ benchmark: build
USE_THREAD=1 ${BENCHMARK_THREADS_FLAG} ${MAKE_CMD} ${MAKE_ARGS}
do-install:
cd ${WRKDIR}/lib ; \
${INSTALL_DATA} ${OPENBLAS_LIBS:S|$|.a|} ${OPENBLAS_LIBS:S|$|.so.${OPENBLAS_SVER}|} \
${STAGEDIR}${PREFIX}/lib/
cd ${STAGEDIR}${PREFIX}/lib ; \
for i in ${OPENBLAS_LIBS:S|$|.so|}; do \
${LN} -sf $$i.${OPENBLAS_SVER} $$i ; \
done
post-stage:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libopenblas.so.0
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libopenblasp.so.0
.for L in ${OPENBLAS_LIBS}
${INSTALL_DATA} ${WRKDIR}/lib/${L}.a ${STAGEDIR}${PREFIX}/lib
${INSTALL_LIB} ${WRKDIR}/lib/${L}.so.${OPENBLAS_SVER} ${STAGEDIR}${PREFIX}/lib
${LN} -sf ${L}.so.${OPENBLAS_SVER} ${STAGEDIR}${PREFIX}/lib/${L}.so
.endfor
.include <bsd.port.mk>

View File

@ -1,5 +1,5 @@
SHA256 (openblas/xianyi-OpenBLAS-v0.2.14_GH0.tar.gz) = 2411c4f56f477b42dff54db2b7ffc0b7cf53bb9778d54982595c64cc69c40fc1
SIZE (openblas/xianyi-OpenBLAS-v0.2.14_GH0.tar.gz) = 9858070
SHA256 (openblas/xianyi-OpenBLAS-v0.2.15_GH0.tar.gz) = 73c40ace5978282224e5e122a41c8388c5a19e65a6f2329c2b7c0b61bacc9044
SIZE (openblas/xianyi-OpenBLAS-v0.2.15_GH0.tar.gz) = 9966585
SHA256 (openblas/large.tgz) = f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1
SIZE (openblas/large.tgz) = 2595
SHA256 (openblas/timing.tgz) = 999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af

View File

@ -1,6 +1,6 @@
--- Makefile.orig 2013-07-27 01:21:05.000000000 +0900
+++ Makefile 2013-07-27 01:22:18.000000000 +0900
@@ -228,7 +228,7 @@
--- Makefile.orig 2015-10-27 20:44:50 UTC
+++ Makefile
@@ -238,7 +238,7 @@ ifndef NOFORTRAN
-@echo "LOADOPTS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
-@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc
-@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc

View File

@ -1,6 +1,6 @@
--- Makefile.rule.orig 2012-02-05 16:36:05.000000000 +0900
+++ Makefile.rule 2012-02-05 16:36:23.000000000 +0900
@@ -14,10 +14,10 @@
--- Makefile.rule.orig 2015-10-27 20:44:50 UTC
+++ Makefile.rule
@@ -19,10 +19,10 @@ VERSION = 0.2.15
# C compiler including binary type(32bit / 64bit). Default is gcc.
# Don't use Intel Compiler or PGI, it won't generate right codes as I expect.
@ -11,5 +11,5 @@
-# FC = gfortran
+FC = %%FC%%
# Even you can specify cross compiler
# CC = x86_64-w64-mingw32-gcc
# Even you can specify cross compiler. Meanwhile, please set HOSTCC.

View File

@ -1,6 +1,6 @@
--- Makefile.system.orig 2014-12-04 00:14:21.000000000 +0900
+++ Makefile.system 2015-02-23 05:27:11.000000000 +0900
@@ -199,6 +199,7 @@
--- Makefile.system.orig 2015-10-27 20:44:50 UTC
+++ Makefile.system
@@ -218,6 +218,7 @@ MD5SUM = md5 -r
endif
ifeq ($(OSNAME), FreeBSD)
@ -8,7 +8,7 @@
MD5SUM = md5 -r
endif
@@ -981,15 +982,6 @@
@@ -1020,15 +1021,6 @@ ifndef LIBSUFFIX
LIBSUFFIX = a
endif
@ -24,7 +24,7 @@
ifndef SMP
LIBNAME = $(LIBPREFIX)$(REVISION).$(LIBSUFFIX)
LIBNAME_P = $(LIBPREFIX)$(REVISION)_p.$(LIBSUFFIX)
@@ -997,7 +989,6 @@
@@ -1036,7 +1028,6 @@ else
LIBNAME = $(LIBPREFIX)p$(REVISION).$(LIBSUFFIX)
LIBNAME_P = $(LIBPREFIX)p$(REVISION)_p.$(LIBSUFFIX)
endif
@ -32,7 +32,7 @@
LIBDLLNAME = $(LIBPREFIX).dll
@@ -1028,7 +1019,7 @@
@@ -1067,7 +1058,7 @@ LIB_COMPONENTS = CBLAS
endif
export OSNAME

View File

@ -1,6 +1,6 @@
--- c_check.orig 2014-12-03 16:14:21.000000000 +0100
+++ c_check 2015-02-01 01:01:27.784108000 +0100
@@ -228,7 +228,7 @@
--- c_check.orig 2015-10-27 20:44:50 UTC
+++ c_check
@@ -235,7 +235,7 @@ open(CONFFILE, "> $config" ) || die "Ca
# print $data, "\n";
print MAKEFILE "OSNAME=$os\n";

View File

@ -1,5 +1,5 @@
--- cpuid_ia64.c.orig 2012-02-05 16:28:01.000000000 +0900
+++ cpuid_ia64.c 2012-02-05 16:28:41.000000000 +0900
--- cpuid_ia64.c.orig 2015-10-27 20:44:50 UTC
+++ cpuid_ia64.c
@@ -38,7 +38,9 @@
#include <stdio.h>

View File

@ -1,6 +1,6 @@
--- cpuid_sparc.c.orig 2012-02-05 16:29:26.000000000 +0900
+++ cpuid_sparc.c 2012-02-05 16:29:45.000000000 +0900
@@ -49,6 +49,7 @@
--- cpuid_sparc.c.orig 2015-10-27 20:44:50 UTC
+++ cpuid_sparc.c
@@ -49,6 +49,7 @@ void get_subdirname(void){
}
void get_cpuconfig(void){

View File

@ -0,0 +1,11 @@
--- driver/others/blas_server.c.orig 2015-10-27 20:44:50 UTC
+++ driver/others/blas_server.c
@@ -70,7 +70,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF
/*********************************************************************/
#include "common.h"
-#if defined(OS_LINUX) || defined(OS_NETBSD) || defined(OS_DARWIN) || defined(OS_ANDROID)
+#if defined(OS_LINUX) || defined(OS_NETBSD) || defined(OS_DARWIN) || defined(OS_ANDROID) || defined(OS_FREEBSD)
#include <dlfcn.h>
#include <signal.h>
#include <sys/resource.h>

View File

@ -0,0 +1,13 @@
Passing a priority level to constructor/destructor only works on GCC >= 4.3.0;
improve the upstream check so that the build works with base GCC.
--- driver/others/memory.c.orig 2015-10-27 20:44:50 UTC
+++ driver/others/memory.c
@@ -142,7 +142,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF
#if defined(_MSC_VER) && !defined(__clang__)
#define CONSTRUCTOR __cdecl
#define DESTRUCTOR __cdecl
-#elif defined(OS_DARWIN) && defined(C_GCC)
+#elif defined(OS_DARWIN) || (defined(C_GCC) && ((__GNUC__ == 4) && (__GNUC_MINOR__ < 3)))
#define CONSTRUCTOR __attribute__ ((constructor))
#define DESTRUCTOR __attribute__ ((destructor))
#else

View File

@ -1,10 +1,10 @@
--- exports/Makefile.orig 2012-11-27 08:24:53.000000000 +0900
+++ exports/Makefile 2012-11-28 01:24:49.000000000 +0900
@@ -122,6 +122,7 @@
--- exports/Makefile.orig 2015-10-27 20:44:50 UTC
+++ exports/Makefile
@@ -140,6 +140,7 @@ endif
#http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
ifeq ($(OSNAME), $(filter $(OSNAME),FreeBSD NetBSD))
+EXTRALIB += -lgfortran
so : ../$(LIBSONAME)
../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c
ifeq (, $(SYMBOLPREFIX)$(SYMBOLSUFFIX))

View File

@ -1,6 +1,6 @@
--- f_check.orig 2014-08-18 12:16:14.000000000 +0900
+++ f_check 2014-09-03 23:08:18.000000000 +0900
@@ -259,7 +259,7 @@
--- f_check.orig 2015-10-27 20:44:50 UTC
+++ f_check
@@ -261,7 +261,7 @@ if ($link ne "") {
foreach $flags (@flags) {
if (
@ -9,7 +9,7 @@
&& ($flags !~ /^-LIST:/)
&& ($flags !~ /^-LANG:/)
) {
@@ -290,7 +290,7 @@
@@ -292,7 +292,7 @@ if ($link ne "") {
}
if (