rename 64_ libraries to lib*64_*

This commit is contained in:
Tom Callaway 2017-08-14 17:00:31 -04:00
parent 24c2b26e99
commit 168ca78335
3 changed files with 47 additions and 44 deletions

View File

@ -60,13 +60,13 @@ ifeq "$(SYMBOLPREFIX)" ""
ar ruv libblas.a $(OBJS)
ranlib libblas.a
else
ar ruv $(SYMBOLPREFIX)libblas.a $(OBJS)
ranlib $(SYMBOLPREFIX)libblas.a
for i in `nm $(SYMBOLPREFIX)libblas.a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > blas-static-prefix.def.dirty
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
sort -n blas-static-prefix.def.dirty | uniq > blas-static-prefix.def
$(OBJCOPY) --redefine-syms blas-static-prefix.def $(SYMBOLPREFIX)libblas.a $(SYMBOLPREFIX)libblas.a.fixed
rm -rf $(SYMBOLPREFIX)libblas.a
mv $(SYMBOLPREFIX)libblas.a.fixed $(SYMBOLPREFIX)libblas.a
$(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
endif
shared: $(OBJS)
@ -74,11 +74,11 @@ ifeq "$(SYMBOLPREFIX)" ""
# No renaming needed
cc $(CFLAGS) -shared -Wl,-soname,libblas.so.@SHORTVER@ -o libblas.so.@LONGVER@ $(OBJS) -lm -lgfortran -lc
else
cc $(CFLAGS) -shared -Wl,-soname,$(SYMBOLPREFIX)libblas.so.@SHORTVER@ -o $(SYMBOLPREFIX)libblas.so.@LONGVER@ $(OBJS) -lm -lgfortran -lc
cc $(CFLAGS) -shared -Wl,-soname,libblas$(SYMBOLPREFIX).so.@SHORTVER@ -o libblas$(SYMBOLPREFIX).so.@LONGVER@ $(OBJS) -lm -lgfortran -lc
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
for i in `readelf -Ws $(SYMBOLPREFIX)libblas.so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > blas-prefix.def.dirty
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
sort -n blas-prefix.def.dirty | uniq > blas-prefix.def
$(OBJCOPY) --redefine-syms blas-prefix.def $(SYMBOLPREFIX)libblas.so.@LONGVER@ $(SYMBOLPREFIX)libblas.so.@LONGVER@.fixed
rm -rf $(SYMBOLPREFIX)libblas.so.@LONGVER@
mv $(SYMBOLPREFIX)libblas.so.@LONGVER@.fixed $(SYMBOLPREFIX)libblas.so.@LONGVER@
$(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@
endif

View File

@ -440,13 +440,13 @@ ifeq "$(SYMBOLPREFIX)" ""
ar ruv liblapack.a $(ALLOBJ) $(ALLXOBJ)
ranlib liblapack.a
else
ar ruv $(SYMBOLPREFIX)liblapack.a $(ALLOBJ) $(ALLXOBJ)
ranlib $(SYMBOLPREFIX)liblapack.a
for i in `nm $(SYMBOLPREFIX)liblapack.a |grep " T " | awk '{print $$3}'`; do echo "$$i" "64_$$i"; done > lapack-static-prefix.def.dirty
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
sort -n lapack-static-prefix.def.dirty | uniq > lapack-static-prefix.def
$(OBJCOPY) --redefine-syms lapack-static-prefix.def $(SYMBOLPREFIX)liblapack.a $(SYMBOLPREFIX)liblapack.a.fixed
rm -rf $(SYMBOLPREFIX)liblapack.a
mv $(SYMBOLPREFIX)liblapack.a.fixed $(SYMBOLPREFIX)liblapack.a
$(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
endif
shared: $(ALLOBJ) $(ALLXOBJ)
@ -454,11 +454,11 @@ ifeq "$(SYMBOLPREFIX)" ""
# No renaming needed
cc $(CFLAGS) -shared -Wl,-soname,liblapack.so.@SHORTVER@ -o liblapack.so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) -L.. -lblas -lm -lgfortran -lc
else
cc $(CFLAGS) -shared -Wl,-soname,$(SYMBOLPREFIX)liblapack.so.@SHORTVER@ -o $(SYMBOLPREFIX)liblapack.so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) -L.. -lblas -lm -lgfortran -lc
cc $(CFLAGS) -shared -Wl,-soname,liblapack$(SYMBOLPREFIX).so.@SHORTVER@ -o liblapack$(SYMBOLPREFIX).so.@LONGVER@ $(ALLOBJ) $(ALLXOBJ) -L.. -lblas -lm -lgfortran -lc
# generate a list of all symbols in shared library and rename with SYMBOLPREFIX
for i in `readelf -Ws $(SYMBOLPREFIX)liblapack.so.@LONGVER@ | awk '{print $$8}' | grep -v GLIBC |grep -v GFORTRAN |grep -v "Name" `; do echo "$$i" "64_$$i"; done > lapack-prefix.def.dirty
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
sort -n lapack-prefix.def.dirty | uniq > lapack-prefix.def
$(OBJCOPY) --redefine-syms lapack-prefix.def $(SYMBOLPREFIX)liblapack.so.@LONGVER@ $(SYMBOLPREFIX)liblapack.so.@LONGVER@.fixed
rm -rf $(SYMBOLPREFIX)liblapack.so.@LONGVER@
mv $(SYMBOLPREFIX)liblapack.so.@LONGVER@.fixed $(SYMBOLPREFIX)liblapack.so.@LONGVER@
$(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@
endif

View File

@ -10,7 +10,7 @@
Summary: Numerical linear algebra package libraries
Name: lapack
Version: %{mediumver}.1
Release: 4%{?dist}
Release: 5%{?dist}
License: BSD
Group: System Environment/Libraries
URL: http://www.netlib.org/lapack/
@ -190,17 +190,17 @@ cp libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/
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
cp 64_libblas.a ${RPM_BUILD_DIR}/%{name}-%{version}/64_libblas.a
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" make shared
cp 64_libblas.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/64_libblas.so.%{version}
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 64_libblas.so.%{version} 64_libblas.so
ln -s libblas64_.so.%{version} libblas64_.so
%endif
# Build the static dlamch, dsecnd, lsame, second, slamch bits
@ -236,7 +236,7 @@ popd
# Build the static lapack library
pushd SRC
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS" static
cp 64_liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/64_liblapack.a
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_.a
popd
# Build the static with pic dlamch, dsecnd, lsame, second, slamch bits (64bit INTEGER)
@ -249,7 +249,7 @@ popd
pushd SRC
make clean
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC" static
cp 64_liblapack.a ${RPM_BUILD_DIR}/%{name}-%{version}/64_liblapack_pic.a
cp liblapack64_.a ${RPM_BUILD_DIR}/%{name}-%{version}/liblapack64_pic.a
popd
%endif
@ -277,14 +277,14 @@ popd
pushd SRC
make clean
make SYMBOLPREFIX="64_" FFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" CFLAGS="$RPM_OPT_FLAGS -fPIC -fdefault-integer-8" shared
cp 64_liblapack.so.%{version} ${RPM_BUILD_DIR}/%{name}-%{version}/64_liblapack.so.%{version}
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 64_liblapack.so.%{version} 64_liblapack.so
ln -s liblapack64_.so.%{version} liblapack64_.so
%endif
# Build the lapacke libraries
@ -310,7 +310,7 @@ for f in liblapack.so.%{version} libblas.so.%{version} liblapacke.so.%{version}
done
%if 0%{?arch64}
for f in 64_liblapack.so.%{version} 64_libblas.so.%{version} 64_libblas.a 64_liblapack.a 64_liblapack_pic.a; do
for f in liblapack64_.so.%{version} libblas64_.so.%{version} libblas64_.a liblapack64_.a liblapack_64_pic.a; do
cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f
done
%endif
@ -380,12 +380,12 @@ 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 64_liblapack.so.%{version} 64_liblapack.so
ln -sf 64_liblapack.so.%{version} 64_liblapack.so.%{shortver}
ln -sf 64_liblapack.so.%{version} 64_liblapack.so.%{mediumver}
ln -sf 64_libblas.so.%{version} 64_libblas.so
ln -sf 64_libblas.so.%{version} 64_libblas.so.%{shortver}
ln -sf 64_libblas.so.%{version} 64_libblas.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}
ln -sf libblas64_.so.%{version} libblas64_.so
ln -sf libblas64_.so.%{version} libblas64_.so.%{shortver}
ln -sf libblas64_.so.%{version} libblas64_.so.%{mediumver}
%endif
%post -p /sbin/ldconfig
@ -434,27 +434,30 @@ ln -sf 64_libblas.so.%{version} 64_libblas.so.%{mediumver}
%if 0%{?arch64}
%files -n blas64
%doc LICENSE
%{_libdir}/64_libblas.so.*
%{_libdir}/libblas64_.so.*
%files -n blas64-devel
%{_libdir}/64_libblas.so
%{_libdir}/libblas64_.so
%files -n blas64-static
%{_libdir}/64_libblas.a
%{_libdir}/libblas64_.a
%files -n lapack64
%doc README.md LICENSE
%{_libdir}/64_liblapack.so.*
%{_libdir}/liblapack64_.so.*
%files -n lapack64-devel
%{_libdir}/64_liblapack.so
%{_libdir}/liblapack64_.so
%files -n lapack64-static
%{_libdir}/64_liblapack.a
%{_libdir}/64_liblapack_pic.a
%{_libdir}/liblapack64_.a
%{_libdir}/liblapack64_pic.a
%endif
%changelog
* Mon Aug 14 2017 Tom Callaway <spot@fedoraproject.org> - 3.7.1-5
- rename 64_ libraries to lib*64_*
* Fri Aug 11 2017 Tom Callaway <spot@fedoraproject.org> - 3.7.1-4
- move to 64_ suffix and symbol mangling (bz1295965)