make separate packages for 64-bit versions with and without suffix (bz1295965)
This commit is contained in:
parent
2b14903831
commit
08e68c6922
@ -1,7 +1,7 @@
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
ifndef SYMBOLSUFFIX
|
||||
SYMBOLSUFFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
@ -56,29 +56,29 @@ OBJS= $(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
|
||||
$(ALLBLAS)
|
||||
|
||||
static: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
ar ruv libblas.a $(OBJS)
|
||||
ranlib libblas.a
|
||||
else
|
||||
ar ruv libblas$(SYMBOLPREFIX).a $(OBJS)
|
||||
ranlib libblas$(SYMBOLPREFIX).a
|
||||
for i in `nm libblas$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > blas-static-prefix.def.dirty
|
||||
ar ruv libblas$(SYMBOLSUFFIX).a $(OBJS)
|
||||
ranlib libblas$(SYMBOLSUFFIX).a
|
||||
for i in `nm libblas$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > blas-static-prefix.def.dirty
|
||||
sort -n blas-static-prefix.def.dirty | uniq > blas-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms blas-static-prefix.def libblas$(SYMBOLPREFIX).a libblas$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf libblas$(SYMBOLPREFIX).a
|
||||
mv libblas$(SYMBOLPREFIX).a.fixed libblas$(SYMBOLPREFIX).a
|
||||
$(OBJCOPY) --redefine-syms blas-static-prefix.def libblas$(SYMBOLSUFFIX).a libblas$(SYMBOLSUFFIX).a.fixed
|
||||
rm -rf libblas$(SYMBOLSUFFIX).a
|
||||
mv libblas$(SYMBOLSUFFIX).a.fixed libblas$(SYMBOLSUFFIX).a
|
||||
endif
|
||||
|
||||
shared: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libblas.so.@SHORTVER@ -o libblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws libblas$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > blas-prefix.def.dirty
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLSUFFIX).so.@SHORTVER@ -o libblas$(SYMBOLSUFFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
||||
for i in `readelf -Ws libblas$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > blas-prefix.def.dirty
|
||||
sort -n blas-prefix.def.dirty | uniq > blas-prefix.def
|
||||
$(OBJCOPY) --redefine-syms blas-prefix.def libblas$(SYMBOLPREFIX).so.@LONGVER@ libblas$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf libblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv libblas$(SYMBOLPREFIX).so.@LONGVER@.fixed libblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
$(OBJCOPY) --redefine-syms blas-prefix.def libblas$(SYMBOLSUFFIX).so.@LONGVER@ libblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed
|
||||
rm -rf libblas$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
mv libblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed libblas$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
ifndef SYMBOLSUFFIX
|
||||
SYMBOLSUFFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
@ -70,30 +70,30 @@ OBJS= $(SLEV1) $(DLEV1) $(CLEV1) $(ZLEV1) $(SCLEV1) $(SLEV2) $(DLEV2) $(CLEV2) \
|
||||
$(ZLEV2) $(SLEV3) $(DLEV3) $(CLEV3) $(ZLEV3) $(ERRHAND)
|
||||
|
||||
static: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
ar ruv libcblas.a $(OBJS)
|
||||
ranlib libcblas.a
|
||||
else
|
||||
ar ruv libcblas$(SYMBOLPREFIX).a $(OBJS)
|
||||
ranlib libcblas$(SYMBOLPREFIX).a
|
||||
for i in `nm libcblas$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > cblas-static-prefix.def.dirty
|
||||
ar ruv libcblas$(SYMBOLSUFFIX).a $(OBJS)
|
||||
ranlib libcblas$(SYMBOLSUFFIX).a
|
||||
for i in `nm libcblas$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > cblas-static-prefix.def.dirty
|
||||
sort -n cblas-static-prefix.def.dirty | uniq > cblas-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms cblas-static-prefix.def libcblas$(SYMBOLPREFIX).a libcblas$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf libcblas$(SYMBOLPREFIX).a
|
||||
mv libcblas$(SYMBOLPREFIX).a.fixed libcblas$(SYMBOLPREFIX).a
|
||||
$(OBJCOPY) --redefine-syms cblas-static-prefix.def libcblas$(SYMBOLSUFFIX).a libcblas$(SYMBOLSUFFIX).a.fixed
|
||||
rm -rf libcblas$(SYMBOLSUFFIX).a
|
||||
mv libcblas$(SYMBOLSUFFIX).a.fixed libcblas$(SYMBOLSUFFIX).a
|
||||
endif
|
||||
|
||||
shared: $(OBJS)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas.so.@SHORTVER@ -o libcblas.so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../../ -lblas -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libcblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws libcblas$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > cblas-prefix.def.dirty
|
||||
cc $(CFLAGS) -shared -Wl,-soname,libcblas$(SYMBOLSUFFIX).so.@SHORTVER@ -o libcblas$(SYMBOLSUFFIX).so.@LONGVER@ $(OBJS) $(LDFLAGS) -L../.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
||||
for i in `readelf -Ws libcblas$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > cblas-prefix.def.dirty
|
||||
sort -n cblas-prefix.def.dirty | uniq > cblas-prefix.def
|
||||
$(OBJCOPY) --redefine-syms cblas-prefix.def libcblas$(SYMBOLPREFIX).so.@LONGVER@ libcblas$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf libcblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv libcblas$(SYMBOLPREFIX).so.@LONGVER@.fixed libcblas$(SYMBOLPREFIX).so.@LONGVER@
|
||||
$(OBJCOPY) --redefine-syms cblas-prefix.def libcblas$(SYMBOLSUFFIX).so.@LONGVER@ libcblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed
|
||||
rm -rf libcblas$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
mv libcblas$(SYMBOLSUFFIX).so.@LONGVER@.fixed libcblas$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
endif
|
||||
|
||||
|
@ -2,8 +2,8 @@ include ../make.inc
|
||||
|
||||
OBJCOPY = objcopy
|
||||
|
||||
ifndef SYMBOLPREFIX
|
||||
SYMBOLPREFIX =
|
||||
ifndef SYMBOLSUFFIX
|
||||
SYMBOLSUFFIX =
|
||||
endif
|
||||
|
||||
clean:
|
||||
@ -450,29 +450,29 @@ ALLXOBJ=$(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) $(ALLXAUX)
|
||||
endif
|
||||
|
||||
static: $(ALLOBJ) $(ALLXOBJ)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
ar ruv liblapack.a $(ALLOBJ) $(ALLXOBJ)
|
||||
ranlib liblapack.a
|
||||
else
|
||||
ar ruv liblapack$(SYMBOLPREFIX).a $(ALLOBJ) $(ALLXOBJ)
|
||||
ranlib liblapack$(SYMBOLPREFIX).a
|
||||
for i in `nm liblapack$(SYMBOLPREFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > lapack-static-prefix.def.dirty
|
||||
ar ruv liblapack$(SYMBOLSUFFIX).a $(ALLOBJ) $(ALLXOBJ)
|
||||
ranlib liblapack$(SYMBOLSUFFIX).a
|
||||
for i in `nm liblapack$(SYMBOLSUFFIX).a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > lapack-static-prefix.def.dirty
|
||||
sort -n lapack-static-prefix.def.dirty | uniq > lapack-static-prefix.def
|
||||
$(OBJCOPY) --redefine-syms lapack-static-prefix.def liblapack$(SYMBOLPREFIX).a liblapack$(SYMBOLPREFIX).a.fixed
|
||||
rm -rf liblapack$(SYMBOLPREFIX).a
|
||||
mv liblapack$(SYMBOLPREFIX).a.fixed liblapack$(SYMBOLPREFIX).a
|
||||
$(OBJCOPY) --redefine-syms lapack-static-prefix.def liblapack$(SYMBOLSUFFIX).a liblapack$(SYMBOLSUFFIX).a.fixed
|
||||
rm -rf liblapack$(SYMBOLSUFFIX).a
|
||||
mv liblapack$(SYMBOLSUFFIX).a.fixed liblapack$(SYMBOLSUFFIX).a
|
||||
endif
|
||||
|
||||
shared: $(ALLOBJ) $(ALLXOBJ)
|
||||
ifeq "$(SYMBOLPREFIX)" ""
|
||||
ifeq "$(SYMBOLSUFFIX)" ""
|
||||
# No renaming needed
|
||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack.so.@SHORTVER@ -o liblapack.so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||
else
|
||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLPREFIX).so.@SHORTVER@ -o liblapack$(SYMBOLPREFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
|
||||
for i in `readelf -Ws liblapack$(SYMBOLPREFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > lapack-prefix.def.dirty
|
||||
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLSUFFIX).so.@SHORTVER@ -o liblapack$(SYMBOLSUFFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) $(LDFLAGS) -L.. -lblas -lm -lgfortran -lc
|
||||
# generate a list of all symbols in shared library and rename with SYMBOLSUFFIX
|
||||
for i in `readelf -Ws liblapack$(SYMBOLSUFFIX).so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > lapack-prefix.def.dirty
|
||||
sort -n lapack-prefix.def.dirty | uniq > lapack-prefix.def
|
||||
$(OBJCOPY) --redefine-syms lapack-prefix.def liblapack$(SYMBOLPREFIX).so.@LONGVER@ liblapack$(SYMBOLPREFIX).so.@LONGVER@.fixed
|
||||
rm -rf liblapack$(SYMBOLPREFIX).so.@LONGVER@
|
||||
mv liblapack$(SYMBOLPREFIX).so.@LONGVER@.fixed liblapack$(SYMBOLPREFIX).so.@LONGVER@
|
||||
$(OBJCOPY) --redefine-syms lapack-prefix.def liblapack$(SYMBOLSUFFIX).so.@LONGVER@ liblapack$(SYMBOLSUFFIX).so.@LONGVER@.fixed
|
||||
rm -rf liblapack$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
mv liblapack$(SYMBOLSUFFIX).so.@LONGVER@.fixed liblapack$(SYMBOLSUFFIX).so.@LONGVER@
|
||||
endif
|
||||
|
242
lapack.spec
242
lapack.spec
@ -10,7 +10,7 @@
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Name: lapack
|
||||
Version: %{mediumver}.0
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
License: BSD
|
||||
URL: http://www.netlib.org/lapack/
|
||||
Source0: https://github.com/Reference-LAPACK/lapack/archive/v%{version}.tar.gz
|
||||
@ -30,7 +30,7 @@ Patch8: https://github.com/Reference-LAPACK/lapack/commit/87536aa3c8bb0af00f6608
|
||||
BuildRequires: gcc-gfortran, gawk
|
||||
Requires: blas%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description
|
||||
%global _description_lapack %{expand:
|
||||
LAPACK (Linear Algebra PACKage) is a standard library for numerical
|
||||
linear algebra. LAPACK provides routines for solving systems of
|
||||
simultaneous linear equations, least-squares solutions of linear
|
||||
@ -42,6 +42,14 @@ are also included. LAPACK can handle dense and banded matrices, but
|
||||
not general sparse matrices. Similar functionality is provided for
|
||||
real and complex matrices in both single and double precision. LAPACK
|
||||
is coded in Fortran90 and built with gcc.
|
||||
}
|
||||
|
||||
%global _description_blas %{expand:
|
||||
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||
provides a number of basic algorithms for numerical algebra.
|
||||
}
|
||||
|
||||
%description %_description_lapack
|
||||
|
||||
%package devel
|
||||
Summary: LAPACK development libraries
|
||||
@ -61,9 +69,7 @@ LAPACK static libraries.
|
||||
%package -n blas
|
||||
Summary: The Basic Linear Algebra Subprograms library
|
||||
|
||||
%description -n blas
|
||||
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||
provides a number of basic algorithms for numerical algebra.
|
||||
%description -n blas %_description_blas
|
||||
|
||||
%package -n blas-devel
|
||||
Summary: BLAS development libraries
|
||||
@ -85,59 +91,27 @@ BLAS static libraries.
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Requires: blas64%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64
|
||||
LAPACK (Linear Algebra PACKage) is a standard library for numerical
|
||||
linear algebra. LAPACK provides routines for solving systems of
|
||||
simultaneous linear equations, least-squares solutions of linear
|
||||
systems of equations, eigenvalue problems, and singular value
|
||||
problems. Associated matrix factorizations (LU, Cholesky, QR, SVD,
|
||||
Schur, and generalized Schur) and related computations (i.e.,
|
||||
reordering of Schur factorizations and estimating condition numbers)
|
||||
are also included. LAPACK can handle dense and banded matrices, but
|
||||
not general sparse matrices. Similar functionality is provided for
|
||||
real and complex matrices in both single and double precision. LAPACK
|
||||
is coded in Fortran90 and built with gcc.
|
||||
%description -n lapack64 %_description_lapack
|
||||
This build has 64bit INTEGER support.
|
||||
|
||||
%package -n lapack64-devel
|
||||
Summary: LAPACK development libraries (64bit INTEGER)
|
||||
Requires: lapack64%{?_isa} = %{version}-%{release}
|
||||
Requires: lapack-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: blas64-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64-devel
|
||||
LAPACK development libraries (shared, 64bit INTEGER).
|
||||
|
||||
%package -n lapack64-static
|
||||
Summary: LAPACK static libraries (64bit INTEGER)
|
||||
Requires: lapack64-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n lapack64-static
|
||||
LAPACK static libraries (64bit INTEGER).
|
||||
|
||||
%package -n blas64
|
||||
Summary: The Basic Linear Algebra Subprograms library (64bit INTEGER)
|
||||
|
||||
%description -n blas64
|
||||
BLAS (Basic Linear Algebra Subprograms) is a standard library which
|
||||
provides a number of basic algorithms for numerical algebra. This build
|
||||
has 64bit INTEGER support.
|
||||
%description -n blas64 %_description_blas
|
||||
This build has 64bit INTEGER support.
|
||||
|
||||
%package -n blas64-devel
|
||||
Summary: BLAS development libraries
|
||||
Requires: blas64%{?_isa} = %{version}-%{release}
|
||||
Requires: blas-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: gcc-gfortran
|
||||
%package -n lapack64_
|
||||
Summary: Numerical linear algebra package libraries
|
||||
Requires: blas64_%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n blas64-devel
|
||||
BLAS development libraries (shared).
|
||||
%description -n lapack64_ %_description_lapack
|
||||
This build has 64bit INTEGER support and a symbol name suffix.
|
||||
|
||||
%package -n blas64-static
|
||||
Summary: BLAS static libraries (64bit INTEGER)
|
||||
Requires: blas64-devel%{?_isa} = %{version}-%{release}
|
||||
%package -n blas64_
|
||||
Summary: The Basic Linear Algebra Subprograms library (64bit INTEGER)
|
||||
|
||||
%description -n blas64-static
|
||||
BLAS static libraries (64bit INTEGER).
|
||||
%description -n blas64_ %_description_blas
|
||||
This build has 64bit INTEGER support and a symbol name suffix.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
@ -184,17 +158,26 @@ cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
%if 0%{?arch64}
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
cp libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.a
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
|
||||
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||
cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64.so.%{version}
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fdefault-integer-8" make dcabs1.o
|
||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" make static
|
||||
cp libblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.a
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" make dcabs1.o
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="%{build_ldflags}" make shared
|
||||
cp libblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libblas64_.so.%{version}
|
||||
%endif
|
||||
popd
|
||||
|
||||
ln -s libblas.so.%{version} libblas.so
|
||||
%if 0%{?arch64}
|
||||
ln -s libblas64.so.%{version} libblas64.so
|
||||
ln -s libblas64_.so.%{version} libblas64_.so
|
||||
%endif
|
||||
|
||||
@ -208,16 +191,23 @@ FFLAGS="$RPM_OPT_FLAGS -fPIC" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS
|
||||
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
|
||||
%if 0%{?arch64}
|
||||
make clean
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||
FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||
cp libcblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64.a
|
||||
make clean
|
||||
FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||
cp libcblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64.so.%{version}
|
||||
make clean
|
||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -I../include" make static
|
||||
cp libcblas64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.a
|
||||
make clean
|
||||
SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||
SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -I../include" LDFLAGS="%{build_ldflags}" make shared
|
||||
cp libcblas64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/libcblas64_.so.%{version}
|
||||
%endif
|
||||
popd
|
||||
|
||||
ln -s libcblas.so.%{version} libcblas.so
|
||||
%if 0%{?arch64}
|
||||
ln -s libcblas64.so.%{version} libcblas64.so
|
||||
ln -s libcblas64_.so.%{version} libcblas64_.so
|
||||
%endif
|
||||
|
||||
@ -248,12 +238,40 @@ popd
|
||||
%if 0%{?arch64}
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static lapack library
|
||||
pushd SRC
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
make clean
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.a
|
||||
popd
|
||||
|
||||
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static with pic lapack library (64bit INTEGER)
|
||||
pushd SRC
|
||||
make clean
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic64.a
|
||||
popd
|
||||
|
||||
# Build the static dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the static lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
|
||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.a
|
||||
popd
|
||||
|
||||
@ -266,8 +284,8 @@ popd
|
||||
# Build the static with pic lapack library (64bit INTEGER)
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_pic.a
|
||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
|
||||
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack_pic64_.a
|
||||
popd
|
||||
%endif
|
||||
|
||||
@ -294,14 +312,27 @@ popd
|
||||
# Build the shared lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
||||
make FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
||||
cp liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64.so.%{version}
|
||||
popd
|
||||
|
||||
# Build the shared dlamch, dsecnd, lsame, second, slamch bits
|
||||
pushd INSTALL
|
||||
make clean
|
||||
make FFLAGS_NOOPT="$RPM_OPT_O_FLAGS -fPIC -fdefault-integer-8" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8"
|
||||
popd
|
||||
|
||||
# Build the shared lapack library
|
||||
pushd SRC
|
||||
make clean
|
||||
make SYMBOLSUFFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" LDFLAGS="%{build_ldflags}" shared
|
||||
cp liblapack64_.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.so.%{version}
|
||||
popd
|
||||
%endif
|
||||
|
||||
ln -s liblapack.so.%{version} liblapack.so
|
||||
|
||||
%if 0%{?arch64}
|
||||
ln -s liblapack64.so.%{version} liblapack64.so
|
||||
ln -s liblapack64_.so.%{version} liblapack64_.so
|
||||
%endif
|
||||
|
||||
@ -323,12 +354,16 @@ mkdir -p %{buildroot}%{_libdir}
|
||||
mkdir -p %{buildroot}%{_mandir}/man3
|
||||
chmod 755 %{buildroot}%{_mandir}/man3
|
||||
|
||||
for f in liblapack.so.%{version} libblas.so.%{version} libcblas.so.%{version} liblapacke.so.%{version} libblas.a libcblas.a liblapack.a liblapack_pic.a liblapacke.a; do
|
||||
for f in liblapack.so.%{version} libblas.so.%{version} libcblas.so.%{version} liblapacke.so.%{version} \
|
||||
libblas.a libcblas.a liblapack.a liblapack_pic.a liblapacke.a; do
|
||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||
done
|
||||
|
||||
%if 0%{?arch64}
|
||||
for f in liblapack64_.so.%{version} libblas64_.so.%{version} libcblas64_.so.%{version} libblas64_.a libcblas64_.a liblapack64_.a liblapack64_pic.a; do
|
||||
for f in liblapack64.so.%{version} libblas64.so.%{version} libcblas64.so.%{version} \
|
||||
liblapack64_.so.%{version} libblas64_.so.%{version} libcblas64_.so.%{version} \
|
||||
libblas64.a libcblas64.a liblapack64.a liblapack_pic64.a \
|
||||
libblas64_.a libcblas64_.a liblapack64_.a liblapack_pic64_.a; do
|
||||
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||||
done
|
||||
%endif
|
||||
@ -405,6 +440,15 @@ ln -sf liblapacke.so.%{version} liblapacke.so
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{shortver}
|
||||
ln -sf liblapacke.so.%{version} liblapacke.so.%{mediumver}
|
||||
%if 0%{?arch64}
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so.%{shortver}
|
||||
ln -sf liblapack64.so.%{version} liblapack64.so.%{mediumver}
|
||||
ln -sf libblas64.so.%{version} libblas64.so
|
||||
ln -sf libblas64.so.%{version} libblas64.so.%{shortver}
|
||||
ln -sf libblas64.so.%{version} libblas64.so.%{mediumver}
|
||||
ln -sf libcblas64.so.%{version} libcblas64.so
|
||||
ln -sf libcblas64.so.%{version} libcblas64.so.%{shortver}
|
||||
ln -sf libcblas64.so.%{version} libcblas64.so.%{mediumver}
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{shortver}
|
||||
ln -sf liblapack64_.so.%{version} liblapack64_.so.%{mediumver}
|
||||
@ -425,8 +469,11 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdi
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/lapack.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
sed -i 's|-llapack|-llapack64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
sed -i 's|-llapack|-llapack64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
sed -i 's|blas|blas64|g' %{buildroot}%{_libdir}/pkgconfig/lapack64.pc
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/lapack.pc %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
||||
sed -i 's|-llapack|-llapack64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
||||
sed -i 's|blas|blas64_|g' %{buildroot}%{_libdir}/pkgconfig/lapack64_.pc
|
||||
%endif
|
||||
cp -a BLAS/blas.pc.in %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
@ -434,7 +481,9 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}|g' %{buildroot}%{_libdi
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/blas.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||
sed -i 's|-lblas|-lblas64_|g' %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||
sed -i 's|-lblas|-lblas64|g' %{buildroot}%{_libdir}/pkgconfig/blas64.pc
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/blas.pc %{buildroot}%{_libdir}/pkgconfig/blas64_.pc
|
||||
sed -i 's|-lblas|-lblas64_|g' %{buildroot}%{_libdir}/pkgconfig/blas64_.pc
|
||||
%endif
|
||||
cp -a LAPACKE/lapacke.pc.in %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||
sed -i 's|@CMAKE_INSTALL_FULL_LIBDIR@|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/lapacke.pc
|
||||
@ -446,8 +495,11 @@ sed -i 's|@CMAKE_INSTALL_FULL_INCLUDEDIR@|%{_includedir}/cblas|g' %{buildroot}%{
|
||||
sed -i 's|@LAPACK_VERSION@|%{version}|g' %{buildroot}%{_libdir}/pkgconfig/cblas.pc
|
||||
%if 0%{?arch64}
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
sed -i 's|-lcblas|-lcblas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
sed -i 's|-lcblas|-lcblas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libdir}/pkgconfig/cblas64.pc
|
||||
cp -a %{buildroot}%{_libdir}/pkgconfig/cblas.pc %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
||||
sed -i 's|-lcblas|-lcblas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
||||
sed -i 's|Requires.private: blas|Requires.private: blas64_|g' %{buildroot}%{_libdir}/pkgconfig/cblas64_.pc
|
||||
%endif
|
||||
|
||||
%ldconfig_scriptlets
|
||||
@ -456,8 +508,10 @@ sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libd
|
||||
|
||||
%if 0%{?arch64}
|
||||
%ldconfig_scriptlets -n lapack64
|
||||
%ldconfig_scriptlets -n lapack64_
|
||||
|
||||
%ldconfig_scriptlets -n blas64
|
||||
%ldconfig_scriptlets -n blas64_
|
||||
%endif
|
||||
|
||||
%files -f lapackmans
|
||||
@ -471,11 +525,23 @@ sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libd
|
||||
%{_libdir}/liblapacke.so
|
||||
%{_libdir}/pkgconfig/lapack.pc
|
||||
%{_libdir}/pkgconfig/lapacke.pc
|
||||
%if 0%{?arch64}
|
||||
%{_libdir}/liblapack64.so
|
||||
%{_libdir}/pkgconfig/lapack64.pc
|
||||
%{_libdir}/liblapack64_.so
|
||||
%{_libdir}/pkgconfig/lapack64_.pc
|
||||
%endif
|
||||
|
||||
%files static
|
||||
%{_libdir}/liblapack.a
|
||||
%{_libdir}/liblapack_pic.a
|
||||
%{_libdir}/liblapacke.a
|
||||
%if 0%{?arch64}
|
||||
%{_libdir}/liblapack64.a
|
||||
%{_libdir}/liblapack_pic64.a
|
||||
%{_libdir}/liblapack64_.a
|
||||
%{_libdir}/liblapack_pic64_.a
|
||||
%endif
|
||||
|
||||
%files -n blas -f blasmans
|
||||
%doc blasqr.ps LICENSE
|
||||
@ -488,41 +554,51 @@ sed -i 's|Requires.private: blas|Requires.private: blas64|g' %{buildroot}%{_libd
|
||||
%{_libdir}/libcblas.so
|
||||
%{_libdir}/pkgconfig/blas.pc
|
||||
%{_libdir}/pkgconfig/cblas.pc
|
||||
%if 0%{?arch64}
|
||||
%{_libdir}/libblas64.so
|
||||
%{_libdir}/libcblas64.so
|
||||
%{_libdir}/pkgconfig/blas64.pc
|
||||
%{_libdir}/pkgconfig/cblas64.pc
|
||||
%{_libdir}/libblas64_.so
|
||||
%{_libdir}/libcblas64_.so
|
||||
%{_libdir}/pkgconfig/blas64_.pc
|
||||
%{_libdir}/pkgconfig/cblas64_.pc
|
||||
%endif
|
||||
|
||||
%files -n blas-static
|
||||
%{_libdir}/libblas.a
|
||||
%{_libdir}/libcblas.a
|
||||
%if 0%{?arch64}
|
||||
%{_libdir}/libblas64.a
|
||||
%{_libdir}/libcblas64.a
|
||||
%{_libdir}/libblas64_.a
|
||||
%{_libdir}/libcblas64_.a
|
||||
%endif
|
||||
|
||||
%if 0%{?arch64}
|
||||
%files -n blas64
|
||||
%doc LICENSE
|
||||
%{_libdir}/libblas64_.so.*
|
||||
%{_libdir}/libcblas64_.so.*
|
||||
|
||||
%files -n blas64-devel
|
||||
%{_libdir}/libblas64_.so
|
||||
%{_libdir}/libcblas64_.so
|
||||
%{_libdir}/pkgconfig/blas64.pc
|
||||
%{_libdir}/pkgconfig/cblas64.pc
|
||||
|
||||
%files -n blas64-static
|
||||
%{_libdir}/libblas64_.a
|
||||
%{_libdir}/libcblas64_.a
|
||||
%{_libdir}/libblas64.so.*
|
||||
%{_libdir}/libcblas64.so.*
|
||||
|
||||
%files -n lapack64
|
||||
%doc README.md LICENSE
|
||||
%{_libdir}/liblapack64.so.*
|
||||
|
||||
%files -n blas64_
|
||||
%doc LICENSE
|
||||
%{_libdir}/libblas64_.so.*
|
||||
%{_libdir}/libcblas64_.so.*
|
||||
|
||||
%files -n lapack64_
|
||||
%doc README.md LICENSE
|
||||
%{_libdir}/liblapack64_.so.*
|
||||
|
||||
%files -n lapack64-devel
|
||||
%{_libdir}/liblapack64_.so
|
||||
%{_libdir}/pkgconfig/lapack64.pc
|
||||
|
||||
%files -n lapack64-static
|
||||
%{_libdir}/liblapack64_.a
|
||||
%{_libdir}/liblapack64_pic.a
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sun Jun 21 2020 Iñaki Úcar <iucar@fedoraproject.org> - 3.9.0-4
|
||||
- make separate packages for 64-bit versions with and without suffix (bz1295965)
|
||||
|
||||
* Thu Mar 19 2020 Tom Callaway <spot@fedoraproject.org> - 3.9.0-3
|
||||
- apply upstream fix for accidental removal of deprecated symbols from header file
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user