xref: /openbmc/openbmc/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb (revision 96e4b4e121e0e2da1535d7d537d6a982a6ff5bc0)
1# (c) Copyright 2012  Hewlett-Packard Development Company, L.P.
2
3SUMMARY = "a simple, small, minimal, C++ XML parser"
4HOMEPAGE = "http://www.sourceforge.net/projects/tinyxml"
5LICENSE = "Zlib"
6LIC_FILES_CHKSUM = "file://readme.txt;md5=f8f366f3370dda889f60faa7db162cf4"
7SECTION = "libs"
8CVE_PRODUCT = "tinyxml"
9
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/tinyxml/tinyxml_${@'${PV}'.replace('.', '_')}.tar.gz \
12           file://enforce-use-stl.patch \
13           file://entity-encoding.patch \
14           file://CVE-2021-42260.patch \
15           file://CVE-2023-34194.patch \
16"
17SRC_URI[sha256sum] = "15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593"
18
19S = "${WORKDIR}/tinyxml"
20
21EXTRA_CXXFLAGS = "-I. -fPIC"
22
23do_compile() {
24    ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxml.o tinyxml.cpp
25    ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxmlerror.o tinyxmlerror.cpp
26    ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxmlparser.o tinyxmlparser.cpp
27    ${CXX} ${CXXFLAGS} \
28            -shared \
29            -Wl,-soname,libtinyxml.so.${PV} \
30            -o libtinyxml.so.${PV} \
31            ${LDFLAGS} \
32            tinyxml.o \
33            tinyxmlparser.o \
34            tinyxmlerror.o
35
36}
37
38do_install() {
39    install -d ${D}${libdir}
40    install -m 0755 ${S}/libtinyxml.so.${PV} ${D}${libdir}
41    ln -sf libtinyxml.so.${PV} ${D}${libdir}/libtinyxml.so
42
43    install -d ${D}${includedir}
44    install -m 0644 ${S}/tinyxml.h ${D}${includedir}
45}
46
47BBCLASSEXTEND = "native"
48