LICENSE = "GPLv2 & GPLv3 & BSD-3-Clause & LGPL-2.0 & Apache-2.0"
|
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5fa987762101f748a6cdd951b64ffc6b"
|
SRC_URI = "git://github.com/DrTimothyAldenDavis/SuiteSparse;protocol=https;branch=master \
|
file://0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch \
|
file://0002-Preserve-links-when-installing-libmetis.patch \
|
file://0003-Add-version-information-to-libmetis.patch \
|
"
|
SRCREV = "538273cfd53720a10e34a3d80d3779b607e1ac26"
|
|
S = "${WORKDIR}/git"
|
|
DEPENDS = "cmake-native lapack gmp mpfr chrpath-native"
|
|
PROVIDES = "mongoose graphblas"
|
RPROVIDES:${PN} = "mongoose graphblas"
|
|
# The values of $CC, $CXX, and $LD that Bitbake uses have spaces in them which
|
# causes problems when the SuiteSparse Makefiles try to pass these values on
|
# the command line. To get around this problem, set these variables to only the
|
# program name and prepend the rest of the value onto the corresponding FLAGS
|
# variable.
|
CFLAGS:prepend := "${@" ".join(d.getVar('CC', True).split()[1:])} "
|
export CC := "${@d.getVar('CC', True).split()[0]}"
|
|
CXXFLAGS:prepend := "${@" ".join(d.getVar('CXX', True).split()[1:])} "
|
export CXX := "${@d.getVar('CXX', True).split()[0]}"
|
|
LDFLAGS:prepend := "${@" ".join(d.getVar('LD', True).split()[1:])} "
|
export LD := "${@d.getVar('LD', True).split()[0]}"
|
|
export CMAKE_OPTIONS = " \
|
-DCMAKE_INSTALL_PREFIX=${D}${prefix} \
|
-DCMAKE_INSTALL_LIBDIR=${baselib} \
|
"
|
|
do_compile () {
|
oe_runmake library
|
}
|
|
do_install () {
|
oe_runmake prefix=${D}${prefix} INSTALL=${D}${prefix} install
|
|
# Remove runtime paths from shared libraries
|
for file in ${D}${libdir}/*.so.*; do
|
if [ ! -L "$file" ]; then
|
chrpath -d "$file"
|
fi
|
done
|
}
|
|
FILES:${PN} += " \
|
${libdir}/libmongoose.so.* \
|
${libdir}/libgraphblas.so.* \
|
${libdir}/libmetis.so.* \
|
${libdir}/libsuitesparseconfig.so.* \
|
${libdir}/libamd.so.* \
|
${libdir}/libbtf.so.* \
|
${libdir}/libcamd.so.* \
|
${libdir}/libccolamd.so.* \
|
${libdir}/libcolamd.so.* \
|
${libdir}/libcholmod.so.* \
|
${libdir}/libcxsparse.so.* \
|
${libdir}/libldl.so.* \
|
${libdir}/libklu.so.* \
|
${libdir}/libumfpack.so.* \
|
${libdir}/librbio.so.* \
|
${libdir}/libspqr.so.* \
|
${libdir}/libsliplu.so.* \
|
${bindir}/mongoose \
|
"
|
|
FILES:${PN}-staticdev += "${libdir}/libmongoose.a"
|
FILES:${PN}-dev += "${includedir} ${libdir}/*.so"
|
|
EXCLUDE_FROM_WORLD = "1"
|