2016-06-27 10:44:50 +02:00
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# openblas
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
2020-04-12 16:43:07 +02:00
|
|
|
OPENBLAS_VERSION = 0.3.9
|
package: remove 'v' prefix from github-fetched packages
On Github, a large number of projects name their tag vXYZ (i.e v3.0,
v0.1, etc.). In some packages we do:
<pkg>_VERSION = v0.3
<pkg>_SITE = $(call github foo,bar,$(<pkg>_VERSION))
And in some other packages we do:
<pkg>_VERSION = 0.3
<pkg>_SITE = $(call github foo,bar,v$(<pkg>_VERSION))
I.e in one case we consider the version to be v0.3, in the other case
we consider 0.3 to be the version.
The problem with v0.3 is that when used in conjunction with
release-monitoring.org, it doesn't work very well, because
release-monitoring.org has the concept of "version prefix" and using
that they drop the "v" prefix for the version.
Therefore, a number of packages in Buildroot have a version that
doesn't match with release-monitoring.org because Buildroot has 'v0.3'
and release-monitoring.org has '0.3'.
Since really the version number of 0.3, is makes sense to update our
packages to drop this 'v'.
This commit only addresses the (common) case of github packages where
the prefix is simply 'v'. Other cases will be handled by separate
commits. Also, there are a few cases that couldn't be handled
mechanically that aren't covered by this commit.
Signed-off-by: Victor Huesca <victor.huesca@bootlin.com>
[Arnout: don't change flatbuffers, json-for-modern-cpp, libpagekite,
python-scapy3k, softether]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-06-12 08:42:06 +02:00
|
|
|
OPENBLAS_SITE = $(call github,xianyi,OpenBLAS,v$(OPENBLAS_VERSION))
|
2017-03-30 15:43:38 +02:00
|
|
|
OPENBLAS_LICENSE = BSD-3-Clause
|
2016-06-27 10:44:50 +02:00
|
|
|
OPENBLAS_LICENSE_FILES = LICENSE
|
|
|
|
OPENBLAS_INSTALL_STAGING = YES
|
|
|
|
|
|
|
|
# Initialise OpenBLAS make options to $(TARGET_CONFIGURE_OPTS)
|
|
|
|
OPENBLAS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS)
|
|
|
|
|
|
|
|
# Enable cross-compiling
|
|
|
|
OPENBLAS_MAKE_OPTS += CROSS=1
|
|
|
|
|
|
|
|
# Set OpenBLAS target
|
|
|
|
OPENBLAS_MAKE_OPTS += TARGET=$(BR2_PACKAGE_OPENBLAS_TARGET)
|
|
|
|
|
2016-07-04 17:22:59 +02:00
|
|
|
# When Fortran is not available, only build the C version of BLAS
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),)
|
2016-06-27 10:44:50 +02:00
|
|
|
OPENBLAS_MAKE_OPTS += ONLY_CBLAS=1
|
2016-07-04 17:22:59 +02:00
|
|
|
endif
|
2016-06-27 10:44:50 +02:00
|
|
|
|
|
|
|
# Enable/Disable multi-threading (not for static-only since it uses dlfcn.h)
|
2021-02-12 10:15:09 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_OPENBLAS_USE_THREAD),y)
|
2016-06-27 10:44:50 +02:00
|
|
|
OPENBLAS_MAKE_OPTS += USE_THREAD=1
|
|
|
|
else
|
|
|
|
OPENBLAS_MAKE_OPTS += USE_THREAD=0
|
|
|
|
endif
|
|
|
|
|
2021-02-12 10:15:09 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_OPENBLAS_USE_LOCKING),y)
|
|
|
|
OPENBLAS_MAKE_OPTS += USE_LOCKING=1
|
|
|
|
else
|
|
|
|
# not passing USE_LOCKING=0 as this could be confusing: its effect is implicit
|
|
|
|
# in case of USE_THREAD=1.
|
|
|
|
endif
|
|
|
|
|
2016-11-20 17:04:41 +01:00
|
|
|
# We don't know if OpenMP is available or not, so disable
|
|
|
|
OPENBLAS_MAKE_OPTS += USE_OPENMP=0
|
|
|
|
|
2016-06-27 10:44:50 +02:00
|
|
|
# Static-only/Shared-only toggle
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
|
|
OPENBLAS_MAKE_OPTS += NO_SHARED=1
|
|
|
|
else ifeq ($(BR2_SHARED_LIBS),y)
|
|
|
|
OPENBLAS_MAKE_OPTS += NO_STATIC=1
|
|
|
|
endif
|
|
|
|
|
2016-08-20 14:36:01 +02:00
|
|
|
# binutils version <= 2.23.2 has a bug
|
|
|
|
# (https://sourceware.org/bugzilla/show_bug.cgi?id=14887) where
|
|
|
|
# whitespaces in ARM register specifications such as [ r1, #12 ] or [
|
|
|
|
# r2 ] cause the assembler to reject the code. Since there are
|
|
|
|
# numerous instances of such cases in the code, we use sed rather than
|
|
|
|
# a patch. We simply replace [ foobar ] by [foobar] to work around the
|
|
|
|
# problem.
|
|
|
|
define OPENBLAS_FIXUP_ARM_ASSEMBLY
|
|
|
|
$(SED) 's%\[\s*%\[%;s%\s*\]%\]%' $(@D)/kernel/arm/*.S
|
|
|
|
endef
|
|
|
|
|
|
|
|
OPENBLAS_POST_PATCH_HOOKS += OPENBLAS_FIXUP_ARM_ASSEMBLY
|
|
|
|
|
2016-06-27 10:44:50 +02:00
|
|
|
define OPENBLAS_BUILD_CMDS
|
|
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(OPENBLAS_MAKE_OPTS) \
|
|
|
|
-C $(@D)
|
|
|
|
endef
|
|
|
|
|
|
|
|
define OPENBLAS_INSTALL_STAGING_CMDS
|
|
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(OPENBLAS_MAKE_OPTS) \
|
|
|
|
-C $(@D) install PREFIX=$(STAGING_DIR)/usr
|
|
|
|
endef
|
|
|
|
|
|
|
|
define OPENBLAS_INSTALL_TARGET_CMDS
|
|
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(OPENBLAS_MAKE_OPTS) \
|
|
|
|
-C $(@D) install PREFIX=$(TARGET_DIR)/usr
|
|
|
|
endef
|
|
|
|
|
|
|
|
$(eval $(generic-package))
|