aboutsummaryrefslogtreecommitdiff
path: root/include/platform.h
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2013-03-12 11:13:22 -0400
committerMike Frysinger <vapier@gentoo.org>2013-03-12 11:13:22 -0400
commit445e7543e80d629173d96a77fbfe228fe795cb88 (patch)
tree8cff682c57f9767dd77bcca26f48a750be99bb2a /include/platform.h
parentbca5c556c43ced7b368fdd90a24e4aecf40045ac (diff)
downloadbusybox-w32-445e7543e80d629173d96a77fbfe228fe795cb88.tar.gz
busybox-w32-445e7543e80d629173d96a77fbfe228fe795cb88.tar.bz2
busybox-w32-445e7543e80d629173d96a77fbfe228fe795cb88.zip
platform: use KERNEL_VERSION to simplify uClibc version checking
This makes reading the logic (as well as adding new code) a lot simpler, and fixes one or two cases that were broken due to incorrect sub-version tests. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'include/platform.h')
-rw-r--r--include/platform.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/include/platform.h b/include/platform.h
index f4deb30c0..917d87dd6 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -263,6 +263,12 @@ typedef unsigned smalluint;
263 263
264#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) 264#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
265 265
266#ifdef __UCLIBC__
267# define UCLIBC_VERSION KERNEL_VERSION(__UCLIBC_MAJOR__, __UCLIBC_MINOR__, __UCLIBC_SUBLEVEL__)
268#else
269# define UCLIBC_VERSION 0
270#endif
271
266 272
267/* ---- Miscellaneous --------------------------------------- */ 273/* ---- Miscellaneous --------------------------------------- */
268 274
@@ -305,8 +311,9 @@ typedef unsigned smalluint;
305 * for a mmu-less system. 311 * for a mmu-less system.
306 */ 312 */
307#if ENABLE_NOMMU || \ 313#if ENABLE_NOMMU || \
308 (defined __UCLIBC__ && __UCLIBC_MAJOR__ >= 0 && __UCLIBC_MINOR__ >= 9 && \ 314 (defined __UCLIBC__ && \
309 __UCLIBC_SUBLEVEL__ > 28 && !defined __ARCH_USE_MMU__) 315 UCLIBC_VERSION > KERNEL_VERSION(0, 9, 28) && \
316 !defined __ARCH_USE_MMU__)
310# define BB_MMU 0 317# define BB_MMU 0
311# define USE_FOR_NOMMU(...) __VA_ARGS__ 318# define USE_FOR_NOMMU(...) __VA_ARGS__
312# define USE_FOR_MMU(...) 319# define USE_FOR_MMU(...)
@@ -373,13 +380,8 @@ typedef unsigned smalluint;
373#define HAVE_NET_ETHERNET_H 1 380#define HAVE_NET_ETHERNET_H 1
374#define HAVE_SYS_STATFS_H 1 381#define HAVE_SYS_STATFS_H 1
375 382
376#if defined(__UCLIBC_MAJOR__) 383#if defined(__UCLIBC__) && UCLIBC_VERSION < KERNEL_VERSION(0, 9, 32)
377# if __UCLIBC_MAJOR__ == 0 \ 384# undef HAVE_STRVERSCMP
378 && ( __UCLIBC_MINOR__ < 9 \
379 || (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 32) \
380 )
381# undef HAVE_STRVERSCMP
382# endif
383#endif 385#endif
384 386
385#if defined(__dietlibc__) 387#if defined(__dietlibc__)