[BusyBox] syslogd uClinux another fix
Cristian Ionescu-Idbohrn
cristian.ionescu-idbohrn at axis.com
Sat Aug 23 13:11:32 UTC 2003
Hi,
Could someone explain the history behind these 2 defines:
__UCLIBC__
__uClinux__
The only thing I find in the uClibc/include/... header files is:
--- include/features.h ------------------------------------------------
/* This macro indicates that the installed library is uClibc. Use
* __UCLIBC_MAJOR__ and __UCLIBC_MINOR__ to test for the features in
* specific releases. */
#define __UCLIBC__ 1
/* Major and minor version number of the uClibc library package are
* can be used to test for features in specific uClibc releases.
*
* Now included from bits/uClibc_config.h */
#if 0
/* For uClibc release 0.9.12, these numbers would be: */
#define __UCLIBC_MAJOR__ 0
#define __UCLIBC_MINOR__ 9
#define __UCLIBC_SUBLEVEL__ 12
#endif
/* There is an unwholesomely huge amount of code out there that depends on the
* presence of GNU libc header files. We have GNU libc header files. So here
* we commit a horrible sin. At this point, we _lie_ and claim to be GNU libc
* to make things like /usr/include/linux/socket.h and lots of apps work as
* their developers intended. This is IMHO, pardonable, since these defines
* are not really intended to check for the presence of a particular library,
* but rather are used to define an _interface_. */
#if !defined __FORCE_NOGLIBC && (!defined _LIBC || defined __FORCE_GLIBC)
# define __GNU_LIBRARY__ 6
# define __GLIBC__ 2
# define __GLIBC_MINOR__ 2
#endif
-----------------------------------------------------------------------
Can't find the uClibc/include/bits/uClibc_config.h, referred to here
above. I do find references to __uClinux__ and __UCLIBC__ tho, in the
bb-tree:
./init/init.c:#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_MMU__)
./init/init.c:#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
./init/init.c:#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
./libbb/printf.c:#if defined(__UCLIBC__)
./libbb/vfork_daemon_rexec.c:#if defined(__uClinux__)
./miscutils/crond.c:#if defined(__uClinux__)
./networking/inetd.c:#if defined(__uClinux__)
./procps/free.c:#ifndef __uClinux__
./procps/free.c:#ifndef __uClinux__
./procps/free.c:#ifndef __uClinux__
./shell/ash.c:#if defined(__uClinux__)
./shell/hush.c:#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
./shell/hush.c:#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
./shell/lash.c:#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
./sysklogd/klogd.c:#if defined(__uClinux__)
./sysklogd/syslogd.c:#if ! defined(__uClinux__)
./sysklogd/syslogd.c:#if ! defined(__uClinux__)
./sysklogd/syslogd.c:#if ! defined(__uClinux__)
./util-linux/mount.c:#if defined(__UCLIBC__) && ! defined(__UCLIBC_HAS_RPC__)
I hit the wall i some othe context and I'm curious.
Cheers,
Cristian
More information about the busybox
mailing list