diff --git a/ndk/build/platforms/android-3/arch-arm/usr/include/endian.h b/ndk/build/platforms/android-3/arch-arm/usr/include/endian.h index 04204ed4c..475b48cf6 100644 --- a/ndk/build/platforms/android-3/arch-arm/usr/include/endian.h +++ b/ndk/build/platforms/android-3/arch-arm/usr/include/endian.h @@ -1,10 +1,33 @@ -/* $OpenBSD: endian.h,v 1.3 2005/12/13 00:35:23 millert Exp $ */ +/* + * Copyright (C) 2008 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#ifndef _ENDIAN_H_ +#define _ENDIAN_H_ -#ifdef __ARMEB__ -#define _BYTE_ORDER _BIG_ENDIAN -#else -#define _BYTE_ORDER _LITTLE_ENDIAN -#endif -#define __STRICT_ALIGNMENT -#include #include + +#endif /* _ENDIAN_H_ */ diff --git a/ndk/build/platforms/android-3/common/include/stdint.h b/ndk/build/platforms/android-3/common/include/stdint.h index 39a8ab8dd..237baa24c 100644 --- a/ndk/build/platforms/android-3/common/include/stdint.h +++ b/ndk/build/platforms/android-3/common/include/stdint.h @@ -46,13 +46,17 @@ # define __STDINT_MACROS #endif +#if !defined __STRICT_ANSI__ || __STDC_VERSION__ >= 199901L +# define __STDC_INT64__ +#endif + typedef __int8_t int8_t; typedef __uint8_t uint8_t; typedef __int16_t int16_t; typedef __uint16_t uint16_t; typedef __int32_t int32_t; typedef __uint32_t uint32_t; -#if !defined(__STRICT_ANSI__) +#if defined(__STDC_INT64__) typedef __int64_t int64_t; typedef __uint64_t uint64_t; #endif @@ -157,7 +161,7 @@ typedef uint32_t uint_fast32_t; # define UINT_FAST32_C(c) UINT32_C(c) #endif -#if !defined(__STRICT_ANSI__) +#if defined(__STDC_INT64__) /* * int64_t */ @@ -198,7 +202,7 @@ typedef uint64_t uint_fast64_t; # define __PRIFAST_RANK "" # define __PRIPTR_RANK "" -#endif /* !__STRICT_ANSI__ */ +#endif /* __STDC_INT64__ */ /* * intptr_t & uintptr_t @@ -221,7 +225,7 @@ typedef unsigned int uintptr_t; * intmax_t & uintmax_t */ -#if !defined(__STRICT_ANSI__) +#if defined(__STDC_INT64__) typedef uint64_t uintmax_t; typedef int64_t intmax_t; @@ -233,7 +237,7 @@ typedef int64_t intmax_t; #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#else /* __STRICT_ANSI__ */ +#else /* !__STDC_INT64__ */ typedef uint32_t uintmax_t; typedef int32_t intmax_t; @@ -245,7 +249,7 @@ typedef int32_t intmax_t; #define INTMAX_C(c) INT32_C(c) #define UINTMAX_C(c) UINT32_C(c) -#endif /* __STRICT_ANSI__ */ +#endif /* !__STDC_INT64__ */ /* size_t is defined by the GCC-specific */ diff --git a/ndk/build/platforms/android-3/common/include/strings.h b/ndk/build/platforms/android-3/common/include/strings.h index 1f73e21a2..fee7dc4f7 100644 --- a/ndk/build/platforms/android-3/common/include/strings.h +++ b/ndk/build/platforms/android-3/common/include/strings.h @@ -39,6 +39,7 @@ #ifndef _STRINGS_H_ #define _STRINGS_H_ +#include #include __BEGIN_DECLS diff --git a/ndk/build/platforms/android-3/common/include/sys/stat.h b/ndk/build/platforms/android-3/common/include/sys/stat.h index 23ab5aeec..091ee6d5e 100644 --- a/ndk/build/platforms/android-3/common/include/sys/stat.h +++ b/ndk/build/platforms/android-3/common/include/sys/stat.h @@ -71,6 +71,13 @@ struct stat { unsigned long long st_ino; }; +/* For compatibility with GLibc, we provide macro aliases + * for the non-Posix nano-seconds accessors. + */ +#define st_atimensec st_atime_nsec +#define st_mtimensec st_mtime_nsec +#define st_ctimensec st_ctime_nsec + extern int chmod(const char *, mode_t); extern int fchmod(int, mode_t); extern int mkdir(const char *, mode_t); diff --git a/ndk/build/platforms/android-3/common/include/time.h b/ndk/build/platforms/android-3/common/include/time.h index 35c2358b2..6163c6d5f 100644 --- a/ndk/build/platforms/android-3/common/include/time.h +++ b/ndk/build/platforms/android-3/common/include/time.h @@ -82,6 +82,8 @@ extern size_t strftime(char *s, size_t max, const char *format, const struc extern char *ctime(const time_t *timep); extern char *ctime_r(const time_t *timep, char *buf); +extern void tzset(void); + /* global includes */ extern char* tzname[]; extern int daylight; @@ -89,7 +91,7 @@ extern long int timezone; #define CLOCKS_PER_SEC 1000000 -extern clock_t clock(); +extern clock_t clock(void); /* BIONIC: extra linux clock goodies */ extern int clock_getres(int, struct timespec *); diff --git a/ndk/build/platforms/android-4/arch-arm/usr/include/endian.h b/ndk/build/platforms/android-4/arch-arm/usr/include/endian.h index 04204ed4c..475b48cf6 100644 --- a/ndk/build/platforms/android-4/arch-arm/usr/include/endian.h +++ b/ndk/build/platforms/android-4/arch-arm/usr/include/endian.h @@ -1,10 +1,33 @@ -/* $OpenBSD: endian.h,v 1.3 2005/12/13 00:35:23 millert Exp $ */ +/* + * Copyright (C) 2008 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#ifndef _ENDIAN_H_ +#define _ENDIAN_H_ -#ifdef __ARMEB__ -#define _BYTE_ORDER _BIG_ENDIAN -#else -#define _BYTE_ORDER _LITTLE_ENDIAN -#endif -#define __STRICT_ALIGNMENT -#include #include + +#endif /* _ENDIAN_H_ */ diff --git a/ndk/build/platforms/android-4/common/include/stdint.h b/ndk/build/platforms/android-4/common/include/stdint.h index 39a8ab8dd..237baa24c 100644 --- a/ndk/build/platforms/android-4/common/include/stdint.h +++ b/ndk/build/platforms/android-4/common/include/stdint.h @@ -46,13 +46,17 @@ # define __STDINT_MACROS #endif +#if !defined __STRICT_ANSI__ || __STDC_VERSION__ >= 199901L +# define __STDC_INT64__ +#endif + typedef __int8_t int8_t; typedef __uint8_t uint8_t; typedef __int16_t int16_t; typedef __uint16_t uint16_t; typedef __int32_t int32_t; typedef __uint32_t uint32_t; -#if !defined(__STRICT_ANSI__) +#if defined(__STDC_INT64__) typedef __int64_t int64_t; typedef __uint64_t uint64_t; #endif @@ -157,7 +161,7 @@ typedef uint32_t uint_fast32_t; # define UINT_FAST32_C(c) UINT32_C(c) #endif -#if !defined(__STRICT_ANSI__) +#if defined(__STDC_INT64__) /* * int64_t */ @@ -198,7 +202,7 @@ typedef uint64_t uint_fast64_t; # define __PRIFAST_RANK "" # define __PRIPTR_RANK "" -#endif /* !__STRICT_ANSI__ */ +#endif /* __STDC_INT64__ */ /* * intptr_t & uintptr_t @@ -221,7 +225,7 @@ typedef unsigned int uintptr_t; * intmax_t & uintmax_t */ -#if !defined(__STRICT_ANSI__) +#if defined(__STDC_INT64__) typedef uint64_t uintmax_t; typedef int64_t intmax_t; @@ -233,7 +237,7 @@ typedef int64_t intmax_t; #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#else /* __STRICT_ANSI__ */ +#else /* !__STDC_INT64__ */ typedef uint32_t uintmax_t; typedef int32_t intmax_t; @@ -245,7 +249,7 @@ typedef int32_t intmax_t; #define INTMAX_C(c) INT32_C(c) #define UINTMAX_C(c) UINT32_C(c) -#endif /* __STRICT_ANSI__ */ +#endif /* !__STDC_INT64__ */ /* size_t is defined by the GCC-specific */ diff --git a/ndk/build/platforms/android-4/common/include/strings.h b/ndk/build/platforms/android-4/common/include/strings.h index 1f73e21a2..fee7dc4f7 100644 --- a/ndk/build/platforms/android-4/common/include/strings.h +++ b/ndk/build/platforms/android-4/common/include/strings.h @@ -39,6 +39,7 @@ #ifndef _STRINGS_H_ #define _STRINGS_H_ +#include #include __BEGIN_DECLS diff --git a/ndk/build/platforms/android-4/common/include/sys/stat.h b/ndk/build/platforms/android-4/common/include/sys/stat.h index 23ab5aeec..091ee6d5e 100644 --- a/ndk/build/platforms/android-4/common/include/sys/stat.h +++ b/ndk/build/platforms/android-4/common/include/sys/stat.h @@ -71,6 +71,13 @@ struct stat { unsigned long long st_ino; }; +/* For compatibility with GLibc, we provide macro aliases + * for the non-Posix nano-seconds accessors. + */ +#define st_atimensec st_atime_nsec +#define st_mtimensec st_mtime_nsec +#define st_ctimensec st_ctime_nsec + extern int chmod(const char *, mode_t); extern int fchmod(int, mode_t); extern int mkdir(const char *, mode_t); diff --git a/ndk/build/platforms/android-4/common/include/time.h b/ndk/build/platforms/android-4/common/include/time.h index 35c2358b2..6163c6d5f 100644 --- a/ndk/build/platforms/android-4/common/include/time.h +++ b/ndk/build/platforms/android-4/common/include/time.h @@ -82,6 +82,8 @@ extern size_t strftime(char *s, size_t max, const char *format, const struc extern char *ctime(const time_t *timep); extern char *ctime_r(const time_t *timep, char *buf); +extern void tzset(void); + /* global includes */ extern char* tzname[]; extern int daylight; @@ -89,7 +91,7 @@ extern long int timezone; #define CLOCKS_PER_SEC 1000000 -extern clock_t clock(); +extern clock_t clock(void); /* BIONIC: extra linux clock goodies */ extern int clock_getres(int, struct timespec *); diff --git a/ndk/docs/CHANGES.TXT b/ndk/docs/CHANGES.TXT index 0e4962c1b..acd229691 100644 --- a/ndk/docs/CHANGES.TXT +++ b/ndk/docs/CHANGES.TXT @@ -36,6 +36,15 @@ OTHER FIXES & CHANGES: - Remove bash-isms from build/tools/build-toolchain.sh. Now it's possible to build it with the 'dash' shell on Debian-based systems (tested on Ubuntu 8.04) +- Refresh C library headers for all platforms: + + - make simply include + - make properly declare 64-bit integer types with a C99 compiler + - add missing to + - add GLibc-compatible macro aliases (st_atimensec, st_mtimensec and + st_ctimensec) to + - add missing declaration for tzset() in + ------------------------------------------------------------------------------- android-ndk-1.6_r1