[Buildroot] [PATCH] package/openblas: install static library even if BR2_STATIC_LIBS is not set
Arnout Vandecappelle
arnout at mind.be
Tue May 18 19:52:37 UTC 2021
On 18/05/2021 10:05, Thomas De Schampheleire wrote:
> From: Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
>
> openblas has options 'NO_STATIC' and 'NO_SHARED' to steer the installation
> of libopenblas.a and libopenblas.so. But this does not impact anything in
> the build process, other than copying the respective file to the output
> directory.
>
> As openblas is very large (e.g. 3MB on ARM) but applications may only use a
> small part of it, such applications may want to link statically with
> openblas, even though the global BR2_STATIC_LIBS is not set and not desired.
>
> One approach would have been to introduce options
> BR2_PACKAGE_OPENBLAS_BUILD_SHARED_LIB and
> BR2_PACKAGE_OPENBLAS_BUILD_STATIC_LIB which could be freely selected
> regardless of BR2_STATIC_LIBS / BR2_SHARED_LIBS.
>
> But since the installation of a static library does not have any negative
> impact except for some disk space on the host system (.a files are removed
> from the target in target-finalize anyway), change the installation rules to
> install the static library unconditionally.
>
> NO_SHARED is still passed for static-libs-only systems, because the
> dynamic library would unnecessarily take up target disk space for such
> systems.
>
> Users that only need the static library would still need to remove the
> shared library from a post-build script to actually save space.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
Applied to next, thanks.
Regards,
Arnout
> ---
> package/openblas/openblas.mk | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/package/openblas/openblas.mk b/package/openblas/openblas.mk
> index 21d05cf30d..60b9d9b15b 100644
> --- a/package/openblas/openblas.mk
> +++ b/package/openblas/openblas.mk
> @@ -42,10 +42,10 @@ endif
> OPENBLAS_MAKE_OPTS += USE_OPENMP=0
>
> # Static-only/Shared-only toggle
> +# Note: static library is always generated so that applications can link
> +# statically for size reduction, even if BR2_STATIC_LIBS is not set.
> ifeq ($(BR2_STATIC_LIBS),y)
> OPENBLAS_MAKE_OPTS += NO_SHARED=1
> -else ifeq ($(BR2_SHARED_LIBS),y)
> -OPENBLAS_MAKE_OPTS += NO_STATIC=1
> endif
>
> # binutils version <= 2.23.2 has a bug
>
More information about the buildroot
mailing list