uclibc: Get uclibc working in thumb mode.
[vuplus_openembedded] / recipes / uclibc / uclibc_svn.bb
1 # UCLIBC_BASE should be the latest released revision of uclibc (that way
2 # the config files will typically be correct!)  uclibc-svn takes precedence
3 # over uclibc-${UCLIBC_BASE}, if a config file in uclibc-snv is out of date
4 # try removing it
5 #
6 # UCLIBC_BASE can be set in a distro file, but whether this works depends
7 # on whether the base patches apply to the selected (SRCDATE) svn release.
8 #
9 UCLIBC_BASE ?= "0.9.30"
10 PV = "${UCLIBC_BASE}+svnr${SRCREV}"
11 PR = "r0"
12 #DEFAULT_PREFERENCE = "2"
13 #DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
14 # precedence.
15
16 require uclibc.inc
17
18 PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
19
20 #recent versions uclibc require real kernel headers
21 PACKAGE_ARCH = "${MACHINE_ARCH}"
22 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-svn', '${FILE_DIRNAME}/uclibc-${UCLIBC_BASE}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
23
24 #as stated above, uclibc needs real kernel-headers
25 #however: we can't depend on virtual/kernel when nptl hits due to depends deadlocking ....
26 KERNEL_SOURCE = "${CROSS_DIR}/${TARGET_SYS}"
27
28 SRC_URI += "svn://uclibc.org/trunk;module=uClibc \
29         file://uClibc.machine \
30         file://uClibc.distro \
31         file://uclibc-arm-ftruncate64.patch;patch=1 \
32         file://uclibc_enable_log2_test.patch;patch=1 \
33         file://uclibc_ldso_use_O0.patch;patch=1 \
34         file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch;patch=1 \
35         "
36 S = "${WORKDIR}/uClibc"