mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 00:20:08 +00:00
uclibc: remove
uclibc is showing its age now and upstarts like musl are approximately the same size but with far more features and active maintainers. Remove uclibc from oe-core and use endorse musl as the lighter alternative to full-fat glibc. (From OE-Core rev: ff1599149942af1c36280abd4f1ed3878aaa62eb) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
560077821a
commit
bb9d9dacca
@@ -1,28 +0,0 @@
|
|||||||
#
|
|
||||||
# uclibc specific configuration
|
|
||||||
#
|
|
||||||
|
|
||||||
LIBCEXTENSION = "-uclibc"
|
|
||||||
|
|
||||||
# Add uclibc overrides to the overrides.
|
|
||||||
LIBCOVERRIDE = ":libc-uclibc"
|
|
||||||
OVERRIDES .= "${LIBCOVERRIDE}"
|
|
||||||
|
|
||||||
PREFERRED_PROVIDER_virtual/libc ?= "uclibc"
|
|
||||||
PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
|
|
||||||
PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
|
|
||||||
PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-glibc"
|
|
||||||
PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-glibc"
|
|
||||||
|
|
||||||
USE_NLS ?= "no"
|
|
||||||
|
|
||||||
CXXFLAGS += "-fvisibility-inlines-hidden"
|
|
||||||
|
|
||||||
IMAGE_LINGUAS = ""
|
|
||||||
|
|
||||||
LIBC_DEPENDENCIES = "\
|
|
||||||
uclibc \
|
|
||||||
uclibc-dbg \
|
|
||||||
uclibc-dev \
|
|
||||||
uclibc-thread-db \
|
|
||||||
"
|
|
||||||
@@ -1,474 +0,0 @@
|
|||||||
a64l
|
|
||||||
abs
|
|
||||||
access
|
|
||||||
__adjtimex
|
|
||||||
alarm
|
|
||||||
alphasort
|
|
||||||
argz_append
|
|
||||||
__argz_count
|
|
||||||
argz_create_sep
|
|
||||||
argz_insert
|
|
||||||
__argz_next
|
|
||||||
argz_next
|
|
||||||
__argz_stringify
|
|
||||||
argz_stringify
|
|
||||||
asprintf
|
|
||||||
atexit
|
|
||||||
atof
|
|
||||||
atoi
|
|
||||||
bcmp
|
|
||||||
bcopy
|
|
||||||
bindresvport
|
|
||||||
bind_textdomain_codeset
|
|
||||||
btowc
|
|
||||||
bzero
|
|
||||||
calloc
|
|
||||||
canonicalize_file_name
|
|
||||||
catgets
|
|
||||||
cfgetospeed
|
|
||||||
cfsetispeed
|
|
||||||
cfsetspeed
|
|
||||||
chmod
|
|
||||||
chown
|
|
||||||
chroot
|
|
||||||
clock
|
|
||||||
close
|
|
||||||
closedir
|
|
||||||
closelog
|
|
||||||
confstr
|
|
||||||
connect
|
|
||||||
daemon
|
|
||||||
dcgettext
|
|
||||||
difftime
|
|
||||||
dirfd
|
|
||||||
dirname
|
|
||||||
dngettext
|
|
||||||
dup2
|
|
||||||
ecvt
|
|
||||||
endgrent
|
|
||||||
endmntent
|
|
||||||
endpwent
|
|
||||||
endutent
|
|
||||||
endutxent
|
|
||||||
epoll_ctl
|
|
||||||
err
|
|
||||||
ether_hostton
|
|
||||||
ether_ntohost
|
|
||||||
euidaccess
|
|
||||||
execv
|
|
||||||
fchdir
|
|
||||||
fchmod
|
|
||||||
fchmodat
|
|
||||||
fchown
|
|
||||||
fchownat
|
|
||||||
fcntl
|
|
||||||
fcvt
|
|
||||||
fdatasync
|
|
||||||
fdopendir
|
|
||||||
feof_unlocked
|
|
||||||
fgets_unlocked
|
|
||||||
fgetxattr
|
|
||||||
finite
|
|
||||||
flistxattr
|
|
||||||
flock
|
|
||||||
flockfile
|
|
||||||
fnmatch
|
|
||||||
fork
|
|
||||||
fpathconf
|
|
||||||
__fpending
|
|
||||||
fprintf
|
|
||||||
free
|
|
||||||
freeaddrinfo
|
|
||||||
freeifaddrs
|
|
||||||
fseeko
|
|
||||||
__fsetlocking
|
|
||||||
fsetxattr
|
|
||||||
fstat64
|
|
||||||
fstat
|
|
||||||
fstatfs
|
|
||||||
fsync
|
|
||||||
ftello
|
|
||||||
ftime
|
|
||||||
ftruncate
|
|
||||||
funlockfile
|
|
||||||
futimes
|
|
||||||
futimesat
|
|
||||||
gai_strerror
|
|
||||||
gcvt
|
|
||||||
getaddrinfo
|
|
||||||
getc_unlocked
|
|
||||||
getcwd
|
|
||||||
getdelim
|
|
||||||
getdomainname
|
|
||||||
getdtablesize
|
|
||||||
getegid
|
|
||||||
getenv
|
|
||||||
geteuid
|
|
||||||
getgid
|
|
||||||
getgrent
|
|
||||||
getgrent_r
|
|
||||||
getgrgid_r
|
|
||||||
getgrnam
|
|
||||||
getgrnam_r
|
|
||||||
getgrouplist
|
|
||||||
getgroups
|
|
||||||
gethostbyaddr_r
|
|
||||||
gethostbyname2
|
|
||||||
gethostbyname
|
|
||||||
gethostbyname_r
|
|
||||||
gethostent
|
|
||||||
gethostid
|
|
||||||
gethostname
|
|
||||||
getifaddrs
|
|
||||||
getline
|
|
||||||
getloadavg
|
|
||||||
getmntent
|
|
||||||
getmsg
|
|
||||||
getnameinfo
|
|
||||||
getnetbyaddr_r
|
|
||||||
getnetgrent_r
|
|
||||||
getopt
|
|
||||||
getopt_long
|
|
||||||
getopt_long_only
|
|
||||||
getpagesize
|
|
||||||
getpass
|
|
||||||
getpeername
|
|
||||||
getpgrp
|
|
||||||
getpid
|
|
||||||
getppid
|
|
||||||
getprotoent_r
|
|
||||||
getpwent
|
|
||||||
getpwent_r
|
|
||||||
getpwnam
|
|
||||||
getpwnam_r
|
|
||||||
getpwuid
|
|
||||||
getpwuid_r
|
|
||||||
getresuid
|
|
||||||
getrlimit
|
|
||||||
getrusage
|
|
||||||
getservbyname
|
|
||||||
getservbyname_r
|
|
||||||
getservbyport_r
|
|
||||||
getservent
|
|
||||||
getservent_r
|
|
||||||
getspnam
|
|
||||||
getspnam_r
|
|
||||||
gettimeofday
|
|
||||||
getttyent
|
|
||||||
getttynam
|
|
||||||
getuid
|
|
||||||
getusershell
|
|
||||||
getutent
|
|
||||||
getutid
|
|
||||||
getutline
|
|
||||||
getutmp
|
|
||||||
getutmpx
|
|
||||||
getutxent
|
|
||||||
getutxid
|
|
||||||
getutxline
|
|
||||||
getwd
|
|
||||||
getxattr
|
|
||||||
glob
|
|
||||||
gmtime
|
|
||||||
gmtime_r
|
|
||||||
grantpt
|
|
||||||
group_member
|
|
||||||
herror
|
|
||||||
hstrerror
|
|
||||||
iconv
|
|
||||||
iconv_open
|
|
||||||
if_freenameindex
|
|
||||||
if_indextoname
|
|
||||||
if_nameindex
|
|
||||||
if_nametoindex
|
|
||||||
index
|
|
||||||
inet_addr
|
|
||||||
inet_aton
|
|
||||||
inet_ntoa
|
|
||||||
inet_ntop
|
|
||||||
inet_pton
|
|
||||||
initgroups
|
|
||||||
innetgr
|
|
||||||
iruserok
|
|
||||||
isascii
|
|
||||||
isatty
|
|
||||||
isblank
|
|
||||||
isgraph
|
|
||||||
isinf
|
|
||||||
isnan
|
|
||||||
isprint
|
|
||||||
isspace
|
|
||||||
iswalnum
|
|
||||||
iswcntrl
|
|
||||||
iswctype
|
|
||||||
iswprint
|
|
||||||
iswspace
|
|
||||||
iswupper
|
|
||||||
isxdigit
|
|
||||||
kill
|
|
||||||
killpg
|
|
||||||
lchown
|
|
||||||
lckpwdf
|
|
||||||
lgetxattr
|
|
||||||
link
|
|
||||||
listxattr
|
|
||||||
llistxattr
|
|
||||||
localtime
|
|
||||||
localtime_r
|
|
||||||
lockf
|
|
||||||
lrand48
|
|
||||||
lsearch
|
|
||||||
lseek64
|
|
||||||
lsetxattr
|
|
||||||
lstat
|
|
||||||
mallinfo
|
|
||||||
malloc
|
|
||||||
mblen
|
|
||||||
mbrlen
|
|
||||||
mbrtowc
|
|
||||||
mbsinit
|
|
||||||
mbsrtowcs
|
|
||||||
mbtowc
|
|
||||||
memalign
|
|
||||||
memchr
|
|
||||||
memcmp
|
|
||||||
memcpy
|
|
||||||
memmove
|
|
||||||
mempcpy
|
|
||||||
memrchr
|
|
||||||
memset
|
|
||||||
mkdir
|
|
||||||
mkdirat
|
|
||||||
mkdtemp
|
|
||||||
mkfifo
|
|
||||||
mknod
|
|
||||||
mkstemp64
|
|
||||||
mkstemp
|
|
||||||
mktime
|
|
||||||
mlock
|
|
||||||
mmap
|
|
||||||
mtrace
|
|
||||||
munlock
|
|
||||||
munmap
|
|
||||||
nanosleep
|
|
||||||
nice
|
|
||||||
nl_langinfo
|
|
||||||
ntp_adjtime
|
|
||||||
ntp_gettime
|
|
||||||
_obstack_free
|
|
||||||
on_exit
|
|
||||||
open64
|
|
||||||
open
|
|
||||||
openat
|
|
||||||
opendir
|
|
||||||
openlog
|
|
||||||
pathconf
|
|
||||||
pipe
|
|
||||||
poll
|
|
||||||
popen
|
|
||||||
posix_memalign
|
|
||||||
prctl
|
|
||||||
pread
|
|
||||||
printf
|
|
||||||
__progname
|
|
||||||
pselect
|
|
||||||
pthread_mutex_lock
|
|
||||||
ptsname
|
|
||||||
putenv
|
|
||||||
putgrent
|
|
||||||
putpwent
|
|
||||||
putspent
|
|
||||||
pututline
|
|
||||||
pututxline
|
|
||||||
putwc
|
|
||||||
pwrite
|
|
||||||
qsort
|
|
||||||
raise
|
|
||||||
rand
|
|
||||||
random
|
|
||||||
rand_r
|
|
||||||
read
|
|
||||||
readdir
|
|
||||||
readdir_r
|
|
||||||
readlink
|
|
||||||
realloc
|
|
||||||
realpath
|
|
||||||
re_comp
|
|
||||||
recvmsg
|
|
||||||
re_exec
|
|
||||||
regcomp
|
|
||||||
regexec
|
|
||||||
remove
|
|
||||||
rename
|
|
||||||
re_search
|
|
||||||
rmdir
|
|
||||||
rpmatch
|
|
||||||
rresvport_af
|
|
||||||
ruserok
|
|
||||||
ruserok_af
|
|
||||||
sbrk
|
|
||||||
scandir
|
|
||||||
sched_setscheduler
|
|
||||||
sched_yield
|
|
||||||
__secure_getenv
|
|
||||||
select
|
|
||||||
semctl
|
|
||||||
semget
|
|
||||||
sendmsg
|
|
||||||
setbuf
|
|
||||||
setbuffer
|
|
||||||
setegid
|
|
||||||
setenv
|
|
||||||
seteuid
|
|
||||||
setgid
|
|
||||||
setgroups
|
|
||||||
sethostname
|
|
||||||
setitimer
|
|
||||||
_setjmp
|
|
||||||
setjmp
|
|
||||||
setlinebuf
|
|
||||||
setlocale
|
|
||||||
setmntent
|
|
||||||
setpgid
|
|
||||||
setpgrp
|
|
||||||
setpriority
|
|
||||||
setregid
|
|
||||||
setresgid
|
|
||||||
setresuid
|
|
||||||
setreuid
|
|
||||||
setrlimit
|
|
||||||
setsid
|
|
||||||
setsockopt
|
|
||||||
settimeofday
|
|
||||||
setuid
|
|
||||||
setutent
|
|
||||||
setutxent
|
|
||||||
setvbuf
|
|
||||||
setxattr
|
|
||||||
sgetspent
|
|
||||||
shmat
|
|
||||||
shmctl
|
|
||||||
shmdt
|
|
||||||
shmget
|
|
||||||
shutdown
|
|
||||||
sigaction
|
|
||||||
sigaddset
|
|
||||||
sigaltstack
|
|
||||||
sigblock
|
|
||||||
sigemptyset
|
|
||||||
sighold
|
|
||||||
siginterrupt
|
|
||||||
signal
|
|
||||||
sigprocmask
|
|
||||||
sigset
|
|
||||||
sigsetmask
|
|
||||||
sigstack
|
|
||||||
sigsuspend
|
|
||||||
sigvec
|
|
||||||
snprintf
|
|
||||||
socket
|
|
||||||
socketpair
|
|
||||||
sprintf
|
|
||||||
srand48
|
|
||||||
srand
|
|
||||||
srandom
|
|
||||||
sscanf
|
|
||||||
stat
|
|
||||||
statfs
|
|
||||||
statvfs
|
|
||||||
stime
|
|
||||||
stpcpy
|
|
||||||
strcasecmp
|
|
||||||
strcasestr
|
|
||||||
strchr
|
|
||||||
strchrnul
|
|
||||||
strcmp
|
|
||||||
strcspn
|
|
||||||
strdup
|
|
||||||
strerror
|
|
||||||
strerror_r
|
|
||||||
strftime
|
|
||||||
strlen
|
|
||||||
strncasecmp
|
|
||||||
strncmp
|
|
||||||
strndup
|
|
||||||
strnlen
|
|
||||||
strpbrk
|
|
||||||
strptime
|
|
||||||
strrchr
|
|
||||||
strsep
|
|
||||||
strsignal
|
|
||||||
strspn
|
|
||||||
strstr
|
|
||||||
strtod
|
|
||||||
strtoimax
|
|
||||||
strtok_r
|
|
||||||
strtol
|
|
||||||
strtoll
|
|
||||||
strtoul
|
|
||||||
strtoull
|
|
||||||
strtoumax
|
|
||||||
strverscmp
|
|
||||||
strxfrm
|
|
||||||
symlink
|
|
||||||
sync
|
|
||||||
sysconf
|
|
||||||
sysctl
|
|
||||||
sysinfo
|
|
||||||
syslog
|
|
||||||
_sys_siglist
|
|
||||||
sys_siglist
|
|
||||||
system
|
|
||||||
tcgetattr
|
|
||||||
tcgetpgrp
|
|
||||||
tcsetattr
|
|
||||||
tcsetpgrp
|
|
||||||
time
|
|
||||||
timegm
|
|
||||||
times
|
|
||||||
timezone
|
|
||||||
tmpnam
|
|
||||||
towlower
|
|
||||||
towupper
|
|
||||||
truncate
|
|
||||||
tsearch
|
|
||||||
ttyname
|
|
||||||
tzset
|
|
||||||
ulimit
|
|
||||||
umask
|
|
||||||
uname
|
|
||||||
unlink
|
|
||||||
unsetenv
|
|
||||||
unshare
|
|
||||||
updwtmp
|
|
||||||
updwtmpx
|
|
||||||
usleep
|
|
||||||
ustat
|
|
||||||
utime
|
|
||||||
utimes
|
|
||||||
utmpname
|
|
||||||
utmpxname
|
|
||||||
valloc
|
|
||||||
vasprintf
|
|
||||||
verrx
|
|
||||||
vfork
|
|
||||||
vfprintf
|
|
||||||
vfscanf
|
|
||||||
vhangup
|
|
||||||
vprintf
|
|
||||||
vsnprintf
|
|
||||||
vsprintf
|
|
||||||
wait3
|
|
||||||
wait4
|
|
||||||
waitpid
|
|
||||||
wcrtomb
|
|
||||||
wcscoll
|
|
||||||
wcsdup
|
|
||||||
wcslen
|
|
||||||
wctob
|
|
||||||
wctomb
|
|
||||||
wctype
|
|
||||||
wcwidth
|
|
||||||
wmemchr
|
|
||||||
wmemcpy
|
|
||||||
wmempcpy
|
|
||||||
@@ -1,156 +0,0 @@
|
|||||||
aio.h
|
|
||||||
alloca.h
|
|
||||||
argz.h
|
|
||||||
arpa/inet.h
|
|
||||||
arpa/nameser.h
|
|
||||||
asm/byteorder.h
|
|
||||||
asm/ioctls.h
|
|
||||||
asm/page.h
|
|
||||||
asm/types.h
|
|
||||||
assert.h
|
|
||||||
byteswap.h
|
|
||||||
crypt.h
|
|
||||||
ctype.h
|
|
||||||
dirent.h
|
|
||||||
dlfcn.h
|
|
||||||
elf.h
|
|
||||||
endian.h
|
|
||||||
err.h
|
|
||||||
errno.h
|
|
||||||
execinfo.h
|
|
||||||
fcntl.h
|
|
||||||
features.h
|
|
||||||
float.h
|
|
||||||
fstab.h
|
|
||||||
ftw.h
|
|
||||||
getopt.h
|
|
||||||
glob.h
|
|
||||||
grp.h
|
|
||||||
iconv.h
|
|
||||||
ifaddrs.h
|
|
||||||
inttypes.h
|
|
||||||
langinfo.h
|
|
||||||
lastlog.h
|
|
||||||
libgen.h
|
|
||||||
libintl.h
|
|
||||||
limits.h
|
|
||||||
linux/capability.h
|
|
||||||
linux/fd.h
|
|
||||||
linux/fs.h
|
|
||||||
linux/hayesesp.h
|
|
||||||
linux/hdreg.h
|
|
||||||
linux/icmp.h
|
|
||||||
linux/in6.h
|
|
||||||
linux/joystick.h
|
|
||||||
linux/ptrace.h
|
|
||||||
linux/serial.h
|
|
||||||
linux/sonypi.h
|
|
||||||
linux/unistd.h
|
|
||||||
linux/utsname.h
|
|
||||||
linux/version.h
|
|
||||||
locale.h
|
|
||||||
malloc.h
|
|
||||||
math.h
|
|
||||||
mcheck.h
|
|
||||||
memory.h
|
|
||||||
mntent.h
|
|
||||||
mqueue.h
|
|
||||||
netdb.h
|
|
||||||
net/if.h
|
|
||||||
netinet/ether.h
|
|
||||||
netinet/in.h
|
|
||||||
netinet/ip6.h
|
|
||||||
netinet/ip.h
|
|
||||||
netinet/tcp.h
|
|
||||||
netinet/udp.h
|
|
||||||
netipx/ipx.h
|
|
||||||
net/route.h
|
|
||||||
paths.h
|
|
||||||
poll.h
|
|
||||||
pthread.h
|
|
||||||
pty.h
|
|
||||||
pwd.h
|
|
||||||
regex.h
|
|
||||||
resolv.h
|
|
||||||
rpc/rpc.h
|
|
||||||
rpc/types.h
|
|
||||||
sched.h
|
|
||||||
scsi/scsi.h
|
|
||||||
search.h
|
|
||||||
semaphore.h
|
|
||||||
setjmp.h
|
|
||||||
sgtty.h
|
|
||||||
shadow.h
|
|
||||||
signal.h
|
|
||||||
stdarg.h
|
|
||||||
stdbool.h
|
|
||||||
stdc
|
|
||||||
stddef.h
|
|
||||||
stdint.h
|
|
||||||
stdio.h
|
|
||||||
stdlib.h
|
|
||||||
string.h
|
|
||||||
strings.h
|
|
||||||
stropts.h
|
|
||||||
sys/bitypes.h
|
|
||||||
sys/cdefs.h
|
|
||||||
sys/dir.h
|
|
||||||
sys/epoll.h
|
|
||||||
sysexits.h
|
|
||||||
sys/fcntl.h
|
|
||||||
sys/file.h
|
|
||||||
sys/fsuid.h
|
|
||||||
sys/ioctl.h
|
|
||||||
sys/ipc.h
|
|
||||||
syslog.h
|
|
||||||
sys/mman.h
|
|
||||||
sys/mount.h
|
|
||||||
sys/mtio.h
|
|
||||||
sys/param.h
|
|
||||||
sys/poll.h
|
|
||||||
sys/prctl.h
|
|
||||||
sys/ptrace.h
|
|
||||||
sys/queue.h
|
|
||||||
sys/reg.h
|
|
||||||
sys/resource.h
|
|
||||||
sys/select.h
|
|
||||||
sys/sem.h
|
|
||||||
sys/shm.h
|
|
||||||
sys/signal.h
|
|
||||||
sys/socket.h
|
|
||||||
sys/socketvar.h
|
|
||||||
sys/soundcard.h
|
|
||||||
sys/statfs.h
|
|
||||||
sys/stat.h
|
|
||||||
sys/statvfs.h
|
|
||||||
sys/stropts.h
|
|
||||||
sys/swap.h
|
|
||||||
sys/sysctl.h
|
|
||||||
sys/sysinfo.h
|
|
||||||
sys/sysmacros.h
|
|
||||||
sys/termios.h
|
|
||||||
sys/timeb.h
|
|
||||||
sys/time.h
|
|
||||||
sys/times.h
|
|
||||||
sys/timex.h
|
|
||||||
sys/types.h
|
|
||||||
sys/uio.h
|
|
||||||
sys/un.h
|
|
||||||
sys/unistd.h
|
|
||||||
sys/user.h
|
|
||||||
sys/utsname.h
|
|
||||||
sys/vfs.h
|
|
||||||
sys/wait.h
|
|
||||||
termio.h
|
|
||||||
termios.h
|
|
||||||
time.h
|
|
||||||
ttyent.h
|
|
||||||
ulimit.h
|
|
||||||
unistd.h
|
|
||||||
ustat.h
|
|
||||||
utime.h
|
|
||||||
utmp.h
|
|
||||||
utmpx.h
|
|
||||||
values.h
|
|
||||||
wchar.h
|
|
||||||
wctype.h
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
char
|
|
||||||
char *
|
|
||||||
double
|
|
||||||
float
|
|
||||||
int
|
|
||||||
long
|
|
||||||
long double
|
|
||||||
long int
|
|
||||||
long long
|
|
||||||
long long int
|
|
||||||
short
|
|
||||||
short int
|
|
||||||
signed char
|
|
||||||
unsigned char
|
|
||||||
unsigned int
|
|
||||||
unsigned long
|
|
||||||
unsigned long int
|
|
||||||
unsigned long long int
|
|
||||||
unsigned short
|
|
||||||
unsigned short int
|
|
||||||
void *
|
|
||||||
@@ -1,142 +0,0 @@
|
|||||||
DEPENDS += "kern-tools-native"
|
|
||||||
inherit cml1
|
|
||||||
#
|
|
||||||
# Set the ARCH environment variable for uClibc compilation.
|
|
||||||
# Return value must match one of the architectures known to uClibc:
|
|
||||||
# libc/sysdeps/*/*
|
|
||||||
#
|
|
||||||
|
|
||||||
valid_archs = "\
|
|
||||||
alpha \
|
|
||||||
arm \
|
|
||||||
avr32 \
|
|
||||||
bfin \
|
|
||||||
c6x \
|
|
||||||
cris \
|
|
||||||
e1 \
|
|
||||||
frv \
|
|
||||||
h8300 \
|
|
||||||
hppa \
|
|
||||||
i386 \
|
|
||||||
i960 \
|
|
||||||
ia64 \
|
|
||||||
m68k \
|
|
||||||
microblaze \
|
|
||||||
mips \
|
|
||||||
nios \
|
|
||||||
nios2 \
|
|
||||||
powerpc \
|
|
||||||
sh \
|
|
||||||
sh64 \
|
|
||||||
sparc \
|
|
||||||
v850 \
|
|
||||||
vax \
|
|
||||||
x86_64 \
|
|
||||||
xtensa \
|
|
||||||
"
|
|
||||||
def map_uclibc_arch(a, d):
|
|
||||||
"""Return the uClibc architecture for the given TARGET_ARCH."""
|
|
||||||
import re
|
|
||||||
|
|
||||||
valid_archs = d.getVar('valid_archs', True).split()
|
|
||||||
|
|
||||||
if re.match('^(arm|sa110).*', a):
|
|
||||||
return 'arm'
|
|
||||||
elif re.match('^(i.86|athlon)$', a):
|
|
||||||
return 'i386'
|
|
||||||
elif re.match('^mips.*', a):
|
|
||||||
return 'mips'
|
|
||||||
elif re.match('^parisc.*', a):
|
|
||||||
return 'hppa'
|
|
||||||
elif re.match('^ppc.*', a):
|
|
||||||
return 'powerpc'
|
|
||||||
elif re.match('^s390.*', a):
|
|
||||||
return 's390'
|
|
||||||
elif re.match('^sh.*', a):
|
|
||||||
return 'sh'
|
|
||||||
elif re.match('^(sun|sparc).*', a):
|
|
||||||
return 'sparc'
|
|
||||||
elif re.match('^xtensa.*', a):
|
|
||||||
return 'xtensa'
|
|
||||||
elif a in valid_archs:
|
|
||||||
return a
|
|
||||||
else:
|
|
||||||
bb.error("cannot map '%s' to a uClibc architecture" % a)
|
|
||||||
|
|
||||||
export UCLIBC_ARCH = "${@map_uclibc_arch(d.getVar('TARGET_ARCH', True), d)}"
|
|
||||||
|
|
||||||
def map_uclibc_abi(o, d):
|
|
||||||
"""Return the uClibc ABI for the given TARGET_OS."""
|
|
||||||
import re
|
|
||||||
|
|
||||||
arch = d.getVar('TARGET_ARCH', True)
|
|
||||||
if map_uclibc_arch(d.getVar('TARGET_ARCH', True), d) == "arm":
|
|
||||||
if re.match('.*eabi$', o):
|
|
||||||
return 'ARM_EABI'
|
|
||||||
else:
|
|
||||||
return 'ARM_OABI'
|
|
||||||
# FIXME: This is inaccurate! Handle o32, n32, n64
|
|
||||||
elif re.match('^mips.*64$', arch):
|
|
||||||
return 'MIPS_N64_ABI'
|
|
||||||
elif re.match('^mips.*', arch):
|
|
||||||
return 'MIPS_O32_ABI'
|
|
||||||
return ""
|
|
||||||
|
|
||||||
export UCLIBC_ABI = "${@map_uclibc_abi(d.getVar('TARGET_OS', True), d)}"
|
|
||||||
|
|
||||||
def map_uclibc_endian(a, d):
|
|
||||||
"""Return the uClibc endianess for the given TARGET_ARCH."""
|
|
||||||
import re
|
|
||||||
|
|
||||||
# Always BE
|
|
||||||
if re.match('^(avr32|e1|frv|(parisc|hppa)|m68k|microblaze|powerpc.*|(sparc|sun).*)$', a):
|
|
||||||
return 'BIG'
|
|
||||||
# Possibly BE
|
|
||||||
elif re.match('^(((arm|sa110).*eb)|h8300.*eb|(parisc|hppa).*eb|mips|mips64|sh.*eb|xtensa.*eb)$', a):
|
|
||||||
return 'BIG'
|
|
||||||
return 'LITTLE'
|
|
||||||
|
|
||||||
export UCLIBC_ENDIAN = "${@map_uclibc_endian(d.getVar('TARGET_ARCH', True), d)}"
|
|
||||||
|
|
||||||
# internal helper
|
|
||||||
def uclibc_cfg(feature, features, tokens, cnf, rem):
|
|
||||||
if type(tokens) == type(""):
|
|
||||||
tokens = [tokens]
|
|
||||||
rem.extend(['/^[# ]*' + token + '[ =]/d' for token in tokens])
|
|
||||||
if type(features) == type([]) and feature in features:
|
|
||||||
cnf.extend([token + '=y' for token in tokens])
|
|
||||||
else:
|
|
||||||
cnf.extend(['# ' + token + ' is not set' for token in tokens])
|
|
||||||
|
|
||||||
# Map distro features to config settings
|
|
||||||
def features_to_uclibc_settings(d):
|
|
||||||
cnf, rem = ([], [])
|
|
||||||
distro_features = d.getVar('DISTRO_FEATURES', True).split()
|
|
||||||
uclibc_cfg('ipv4', distro_features, 'UCLIBC_HAS_IPV4', cnf, rem)
|
|
||||||
uclibc_cfg('ipv6', distro_features, 'UCLIBC_HAS_IPV6', cnf, rem)
|
|
||||||
uclibc_cfg('largefile', distro_features, 'UCLIBC_HAS_LFS', cnf, rem)
|
|
||||||
uclibc_cfg('nls', distro_features, 'UCLIBC_HAS_LOCALE', cnf, rem)
|
|
||||||
uclibc_cfg('thumb-interwork', distro_features,'USE_BX', cnf, rem)
|
|
||||||
uclibc_cfg('xattr', distro_features, 'UCLIBC_HAS_XATTR', cnf, rem)
|
|
||||||
uclibc_cfg('ssp', distro_features, 'UCLIBC_HAS_SSP', cnf, rem)
|
|
||||||
uclibc_cfg('argp', distro_features, 'UCLIBC_HAS_ARGP', cnf, rem)
|
|
||||||
uclibc_cfg('libc-posix-clang-wchar', distro_features,'UCLIBC_HAS_WCHAR', cnf, rem)
|
|
||||||
return "\n".join(cnf), "\n".join(rem)
|
|
||||||
# X, Y = ${@features_to_uclibc_settings(d)}
|
|
||||||
# unfortunately doesn't seem to work with bitbake, workaround:
|
|
||||||
def features_to_uclibc_conf(d):
|
|
||||||
cnf, rem = features_to_uclibc_settings(d)
|
|
||||||
return cnf
|
|
||||||
def features_to_uclibc_del(d):
|
|
||||||
cnf, rem = features_to_uclibc_settings(d)
|
|
||||||
return rem
|
|
||||||
|
|
||||||
# returns all the elements from the src uri that are .cfg files
|
|
||||||
def find_cfgs(d):
|
|
||||||
sources=src_patches(d, True)
|
|
||||||
sources_list=[]
|
|
||||||
for s in sources:
|
|
||||||
if s.endswith('.cfg'):
|
|
||||||
sources_list.append(s)
|
|
||||||
|
|
||||||
return sources_list
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
SRCREV = "003b266cbeb370a8eae91dc256197f00798c6f93"
|
|
||||||
|
|
||||||
PV = "1.0.12+git${SRCPV}"
|
|
||||||
|
|
||||||
FILESEXTRAPATHS =. "${FILE_DIRNAME}/uclibc-git:"
|
|
||||||
|
|
||||||
SRC_URI = "git://uclibc-ng.org/git/uclibc-ng \
|
|
||||||
file://0001-Disable-lrount_tes-function.patch \
|
|
||||||
file://0001-Provide-an-alias-to-_obstack_free.patch \
|
|
||||||
file://uClibc.machine \
|
|
||||||
file://uClibc.distro \
|
|
||||||
file://obstack.cfg \
|
|
||||||
file://locale.cfg \
|
|
||||||
"
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
|
|
||||||
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
From 14b865b3438d0df29b4969148678d8fa8943e1ef Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Sun, 16 Aug 2015 20:49:33 -0700
|
|
||||||
Subject: [PATCH 1/7] Disable lrount_tes() function
|
|
||||||
|
|
||||||
Its not used anyway, avoids some strict compiler warnings
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
Upstream-Status: Pending
|
|
||||||
|
|
||||||
test/math/libm-test.inc | 2 --
|
|
||||||
1 file changed, 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/test/math/libm-test.inc b/test/math/libm-test.inc
|
|
||||||
index f50b48b..6d70a95 100644
|
|
||||||
--- a/test/math/libm-test.inc
|
|
||||||
+++ b/test/math/libm-test.inc
|
|
||||||
@@ -3470,7 +3470,6 @@ logb_test (void)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-#if 0
|
|
||||||
static void
|
|
||||||
lround_test (void)
|
|
||||||
{
|
|
||||||
@@ -3605,7 +3604,6 @@ llround_test (void)
|
|
||||||
|
|
||||||
END (llround);
|
|
||||||
}
|
|
||||||
-#endif
|
|
||||||
|
|
||||||
static void
|
|
||||||
modf_test (void)
|
|
||||||
--
|
|
||||||
2.1.4
|
|
||||||
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
From 06e4fe64bbd01f16ee84da161b8e1a61e73b4cdb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexey Neyman <aneyman@lynx.com>
|
|
||||||
Date: Thu, 31 Mar 2016 13:02:47 -0700
|
|
||||||
Subject: [PATCH] Provide an alias to _obstack_free
|
|
||||||
|
|
||||||
GDB 7.11 does not build if compiled against uclibc-ng (1.0.12 was used,
|
|
||||||
but the problematic code exists in 1.0.13 as well). The reason is that
|
|
||||||
GDB release includes its own obstack implementation, but elides the code
|
|
||||||
if <gnu-versions.h> declares a compatible obstack implementation in
|
|
||||||
libc. uclibc-ng does claim compatible obstack interface (GDB expects
|
|
||||||
version 2, but accepts version 1 if sizeof(int) == sizeof(size_t)),
|
|
||||||
however, uclibc-ng does not provide the _obstack_free symbol that is a
|
|
||||||
part of the interface (glibc does provide this symbol). This later
|
|
||||||
causes a link failure.
|
|
||||||
|
|
||||||
The attached patch makes uclibc-ng enables an alias _obstack_free ->
|
|
||||||
obstack_free.
|
|
||||||
|
|
||||||
Signed-off-by: Alexey Neyman <stilor@att.net>
|
|
||||||
---
|
|
||||||
Upstream-Status: Backport
|
|
||||||
|
|
||||||
libc/misc/gnu/obstack.c | 2 --
|
|
||||||
1 file changed, 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libc/misc/gnu/obstack.c b/libc/misc/gnu/obstack.c
|
|
||||||
index 38cfd83..6acc567 100644
|
|
||||||
--- a/libc/misc/gnu/obstack.c
|
|
||||||
+++ b/libc/misc/gnu/obstack.c
|
|
||||||
@@ -385,11 +385,9 @@ obstack_free (struct obstack *h, void *obj)
|
|
||||||
abort ();
|
|
||||||
}
|
|
||||||
|
|
||||||
-# if 0
|
|
||||||
/* Older versions of libc used a function _obstack_free intended to be
|
|
||||||
called by non-GCC compilers. */
|
|
||||||
strong_alias (obstack_free, _obstack_free)
|
|
||||||
-# endif
|
|
||||||
|
|
||||||
int
|
|
||||||
_obstack_memory_used (struct obstack *h)
|
|
||||||
--
|
|
||||||
2.8.1
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
UCLIBC_HAS_LOCALE=y
|
|
||||||
UCLIBC_HAS_XLOCALE=y
|
|
||||||
UCLIBC_BUILD_MINIMAL_LOCALE=y
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
UCLIBC_HAS_OBSTACK=y
|
|
||||||
@@ -1,195 +0,0 @@
|
|||||||
#
|
|
||||||
# General Library Settings
|
|
||||||
#
|
|
||||||
# HAVE_NO_PIC is not set
|
|
||||||
# DOPIC is not set
|
|
||||||
# HAVE_NO_SHARED is not set
|
|
||||||
# ARCH_HAS_NO_LDSO is not set
|
|
||||||
HAVE_SHARED=y
|
|
||||||
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
|
|
||||||
LDSO_LDD_SUPPORT=y
|
|
||||||
LDSO_CACHE_SUPPORT=y
|
|
||||||
# LDSO_PRELOAD_FILE_SUPPORT is not set
|
|
||||||
LDSO_BASE_FILENAME="ld.so"
|
|
||||||
# UCLIBC_STATIC_LDCONFIG is not set
|
|
||||||
LDSO_RUNPATH=y
|
|
||||||
UCLIBC_CTOR_DTOR=y
|
|
||||||
LDSO_GNU_HASH_SUPPORT=y
|
|
||||||
# HAS_NO_THREADS is not set
|
|
||||||
UCLIBC_HAS_THREADS=y
|
|
||||||
UCLIBC_HAS_THREADS_NATIVE=y
|
|
||||||
PTHREADS_DEBUG_SUPPORT=y
|
|
||||||
# LINUXTHREADS_OLD is not set
|
|
||||||
UCLIBC_HAS_LFS=y
|
|
||||||
# MALLOC is not set
|
|
||||||
# MALLOC_SIMPLE is not set
|
|
||||||
MALLOC_STANDARD=y
|
|
||||||
MALLOC_GLIBC_COMPAT=y
|
|
||||||
UCLIBC_DYNAMIC_ATEXIT=y
|
|
||||||
COMPAT_ATEXIT=y
|
|
||||||
UCLIBC_SUSV3_LEGACY=y
|
|
||||||
UCLIBC_SUSV3_LEGACY_MACROS=y
|
|
||||||
UCLIBC_SUSV4_LEGACY=y
|
|
||||||
UCLIBC_HAS_SHADOW=y
|
|
||||||
UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
|
|
||||||
UCLIBC_HAS___PROGNAME=y
|
|
||||||
UNIX98PTY_ONLY=y
|
|
||||||
ASSUME_DEVPTS=y
|
|
||||||
UCLIBC_HAS_LIBUTIL=y
|
|
||||||
UCLIBC_HAS_TM_EXTENSIONS=y
|
|
||||||
UCLIBC_HAS_TZ_CACHING=y
|
|
||||||
UCLIBC_HAS_TZ_FILE=y
|
|
||||||
UCLIBC_HAS_TZ_FILE_READ_MANY=y
|
|
||||||
UCLIBC_TZ_FILE_PATH="/etc/TZ"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Advanced Library Settings
|
|
||||||
#
|
|
||||||
UCLIBC_PWD_BUFFER_SIZE=256
|
|
||||||
UCLIBC_GRP_BUFFER_SIZE=256
|
|
||||||
|
|
||||||
#
|
|
||||||
# Networking Support
|
|
||||||
#
|
|
||||||
UCLIBC_HAS_IPV6=y
|
|
||||||
UCLIBC_HAS_RPC=y
|
|
||||||
UCLIBC_HAS_FULL_RPC=y
|
|
||||||
UCLIBC_HAS_REENTRANT_RPC=y
|
|
||||||
UCLIBC_USE_NETLINK=y
|
|
||||||
UCLIBC_SUPPORT_AI_ADDRCONFIG=y
|
|
||||||
|
|
||||||
UCLIBC_HAS_BSD_RES_CLOSE=y
|
|
||||||
UCLIBC_HAS_LIBRESOLV_STUB=y
|
|
||||||
UCLIBC_HAS_LIBNSL_STUB=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# String and Stdio Support
|
|
||||||
#
|
|
||||||
UCLIBC_HAS_STRING_GENERIC_OPT=y
|
|
||||||
UCLIBC_HAS_STRING_ARCH_OPT=y
|
|
||||||
UCLIBC_HAS_CTYPE_TABLES=y
|
|
||||||
UCLIBC_HAS_CTYPE_SIGNED=y
|
|
||||||
# UCLIBC_HAS_CTYPE_UNSAFE is not set
|
|
||||||
UCLIBC_HAS_CTYPE_CHECKED=y
|
|
||||||
# UCLIBC_HAS_CTYPE_ENFORCED is not set
|
|
||||||
UCLIBC_HAS_WCHAR=y
|
|
||||||
# UCLIBC_HAS_LOCALE is not set
|
|
||||||
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
|
|
||||||
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
|
|
||||||
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
|
|
||||||
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
|
|
||||||
# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
|
|
||||||
# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
|
|
||||||
# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
|
|
||||||
# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
|
|
||||||
# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
|
|
||||||
UCLIBC_HAS_STDIO_BUFSIZ_4096=y
|
|
||||||
# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
|
|
||||||
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
|
|
||||||
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
|
|
||||||
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
|
|
||||||
# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
|
|
||||||
UCLIBC_HAS_STDIO_GETC_MACRO=y
|
|
||||||
UCLIBC_HAS_STDIO_PUTC_MACRO=y
|
|
||||||
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
|
|
||||||
# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
|
|
||||||
UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
|
|
||||||
UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
|
|
||||||
UCLIBC_HAS_PRINTF_M_SPEC=y
|
|
||||||
UCLIBC_HAS_ERRNO_MESSAGES=y
|
|
||||||
# UCLIBC_HAS_SYS_ERRLIST is not set
|
|
||||||
UCLIBC_HAS_SIGNUM_MESSAGES=y
|
|
||||||
# UCLIBC_HAS_SYS_SIGLIST is not set
|
|
||||||
UCLIBC_HAS_GNU_GETOPT=y
|
|
||||||
UCLIBC_HAS_GNU_GETSUBOPT=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Big and Tall
|
|
||||||
#
|
|
||||||
UCLIBC_HAS_REGEX=y
|
|
||||||
# UCLIBC_HAS_REGEX_OLD is not set
|
|
||||||
UCLIBC_HAS_FNMATCH=y
|
|
||||||
# UCLIBC_HAS_FNMATCH_OLD is not set
|
|
||||||
UCLIBC_HAS_WORDEXP=y
|
|
||||||
UCLIBC_HAS_NFTW=y
|
|
||||||
UCLIBC_HAS_FTW=y
|
|
||||||
UCLIBC_HAS_FTS=y
|
|
||||||
UCLIBC_HAS_GLOB=y
|
|
||||||
UCLIBC_HAS_GNU_GLOB=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Library Installation Options
|
|
||||||
#
|
|
||||||
SHARED_LIB_LOADER_PREFIX="/lib"
|
|
||||||
RUNTIME_PREFIX="/"
|
|
||||||
DEVEL_PREFIX="//usr"
|
|
||||||
MULTILIB_DIR="lib"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Security options
|
|
||||||
#
|
|
||||||
# UCLIBC_BUILD_PIE is not set
|
|
||||||
# UCLIBC_HAS_ARC4RANDOM is not set
|
|
||||||
# HAVE_NO_SSP is not set
|
|
||||||
# UCLIBC_HAS_SSP is not set
|
|
||||||
UCLIBC_BUILD_RELRO=y
|
|
||||||
UCLIBC_BUILD_NOW=y
|
|
||||||
UCLIBC_BUILD_NOEXECSTACK=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# uClibc development/debugging options
|
|
||||||
#
|
|
||||||
CROSS_COMPILER_PREFIX=""
|
|
||||||
UCLIBC_EXTRA_CFLAGS=""
|
|
||||||
# DODEBUG is not set
|
|
||||||
# DODEBUG_PT is not set
|
|
||||||
# DOSTRIP is not set
|
|
||||||
# DOASSERTS is not set
|
|
||||||
# SUPPORT_LD_DEBUG is not set
|
|
||||||
# SUPPORT_LD_DEBUG_EARLY is not set
|
|
||||||
# UCLIBC_MALLOC_DEBUGGING is not set
|
|
||||||
UCLIBC_HAS_BACKTRACE=y
|
|
||||||
WARNINGS="-Wall"
|
|
||||||
# EXTRA_WARNINGS is not set
|
|
||||||
# DOMULTI is not set
|
|
||||||
# UCLIBC_MJN3_ONLY is not set
|
|
||||||
|
|
||||||
# math stuff for perl
|
|
||||||
DO_C99_MATH=y
|
|
||||||
UCLIBC_HAS_LONG_DOUBLE_MATH=y
|
|
||||||
UCLIBC_HAS_FENV=y
|
|
||||||
UCLIBC_LINUX_MODULE_26=y
|
|
||||||
# UCLIBC_LINUX_MODULE_24 is not set
|
|
||||||
UCLIBC_LINUX_SPECIFIC=y
|
|
||||||
UCLIBC_HAS_REALTIME=y
|
|
||||||
UCLIBC_HAS_ADVANCED_REALTIME=y
|
|
||||||
UCLIBC_HAS_NETWORK_SUPPORT=y
|
|
||||||
UCLIBC_HAS_SOCKET=y
|
|
||||||
UCLIBC_HAS_BSD_ERR=y
|
|
||||||
UCLIBC_HAS_SYSLOG=y
|
|
||||||
UCLIBC_HAS_CRYPT=y
|
|
||||||
UCLIBC_HAS_CRYPT_IMPL=y
|
|
||||||
UCLIBC_HAS_GNU_ERROR=y
|
|
||||||
UCLIBC_HAS_PTY=y
|
|
||||||
UCLIBC_BSD_SPECIFIC=y
|
|
||||||
UCLIBC_HAS_EPOLL=y
|
|
||||||
UCLIBC_HAS_FLOATS=y
|
|
||||||
|
|
||||||
# The below option is needed for ARM since depending
|
|
||||||
# upong what intruction set is chosen this will be
|
|
||||||
# enabled. As such it is harmless and will be punted
|
|
||||||
# by menuconfig for other arches.
|
|
||||||
|
|
||||||
# COMPILE_IN_THUMB_MODE is not set
|
|
||||||
|
|
||||||
# needed by shadow
|
|
||||||
UCLIBC_HAS_UTMP=y
|
|
||||||
# needed by systemd
|
|
||||||
UCLIBC_HAS_UTMPX=y
|
|
||||||
UCLIBC_LINUX_MODULE_26=y
|
|
||||||
UCLIBC_HAS_RESOLVER_SUPPORT=y
|
|
||||||
# needed for LTP
|
|
||||||
UCLIBC_SUSV4_LEGACY=y
|
|
||||||
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
|
|
||||||
DO_XSI_MATH=y
|
|
||||||
UCLIBC_SV4_DEPRECATED=y
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#
|
|
||||||
# Automatically generated make config: don't edit
|
|
||||||
# Version: 0.9.32-git
|
|
||||||
# Mon Jul 19 01:34:29 2010
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Using ELF file format
|
|
||||||
#
|
|
||||||
FORCE_OPTIONS_FOR_ARCH=y
|
|
||||||
ARCH_HAS_MMU=y
|
|
||||||
ARCH_USE_MMU=y
|
|
||||||
KERNEL_HEADERS="/usr/include"
|
|
||||||
HAVE_DOT_CONFIG=y
|
|
||||||
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
SECTION = "base"
|
|
||||||
require uclibc.inc
|
|
||||||
require uclibc-git.inc
|
|
||||||
|
|
||||||
DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial libgcc-initial kern-tools-native"
|
|
||||||
PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
|
|
||||||
|
|
||||||
PACKAGES = ""
|
|
||||||
PACKAGES_DYNAMIC = ""
|
|
||||||
|
|
||||||
STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
|
|
||||||
STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${TARGET_ARCH}"
|
|
||||||
|
|
||||||
do_install() {
|
|
||||||
# Install initial headers into the cross dir
|
|
||||||
make PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \
|
|
||||||
install_headers install_startfiles
|
|
||||||
|
|
||||||
# add links to linux-libc-headers: final uclibc build need this.
|
|
||||||
for t in linux asm asm-generic; do
|
|
||||||
if [ -d ${D}${includedir}/$t ]; then
|
|
||||||
rm -rf ${D}${includedir}/$t
|
|
||||||
fi
|
|
||||||
ln -sf ${STAGING_DIR_TARGET}${includedir}/$t ${D}${includedir}/
|
|
||||||
done
|
|
||||||
|
|
||||||
}
|
|
||||||
do_compile() {
|
|
||||||
:
|
|
||||||
}
|
|
||||||
|
|
||||||
do_siteconfig () {
|
|
||||||
:
|
|
||||||
}
|
|
||||||
|
|
||||||
do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}/"
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow
|
|
||||||
# *_nonshared.a libraries to be packaged in the uclibc-dev package.
|
|
||||||
PACKAGES = "ldd uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt ${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
|
|
||||||
|
|
||||||
FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so"
|
|
||||||
FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so"
|
|
||||||
FILES_uclibc-libnsl = "${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so"
|
|
||||||
FILES_uclibc-libresolv = "${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so"
|
|
||||||
FILES_uclibc-libm = "${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so"
|
|
||||||
FILES_uclibc-libdl = "${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so"
|
|
||||||
FILES_uclibc-libutil = "${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so"
|
|
||||||
FILES_uclibc-libpthread = "${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so"
|
|
||||||
FILES_uclibc-librt = "${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so"
|
|
||||||
|
|
||||||
FILES_ldd = "${bindir}/ldd"
|
|
||||||
FILES_uclibc-utils = "${bindir} ${sbindir}"
|
|
||||||
FILES_uclibc-gconv = "${libdir}/gconv"
|
|
||||||
FILES_uclibc-thread-db = "${base_libdir}/libthread_db*"
|
|
||||||
FILES_uclibc-argp = "${base_libdir}/libuargp-*.so ${base_libdir}/libuargp*.so.*"
|
|
||||||
FILES_uclibc-backtrace = "${base_libdir}/libubacktrace-*.so ${base_libdir}/libubacktrace*.so.*"
|
|
||||||
|
|
||||||
# The last line (gdb and lib1) is for uclinux-uclibc builds
|
|
||||||
uclibc_baselibs = "${base_libdir}/ld*.so.* ${base_libdir}/ld*.so \
|
|
||||||
${base_libdir}/libc*.so.* ${base_libdir}/libuClibc-*.so \
|
|
||||||
${libdir}/libc.gdb ${libdir}/libc ${base_libdir}/lib1.so \
|
|
||||||
"
|
|
||||||
FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
|
|
||||||
FILES_${PN}-dev += "\
|
|
||||||
${libdir}/lib*.so \
|
|
||||||
${libdir}/*_nonshared.a \
|
|
||||||
${libdir}/[S]*crt[1in].o \
|
|
||||||
${libdir}/crtreloc*.o \
|
|
||||||
${includedir}/*.h ${includedir}/*/*.h \
|
|
||||||
"
|
|
||||||
FILES_${PN} = "${sysconfdir} ${uclibc_baselibs} /sbin/ldconfig \
|
|
||||||
${libexecdir} ${datadir}/zoneinfo ${libdir}/locale"
|
|
||||||
@@ -1,159 +0,0 @@
|
|||||||
SUMMARY = "C library for embedded systems"
|
|
||||||
DESCRIPTION = "The name uClibc is an abbreviation for 'the \
|
|
||||||
microcontroller C library'. For simplicity, uClibc is pronounced \
|
|
||||||
'yew-see-lib-see'. The goal of uClibc is to provide as much \
|
|
||||||
functionality as possible in a small amount of space, and it is intended \
|
|
||||||
primarily for embedded use. It is also highly configurable in supported \
|
|
||||||
features, at the cost of ABI differences for different configurations. \
|
|
||||||
uClibc has been designed from the ground up to be a C library for \
|
|
||||||
embedded Linux. It is NOT compatible with binaries linked against glibc."
|
|
||||||
|
|
||||||
LICENSE = "LGPLv2.1+"
|
|
||||||
SECTION = "libs"
|
|
||||||
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
|
||||||
file://COPYING.LIB.boilerplate;md5=aaddeadcddeb918297e0e4afc52ce46f \
|
|
||||||
file://${S}/test/regex/testregex.c;beginline=1;endline=31;md5=234efb227d0a40677f895e4a1e26e960"
|
|
||||||
|
|
||||||
require uclibc-config.inc
|
|
||||||
|
|
||||||
PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
|
|
||||||
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
|
|
||||||
|
|
||||||
# siteconfig.bbclass runs configure which needs a working compiler
|
|
||||||
# For the compiler to work we need a working libc yet libc isn't
|
|
||||||
# in the sysroots directory at this point. This means the libc.so
|
|
||||||
# linker script won't work as the --sysroot setting isn't correct.
|
|
||||||
# Here we create a hacked up libc linker script and pass in the right
|
|
||||||
# flags to let configure work. Ugly.
|
|
||||||
EXTRASITECONFIG = "CFLAGS='${CFLAGS} -Wl,-L${WORKDIR}/site_config_libc -L${WORKDIR}/site_config_libc -L${SYSROOT_DESTDIR}${libdir} -L${SYSROOT_DESTDIR}${base_libdir} -Wl,-L${SYSROOT_DESTDIR}${libdir} -Wl,-L${SYSROOT_DESTDIR}${base_libdir}'"
|
|
||||||
siteconfig_do_siteconfig_gencache_prepend = " \
|
|
||||||
mkdir -p ${WORKDIR}/site_config_libc; \
|
|
||||||
cp ${SYSROOT_DESTDIR}${libdir}/libc.so ${WORKDIR}/site_config_libc; \
|
|
||||||
sed -i -e 's# ${base_libdir}# ${SYSROOT_DESTDIR}${base_libdir}#g' -e 's# ${libdir}# ${SYSROOT_DESTDIR}${libdir}#g' ${WORKDIR}/site_config_libc/libc.so; \
|
|
||||||
"
|
|
||||||
|
|
||||||
# For now, we will skip building of a gcc package if it is a uclibc one
|
|
||||||
# and our build is not a uclibc one, and we skip a glibc one if our build
|
|
||||||
# is a uclibc build.
|
|
||||||
COMPATIBLE_HOST = ".*-uclibc.*"
|
|
||||||
|
|
||||||
INHIBIT_DEFAULT_DEPS = "1"
|
|
||||||
|
|
||||||
# There appears to be a parallel race in uclibc:
|
|
||||||
# GEN /extra/locale/locale_collate.h
|
|
||||||
# xargs: ../..//extra/locale/gen_collate: Text file busy
|
|
||||||
# make[1]: *** [../..//extra/locale/locale_collate.h] Error 126
|
|
||||||
PARALLEL_MAKE = ""
|
|
||||||
|
|
||||||
# do_stage barfs on a CC with whitespace, therefore put the 'HOST_CC_ARCH' in
|
|
||||||
# the CFLAGS (when building the utils).
|
|
||||||
OEMAKE_NO_CC = "'STRIPTOOL=true' 'LD=${LD}'"
|
|
||||||
EXTRA_OEMAKE = "${OEMAKE_NO_CC} \
|
|
||||||
'HOSTCC=${BUILD_CC}' \
|
|
||||||
'HOST_CFLAGS=${BUILD_CFLAGS}' \
|
|
||||||
'CC=${CC}' \
|
|
||||||
ARCH=${UCLIBC_ARCH} \
|
|
||||||
V=1"
|
|
||||||
|
|
||||||
EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}"
|
|
||||||
|
|
||||||
# -O<n> -fno-omit-frame-pointer ends up with GCC ICE on thumb as reported
|
|
||||||
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44860
|
|
||||||
#
|
|
||||||
CFLAGS_remove_arm = "-fno-omit-frame-pointer"
|
|
||||||
UCLIBC_EXTRA_CFLAGS = "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}"
|
|
||||||
|
|
||||||
# Doesn't compile in MIPS16e mode due to use of hand-written
|
|
||||||
# assembly
|
|
||||||
MIPS_INSTRUCTION_SET_pn-uclibc = "mips"
|
|
||||||
|
|
||||||
configmangle = '/^KERNEL_HEADERS/d; \
|
|
||||||
/^RUNTIME_PREFIX/d; \
|
|
||||||
/^DEVEL_PREFIX/d; \
|
|
||||||
/^SHARED_LIB_LOADER_PREFIX/d; \
|
|
||||||
/^UCLIBC_EXTRA_CFLAGS/d; \
|
|
||||||
s,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g; \
|
|
||||||
${@["","s,.*COMPILE_IN_THUMB_MODE.*,COMPILE_IN_THUMB_MODE=y,;"][d.getVar("ARM_INSTRUCTION_SET", True) == "thumb"]} \
|
|
||||||
${@["","s,.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=y,;"][d.getVar("USE_NLS", True) == "yes"]} \
|
|
||||||
${@["","s,.*LDSO_GNU_HASH_SUPPORT.*,# LDSO_GNU_HASH_SUPPORT is not set,;"][d.getVar("TARGET_ARCH", True) in ['mips', 'mipsel', 'mips64', 'mips64el', 'avr32']]} \
|
|
||||||
/^CROSS/d; \
|
|
||||||
/^TARGET_ARCH=/d; \
|
|
||||||
/^TARGET_/s,^\([^=]*\).*,# \1 is not set,g; \
|
|
||||||
s,^DOSTRIP.*,# DOSTRIP is not set,g; \
|
|
||||||
/_[EO]*ABI/d; \
|
|
||||||
/HAS_FPU/d; \
|
|
||||||
${@["","s,.*MULTILIB_DIR.*,MULTILIB_DIR=\"${baselib}\",;"][d.getVar("baselib", True) != "lib"]} \
|
|
||||||
'
|
|
||||||
OE_FEATURES = "${@features_to_uclibc_conf(d)}"
|
|
||||||
OE_DEL = "${@features_to_uclibc_del(d)}"
|
|
||||||
python () {
|
|
||||||
if "${OE_DEL}":
|
|
||||||
d.setVar('configmangle_append', "${OE_DEL}" + "\n")
|
|
||||||
|
|
||||||
if "${OE_FEATURES}":
|
|
||||||
d.setVar('configmangle_append',
|
|
||||||
"/^### DISTRO FEATURES$/a\\\n%s\n\n" %
|
|
||||||
("\\n".join((d.expand("${OE_FEATURES}").split("\n")))))
|
|
||||||
d.setVar('configmangle_append',
|
|
||||||
"/^### CROSS$/a\\\n%s\n" %
|
|
||||||
("\\n".join(["CROSS_COMPILER_PREFIX=\"${TARGET_PREFIX}\"",
|
|
||||||
"UCLIBC_EXTRA_CFLAGS=\"${UCLIBC_EXTRA_CFLAGS}\"",
|
|
||||||
"KERNEL_HEADERS=\"${STAGING_INCDIR}\"",
|
|
||||||
"RUNTIME_PREFIX=\"/\"",
|
|
||||||
"DEVEL_PREFIX=\"/${prefix}\"",
|
|
||||||
"SHARED_LIB_LOADER_PREFIX=\"/lib\"",
|
|
||||||
])
|
|
||||||
))
|
|
||||||
d.setVar('configmangle_append',
|
|
||||||
"/^### TGT$/a\\\nTARGET_ARCH=\"%s\"\\nTARGET_%s=y\n" %
|
|
||||||
("${UCLIBC_ARCH}", "${UCLIBC_ARCH}"))
|
|
||||||
d.setVar('configmangle_append',
|
|
||||||
"/^### FPU$/a\\\n%s\n\n" % (["UCLIBC_HAS_FPU=y","# UCLIBC_HAS_FPU is not set"][d.getVar('TARGET_FPU', True) in [ 'soft' ]]))
|
|
||||||
if "${UCLIBC_ENDIAN}":
|
|
||||||
d.setVar('configmangle_append',
|
|
||||||
"/^### ABI$/a\\\nARCH_WANTS_%s_ENDIAN=y\n\n" % ("${UCLIBC_ENDIAN}"))
|
|
||||||
if "${UCLIBC_ABI}":
|
|
||||||
d.setVar('configmangle_append',
|
|
||||||
"/^### ABI$/a\\\nCONFIG_%s=y\n\n" % ("${UCLIBC_ABI}"))
|
|
||||||
}
|
|
||||||
|
|
||||||
python do_patch_append() {
|
|
||||||
import subprocess
|
|
||||||
subprocess.call("ln -sf ${STAGING_INCDIR}/linux ${S}/include/linux", shell=True)
|
|
||||||
subprocess.call("ln -sf ${STAGING_INCDIR}/asm ${S}/include/asm", shell=True)
|
|
||||||
}
|
|
||||||
|
|
||||||
do_configure() {
|
|
||||||
rm -f ${S}/.config
|
|
||||||
|
|
||||||
# OpenEmbedded splits the uClibc.config in two parts:
|
|
||||||
# uClibc.machine, uClibc.distro
|
|
||||||
echo "### uClibc.machine ###" >${S}/merged.config
|
|
||||||
cat ${WORKDIR}/uClibc.machine >>${S}/merged.config
|
|
||||||
echo "### uClibc.distro ###" >>${S}/merged.config
|
|
||||||
cat ${WORKDIR}/uClibc.distro >>${S}/merged.config
|
|
||||||
echo "### CROSS" >>${S}/merged.config
|
|
||||||
echo "### TGT" >>${S}/merged.config
|
|
||||||
echo "### MMU" >>${S}/merged.config
|
|
||||||
echo "### FPU" >>${S}/merged.config
|
|
||||||
echo "### ABI" >>${S}/merged.config
|
|
||||||
echo "### DISTRO FEATURES" >>${S}/merged.config
|
|
||||||
|
|
||||||
# Mangle the resulting .config depending on OE variables
|
|
||||||
sed -i -e '${configmangle}' ${S}/merged.config
|
|
||||||
cp ${S}/merged.config .config
|
|
||||||
merge_config.sh -r -n -m .config ${@" ".join(find_cfgs(d))}
|
|
||||||
cml1_do_configure
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
do_install() {
|
|
||||||
oe_runmake PREFIX=${D} install
|
|
||||||
rm -rf ${D}${includedir}/iconv.h
|
|
||||||
}
|
|
||||||
|
|
||||||
# build ldd, ldconfig and friends but only for full uclibc
|
|
||||||
do_install_append_pn-uclibc () {
|
|
||||||
oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" -C utils utils_install
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
require uclibc.inc
|
|
||||||
require uclibc-package.inc
|
|
||||||
require uclibc-git.inc
|
|
||||||
|
|
||||||
STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
|
|
||||||
STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${TARGET_ARCH}"
|
|
||||||
|
|
||||||
PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
|
|
||||||
|
|
||||||
DEPENDS = "virtual/${TARGET_PREFIX}binutils \
|
|
||||||
virtual/${TARGET_PREFIX}gcc-initial \
|
|
||||||
virtual/${TARGET_PREFIX}libc-initial \
|
|
||||||
linux-libc-headers ncurses-native \
|
|
||||||
libgcc-initial kern-tools-native"
|
|
||||||
|
|
||||||
RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
|
|
||||||
RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
|
|
||||||
# uclibc does not really have libsegfault but then using the one from glibc is also not
|
|
||||||
# going to work. So we pretend that we have it to make bitbake not pull other recipes
|
|
||||||
# to satisfy this dependency for the images/tasks
|
|
||||||
|
|
||||||
RPROVIDES_${PN} += "libsegfault rtld(GNU_HASH)"
|
|
||||||
Reference in New Issue
Block a user