Support Android x86 NDK build
authorMakoto Kato <makoto.kt@gmail.com>
Sun, 12 Feb 2012 04:57:13 +0000 (13:57 +0900)
committerJohann <johannkoenig@google.com>
Thu, 16 Feb 2012 20:03:30 +0000 (12:03 -0800)
On Android NDK, rand() is inlined function.  But, on our SSE optimization,
we need symbol for rand()

Change-Id: I42ab00e3255208ba95d7f9b9a8a3605ff58da8e1

vp8/common/x86/postproc_x86.c [new file with mode: 0644]
vp8/vp8_common.mk

diff --git a/vp8/common/x86/postproc_x86.c b/vp8/common/x86/postproc_x86.c
new file mode 100644 (file)
index 0000000..a25921b
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ *  Copyright (c) 2012 The WebM project authors. All Rights Reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+/* On Android NDK, rand is inlined function, but postproc needs rand symbol */
+#if defined(__ANDROID__)
+#define rand __rand
+#include <stdlib.h>
+#undef rand
+
+extern int rand(void)
+{
+  return __rand();
+}
+#endif
index d3d82e2f44317918c2ea27fd4c32550682dec643..b2db4ce5b59b34ce850498c4b97220d2e8e29740 100644 (file)
@@ -93,6 +93,7 @@ VP8_COMMON_SRCS-$(HAVE_SSE2) += common/x86/loopfilter_sse2.asm
 VP8_COMMON_SRCS-$(HAVE_SSE2) += common/x86/iwalsh_sse2.asm
 VP8_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/subpixel_ssse3.asm
 ifeq ($(CONFIG_POSTPROC),yes)
+VP8_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/postproc_x86.c
 VP8_COMMON_SRCS-$(HAVE_MMX) += common/x86/postproc_mmx.asm
 VP8_COMMON_SRCS-$(HAVE_SSE2) += common/x86/postproc_sse2.asm
 endif