summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-07-13 11:24:16 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-26 08:56:27 +0100
commitbb9d9dacca704da5f55ad2e86ced41e7e531f286 (patch)
treeddd4fed633173ab81f8c14418d7c13b9b5b261b4
parent560077821aee107e8fe88e8a99e7efa493aec2d5 (diff)
downloadpoky-bb9d9dacca704da5f55ad2e86ced41e7e531f286.tar.gz
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>
-rw-r--r--meta/conf/distro/include/tclibc-uclibc.inc28
-rw-r--r--meta/recipes-core/uclibc/site_config/funcs474
-rw-r--r--meta/recipes-core/uclibc/site_config/headers156
-rw-r--r--meta/recipes-core/uclibc/site_config/types21
-rw-r--r--meta/recipes-core/uclibc/uclibc-config.inc142
-rw-r--r--meta/recipes-core/uclibc/uclibc-git.inc18
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/0001-Disable-lrount_tes-function.patch37
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch44
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/locale.cfg3
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/obstack.cfg1
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/uClibc.distro195
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/uClibc.machine14
-rw-r--r--meta/recipes-core/uclibc/uclibc-initial_git.bb36
-rw-r--r--meta/recipes-core/uclibc/uclibc-package.inc36
-rw-r--r--meta/recipes-core/uclibc/uclibc.inc159
-rw-r--r--meta/recipes-core/uclibc/uclibc_git.bb22
16 files changed, 0 insertions, 1386 deletions
diff --git a/meta/conf/distro/include/tclibc-uclibc.inc b/meta/conf/distro/include/tclibc-uclibc.inc
deleted file mode 100644
index 14c3cdbb8a..0000000000
--- a/meta/conf/distro/include/tclibc-uclibc.inc
+++ /dev/null
@@ -1,28 +0,0 @@
1#
2# uclibc specific configuration
3#
4
5LIBCEXTENSION = "-uclibc"
6
7# Add uclibc overrides to the overrides.
8LIBCOVERRIDE = ":libc-uclibc"
9OVERRIDES .= "${LIBCOVERRIDE}"
10
11PREFERRED_PROVIDER_virtual/libc ?= "uclibc"
12PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
13PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
14PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-glibc"
15PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-glibc"
16
17USE_NLS ?= "no"
18
19CXXFLAGS += "-fvisibility-inlines-hidden"
20
21IMAGE_LINGUAS = ""
22
23LIBC_DEPENDENCIES = "\
24 uclibc \
25 uclibc-dbg \
26 uclibc-dev \
27 uclibc-thread-db \
28 "
diff --git a/meta/recipes-core/uclibc/site_config/funcs b/meta/recipes-core/uclibc/site_config/funcs
deleted file mode 100644
index ccc85392d7..0000000000
--- a/meta/recipes-core/uclibc/site_config/funcs
+++ /dev/null
@@ -1,474 +0,0 @@
1a64l
2abs
3access
4__adjtimex
5alarm
6alphasort
7argz_append
8__argz_count
9argz_create_sep
10argz_insert
11__argz_next
12argz_next
13__argz_stringify
14argz_stringify
15asprintf
16atexit
17atof
18atoi
19bcmp
20bcopy
21bindresvport
22bind_textdomain_codeset
23btowc
24bzero
25calloc
26canonicalize_file_name
27catgets
28cfgetospeed
29cfsetispeed
30cfsetspeed
31chmod
32chown
33chroot
34clock
35close
36closedir
37closelog
38confstr
39connect
40daemon
41dcgettext
42difftime
43dirfd
44dirname
45dngettext
46dup2
47ecvt
48endgrent
49endmntent
50endpwent
51endutent
52endutxent
53epoll_ctl
54err
55ether_hostton
56ether_ntohost
57euidaccess
58execv
59fchdir
60fchmod
61fchmodat
62fchown
63fchownat
64fcntl
65fcvt
66fdatasync
67fdopendir
68feof_unlocked
69fgets_unlocked
70fgetxattr
71finite
72flistxattr
73flock
74flockfile
75fnmatch
76fork
77fpathconf
78__fpending
79fprintf
80free
81freeaddrinfo
82freeifaddrs
83fseeko
84__fsetlocking
85fsetxattr
86fstat64
87fstat
88fstatfs
89fsync
90ftello
91ftime
92ftruncate
93funlockfile
94futimes
95futimesat
96gai_strerror
97gcvt
98getaddrinfo
99getc_unlocked
100getcwd
101getdelim
102getdomainname
103getdtablesize
104getegid
105getenv
106geteuid
107getgid
108getgrent
109getgrent_r
110getgrgid_r
111getgrnam
112getgrnam_r
113getgrouplist
114getgroups
115gethostbyaddr_r
116gethostbyname2
117gethostbyname
118gethostbyname_r
119gethostent
120gethostid
121gethostname
122getifaddrs
123getline
124getloadavg
125getmntent
126getmsg
127getnameinfo
128getnetbyaddr_r
129getnetgrent_r
130getopt
131getopt_long
132getopt_long_only
133getpagesize
134getpass
135getpeername
136getpgrp
137getpid
138getppid
139getprotoent_r
140getpwent
141getpwent_r
142getpwnam
143getpwnam_r
144getpwuid
145getpwuid_r
146getresuid
147getrlimit
148getrusage
149getservbyname
150getservbyname_r
151getservbyport_r
152getservent
153getservent_r
154getspnam
155getspnam_r
156gettimeofday
157getttyent
158getttynam
159getuid
160getusershell
161getutent
162getutid
163getutline
164getutmp
165getutmpx
166getutxent
167getutxid
168getutxline
169getwd
170getxattr
171glob
172gmtime
173gmtime_r
174grantpt
175group_member
176herror
177hstrerror
178iconv
179iconv_open
180if_freenameindex
181if_indextoname
182if_nameindex
183if_nametoindex
184index
185inet_addr
186inet_aton
187inet_ntoa
188inet_ntop
189inet_pton
190initgroups
191innetgr
192iruserok
193isascii
194isatty
195isblank
196isgraph
197isinf
198isnan
199isprint
200isspace
201iswalnum
202iswcntrl
203iswctype
204iswprint
205iswspace
206iswupper
207isxdigit
208kill
209killpg
210lchown
211lckpwdf
212lgetxattr
213link
214listxattr
215llistxattr
216localtime
217localtime_r
218lockf
219lrand48
220lsearch
221lseek64
222lsetxattr
223lstat
224mallinfo
225malloc
226mblen
227mbrlen
228mbrtowc
229mbsinit
230mbsrtowcs
231mbtowc
232memalign
233memchr
234memcmp
235memcpy
236memmove
237mempcpy
238memrchr
239memset
240mkdir
241mkdirat
242mkdtemp
243mkfifo
244mknod
245mkstemp64
246mkstemp
247mktime
248mlock
249mmap
250mtrace
251munlock
252munmap
253nanosleep
254nice
255nl_langinfo
256ntp_adjtime
257ntp_gettime
258_obstack_free
259on_exit
260open64
261open
262openat
263opendir
264openlog
265pathconf
266pipe
267poll
268popen
269posix_memalign
270prctl
271pread
272printf
273__progname
274pselect
275pthread_mutex_lock
276ptsname
277putenv
278putgrent
279putpwent
280putspent
281pututline
282pututxline
283putwc
284pwrite
285qsort
286raise
287rand
288random
289rand_r
290read
291readdir
292readdir_r
293readlink
294realloc
295realpath
296re_comp
297recvmsg
298re_exec
299regcomp
300regexec
301remove
302rename
303re_search
304rmdir
305rpmatch
306rresvport_af
307ruserok
308ruserok_af
309sbrk
310scandir
311sched_setscheduler
312sched_yield
313__secure_getenv
314select
315semctl
316semget
317sendmsg
318setbuf
319setbuffer
320setegid
321setenv
322seteuid
323setgid
324setgroups
325sethostname
326setitimer
327_setjmp
328setjmp
329setlinebuf
330setlocale
331setmntent
332setpgid
333setpgrp
334setpriority
335setregid
336setresgid
337setresuid
338setreuid
339setrlimit
340setsid
341setsockopt
342settimeofday
343setuid
344setutent
345setutxent
346setvbuf
347setxattr
348sgetspent
349shmat
350shmctl
351shmdt
352shmget
353shutdown
354sigaction
355sigaddset
356sigaltstack
357sigblock
358sigemptyset
359sighold
360siginterrupt
361signal
362sigprocmask
363sigset
364sigsetmask
365sigstack
366sigsuspend
367sigvec
368snprintf
369socket
370socketpair
371sprintf
372srand48
373srand
374srandom
375sscanf
376stat
377statfs
378statvfs
379stime
380stpcpy
381strcasecmp
382strcasestr
383strchr
384strchrnul
385strcmp
386strcspn
387strdup
388strerror
389strerror_r
390strftime
391strlen
392strncasecmp
393strncmp
394strndup
395strnlen
396strpbrk
397strptime
398strrchr
399strsep
400strsignal
401strspn
402strstr
403strtod
404strtoimax
405strtok_r
406strtol
407strtoll
408strtoul
409strtoull
410strtoumax
411strverscmp
412strxfrm
413symlink
414sync
415sysconf
416sysctl
417sysinfo
418syslog
419_sys_siglist
420sys_siglist
421system
422tcgetattr
423tcgetpgrp
424tcsetattr
425tcsetpgrp
426time
427timegm
428times
429timezone
430tmpnam
431towlower
432towupper
433truncate
434tsearch
435ttyname
436tzset
437ulimit
438umask
439uname
440unlink
441unsetenv
442unshare
443updwtmp
444updwtmpx
445usleep
446ustat
447utime
448utimes
449utmpname
450utmpxname
451valloc
452vasprintf
453verrx
454vfork
455vfprintf
456vfscanf
457vhangup
458vprintf
459vsnprintf
460vsprintf
461wait3
462wait4
463waitpid
464wcrtomb
465wcscoll
466wcsdup
467wcslen
468wctob
469wctomb
470wctype
471wcwidth
472wmemchr
473wmemcpy
474wmempcpy
diff --git a/meta/recipes-core/uclibc/site_config/headers b/meta/recipes-core/uclibc/site_config/headers
deleted file mode 100644
index 609ab53797..0000000000
--- a/meta/recipes-core/uclibc/site_config/headers
+++ /dev/null
@@ -1,156 +0,0 @@
1aio.h
2alloca.h
3argz.h
4arpa/inet.h
5arpa/nameser.h
6asm/byteorder.h
7asm/ioctls.h
8asm/page.h
9asm/types.h
10assert.h
11byteswap.h
12crypt.h
13ctype.h
14dirent.h
15dlfcn.h
16elf.h
17endian.h
18err.h
19errno.h
20execinfo.h
21fcntl.h
22features.h
23float.h
24fstab.h
25ftw.h
26getopt.h
27glob.h
28grp.h
29iconv.h
30ifaddrs.h
31inttypes.h
32langinfo.h
33lastlog.h
34libgen.h
35libintl.h
36limits.h
37linux/capability.h
38linux/fd.h
39linux/fs.h
40linux/hayesesp.h
41linux/hdreg.h
42linux/icmp.h
43linux/in6.h
44linux/joystick.h
45linux/ptrace.h
46linux/serial.h
47linux/sonypi.h
48linux/unistd.h
49linux/utsname.h
50linux/version.h
51locale.h
52malloc.h
53math.h
54mcheck.h
55memory.h
56mntent.h
57mqueue.h
58netdb.h
59net/if.h
60netinet/ether.h
61netinet/in.h
62netinet/ip6.h
63netinet/ip.h
64netinet/tcp.h
65netinet/udp.h
66netipx/ipx.h
67net/route.h
68paths.h
69poll.h
70pthread.h
71pty.h
72pwd.h
73regex.h
74resolv.h
75rpc/rpc.h
76rpc/types.h
77sched.h
78scsi/scsi.h
79search.h
80semaphore.h
81setjmp.h
82sgtty.h
83shadow.h
84signal.h
85stdarg.h
86stdbool.h
87stdc
88stddef.h
89stdint.h
90stdio.h
91stdlib.h
92string.h
93strings.h
94stropts.h
95sys/bitypes.h
96sys/cdefs.h
97sys/dir.h
98sys/epoll.h
99sysexits.h
100sys/fcntl.h
101sys/file.h
102sys/fsuid.h
103sys/ioctl.h
104sys/ipc.h
105syslog.h
106sys/mman.h
107sys/mount.h
108sys/mtio.h
109sys/param.h
110sys/poll.h
111sys/prctl.h
112sys/ptrace.h
113sys/queue.h
114sys/reg.h
115sys/resource.h
116sys/select.h
117sys/sem.h
118sys/shm.h
119sys/signal.h
120sys/socket.h
121sys/socketvar.h
122sys/soundcard.h
123sys/statfs.h
124sys/stat.h
125sys/statvfs.h
126sys/stropts.h
127sys/swap.h
128sys/sysctl.h
129sys/sysinfo.h
130sys/sysmacros.h
131sys/termios.h
132sys/timeb.h
133sys/time.h
134sys/times.h
135sys/timex.h
136sys/types.h
137sys/uio.h
138sys/un.h
139sys/unistd.h
140sys/user.h
141sys/utsname.h
142sys/vfs.h
143sys/wait.h
144termio.h
145termios.h
146time.h
147ttyent.h
148ulimit.h
149unistd.h
150ustat.h
151utime.h
152utmp.h
153utmpx.h
154values.h
155wchar.h
156wctype.h
diff --git a/meta/recipes-core/uclibc/site_config/types b/meta/recipes-core/uclibc/site_config/types
deleted file mode 100644
index 178bd85a00..0000000000
--- a/meta/recipes-core/uclibc/site_config/types
+++ /dev/null
@@ -1,21 +0,0 @@
1char
2char *
3double
4float
5int
6long
7long double
8long int
9long long
10long long int
11short
12short int
13signed char
14unsigned char
15unsigned int
16unsigned long
17unsigned long int
18unsigned long long int
19unsigned short
20unsigned short int
21void *
diff --git a/meta/recipes-core/uclibc/uclibc-config.inc b/meta/recipes-core/uclibc/uclibc-config.inc
deleted file mode 100644
index 8b9e41c64d..0000000000
--- a/meta/recipes-core/uclibc/uclibc-config.inc
+++ /dev/null
@@ -1,142 +0,0 @@
1DEPENDS += "kern-tools-native"
2inherit cml1
3#
4# Set the ARCH environment variable for uClibc compilation.
5# Return value must match one of the architectures known to uClibc:
6# libc/sysdeps/*/*
7#
8
9valid_archs = "\
10alpha \
11arm \
12avr32 \
13bfin \
14c6x \
15cris \
16e1 \
17frv \
18h8300 \
19hppa \
20i386 \
21i960 \
22ia64 \
23m68k \
24microblaze \
25mips \
26nios \
27nios2 \
28powerpc \
29sh \
30sh64 \
31sparc \
32v850 \
33vax \
34x86_64 \
35xtensa \
36"
37def map_uclibc_arch(a, d):
38 """Return the uClibc architecture for the given TARGET_ARCH."""
39 import re
40
41 valid_archs = d.getVar('valid_archs', True).split()
42
43 if re.match('^(arm|sa110).*', a):
44 return 'arm'
45 elif re.match('^(i.86|athlon)$', a):
46 return 'i386'
47 elif re.match('^mips.*', a):
48 return 'mips'
49 elif re.match('^parisc.*', a):
50 return 'hppa'
51 elif re.match('^ppc.*', a):
52 return 'powerpc'
53 elif re.match('^s390.*', a):
54 return 's390'
55 elif re.match('^sh.*', a):
56 return 'sh'
57 elif re.match('^(sun|sparc).*', a):
58 return 'sparc'
59 elif re.match('^xtensa.*', a):
60 return 'xtensa'
61 elif a in valid_archs:
62 return a
63 else:
64 bb.error("cannot map '%s' to a uClibc architecture" % a)
65
66export UCLIBC_ARCH = "${@map_uclibc_arch(d.getVar('TARGET_ARCH', True), d)}"
67
68def map_uclibc_abi(o, d):
69 """Return the uClibc ABI for the given TARGET_OS."""
70 import re
71
72 arch = d.getVar('TARGET_ARCH', True)
73 if map_uclibc_arch(d.getVar('TARGET_ARCH', True), d) == "arm":
74 if re.match('.*eabi$', o):
75 return 'ARM_EABI'
76 else:
77 return 'ARM_OABI'
78 # FIXME: This is inaccurate! Handle o32, n32, n64
79 elif re.match('^mips.*64$', arch):
80 return 'MIPS_N64_ABI'
81 elif re.match('^mips.*', arch):
82 return 'MIPS_O32_ABI'
83 return ""
84
85export UCLIBC_ABI = "${@map_uclibc_abi(d.getVar('TARGET_OS', True), d)}"
86
87def map_uclibc_endian(a, d):
88 """Return the uClibc endianess for the given TARGET_ARCH."""
89 import re
90
91 # Always BE
92 if re.match('^(avr32|e1|frv|(parisc|hppa)|m68k|microblaze|powerpc.*|(sparc|sun).*)$', a):
93 return 'BIG'
94 # Possibly BE
95 elif re.match('^(((arm|sa110).*eb)|h8300.*eb|(parisc|hppa).*eb|mips|mips64|sh.*eb|xtensa.*eb)$', a):
96 return 'BIG'
97 return 'LITTLE'
98
99export UCLIBC_ENDIAN = "${@map_uclibc_endian(d.getVar('TARGET_ARCH', True), d)}"
100
101# internal helper
102def uclibc_cfg(feature, features, tokens, cnf, rem):
103 if type(tokens) == type(""):
104 tokens = [tokens]
105 rem.extend(['/^[# ]*' + token + '[ =]/d' for token in tokens])
106 if type(features) == type([]) and feature in features:
107 cnf.extend([token + '=y' for token in tokens])
108 else:
109 cnf.extend(['# ' + token + ' is not set' for token in tokens])
110
111# Map distro features to config settings
112def features_to_uclibc_settings(d):
113 cnf, rem = ([], [])
114 distro_features = d.getVar('DISTRO_FEATURES', True).split()
115 uclibc_cfg('ipv4', distro_features, 'UCLIBC_HAS_IPV4', cnf, rem)
116 uclibc_cfg('ipv6', distro_features, 'UCLIBC_HAS_IPV6', cnf, rem)
117 uclibc_cfg('largefile', distro_features, 'UCLIBC_HAS_LFS', cnf, rem)
118 uclibc_cfg('nls', distro_features, 'UCLIBC_HAS_LOCALE', cnf, rem)
119 uclibc_cfg('thumb-interwork', distro_features,'USE_BX', cnf, rem)
120 uclibc_cfg('xattr', distro_features, 'UCLIBC_HAS_XATTR', cnf, rem)
121 uclibc_cfg('ssp', distro_features, 'UCLIBC_HAS_SSP', cnf, rem)
122 uclibc_cfg('argp', distro_features, 'UCLIBC_HAS_ARGP', cnf, rem)
123 uclibc_cfg('libc-posix-clang-wchar', distro_features,'UCLIBC_HAS_WCHAR', cnf, rem)
124 return "\n".join(cnf), "\n".join(rem)
125# X, Y = ${@features_to_uclibc_settings(d)}
126# unfortunately doesn't seem to work with bitbake, workaround:
127def features_to_uclibc_conf(d):
128 cnf, rem = features_to_uclibc_settings(d)
129 return cnf
130def features_to_uclibc_del(d):
131 cnf, rem = features_to_uclibc_settings(d)
132 return rem
133
134# returns all the elements from the src uri that are .cfg files
135def find_cfgs(d):
136 sources=src_patches(d, True)
137 sources_list=[]
138 for s in sources:
139 if s.endswith('.cfg'):
140 sources_list.append(s)
141
142 return sources_list
diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc
deleted file mode 100644
index 718bee9eee..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git.inc
+++ /dev/null
@@ -1,18 +0,0 @@
1SRCREV = "003b266cbeb370a8eae91dc256197f00798c6f93"
2
3PV = "1.0.12+git${SRCPV}"
4
5FILESEXTRAPATHS =. "${FILE_DIRNAME}/uclibc-git:"
6
7SRC_URI = "git://uclibc-ng.org/git/uclibc-ng \
8 file://0001-Disable-lrount_tes-function.patch \
9 file://0001-Provide-an-alias-to-_obstack_free.patch \
10 file://uClibc.machine \
11 file://uClibc.distro \
12 file://obstack.cfg \
13 file://locale.cfg \
14"
15S = "${WORKDIR}/git"
16
17UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
18
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Disable-lrount_tes-function.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Disable-lrount_tes-function.patch
deleted file mode 100644
index 506f146a79..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/0001-Disable-lrount_tes-function.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 14b865b3438d0df29b4969148678d8fa8943e1ef Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 16 Aug 2015 20:49:33 -0700
4Subject: [PATCH 1/7] Disable lrount_tes() function
5
6Its not used anyway, avoids some strict compiler warnings
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10Upstream-Status: Pending
11
12 test/math/libm-test.inc | 2 --
13 1 file changed, 2 deletions(-)
14
15diff --git a/test/math/libm-test.inc b/test/math/libm-test.inc
16index f50b48b..6d70a95 100644
17--- a/test/math/libm-test.inc
18+++ b/test/math/libm-test.inc
19@@ -3470,7 +3470,6 @@ logb_test (void)
20 }
21
22
23-#if 0
24 static void
25 lround_test (void)
26 {
27@@ -3605,7 +3604,6 @@ llround_test (void)
28
29 END (llround);
30 }
31-#endif
32
33 static void
34 modf_test (void)
35--
362.1.4
37
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
deleted file mode 100644
index 30b443f592..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 06e4fe64bbd01f16ee84da161b8e1a61e73b4cdb Mon Sep 17 00:00:00 2001
2From: Alexey Neyman <aneyman@lynx.com>
3Date: Thu, 31 Mar 2016 13:02:47 -0700
4Subject: [PATCH] Provide an alias to _obstack_free
5
6GDB 7.11 does not build if compiled against uclibc-ng (1.0.12 was used,
7but the problematic code exists in 1.0.13 as well). The reason is that
8GDB release includes its own obstack implementation, but elides the code
9if <gnu-versions.h> declares a compatible obstack implementation in
10libc. uclibc-ng does claim compatible obstack interface (GDB expects
11version 2, but accepts version 1 if sizeof(int) == sizeof(size_t)),
12however, uclibc-ng does not provide the _obstack_free symbol that is a
13part of the interface (glibc does provide this symbol). This later
14causes a link failure.
15
16The attached patch makes uclibc-ng enables an alias _obstack_free ->
17obstack_free.
18
19Signed-off-by: Alexey Neyman <stilor@att.net>
20---
21Upstream-Status: Backport
22
23 libc/misc/gnu/obstack.c | 2 --
24 1 file changed, 2 deletions(-)
25
26diff --git a/libc/misc/gnu/obstack.c b/libc/misc/gnu/obstack.c
27index 38cfd83..6acc567 100644
28--- a/libc/misc/gnu/obstack.c
29+++ b/libc/misc/gnu/obstack.c
30@@ -385,11 +385,9 @@ obstack_free (struct obstack *h, void *obj)
31 abort ();
32 }
33
34-# if 0
35 /* Older versions of libc used a function _obstack_free intended to be
36 called by non-GCC compilers. */
37 strong_alias (obstack_free, _obstack_free)
38-# endif
39
40 int
41 _obstack_memory_used (struct obstack *h)
42--
432.8.1
44
diff --git a/meta/recipes-core/uclibc/uclibc-git/locale.cfg b/meta/recipes-core/uclibc/uclibc-git/locale.cfg
deleted file mode 100644
index fc66435163..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/locale.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
1UCLIBC_HAS_LOCALE=y
2UCLIBC_HAS_XLOCALE=y
3UCLIBC_BUILD_MINIMAL_LOCALE=y
diff --git a/meta/recipes-core/uclibc/uclibc-git/obstack.cfg b/meta/recipes-core/uclibc/uclibc-git/obstack.cfg
deleted file mode 100644
index 36bf9d6e4a..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/obstack.cfg
+++ /dev/null
@@ -1 +0,0 @@
1UCLIBC_HAS_OBSTACK=y
diff --git a/meta/recipes-core/uclibc/uclibc-git/uClibc.distro b/meta/recipes-core/uclibc/uclibc-git/uClibc.distro
deleted file mode 100644
index 7785ce8bfc..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/uClibc.distro
+++ /dev/null
@@ -1,195 +0,0 @@
1#
2# General Library Settings
3#
4# HAVE_NO_PIC is not set
5# DOPIC is not set
6# HAVE_NO_SHARED is not set
7# ARCH_HAS_NO_LDSO is not set
8HAVE_SHARED=y
9# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
10LDSO_LDD_SUPPORT=y
11LDSO_CACHE_SUPPORT=y
12# LDSO_PRELOAD_FILE_SUPPORT is not set
13LDSO_BASE_FILENAME="ld.so"
14# UCLIBC_STATIC_LDCONFIG is not set
15LDSO_RUNPATH=y
16UCLIBC_CTOR_DTOR=y
17LDSO_GNU_HASH_SUPPORT=y
18# HAS_NO_THREADS is not set
19UCLIBC_HAS_THREADS=y
20UCLIBC_HAS_THREADS_NATIVE=y
21PTHREADS_DEBUG_SUPPORT=y
22# LINUXTHREADS_OLD is not set
23UCLIBC_HAS_LFS=y
24# MALLOC is not set
25# MALLOC_SIMPLE is not set
26MALLOC_STANDARD=y
27MALLOC_GLIBC_COMPAT=y
28UCLIBC_DYNAMIC_ATEXIT=y
29COMPAT_ATEXIT=y
30UCLIBC_SUSV3_LEGACY=y
31UCLIBC_SUSV3_LEGACY_MACROS=y
32UCLIBC_SUSV4_LEGACY=y
33UCLIBC_HAS_SHADOW=y
34UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
35UCLIBC_HAS___PROGNAME=y
36UNIX98PTY_ONLY=y
37ASSUME_DEVPTS=y
38UCLIBC_HAS_LIBUTIL=y
39UCLIBC_HAS_TM_EXTENSIONS=y
40UCLIBC_HAS_TZ_CACHING=y
41UCLIBC_HAS_TZ_FILE=y
42UCLIBC_HAS_TZ_FILE_READ_MANY=y
43UCLIBC_TZ_FILE_PATH="/etc/TZ"
44
45#
46# Advanced Library Settings
47#
48UCLIBC_PWD_BUFFER_SIZE=256
49UCLIBC_GRP_BUFFER_SIZE=256
50
51#
52# Networking Support
53#
54UCLIBC_HAS_IPV6=y
55UCLIBC_HAS_RPC=y
56UCLIBC_HAS_FULL_RPC=y
57UCLIBC_HAS_REENTRANT_RPC=y
58UCLIBC_USE_NETLINK=y
59UCLIBC_SUPPORT_AI_ADDRCONFIG=y
60
61UCLIBC_HAS_BSD_RES_CLOSE=y
62UCLIBC_HAS_LIBRESOLV_STUB=y
63UCLIBC_HAS_LIBNSL_STUB=y
64
65#
66# String and Stdio Support
67#
68UCLIBC_HAS_STRING_GENERIC_OPT=y
69UCLIBC_HAS_STRING_ARCH_OPT=y
70UCLIBC_HAS_CTYPE_TABLES=y
71UCLIBC_HAS_CTYPE_SIGNED=y
72# UCLIBC_HAS_CTYPE_UNSAFE is not set
73UCLIBC_HAS_CTYPE_CHECKED=y
74# UCLIBC_HAS_CTYPE_ENFORCED is not set
75UCLIBC_HAS_WCHAR=y
76# UCLIBC_HAS_LOCALE is not set
77UCLIBC_HAS_HEXADECIMAL_FLOATS=y
78UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
79UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
80UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
81# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
82# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
83# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
84# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
85# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
86UCLIBC_HAS_STDIO_BUFSIZ_4096=y
87# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
88UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
89# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
90# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
91# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
92UCLIBC_HAS_STDIO_GETC_MACRO=y
93UCLIBC_HAS_STDIO_PUTC_MACRO=y
94UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
95# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
96UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
97UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
98UCLIBC_HAS_PRINTF_M_SPEC=y
99UCLIBC_HAS_ERRNO_MESSAGES=y
100# UCLIBC_HAS_SYS_ERRLIST is not set
101UCLIBC_HAS_SIGNUM_MESSAGES=y
102# UCLIBC_HAS_SYS_SIGLIST is not set
103UCLIBC_HAS_GNU_GETOPT=y
104UCLIBC_HAS_GNU_GETSUBOPT=y
105
106#
107# Big and Tall
108#
109UCLIBC_HAS_REGEX=y
110# UCLIBC_HAS_REGEX_OLD is not set
111UCLIBC_HAS_FNMATCH=y
112# UCLIBC_HAS_FNMATCH_OLD is not set
113UCLIBC_HAS_WORDEXP=y
114UCLIBC_HAS_NFTW=y
115UCLIBC_HAS_FTW=y
116UCLIBC_HAS_FTS=y
117UCLIBC_HAS_GLOB=y
118UCLIBC_HAS_GNU_GLOB=y
119
120#
121# Library Installation Options
122#
123SHARED_LIB_LOADER_PREFIX="/lib"
124RUNTIME_PREFIX="/"
125DEVEL_PREFIX="//usr"
126MULTILIB_DIR="lib"
127
128#
129# Security options
130#
131# UCLIBC_BUILD_PIE is not set
132# UCLIBC_HAS_ARC4RANDOM is not set
133# HAVE_NO_SSP is not set
134# UCLIBC_HAS_SSP is not set
135UCLIBC_BUILD_RELRO=y
136UCLIBC_BUILD_NOW=y
137UCLIBC_BUILD_NOEXECSTACK=y
138
139#
140# uClibc development/debugging options
141#
142CROSS_COMPILER_PREFIX=""
143UCLIBC_EXTRA_CFLAGS=""
144# DODEBUG is not set
145# DODEBUG_PT is not set
146# DOSTRIP is not set
147# DOASSERTS is not set
148# SUPPORT_LD_DEBUG is not set
149# SUPPORT_LD_DEBUG_EARLY is not set
150# UCLIBC_MALLOC_DEBUGGING is not set
151UCLIBC_HAS_BACKTRACE=y
152WARNINGS="-Wall"
153# EXTRA_WARNINGS is not set
154# DOMULTI is not set
155# UCLIBC_MJN3_ONLY is not set
156
157# math stuff for perl
158DO_C99_MATH=y
159UCLIBC_HAS_LONG_DOUBLE_MATH=y
160UCLIBC_HAS_FENV=y
161UCLIBC_LINUX_MODULE_26=y
162# UCLIBC_LINUX_MODULE_24 is not set
163UCLIBC_LINUX_SPECIFIC=y
164UCLIBC_HAS_REALTIME=y
165UCLIBC_HAS_ADVANCED_REALTIME=y
166UCLIBC_HAS_NETWORK_SUPPORT=y
167UCLIBC_HAS_SOCKET=y
168UCLIBC_HAS_BSD_ERR=y
169UCLIBC_HAS_SYSLOG=y
170UCLIBC_HAS_CRYPT=y
171UCLIBC_HAS_CRYPT_IMPL=y
172UCLIBC_HAS_GNU_ERROR=y
173UCLIBC_HAS_PTY=y
174UCLIBC_BSD_SPECIFIC=y
175UCLIBC_HAS_EPOLL=y
176UCLIBC_HAS_FLOATS=y
177
178# The below option is needed for ARM since depending
179# upong what intruction set is chosen this will be
180# enabled. As such it is harmless and will be punted
181# by menuconfig for other arches.
182
183# COMPILE_IN_THUMB_MODE is not set
184
185# needed by shadow
186UCLIBC_HAS_UTMP=y
187# needed by systemd
188UCLIBC_HAS_UTMPX=y
189UCLIBC_LINUX_MODULE_26=y
190UCLIBC_HAS_RESOLVER_SUPPORT=y
191# needed for LTP
192UCLIBC_SUSV4_LEGACY=y
193UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
194DO_XSI_MATH=y
195UCLIBC_SV4_DEPRECATED=y
diff --git a/meta/recipes-core/uclibc/uclibc-git/uClibc.machine b/meta/recipes-core/uclibc/uclibc-git/uClibc.machine
deleted file mode 100644
index 595f444dac..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/uClibc.machine
+++ /dev/null
@@ -1,14 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Version: 0.9.32-git
4# Mon Jul 19 01:34:29 2010
5#
6#
7# Using ELF file format
8#
9FORCE_OPTIONS_FOR_ARCH=y
10ARCH_HAS_MMU=y
11ARCH_USE_MMU=y
12KERNEL_HEADERS="/usr/include"
13HAVE_DOT_CONFIG=y
14
diff --git a/meta/recipes-core/uclibc/uclibc-initial_git.bb b/meta/recipes-core/uclibc/uclibc-initial_git.bb
deleted file mode 100644
index c937ccb108..0000000000
--- a/meta/recipes-core/uclibc/uclibc-initial_git.bb
+++ /dev/null
@@ -1,36 +0,0 @@
1SECTION = "base"
2require uclibc.inc
3require uclibc-git.inc
4
5DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial libgcc-initial kern-tools-native"
6PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
7
8PACKAGES = ""
9PACKAGES_DYNAMIC = ""
10
11STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
12STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${TARGET_ARCH}"
13
14do_install() {
15 # Install initial headers into the cross dir
16 make PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \
17 install_headers install_startfiles
18
19 # add links to linux-libc-headers: final uclibc build need this.
20 for t in linux asm asm-generic; do
21 if [ -d ${D}${includedir}/$t ]; then
22 rm -rf ${D}${includedir}/$t
23 fi
24 ln -sf ${STAGING_DIR_TARGET}${includedir}/$t ${D}${includedir}/
25 done
26
27}
28do_compile() {
29 :
30}
31
32do_siteconfig () {
33 :
34}
35
36do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}/"
diff --git a/meta/recipes-core/uclibc/uclibc-package.inc b/meta/recipes-core/uclibc/uclibc-package.inc
deleted file mode 100644
index 439f84e4f9..0000000000
--- a/meta/recipes-core/uclibc/uclibc-package.inc
+++ /dev/null
@@ -1,36 +0,0 @@
1# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow
2# *_nonshared.a libraries to be packaged in the uclibc-dev package.
3PACKAGES = "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}"
4
5FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so"
6FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so"
7FILES_uclibc-libnsl = "${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so"
8FILES_uclibc-libresolv = "${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so"
9FILES_uclibc-libm = "${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so"
10FILES_uclibc-libdl = "${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so"
11FILES_uclibc-libutil = "${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so"
12FILES_uclibc-libpthread = "${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so"
13FILES_uclibc-librt = "${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so"
14
15FILES_ldd = "${bindir}/ldd"
16FILES_uclibc-utils = "${bindir} ${sbindir}"
17FILES_uclibc-gconv = "${libdir}/gconv"
18FILES_uclibc-thread-db = "${base_libdir}/libthread_db*"
19FILES_uclibc-argp = "${base_libdir}/libuargp-*.so ${base_libdir}/libuargp*.so.*"
20FILES_uclibc-backtrace = "${base_libdir}/libubacktrace-*.so ${base_libdir}/libubacktrace*.so.*"
21
22# The last line (gdb and lib1) is for uclinux-uclibc builds
23uclibc_baselibs = "${base_libdir}/ld*.so.* ${base_libdir}/ld*.so \
24 ${base_libdir}/libc*.so.* ${base_libdir}/libuClibc-*.so \
25 ${libdir}/libc.gdb ${libdir}/libc ${base_libdir}/lib1.so \
26 "
27FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
28FILES_${PN}-dev += "\
29 ${libdir}/lib*.so \
30 ${libdir}/*_nonshared.a \
31 ${libdir}/[S]*crt[1in].o \
32 ${libdir}/crtreloc*.o \
33 ${includedir}/*.h ${includedir}/*/*.h \
34 "
35FILES_${PN} = "${sysconfdir} ${uclibc_baselibs} /sbin/ldconfig \
36 ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale"
diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
deleted file mode 100644
index 02cd8d1ae5..0000000000
--- a/meta/recipes-core/uclibc/uclibc.inc
+++ /dev/null
@@ -1,159 +0,0 @@
1SUMMARY = "C library for embedded systems"
2DESCRIPTION = "The name uClibc is an abbreviation for 'the \
3microcontroller C library'. For simplicity, uClibc is pronounced \
4'yew-see-lib-see'. The goal of uClibc is to provide as much \
5functionality as possible in a small amount of space, and it is intended \
6primarily for embedded use. It is also highly configurable in supported \
7features, at the cost of ABI differences for different configurations. \
8uClibc has been designed from the ground up to be a C library for \
9embedded Linux. It is NOT compatible with binaries linked against glibc."
10
11LICENSE = "LGPLv2.1+"
12SECTION = "libs"
13LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
14 file://COPYING.LIB.boilerplate;md5=aaddeadcddeb918297e0e4afc52ce46f \
15file://${S}/test/regex/testregex.c;beginline=1;endline=31;md5=234efb227d0a40677f895e4a1e26e960"
16
17require uclibc-config.inc
18
19PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
20TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
21
22# siteconfig.bbclass runs configure which needs a working compiler
23# For the compiler to work we need a working libc yet libc isn't
24# in the sysroots directory at this point. This means the libc.so
25# linker script won't work as the --sysroot setting isn't correct.
26# Here we create a hacked up libc linker script and pass in the right
27# flags to let configure work. Ugly.
28EXTRASITECONFIG = "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}'"
29siteconfig_do_siteconfig_gencache_prepend = " \
30mkdir -p ${WORKDIR}/site_config_libc; \
31cp ${SYSROOT_DESTDIR}${libdir}/libc.so ${WORKDIR}/site_config_libc; \
32sed -i -e 's# ${base_libdir}# ${SYSROOT_DESTDIR}${base_libdir}#g' -e 's# ${libdir}# ${SYSROOT_DESTDIR}${libdir}#g' ${WORKDIR}/site_config_libc/libc.so; \
33"
34
35# For now, we will skip building of a gcc package if it is a uclibc one
36# and our build is not a uclibc one, and we skip a glibc one if our build
37# is a uclibc build.
38COMPATIBLE_HOST = ".*-uclibc.*"
39
40INHIBIT_DEFAULT_DEPS = "1"
41
42# There appears to be a parallel race in uclibc:
43# GEN /extra/locale/locale_collate.h
44# xargs: ../..//extra/locale/gen_collate: Text file busy
45# make[1]: *** [../..//extra/locale/locale_collate.h] Error 126
46PARALLEL_MAKE = ""
47
48# do_stage barfs on a CC with whitespace, therefore put the 'HOST_CC_ARCH' in
49# the CFLAGS (when building the utils).
50OEMAKE_NO_CC = "'STRIPTOOL=true' 'LD=${LD}'"
51EXTRA_OEMAKE = "${OEMAKE_NO_CC} \
52 'HOSTCC=${BUILD_CC}' \
53 'HOST_CFLAGS=${BUILD_CFLAGS}' \
54 'CC=${CC}' \
55 ARCH=${UCLIBC_ARCH} \
56 V=1"
57
58EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}"
59
60# -O<n> -fno-omit-frame-pointer ends up with GCC ICE on thumb as reported
61# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44860
62#
63CFLAGS_remove_arm = "-fno-omit-frame-pointer"
64UCLIBC_EXTRA_CFLAGS = "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}"
65
66# Doesn't compile in MIPS16e mode due to use of hand-written
67# assembly
68MIPS_INSTRUCTION_SET_pn-uclibc = "mips"
69
70configmangle = '/^KERNEL_HEADERS/d; \
71 /^RUNTIME_PREFIX/d; \
72 /^DEVEL_PREFIX/d; \
73 /^SHARED_LIB_LOADER_PREFIX/d; \
74 /^UCLIBC_EXTRA_CFLAGS/d; \
75 s,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g; \
76 ${@["","s,.*COMPILE_IN_THUMB_MODE.*,COMPILE_IN_THUMB_MODE=y,;"][d.getVar("ARM_INSTRUCTION_SET", True) == "thumb"]} \
77 ${@["","s,.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=y,;"][d.getVar("USE_NLS", True) == "yes"]} \
78 ${@["","s,.*LDSO_GNU_HASH_SUPPORT.*,# LDSO_GNU_HASH_SUPPORT is not set,;"][d.getVar("TARGET_ARCH", True) in ['mips', 'mipsel', 'mips64', 'mips64el', 'avr32']]} \
79 /^CROSS/d; \
80 /^TARGET_ARCH=/d; \
81 /^TARGET_/s,^\([^=]*\).*,# \1 is not set,g; \
82 s,^DOSTRIP.*,# DOSTRIP is not set,g; \
83 /_[EO]*ABI/d; \
84 /HAS_FPU/d; \
85 ${@["","s,.*MULTILIB_DIR.*,MULTILIB_DIR=\"${baselib}\",;"][d.getVar("baselib", True) != "lib"]} \
86 '
87OE_FEATURES = "${@features_to_uclibc_conf(d)}"
88OE_DEL = "${@features_to_uclibc_del(d)}"
89python () {
90 if "${OE_DEL}":
91 d.setVar('configmangle_append', "${OE_DEL}" + "\n")
92
93 if "${OE_FEATURES}":
94 d.setVar('configmangle_append',
95 "/^### DISTRO FEATURES$/a\\\n%s\n\n" %
96 ("\\n".join((d.expand("${OE_FEATURES}").split("\n")))))
97 d.setVar('configmangle_append',
98 "/^### CROSS$/a\\\n%s\n" %
99 ("\\n".join(["CROSS_COMPILER_PREFIX=\"${TARGET_PREFIX}\"",
100 "UCLIBC_EXTRA_CFLAGS=\"${UCLIBC_EXTRA_CFLAGS}\"",
101 "KERNEL_HEADERS=\"${STAGING_INCDIR}\"",
102 "RUNTIME_PREFIX=\"/\"",
103 "DEVEL_PREFIX=\"/${prefix}\"",
104 "SHARED_LIB_LOADER_PREFIX=\"/lib\"",
105 ])
106 ))
107 d.setVar('configmangle_append',
108 "/^### TGT$/a\\\nTARGET_ARCH=\"%s\"\\nTARGET_%s=y\n" %
109 ("${UCLIBC_ARCH}", "${UCLIBC_ARCH}"))
110 d.setVar('configmangle_append',
111 "/^### FPU$/a\\\n%s\n\n" % (["UCLIBC_HAS_FPU=y","# UCLIBC_HAS_FPU is not set"][d.getVar('TARGET_FPU', True) in [ 'soft' ]]))
112 if "${UCLIBC_ENDIAN}":
113 d.setVar('configmangle_append',
114 "/^### ABI$/a\\\nARCH_WANTS_%s_ENDIAN=y\n\n" % ("${UCLIBC_ENDIAN}"))
115 if "${UCLIBC_ABI}":
116 d.setVar('configmangle_append',
117 "/^### ABI$/a\\\nCONFIG_%s=y\n\n" % ("${UCLIBC_ABI}"))
118}
119
120python do_patch_append() {
121 import subprocess
122 subprocess.call("ln -sf ${STAGING_INCDIR}/linux ${S}/include/linux", shell=True)
123 subprocess.call("ln -sf ${STAGING_INCDIR}/asm ${S}/include/asm", shell=True)
124}
125
126do_configure() {
127 rm -f ${S}/.config
128
129 # OpenEmbedded splits the uClibc.config in two parts:
130 # uClibc.machine, uClibc.distro
131 echo "### uClibc.machine ###" >${S}/merged.config
132 cat ${WORKDIR}/uClibc.machine >>${S}/merged.config
133 echo "### uClibc.distro ###" >>${S}/merged.config
134 cat ${WORKDIR}/uClibc.distro >>${S}/merged.config
135 echo "### CROSS" >>${S}/merged.config
136 echo "### TGT" >>${S}/merged.config
137 echo "### MMU" >>${S}/merged.config
138 echo "### FPU" >>${S}/merged.config
139 echo "### ABI" >>${S}/merged.config
140 echo "### DISTRO FEATURES" >>${S}/merged.config
141
142 # Mangle the resulting .config depending on OE variables
143 sed -i -e '${configmangle}' ${S}/merged.config
144 cp ${S}/merged.config .config
145 merge_config.sh -r -n -m .config ${@" ".join(find_cfgs(d))}
146 cml1_do_configure
147
148}
149
150do_install() {
151 oe_runmake PREFIX=${D} install
152 rm -rf ${D}${includedir}/iconv.h
153}
154
155# build ldd, ldconfig and friends but only for full uclibc
156do_install_append_pn-uclibc () {
157 oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" -C utils utils_install
158}
159
diff --git a/meta/recipes-core/uclibc/uclibc_git.bb b/meta/recipes-core/uclibc/uclibc_git.bb
deleted file mode 100644
index fd02b3d612..0000000000
--- a/meta/recipes-core/uclibc/uclibc_git.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1require uclibc.inc
2require uclibc-package.inc
3require uclibc-git.inc
4
5STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
6STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${TARGET_ARCH}"
7
8PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
9
10DEPENDS = "virtual/${TARGET_PREFIX}binutils \
11 virtual/${TARGET_PREFIX}gcc-initial \
12 virtual/${TARGET_PREFIX}libc-initial \
13 linux-libc-headers ncurses-native \
14 libgcc-initial kern-tools-native"
15
16RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
17RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
18# uclibc does not really have libsegfault but then using the one from glibc is also not
19# going to work. So we pretend that we have it to make bitbake not pull other recipes
20# to satisfy this dependency for the images/tasks
21
22RPROVIDES_${PN} += "libsegfault rtld(GNU_HASH)"