From d94cb031f6d7ec844c5ad972a91515c31248bf59 Mon Sep 17 00:00:00 2001 From: Guost123 Date: Sun, 27 Apr 2025 13:56:14 +0800 Subject: [PATCH 1/3] adapt for riscv64 --- openblas.spec | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/openblas.spec b/openblas.spec index 28e6d17..dbd3547 100644 --- a/openblas.spec +++ b/openblas.spec @@ -1,4 +1,4 @@ -%define anolis_release 2 +%define anolis_release 3 %bcond_with system_lapack %global lapackver 3.11.0 @@ -19,7 +19,11 @@ BuildRequires: make gcc gcc-c++ gcc-gfortran BuildRequires: perl-devel Obsoletes: %{name}-Rblas < %{EVR} +%ifnarch riscv64 %global execstack 1 +%else +%global execstack 0 +%endif %if %{execstack} BuildRequires: execstack %endif @@ -33,8 +37,13 @@ BuildRequires: lapack-static Provides: bundled(lapack) = %{lapackver} %endif +%if 0%{?__isa_bits} == 64 %global build64 1 %bcond_without cpp_thread_check +%else +%global build64 0 +%bcond_with cpp_thread_check +%endif %if %{with system_lapack} %if %build64 @@ -310,6 +319,9 @@ TARGET="TARGET=ARMV8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1" %ifarch loongarch64 TARGET="TARGET=LOONGSONGENERIC DYNAMIC_ARCH=1" %endif +%ifarch riscv64 +TARGET="TARGET=RISCV64_GENERIC DYNAMIC_ARCH=0" +%endif COMMON="%{optflags} -fPIC" FCOMMON="%{optflags} -fPIC -frecursive" @@ -345,13 +357,19 @@ make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_ %endif %install -make -C serial USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%name OPENBLAS_BINARY_DIR=%{buildroot}%{_bindir} OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake install +rm -rf %{buildroot} +%ifarch riscv64 +TARGET="TARGET=RISCV64_GENERIC DYNAMIC_ARCH=0" +%else +TARGET= +%endif +make -C serial $TARGET USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%name OPENBLAS_BINARY_DIR=%{buildroot}%{_bindir} OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake install %if %{with system_lapack} && %{lapacke} cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name} %endif -suffix="" +suffix="_riscv64_generic" slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so` mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a if [[ "$suffix" != "" ]]; then @@ -528,6 +546,9 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig %endif %changelog +* Sun Apr 27 2025 Shangtong Guo - 0.3.28-3 +- add support for riscv64 build + * Thu Mar 27 2025 Wenlong Zhang - 0.3.28-2 - Fixed the undefined reference to blas_set_parameter -- Gitee From 7ae49176b2a0609f0883c57273d3b01992ee66d7 Mon Sep 17 00:00:00 2001 From: Guost123 Date: Tue, 29 Apr 2025 17:16:01 +0800 Subject: [PATCH 2/3] adapt for riscv64 --- openblas.spec | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/openblas.spec b/openblas.spec index dbd3547..f9b61bd 100644 --- a/openblas.spec +++ b/openblas.spec @@ -358,12 +358,7 @@ make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_ %install rm -rf %{buildroot} -%ifarch riscv64 -TARGET="TARGET=RISCV64_GENERIC DYNAMIC_ARCH=0" -%else -TARGET= -%endif -make -C serial $TARGET USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%name OPENBLAS_BINARY_DIR=%{buildroot}%{_bindir} OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake install +make -C serial USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%name OPENBLAS_BINARY_DIR=%{buildroot}%{_bindir} OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake install %if %{with system_lapack} && %{lapacke} cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name} -- Gitee From 7f7927cee12891d24af3fa07ef996eb1e1d4d624 Mon Sep 17 00:00:00 2001 From: Guost123 Date: Tue, 29 Apr 2025 17:19:29 +0800 Subject: [PATCH 3/3] adapt for riscv64 --- openblas.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openblas.spec b/openblas.spec index f9b61bd..2289c3e 100644 --- a/openblas.spec +++ b/openblas.spec @@ -364,7 +364,10 @@ make -C serial USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name} %endif +suffix="" +%ifarch riscv64 suffix="_riscv64_generic" +%endif slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so` mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a if [[ "$suffix" != "" ]]; then -- Gitee