|
| 1 | +From 258ad2ccebe93fa9c5ad74a17c603b3fb8925190 Mon Sep 17 00:00:00 2001 |
| 2 | + |
| 3 | +Date: Sun, 21 Jan 2024 22:34:48 +0200 |
| 4 | +Subject: [PATCH] create a single shared object |
| 5 | + |
| 6 | +--- |
| 7 | + Makefile | 10 ---------- |
| 8 | + Makefile.install | 16 +--------------- |
| 9 | + Makefile.system | 3 +++ |
| 10 | + exports/Makefile | 4 ++-- |
| 11 | + openblas.pc.in | 2 +- |
| 12 | + 5 files changed, 7 insertions(+), 28 deletions(-) |
| 13 | + |
| 14 | +diff --git a/Makefile b/Makefile |
| 15 | +index 8621a8b3f..56a449306 100644 |
| 16 | +--- a/Makefile |
| 17 | ++++ b/Makefile |
| 18 | +@@ -134,17 +134,12 @@ shared : libs netlib $(RELA) |
| 19 | + ifneq ($(NO_SHARED), 1) |
| 20 | + ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android Haiku FreeBSD DragonFly)) |
| 21 | + @$(MAKE) -C exports so |
| 22 | +- @ln -fs $(LIBSONAME) $(LIBPREFIX).so |
| 23 | +- @ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION) |
| 24 | + endif |
| 25 | + ifeq ($(OSNAME), $(filter $(OSNAME),OpenBSD NetBSD)) |
| 26 | + @$(MAKE) -C exports so |
| 27 | +- @ln -fs $(LIBSONAME) $(LIBPREFIX).so |
| 28 | + endif |
| 29 | + ifeq ($(OSNAME), Darwin) |
| 30 | + @$(MAKE) -C exports dyn |
| 31 | +- @ln -fs $(LIBDYNNAME) $(LIBPREFIX).dylib |
| 32 | +- @ln -fs $(LIBDYNNAME) $(LIBPREFIX).$(MAJOR_VERSION).dylib |
| 33 | + endif |
| 34 | + ifeq ($(OSNAME), WINNT) |
| 35 | + @$(MAKE) -C exports dll |
| 36 | +@@ -229,13 +225,11 @@ endif |
| 37 | + endif |
| 38 | + @echo THELIBNAME=$(LIBNAME) >> Makefile.conf_last |
| 39 | + @echo THELIBSONAME=$(LIBSONAME) >> Makefile.conf_last |
| 40 | +- @-ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) |
| 41 | + @touch lib.grd |
| 42 | + |
| 43 | + prof : prof_blas prof_lapack |
| 44 | + |
| 45 | + prof_blas : |
| 46 | +- ln -fs $(LIBNAME_P) $(LIBPREFIX)_p.$(LIBSUFFIX) |
| 47 | + for d in $(SUBDIRS) ; \ |
| 48 | + do if test -d $$d; then \ |
| 49 | + $(MAKE) -C $$d prof || exit 1 ; \ |
| 50 | +@@ -230,7 +223,6 @@ ifeq ($(DYNAMIC_ARCH), 1) |
| 51 | + endif |
| 52 | + |
| 53 | + blas : |
| 54 | +- ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) |
| 55 | + for d in $(BLASDIRS) ; \ |
| 56 | + do if test -d $$d; then \ |
| 57 | + $(MAKE) -C $$d libs || exit 1 ; \ |
| 58 | +@@ -238,7 +230,6 @@ blas : |
| 59 | + done |
| 60 | + |
| 61 | + hpl : |
| 62 | +- ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) |
| 63 | + for d in $(BLASDIRS) ../laswp exports ; \ |
| 64 | + do if test -d $$d; then \ |
| 65 | + $(MAKE) -C $$d $(@F) || exit 1 ; \ |
| 66 | +@@ -252,7 +243,6 @@ ifeq ($(DYNAMIC_ARCH), 1) |
| 67 | + endif |
| 68 | + |
| 69 | + hpl_p : |
| 70 | +- ln -fs $(LIBNAME_P) $(LIBPREFIX)_p.$(LIBSUFFIX) |
| 71 | + for d in $(SUBDIRS) ../laswp exports ; \ |
| 72 | + do if test -d $$d; then \ |
| 73 | + $(MAKE) -C $$d $(@F) || exit 1 ; \ |
| 74 | +diff --git a/Makefile.install b/Makefile.install |
| 75 | +index 01899b970..cf3c8acce 100644 |
| 76 | +--- a/Makefile.install |
| 77 | ++++ b/Makefile.install |
| 78 | +@@ -90,30 +90,20 @@ endif |
| 79 | + ifneq ($(NO_STATIC),1) |
| 80 | + @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) |
| 81 | + @install -m644 $(LIBNAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" |
| 82 | +- @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \ |
| 83 | +- ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) |
| 84 | + endif |
| 85 | + #for install shared library |
| 86 | + ifneq ($(NO_SHARED),1) |
| 87 | + @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) |
| 88 | + ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android Haiku FreeBSD DragonFly)) |
| 89 | + @install -m755 $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" |
| 90 | +- @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \ |
| 91 | +- ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \ |
| 92 | +- ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION) |
| 93 | + endif |
| 94 | + |
| 95 | + ifeq ($(OSNAME), $(filter $(OSNAME),OpenBSD NetBSD)) |
| 96 | + @cp $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" |
| 97 | +- @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \ |
| 98 | +- ln -fs $(LIBSONAME) $(LIBPREFIX).so |
| 99 | + endif |
| 100 | + ifeq ($(OSNAME), Darwin) |
| 101 | + @-cp $(LIBDYNNAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" |
| 102 | + @-install_name_tool -id "$(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).$(MAJOR_VERSION).dylib" "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME)" |
| 103 | +- @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \ |
| 104 | +- ln -fs $(LIBDYNNAME) $(LIBPREFIX).dylib ; \ |
| 105 | +- ln -fs $(LIBDYNNAME) $(LIBPREFIX).$(MAJOR_VERSION).dylib |
| 106 | + endif |
| 107 | + ifeq ($(OSNAME), WINNT) |
| 108 | + @-cp $(LIBDLLNAME) "$(DESTDIR)$(OPENBLAS_BINARY_DIR)" |
| 109 | +@@ -140,16 +130,11 @@ endif |
| 110 | + ifneq ($(NO_STATIC),1) |
| 111 | + @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) |
| 112 | + @installbsd -c -m 644 $(LIBNAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" |
| 113 | +- @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \ |
| 114 | +- ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) |
| 115 | + endif |
| 116 | + #for install shared library |
| 117 | + ifneq ($(NO_SHARED),1) |
| 118 | + @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) |
| 119 | + @installbsd -c -m 755 $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" |
| 120 | +- @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \ |
| 121 | +- ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \ |
| 122 | +- ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION) |
| 123 | + endif |
| 124 | + |
| 125 | + endif |
| 126 | +@@ -162,6 +147,7 @@ endif |
| 127 | + |
| 128 | + @echo Generating $(LIBSONAMEBASE)$(SUFFIX64).pc in "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)" |
| 129 | + @echo 'libdir='$(OPENBLAS_LIBRARY_DIR) > "$(PKGFILE)" |
| 130 | ++ @echo 'libprefix='$(SYMBOLPREFIX) >> "$(PKGFILE)" |
| 131 | + @echo 'libsuffix='$(SYMBOLSUFFIX) >> "$(PKGFILE)" |
| 132 | + @echo 'includedir='$(OPENBLAS_INCLUDE_DIR) >> "$(PKGFILE)" |
| 133 | + @echo 'openblas_config= USE_64BITINT='$(INTERFACE64) 'DYNAMIC_ARCH='$(DYNAMIC_ARCH) 'DYNAMIC_OLDER='$(DYNAMIC_OLDER) 'NO_CBLAS='$(NO_CBLAS) 'NO_LAPACK='$(NO_LAPACK) 'NO_LAPACKE='$(NO_LAPACKE) 'NO_AFFINITY='$(NO_AFFINITY) 'USE_OPENMP='$(USE_OPENMP) $(CORE) 'MAX_THREADS='$(NUM_THREADS)>> "$(PKGFILE)" |
| 134 | +diff --git a/Makefile.system b/Makefile.system |
| 135 | +index 30b0ddec2..b2c92b99a 100644 |
| 136 | +--- a/Makefile.system |
| 137 | ++++ b/Makefile.system |
| 138 | +@@ -1695,6 +1695,9 @@ LIBNAME_P = $(LIBPREFIX)p$(REVISION)_p.$(LIBSUFFIX) |
| 139 | + endif |
| 140 | + endif |
| 141 | + |
| 142 | ++# Override for scipy-openblas: don't put the revision into the so name |
| 143 | ++LIBNAME = $(LIBPREFIX).$(LIBSUFFIX) |
| 144 | ++LIBNAME_P = $(LIBPREFIX)_p.$(LIBSUFFIX) |
| 145 | + |
| 146 | + LIBDLLNAME = $(LIBPREFIX).dll |
| 147 | + IMPLIBNAME = lib$(LIBNAMEBASE).dll.a |
| 148 | +diff --git a/exports/Makefile b/exports/Makefile |
| 149 | +index 7682f851d..632fa324b 100644 |
| 150 | +--- a/exports/Makefile |
| 151 | ++++ b/exports/Makefile |
| 152 | +@@ -132,7 +132,7 @@ libgoto_hpl.def : $(GENSYM) |
| 153 | + ./$(GENSYM) win2khpl $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) $(NEED2UNDERSCORES) $(ONLY_CBLAS) "$(SYMBOLPREFIX)" "$(SYMBOLSUFFIX)" $(BUILD_LAPACK_DEPRECATED) $(BUILD_BFLOAT16) $(BUILD_SINGLE) $(BUILD_DOUBLE) $(BUILD_COMPLEX) $(BUILD_COMPLEX16) > $(@F) |
| 154 | + |
| 155 | + ifeq ($(OSNAME), Darwin) |
| 156 | +-INTERNALNAME = $(LIBPREFIX).$(MAJOR_VERSION).dylib |
| 157 | ++INTERNALNAME = $(LIBPREFIX).dylib |
| 158 | + endif |
| 159 | + |
| 160 | + ifeq (, $(SYMBOLPREFIX)$(SYMBOLSUFFIX)) |
| 161 | +@@ -169,7 +169,7 @@ INTERNALNAME = $(LIBPREFIX).so |
| 162 | + FEXTRALIB += -lm |
| 163 | + EXTRALIB += -lm |
| 164 | + else |
| 165 | +-INTERNALNAME = $(LIBPREFIX).so.$(MAJOR_VERSION) |
| 166 | ++INTERNALNAME = $(LIBPREFIX).so |
| 167 | + endif |
| 168 | + |
| 169 | + ifeq (, $(SYMBOLPREFIX)$(SYMBOLSUFFIX)) |
| 170 | +diff --git a/openblas.pc.in b/openblas.pc.in |
| 171 | +index 8ad6e8bee..33209293d 100644 |
| 172 | +--- a/openblas.pc.in |
| 173 | ++++ b/openblas.pc.in |
| 174 | +@@ -2,6 +2,6 @@ Name: openblas |
| 175 | + Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version |
| 176 | + Version: ${version} |
| 177 | + URL: https://github.com/xianyi/OpenBLAS |
| 178 | +-Libs: -L${libdir} -lopenblas${libsuffix} |
| 179 | ++Libs: -L${libdir} -l${libprefix}openblas${libsuffix} |
| 180 | + Libs.private: ${extralib} |
| 181 | + Cflags: -I${includedir} |
| 182 | +-- |
| 183 | +2.34.1 |
| 184 | + |
0 commit comments