summaryrefslogtreecommitdiffstats
path: root/templates/feature
ModeNameSize
d---------agl-all-features40logstatsplain
d---------agl-appfw-smack93logstatsplain
d---------agl-archiver45logstatsplain
d---------agl-ci-change-features-nogfx40logstatsplain
d---------agl-ci-change-features40logstatsplain
d---------agl-ci-snapshot-features-nogfx40logstatsplain
d---------agl-ci-snapshot-features40logstatsplain
d---------agl-ci45logstatsplain
d---------agl-devel85logstatsplain
d---------agl-isafw93logstatsplain
d---------agl-netboot93logstatsplain
d---------agl-sota93logstatsplain
lor: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
SUMMARY = "Mongoose - Embedded Web Server / Embedded Networking Library"
DESCRIPTION = "Mongoose is ideal for embedded environments. It has been designed for connecting devices and bringing them online.  \
               Mongoose makes embedded network programming fast, robust, and easy."

HOMEPAGE = "https://www.cesanta.com/"

LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3548d4c6b2c754880739734d5e100aa9"

SECTION = "libs"

PV = "6.6+git${SRCPV}"
SRCREV = "a23daa1547937b17bc30894d4bf19ddca80c7d35"
SRC_URI = "git://github.com/cesanta/mongoose.git;branch=master"

S = "${WORKDIR}/git"

DEPENDS = "openssl"

MONGOOSE_EXLIBS ?= "libmongoose.so libmongoose_ssl.so libmongoose_mqtt.so"

python () {
    d.setVar("CFLAGS_DEF", "-DMG_ENABLE_THREADS -DMG_ENABLE_COAP -DMG_ENABLE_HTTP_STREAMING_MULTIPART")
    d.setVar("CFLAGS_SSL", "-DMG_ENABLE_THREADS -DMG_ENABLE_SSL -lssl -lcrypto")
    d.setVar("CFLAGS_MQTT", "-DMG_ENABLE_THREADS -DMG_ENABLE_SSL -lssl -lcrypto -DMG_ENABLE_MQTT_BROKER -DMG_ENABLE_HTTP=0")
}

FILES_${PN} += "${exec_prefix}/lib/libmongoose.so \
                ${exec_prefix}/lib/libmongoose_mqtt.so \
                ${exec_prefix}/lib/libmongoose_ssl.so \
               "
               
FILES_${PN}-dbg = "${exec_prefix}/src/*"

FILES_${PN}-dev = "${exec_prefix}/include/mongoose.h"

FILES_${PN}-doc = "${exec_prefix}/share/doc/*"

do_compile() {

    if [ "${@bb.utils.contains('MONGOOSE_EXLIBS', 'libmongoose.so', 'def', '', d)}" = "def" ]; then
        ${CC} mongoose.c -fPIC -shared -o libmongoose.so ${CFLAGS_DEF}
    fi
        
    if [ "${@bb.utils.contains('MONGOOSE_EXLIBS', 'libmongoose_ssl.so', 'ssl', '', d)}" = "ssl" ]; then
        ${CC} mongoose.c -fPIC -shared -o libmongoose_ssl.so ${CFLAGS_SSL}
    fi
 
    if [ "${@bb.utils.contains('MONGOOSE_EXLIBS', 'libmongoose_mqtt.so', 'mqtt', '', d)}" = "mqtt" ]; then
        ${CC} mongoose.c -fPIC -shared -o libmongoose_mqtt.so ${CFLAGS_MQTT}
    fi
}

do_install() {

    install -d ${D}${exec_prefix}/lib/
    install -d ${D}${exec_prefix}/include/
    install -d ${D}${exec_prefix}/src/debug/mongoose/6.6/
    install -d ${D}${exec_prefix}/share/doc/
    
    for libs in ${MONGOOSE_EXLIBS}
        do
            install -m 0644 ${S}/${libs} ${D}${exec_prefix}/lib/${libs}
        done

    install -m 0644 ${S}/mongoose.h ${D}${exec_prefix}/include/mongoose.h
    install -m 0644 ${S}/mongoose.c ${D}${exec_prefix}/src/debug/mongoose/6.6/mongoose.c
    install -m 0644 ${S}/mongoose.h ${D}${exec_prefix}/src/debug/mongoose/6.6/mongoose.h
    
    tar -czf docs.tar.gz ${S}/docs/
    install -m 0644 ${S}/docs.tar.gz ${D}${exec_prefix}/share/doc/docs.tar.gz
    install -m 0644 ${S}/LICENSE ${D}${exec_prefix}/share/doc/LICENSE
    install -m 0644 ${S}/CONTRIBUTING.md ${D}${exec_prefix}/share/doc/CONTRIBUTING.md
}