Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F147393962
D17333.id48498.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
14 KB
Referenced Files
None
Subscribers
None
D17333.id48498.diff
View Options
Index: math/openblas/Makefile
===================================================================
--- math/openblas/Makefile
+++ math/openblas/Makefile
@@ -2,15 +2,17 @@
# $FreeBSD$
PORTNAME= openblas
-PORTVERSION= 0.2.20
-PORTREVISION= 3
DISTVERSIONPREFIX= v
+DISTVERSION= 0.3.3
PORTEPOCH= 1
CATEGORIES= math
MASTER_SITES= NL/lapack/timing/:lapack_tmg
DISTFILES= large.tgz:lapack_tmg timing.tgz:lapack_tmg
DIST_SUBDIR= openblas
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES= 2349e151497dc4686413d65954d5418519dfc320.patch:-p1
+
MAINTAINER= phd_kimberlite@yahoo.co.jp
COMMENT= Optimized BLAS library based on GotoBLAS2
@@ -19,25 +21,31 @@
BROKEN_powerpc64= fails to compile: gemm.c:403: 'SGEMM_DEFAULT_Q' undeclared (first use in this function)
-USES= fortran gmake perl5
+CONFLICTS_INSTALL= cblas lapacke
+
+FLAVORS= default interface64 # Use 8 byte integers on 64-bit architectures
+FLAVOR?= ${FLAVORS:[1]}
+USES= cmake:outsource fortran perl5 pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= xianyi
GH_PROJECT= OpenBLAS
LARGE_FILE= large.tgz
TIMING_FILE= timing.tgz
-
USE_LDCONFIG= yes
USE_PERL5= build
-OPENBLAS_SUFX= r${PORTVERSION}
-OPENBLAS_LIBS= libopenblas libopenblasp
-OPENBLAS_SVER= 0
-OPENBLAS_FILES= ${OPENBLAS_LIBS:S|$|.so|} ${OPENBLAS_LIBS:S|$|.so.${OPENBLAS_SVER}|} ${OPENBLAS_LIBS:S|$|.a|}
-PLIST_FILES= ${OPENBLAS_FILES:S|^|lib/|}
+CMAKE_ON= BUILD_SHARED_LIBS
+
TEST_TARGET= tests
-OPTIONS_DEFINE= INTERFACE64 OPENMP
+.if ${FLAVOR} == interface64
+PKGNAMESUFFIX= -interface64
+CMAKE_ARGS= -DINTERFACE64:STRING=1
+PLIST= ${PKGDIR}/pkg-plist.interface64
+.endif
+
+OPTIONS_DEFINE= OPENMP
OPTIONS_DEFINE_i386= DYNAMIC_ARCH AVX AVX2
OPTIONS_DEFINE_amd64= ${OPTIONS_DEFINE_i386}
@@ -47,11 +55,18 @@
.endif
DYNAMIC_ARCH_DESC= Support multiple CPU types on i386 and amd64
-INTERFACE64_DESC= Use 8 byte integers on 64-bit architectures
OPENMP_DESC= Use OpenMP for threading
AVX_DESC= Support Advanced Vector Extensions (AVX)
AVX2_DESC= Support Advanced Vector Extensions 2 (AVX2)
+DYNAMIC_ARCH_CMAKE_BOOL= DYNAMIC_ARCH
+
+USE_OPENMP_USES= compiler:openmp
+USE_OPENMP_CMAKE_BOOL= USE_OPENMP
+
+AVX_CMAKE_OFF= -DNO_AVX=1
+AVX2_CMAKE_OFF= -DNO_AVX2=1
+
.include <bsd.port.options.mk>
.if defined(TARGET_CPU_ARCH)
@@ -71,81 +86,16 @@
MANUAL_PACKAGE_BUILD= Optimizes for the build machine.
.endif
-.if ${PORT_OPTIONS:MDYNAMIC_ARCH}
-BUILDFLAGS+= DYNAMIC_ARCH=1
-.endif
-
-.if ${PORT_OPTIONS:MINTERFACE64}
-BUILDFLAGS+= INTERFACE64=1
-.endif
-
-.if ${PORT_OPTIONS:MOPENMP}
-USES+= compiler:openmp
-BUILDFLAGS_THREAD+= USE_OPENMP=1
-.endif
-
-.if ! ${PORT_OPTIONS:MAVX}
-BUILDFLAGS+= NO_AVX=1
-.endif
-
-.if ! ${PORT_OPTIONS:MAVX2}
-BUILDFLAGS+= NO_AVX2=1
-.endif
-
post-extract:
cd ${DISTDIR}/${DIST_SUBDIR} ; \
${CP} ${LARGE_FILE} ${TIMING_FILE} ${WRKSRC}
${MKDIR} ${WRKDIR}/lib
-post-patch:
- ${REINPLACE_CMD} -e "s+%%FIND%%+${FIND}+" \
- -e "s+%%XARGS%%+${XARGS}+" \
- -e "s+%%REINPLACE_CMD%%+${REINPLACE_CMD}+" \
- ${WRKSRC}/Makefile
- ${REINPLACE_CMD} -e "s+%%FC%%+${FC}+" -e "s+%%CC%%+${CC}+" \
- ${WRKSRC}/Makefile.rule
- ${REINPLACE_CMD} -e "s+(ARCH)+(ARCH_)+" \
- ${WRKSRC}/Makefile.rule \
- ${WRKSRC}/Makefile.tail \
- ${WRKSRC}/driver/level3/Makefile \
- ${WRKSRC}/driver/others/Makefile \
- ${WRKSRC}/exports/Makefile \
- ${WRKSRC}/interface/Makefile \
- ${WRKSRC}/kernel/Makefile \
- ${WRKSRC}/kernel/Makefile.L3 \
- ${WRKSRC}/lapack/laswp/Makefile \
- ${WRKSRC}/lapack-netlib/SRC/Makefile \
- ${WRKSRC}/lapack-netlib/SRC/VARIANTS/Makefile \
- ${WRKSRC}/lapack-netlib/TESTING/MATGEN/Makefile \
- ${WRKSRC}/lapack-netlib/LAPACKE/src/Makefile \
- ${WRKSRC}/lapack-netlib/LAPACKE/utils/Makefile \
- ${WRKSRC}/reference/Makefile
- ${REINPLACE_CMD} -e "s+(ARCH)+(ARCH_)+" \
- -e 's+%%LDFLAGS%%+${LDFLAGS}+' \
- -e 's+%%LOCALBASE%%+${LOCALBASE}+' \
- -e 's+%%FIND%%+${FIND}+' \
- -e 's+%%XARGS%%+${XARGS}+' \
- -e 's+%%REINPLACE_CMD%%+${REINPLACE_CMD}+' \
- -e 's+$${CROSS_SUFFIX}+${LOCALBASE}/bin/+' \
- -e '/Clang.*OpenMP/g' \
- ${WRKSRC}/Makefile.system
-
post-patch-OPENMP-on:
${REINPLACE_CMD} -e "s+OPENBLAS_NUM_THREADS+OMP_NUM_THREADS+g" \
${WRKSRC}/test/Makefile \
${WRKSRC}/ctest/Makefile
-do-build:
- cd ${WRKSRC} ; ${SETENV} ${BUILDFLAGS} NUM_THREADS=1 USE_THREAD=0 \
- ${MAKE_CMD} ${MAKE_ARGS}
- ${CP} ${WRKSRC}/libopenblas-${OPENBLAS_SUFX}.a ${WRKDIR}/lib/libopenblas.a
- ${CP} ${WRKSRC}/libopenblas-${OPENBLAS_SUFX}.so ${WRKDIR}/lib/libopenblas.so.${OPENBLAS_SVER}
- cd ${WRKSRC} ; ${MAKE_CMD} ${MAKE_ARGS} clean
- cd ${WRKSRC} ; ${SETENV} ${BUILDFLAGS} ${BUILDFLAGS_THREAD} \
- ${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}
-
BENCHMARK_MAXTHREADS?= ${MAXTHREADS}
.if ${PORT_OPTIONS:MOPENMP}
BENCHMARK_THREADS_FLAG= OMP_NUM_THREADS=${BENCHMARK_MAXTHREADS}
@@ -159,11 +109,4 @@
cd ${WRKSRC}/benchmark ; ${SETENV} ${BUILDFLAGS} NUM_THREADS=${MAXTHREADS} \
USE_THREAD=1 ${BENCHMARK_THREADS_FLAG} ${MAKE_CMD} ${MAKE_ARGS}
-do-install:
-.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>
Index: math/openblas/distinfo
===================================================================
--- math/openblas/distinfo
+++ math/openblas/distinfo
@@ -1,7 +1,9 @@
-TIMESTAMP = 1503123719
+TIMESTAMP = 1538035912
SHA256 (openblas/large.tgz) = f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1
SIZE (openblas/large.tgz) = 2595
SHA256 (openblas/timing.tgz) = 999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af
SIZE (openblas/timing.tgz) = 1059485
-SHA256 (openblas/xianyi-OpenBLAS-v0.2.20_GH0.tar.gz) = 5ef38b15d9c652985774869efd548b8e3e972e1e99475c673b25537ed7bcf394
-SIZE (openblas/xianyi-OpenBLAS-v0.2.20_GH0.tar.gz) = 11637301
+SHA256 (openblas/xianyi-OpenBLAS-v0.3.3_GH0.tar.gz) = 49d88f4494ae780e3d7fa51769c00d982d7cdb73e696054ac3baa81d42f13bab
+SIZE (openblas/xianyi-OpenBLAS-v0.3.3_GH0.tar.gz) = 11821696
+SHA256 (openblas/2349e151497dc4686413d65954d5418519dfc320.patch) = 234657962fe7a4b6f6f8b07cb66cbd2d8fe44d82504dc608dab24c6113a4bd1b
+SIZE (openblas/2349e151497dc4686413d65954d5418519dfc320.patch) = 5346
Index: math/openblas/files/patch-CMakeLists.txt
===================================================================
--- /dev/null
+++ math/openblas/files/patch-CMakeLists.txt
@@ -0,0 +1,29 @@
+--- CMakeLists.txt.orig 2018-09-27 07:33:15 UTC
++++ CMakeLists.txt
+@@ -180,7 +180,9 @@ foreach (OUTPUTCONFIG ${CMAKE_CONFIGURAT
+ set_target_properties( ${OpenBLAS_LIBNAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_BINARY_DIR}/lib/${OUTPUTCONFIG} )
+ endforeach()
+
+-enable_testing()
++if (ENABLE_TESTING)
++ enable_testing()
++endif()
+
+ if (USE_THREAD)
+ # Add threading library to linker
+@@ -192,6 +194,7 @@ if (USE_THREAD)
+ target_link_libraries(${OpenBLAS_LIBNAME} ${CMAKE_THREAD_LIBS_INIT})
+ endif()
+
++if (ENABLE_TESTING)
+ if (MSVC OR NOT NOFORTRAN)
+ # Broken without fortran on unix
+ add_subdirectory(utest)
+@@ -204,6 +207,7 @@ if (NOT MSVC AND NOT NOFORTRAN)
+ add_subdirectory(ctest)
+ endif()
+ endif()
++endif()
+
+ set_target_properties(${OpenBLAS_LIBNAME} PROPERTIES
+ VERSION ${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}
Index: math/openblas/files/patch-Makefile
===================================================================
--- math/openblas/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
-- -@echo "ARCH = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
-+ -@echo "ARCH_ = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "ARCHFLAGS = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
Index: math/openblas/files/patch-Makefile.rule
===================================================================
--- math/openblas/files/patch-Makefile.rule
+++ /dev/null
@@ -1,15 +0,0 @@
---- 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.
--# CC = gcc
-+CC = %%CC%%
-
- # Fortran compiler. Default is g77.
--# FC = gfortran
-+FC = %%FC%%
-
- # Even you can specify cross compiler. Meanwhile, please set HOSTCC.
-
Index: math/openblas/files/patch-Makefile.system
===================================================================
--- math/openblas/files/patch-Makefile.system
+++ /dev/null
@@ -1,62 +0,0 @@
---- Makefile.system.orig 2015-10-27 20:44:50 UTC
-+++ Makefile.system
-@@ -218,6 +218,7 @@ MD5SUM = md5 -r
- endif
-
- ifeq ($(OSNAME), FreeBSD)
-+EXTRALIB += -lm %%LDFLAGS%%
- MD5SUM = md5 -r
- endif
-
-@@ -889,9 +890,17 @@ SYMBOLSUFFIX =
- endif
-
- ifndef LIBNAMESUFFIX
-+ifndef SMP
- LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)
- else
-+LIBPREFIX = lib$(SYMBOLPREFIX)openblasp$(SYMBOLSUFFIX)
-+endif
-+else
-+ifndef SMP
- LIBPREFIX = lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX)_$(LIBNAMESUFFIX)
-+else
-+LIBPREFIX = lib$(SYMBOLPREFIX)openblasp$(SYMBOLSUFFIX)_$(LIBNAMESUFFIX)
-+endif
- endif
-
- KERNELDIR = $(TOPDIR)/kernel/$(ARCH)
-@@ -1020,24 +1029,8 @@ ifndef LIBSUFFIX
- LIBSUFFIX = a
- endif
-
--ifneq ($(DYNAMIC_ARCH), 1)
--ifndef SMP
--LIBNAME = $(LIBPREFIX)_$(LIBCORE)$(REVISION).$(LIBSUFFIX)
--LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)$(REVISION)_p.$(LIBSUFFIX)
--else
--LIBNAME = $(LIBPREFIX)_$(LIBCORE)p$(REVISION).$(LIBSUFFIX)
--LIBNAME_P = $(LIBPREFIX)_$(LIBCORE)p$(REVISION)_p.$(LIBSUFFIX)
--endif
--else
--ifndef SMP
- LIBNAME = $(LIBPREFIX)$(REVISION).$(LIBSUFFIX)
- LIBNAME_P = $(LIBPREFIX)$(REVISION)_p.$(LIBSUFFIX)
--else
--LIBNAME = $(LIBPREFIX)p$(REVISION).$(LIBSUFFIX)
--LIBNAME_P = $(LIBPREFIX)p$(REVISION)_p.$(LIBSUFFIX)
--endif
--endif
--
-
- LIBDLLNAME = $(LIBPREFIX).dll
- LIBSONAME = $(LIBNAME:.$(LIBSUFFIX)=.so)
-@@ -1067,7 +1060,7 @@ LIB_COMPONENTS = CBLAS
- endif
-
- export OSNAME
--export ARCH
-+export ARCH_
- export CORE
- export LIBCORE
- export PGCPATH
Index: math/openblas/files/patch-cpuid_sparc.c
===================================================================
--- math/openblas/files/patch-cpuid_sparc.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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){
-+ printf("#define SPARC\n");
- printf("#define V9\n");
- printf("#define DTB_DEFAULT_ENTRIES 32\n");
- }
Index: math/openblas/files/patch-driver_others_memory.c
===================================================================
--- math/openblas/files/patch-driver_others_memory.c
+++ math/openblas/files/patch-driver_others_memory.c
@@ -1,8 +1,8 @@
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 2016-04-12 19:29:19 UTC
+--- driver/others/memory.c.orig 2018-08-30 22:07:48 UTC
+++ driver/others/memory.c
-@@ -144,7 +144,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+@@ -1652,7 +1652,7 @@ void gotoblas_dummy_for_PGI(void) {
#if defined(_MSC_VER) && !defined(__clang__)
#define CONSTRUCTOR __cdecl
#define DESTRUCTOR __cdecl
Index: math/openblas/files/patch-exports+Makefile
===================================================================
--- math/openblas/files/patch-exports+Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
---- 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)
-
- ifeq (, $(SYMBOLPREFIX)$(SYMBOLSUFFIX))
-@@ -151,6 +152,7 @@ else
- endif
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
- -Wl,--whole-archive $< -Wl,--no-whole-archive \
-+ -Wl,-soname,$(LIBPREFIX).so.$(MAJOR_VERSION) \
- $(FEXTRALIB) $(EXTRALIB)
- $(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK.
- rm -f linktest
Index: math/openblas/pkg-plist
===================================================================
--- /dev/null
+++ math/openblas/pkg-plist
@@ -0,0 +1,17 @@
+include/openblas/cblas.h
+include/openblas/f77blas.h
+include/openblas/lapacke.h
+include/openblas/lapacke_config.h
+include/openblas/lapacke_example_aux.h
+include/openblas/lapacke_mangling.h
+include/openblas/lapacke_utils.h
+include/openblas/openblas/lapacke_mangling.h
+include/openblas/openblas_config.h
+lib/libopenblas.so
+lib/libopenblas.so.0
+lib/libopenblas.so.0.3
+libdata/pkgconfig/openblas.pc
+share/cmake/OpenBLAS/OpenBLASConfig.cmake
+share/cmake/OpenBLAS/OpenBLASConfigVersion.cmake
+share/cmake/OpenBLAS/OpenBLASTargets-%%CMAKE_BUILD_TYPE%%.cmake
+share/cmake/OpenBLAS/OpenBLASTargets.cmake
Index: math/openblas/pkg-plist.interface64
===================================================================
--- /dev/null
+++ math/openblas/pkg-plist.interface64
@@ -0,0 +1,17 @@
+include/openblas64/cblas.h
+include/openblas64/f77blas.h
+include/openblas64/lapacke.h
+include/openblas64/lapacke_config.h
+include/openblas64/lapacke_example_aux.h
+include/openblas64/lapacke_mangling.h
+include/openblas64/lapacke_utils.h
+include/openblas64/openblas64/lapacke_mangling.h
+include/openblas64/openblas_config.h
+lib/libopenblas_64.so
+lib/libopenblas_64.so.0
+lib/libopenblas_64.so.0.3
+libdata/pkgconfig/openblas64.pc
+share/cmake/OpenBLAS64/OpenBLAS64Config.cmake
+share/cmake/OpenBLAS64/OpenBLAS64ConfigVersion.cmake
+share/cmake/OpenBLAS64/OpenBLAS64Targets-%%CMAKE_BUILD_TYPE%%.cmake
+share/cmake/OpenBLAS64/OpenBLAS64Targets.cmake
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Mar 11, 3:02 PM (4 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29542231
Default Alt Text
D17333.id48498.diff (14 KB)
Attached To
Mode
D17333: math/openblas: Update to 0.3.3 introducing flavors.openblas has the option INTERFACE64.
Attached
Detach File
Event Timeline
Log In to Comment