From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / utils / aligned_malloc.h
index 819a46cd0af92090a9c5d1726a3ee705a101bd20..43c9219005524a0b3b9cd8696a2aaf8f00b86c68 100644 (file)
@@ -22,18 +22,27 @@ implied warranty.
 # include <unistd.h>
 #endif
 
-#if _POSIX_VERSION >= 200112L || _XOPEN_VERSION >= 600
+#if defined ANDROID
+# include <android/api-level.h>
+#endif
+
+#if (_POSIX_VERSION >= 200112L || _XOPEN_VERSION >= 600) && \
+  (!defined ANDROID || __ANDROID_API__ >= 15)
+# define ALIGNED_MALLOC_HAS_MEMALIGN 1
+#endif
+
+#if ALIGNED_MALLOC_HAS_MEMALIGN
 
 # define aligned_malloc posix_memalign
 # define aligned_free   free
 
-#else /* old POSIX */
+#else /* !ALIGNED_MALLOC_HAS_MEMALIGN */
 
  /* This can't simply be named posix_memalign, since the real thing uses
     free(), but this one can't. */
  int aligned_malloc(void **ptr, unsigned alignment, size_t size);
  void aligned_free(void *);
 
-#endif /* old POSIX */
+#endif /* ALIGNED_MALLOC_HAS_MEMALIGN */
 
 #endif /* __ALIGNED_MALLOC_H__ */