19aee5003SAndrew GeisslerLICENSE = "GPL-2.0-only & GPL-3.0-only & BSD-3-Clause & LGPL-2.0-only & Apache-2.0"
269721092SAndrew GeisslerLIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5fa987762101f748a6cdd951b64ffc6b"
3517393d9SAndrew GeisslerSRC_URI = "git://github.com/DrTimothyAldenDavis/SuiteSparse;protocol=https;branch=stable \
469721092SAndrew Geissler           file://0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch \
569721092SAndrew Geissler           file://0002-Preserve-links-when-installing-libmetis.patch \
669721092SAndrew Geissler           file://0003-Add-version-information-to-libmetis.patch \
769721092SAndrew Geissler           "
869721092SAndrew GeisslerSRCREV = "538273cfd53720a10e34a3d80d3779b607e1ac26"
969721092SAndrew Geissler
1069721092SAndrew GeisslerS = "${WORKDIR}/git"
1169721092SAndrew Geissler
1269721092SAndrew GeisslerDEPENDS = "cmake-native lapack gmp mpfr chrpath-native"
1369721092SAndrew Geissler
1469721092SAndrew GeisslerPROVIDES = "mongoose graphblas"
15213cb269SPatrick WilliamsRPROVIDES:${PN} = "mongoose graphblas"
1669721092SAndrew Geissler
1769721092SAndrew Geissler# The values of $CC, $CXX, and $LD that Bitbake uses have spaces in them which
1869721092SAndrew Geissler# causes problems when the SuiteSparse Makefiles try to pass these values on
1969721092SAndrew Geissler# the command line. To get around this problem, set these variables to only the
2069721092SAndrew Geissler# program name and prepend the rest of the value onto the corresponding FLAGS
2169721092SAndrew Geissler# variable.
22*864cc43bSPatrick WilliamsCFLAGS:prepend := "${@" ".join(d.getVar('CC').split()[1:])} "
23*864cc43bSPatrick Williamsexport CC := "${@d.getVar('CC').split()[0]}"
2469721092SAndrew Geissler
25*864cc43bSPatrick WilliamsCXXFLAGS:prepend := "${@" ".join(d.getVar('CXX').split()[1:])} "
26*864cc43bSPatrick Williamsexport CXX := "${@d.getVar('CXX').split()[0]}"
2769721092SAndrew Geissler
28*864cc43bSPatrick WilliamsLDFLAGS:prepend := "${@" ".join(d.getVar('LD').split()[1:])} "
29*864cc43bSPatrick Williamsexport LD := "${@d.getVar('LD').split()[0]}"
3069721092SAndrew Geissler
3169721092SAndrew Geisslerexport CMAKE_OPTIONS = " \
3269721092SAndrew Geissler    -DCMAKE_INSTALL_PREFIX=${D}${prefix} \
3369721092SAndrew Geissler    -DCMAKE_INSTALL_LIBDIR=${baselib} \
3469721092SAndrew Geissler"
3569721092SAndrew Geissler
3669721092SAndrew Geisslerdo_compile () {
3769721092SAndrew Geissler	oe_runmake library
3869721092SAndrew Geissler}
3969721092SAndrew Geissler
4069721092SAndrew Geisslerdo_install () {
4169721092SAndrew Geissler	oe_runmake prefix=${D}${prefix} INSTALL=${D}${prefix} install
4269721092SAndrew Geissler
4369721092SAndrew Geissler        # Remove runtime paths from shared libraries
4469721092SAndrew Geissler        for file in ${D}${libdir}/*.so.*; do
4569721092SAndrew Geissler            if [ ! -L "$file" ]; then
4669721092SAndrew Geissler                chrpath -d "$file"
4769721092SAndrew Geissler            fi
4869721092SAndrew Geissler        done
4969721092SAndrew Geissler}
5069721092SAndrew Geissler
51213cb269SPatrick WilliamsFILES:${PN} += " \
5269721092SAndrew Geissler    ${libdir}/libmongoose.so.* \
5369721092SAndrew Geissler    ${libdir}/libgraphblas.so.* \
5469721092SAndrew Geissler    ${libdir}/libmetis.so.* \
5569721092SAndrew Geissler    ${libdir}/libsuitesparseconfig.so.* \
5669721092SAndrew Geissler    ${libdir}/libamd.so.* \
5769721092SAndrew Geissler    ${libdir}/libbtf.so.* \
5869721092SAndrew Geissler    ${libdir}/libcamd.so.* \
5969721092SAndrew Geissler    ${libdir}/libccolamd.so.* \
6069721092SAndrew Geissler    ${libdir}/libcolamd.so.* \
6169721092SAndrew Geissler    ${libdir}/libcholmod.so.* \
6269721092SAndrew Geissler    ${libdir}/libcxsparse.so.* \
6369721092SAndrew Geissler    ${libdir}/libldl.so.* \
6469721092SAndrew Geissler    ${libdir}/libklu.so.* \
6569721092SAndrew Geissler    ${libdir}/libumfpack.so.* \
6669721092SAndrew Geissler    ${libdir}/librbio.so.* \
6769721092SAndrew Geissler    ${libdir}/libspqr.so.* \
6869721092SAndrew Geissler    ${libdir}/libsliplu.so.* \
6969721092SAndrew Geissler    ${bindir}/mongoose \
7069721092SAndrew Geissler"
7169721092SAndrew Geissler
72213cb269SPatrick WilliamsFILES:${PN}-staticdev += "${libdir}/libmongoose.a"
73213cb269SPatrick WilliamsFILES:${PN}-dev += "${includedir} ${libdir}/*.so"
7469721092SAndrew Geissler
7569721092SAndrew GeisslerEXCLUDE_FROM_WORLD = "1"
76