Page MenuHomeFreeBSD

D17333.id48498.diff
No OneTemporary

D17333.id48498.diff

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

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)

Event Timeline