blob: 5351a9f99122915878d14324b356b2d781f6e4e0 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001SUMMARY = "Newlib is a C library intended for use on embedded systems"
2HOMEPAGE = "https://sourceware.org/newlib/"
3DESCRIPTION = "C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products."
4SECTION = "libs"
5
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00006LICENSE = "GPL-2.0-only & LGPL-3.0-only & GPL-3.0-only & LGPL-2.0-only & BSD-2-Clause & BSD-3-Clause & TCL"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08007LIC_FILES_CHKSUM = " \
8 file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
9 file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
10 file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000011 file://COPYING.LIBGLOSS;md5=c0469b6ebb847a75781066be515f032d \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080012 file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
Patrick Williamsb9af8752023-01-30 13:28:01 -060013 file://COPYING.NEWLIB;md5=5a9d477b5f4eab20dccf655a77107a6e \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080014 file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080015 "
16
Patrick Williamsb9af8752023-01-30 13:28:01 -060017BASEVER = "4.3.0"
18PV = "${BASEVER}+git${SRCPV}"
19SRC_URI = "git://sourceware.org/git/newlib-cygwin.git;protocol=https;branch=main"
20SRCREV="9e09d6ed83cce4777a5950412647ccc603040409"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080021
22INHIBIT_DEFAULT_DEPS = "1"
Brad Bishop19323692019-04-05 15:28:33 -040023DEPENDS = "virtual/${TARGET_PREFIX}gcc"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080024
Patrick Williamsb9af8752023-01-30 13:28:01 -060025S = "${WORKDIR}/git"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080026B = "${WORKDIR}/build"
27
28## disable stdlib
Patrick Williams213cb262021-08-07 19:21:33 -050029TARGET_CC_ARCH:append = " -nostdlib"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080030
31EXTRA_OECONF = " \
32 --build=${BUILD_SYS} \
33 --target=${TARGET_SYS} \
34 --host=${HOST_SYS} \
35 --prefix=${prefix} \
36 --exec-prefix=${exec_prefix} \
37 --bindir=${bindir} \
38 --libdir=${libdir} \
39 --includedir=${includedir} \
40 --enable-languages=c \
41 --with-newlib \
42 --with-gnu-as \
43 --with-gnu-ld \
44 --disable-multilib \
Andrew Geissler82c905d2020-04-13 13:39:40 -050045 --disable-newlib-supplied-syscalls \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080046 "
47
48do_configure[cleandirs] = "${B}"
49
Patrick Williamsb9af8752023-01-30 13:28:01 -060050# We need a dummy limits.h to pass preprocessor checks
51do_configure:append(){
52 install -d ${STAGING_INCDIR}
53 touch ${STAGING_INCDIR}/limits.h
54}
55
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080056do_install() {
57 oe_runmake install DESTDIR='${D}'
58}
59
Patrick Williams213cb262021-08-07 19:21:33 -050060COMPATIBLE_HOST:libc-musl:class-target = "null"
61COMPATIBLE_HOST:libc-glibc:class-target = "null"