diff options
| author | Mike Frysinger <vapier@gentoo.org> | 2013-03-12 11:13:22 -0400 |
|---|---|---|
| committer | Mike Frysinger <vapier@gentoo.org> | 2013-03-12 11:13:22 -0400 |
| commit | 445e7543e80d629173d96a77fbfe228fe795cb88 (patch) | |
| tree | 8cff682c57f9767dd77bcca26f48a750be99bb2a /include | |
| parent | bca5c556c43ced7b368fdd90a24e4aecf40045ac (diff) | |
| download | busybox-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')
| -rw-r--r-- | include/platform.h | 20 |
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__) |
