Andrew Geissler | bffdb3e | 2020-08-21 16:13:29 -0500 | [diff] [blame] | 1 | SUMMARY = "BearSSL is an implementation of the SSL/TLS protocol (RFC 5246) written in C" |
| 2 | DESCRIPTION = "BearSSL is an implementation of the SSL/TLS protocol (RFC \ |
| 3 | 5246) written in C. It aims at offering the following features: \ |
| 4 | * Be correct and secure. In particular, insecure protocol versions and \ |
| 5 | choices of algorithms are not supported, by design; cryptographic \ |
| 6 | algorithm implementations are constant-time by default. \ |
| 7 | * Be small, both in RAM and code footprint. For instance, a minimal \ |
| 8 | server implementation may fit in about 20 kilobytes of compiled code \ |
| 9 | and 25 kilobytes of RAM. \ |
| 10 | * Be highly portable. BearSSL targets not only “big” operating systems \ |
| 11 | like Linux and Windows, but also small embedded systems and even special \ |
| 12 | contexts like bootstrap code. \ |
| 13 | * Be feature-rich and extensible. SSL/TLS has many defined cipher suites \ |
| 14 | and extensions; BearSSL should implement most of them, and allow extra \ |
| 15 | algorithm implementations to be added afterwards, possibly from third \ |
| 16 | parties." |
| 17 | HOMEPAGE = "https://bearssl.org" |
| 18 | |
| 19 | SECTION = "libs" |
| 20 | |
Andrew Geissler | d688a01 | 2020-09-18 13:36:00 -0500 | [diff] [blame] | 21 | inherit lib_package |
| 22 | |
Andrew Geissler | bffdb3e | 2020-08-21 16:13:29 -0500 | [diff] [blame] | 23 | LICENSE = "MIT" |
| 24 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fc37e1037ae673975fbcb96a98f7191" |
| 25 | |
Patrick Williams | 73bd93f | 2024-02-20 08:07:48 -0600 | [diff] [blame] | 26 | PV .= "+git" |
Patrick Williams | 169d7bc | 2024-01-05 11:33:25 -0600 | [diff] [blame] | 27 | SRCREV = "79c060eea3eea1257797f15ea1608a9a9923aa6f" |
Andrew Geissler | 595f630 | 2022-01-24 19:11:47 +0000 | [diff] [blame] | 28 | SRC_URI = "git://www.bearssl.org/git/BearSSL;protocol=https;branch=master \ |
Patrick Williams | 169d7bc | 2024-01-05 11:33:25 -0600 | [diff] [blame] | 29 | file://0002-test-test_x509.c-fix-potential-overflow-issue.patch \ |
| 30 | " |
Andrew Geissler | bffdb3e | 2020-08-21 16:13:29 -0500 | [diff] [blame] | 31 | |
Patrick Williams | 169d7bc | 2024-01-05 11:33:25 -0600 | [diff] [blame] | 32 | SONAME = "libbearssl.so.6" |
Andrew Geissler | bffdb3e | 2020-08-21 16:13:29 -0500 | [diff] [blame] | 33 | # without compile errors like |
| 34 | # <..>/ld: build/obj/ghash_pclmul.o: warning: relocation against `br_ghash_pclmul' in read-only section `.text' |
| 35 | CFLAGS += "-fPIC" |
| 36 | |
Patrick Williams | 169d7bc | 2024-01-05 11:33:25 -0600 | [diff] [blame] | 37 | EXTRA_OEMAKE += 'CC="${CC}" CFLAGS="${CFLAGS}" LDDLL="${CCLD} ${LDFLAGS}" LD="${CCLD}" LDFLAGS="${LDFLAGS}" \ |
| 38 | BEARSSLDLL=build/${SONAME} \ |
| 39 | LDDLLFLAGS="-shared -Wl,-soname,${SONAME}" \ |
| 40 | ${@ "STATICLIB=no" if d.getVar('DISABLE_STATIC') != "" else "" } \ |
| 41 | ' |
| 42 | |
Andrew Geissler | bffdb3e | 2020-08-21 16:13:29 -0500 | [diff] [blame] | 43 | S = "${WORKDIR}/git" |
Andrew Geissler | d688a01 | 2020-09-18 13:36:00 -0500 | [diff] [blame] | 44 | |
| 45 | do_install() { |
Patrick Williams | 169d7bc | 2024-01-05 11:33:25 -0600 | [diff] [blame] | 46 | install -d ${D}/${bindir} ${D}/${libdir} ${D}/${includedir} |
| 47 | install -m 0755 ${B}/build/brssl ${D}/${bindir} |
| 48 | oe_libinstall -C ${B}/build libbearssl ${D}/${libdir} |
| 49 | for inc in ${S}/inc/*.h; do |
| 50 | install -m 0644 "${inc}" ${D}/${includedir} |
| 51 | done |
Andrew Geissler | d688a01 | 2020-09-18 13:36:00 -0500 | [diff] [blame] | 52 | } |