Bug 816822 - Fix build files, unit tests, and clone some linux headers to make WebRTC unit tests build on Android, r=dmose,ted

This commit is contained in:
Gian-Carlo Pascutto 2012-12-12 12:05:57 -08:00
parent d1407c8702
commit 6b755ededd
8 changed files with 238 additions and 12 deletions

View File

@ -23,7 +23,7 @@ LOCAL_INCLUDES += \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/event \
$(NULL)
ifeq ($(OS_ARCH), Darwin)
ifeq ($(OS_TARGET), Darwin)
LOCAL_INCLUDES += \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/darwin/include \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/generic/include \
@ -31,7 +31,7 @@ LOCAL_INCLUDES += \
DEFINES += -DDARWIN
endif
ifeq ($(OS_ARCH), Linux)
ifeq ($(OS_TARGET), Linux)
LOCAL_INCLUDES += \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/linux/include \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/generic/include \
@ -39,7 +39,15 @@ LOCAL_INCLUDES += \
DEFINES += -DLINUX
endif
ifeq ($(OS_ARCH), WINNT)
ifeq ($(OS_TARGET), Android)
LOCAL_INCLUDES += \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/android/include \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/generic/include \
$(NULL)
DEFINES += -DLINUX -DANDROID
endif
ifeq ($(OS_TARGET), WINNT)
LOCAL_INCLUDES += \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/win32/include \
-I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/generic/include \

View File

@ -72,17 +72,32 @@ endif
endif
endif
ifeq ($(OS_ARCH), Darwin)
ifeq ($(OS_TARGET), Darwin)
LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/darwin/include
DEFINES += \
-DGTEST_USE_OWN_TR1_TUPLE=1 \
$(NULL)
endif
ifeq ($(OS_ARCH), Linux)
ifeq ($(OS_TARGET), Linux)
LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/linux/include
endif
ifeq ($(OS_TARGET), Android)
LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/android/include
LIBS += \
$(STLPORT_LDFLAGS) \
$(STLPORT_LIBS) \
$(NULL)
CPPFLAGS += \
$(STLPORT_CPPFLAGS) \
$(NULL)
DEFINES += \
-DGTEST_USE_OWN_TR1_TUPLE=1 \
$(NULL)
endif
ifneq ($(OS_TARGET),WINNT)
CPP_UNIT_TESTS = \
ice_unittest.cpp \

View File

@ -98,7 +98,7 @@ class TransportTestPeer : public sigslot::has_slots<> {
memset(&local_addr_, 0, sizeof(local_addr_));
local_addr_.sconn_family = AF_CONN;
#if !defined(__Userspace_os_Linux) && !defined(__Userspace_os_Windows)
#if !defined(__Userspace_os_Linux) && !defined(__Userspace_os_Windows) && !defined(__Userspace_os_Android)
local_addr_.sconn_len = sizeof(struct sockaddr_conn);
#endif
local_addr_.sconn_port = htons(local_port);
@ -107,7 +107,7 @@ class TransportTestPeer : public sigslot::has_slots<> {
memset(&remote_addr_, 0, sizeof(remote_addr_));
remote_addr_.sconn_family = AF_CONN;
#if !defined(__Userspace_os_Linux) && !defined(__Userspace_os_Windows)
#if !defined(__Userspace_os_Linux) && !defined(__Userspace_os_Windows) && !defined(__Userspace_os_Android)
remote_addr_.sconn_len = sizeof(struct sockaddr_conn);
#endif
remote_addr_.sconn_port = htons(remote_port);

View File

@ -0,0 +1,65 @@
/**
linux_funcs.h
Copyright (C) 2004, Network Resonance, Inc.
Copyright (C) 2006, Network Resonance, Inc.
All Rights Reserved
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. 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.
3. Neither the name of Network Resonance, Inc. nor the name of any
contributors to this software may be used to endorse or promote
products derived from this software without specific prior written
permission.
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.
ekr@rtfm.com Mon Dec 13 16:28:22 2004
*/
#ifndef _android_funcs_h
#define _android_funcs_h
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
/* Hack version of addr2ascii (in util/util.c) */
char *addr2ascii(int af, const void *addrp, int len,char *buf);
#define ETHERTYPE_VLAN 0x8100
#define STDIO_BYTES_BUFFERED(fp) (fp->_IO_read_end - fp->_IO_read_ptr)
size_t strlcat(char *dst, const char *src, size_t siz);
#ifndef strlcpy
#define strlcpy(a,b,c) \
(strncpy((a),(b),(c)), \
((c)<= 0 ? 0 : ((a)[(c)-1]='\0')), \
strlen((b)))
#endif
#endif

View File

@ -0,0 +1,55 @@
/**
platform.h
Copyright (C) 2004, Network Resonance, Inc.
Copyright (C) 2006, Network Resonance, Inc.
All Rights Reserved
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. 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.
3. Neither the name of Network Resonance, Inc. nor the name of any
contributors to this software may be used to endorse or promote
products derived from this software without specific prior written
permission.
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.
ekr@rtfm.com Mon Dec 13 17:26:51 2004
*/
#ifndef _platform_h
#define _platform_h
#include <android_funcs.h>
#ifdef NR_SOCKET_IS_VOID_PTR
typedef void* NR_SOCKET;
#else
typedef int NR_SOCKET;
#define NR_SOCKET_READ(sock,buf,count) read((sock),(buf),(count))
#define NR_SOCKET_WRITE(sock,buf,count) write((sock),(buf),(count))
#define NR_SOCKET_CLOSE(sock) close(sock)
#endif
#endif

View File

@ -0,0 +1,38 @@
/*
*
* Copyright (C) 2006, Network Resonance, Inc.
* All Rights Reserved
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
* 3. Neither the name of Network Resonance, Inc. nor the name of any
* contributors to this software may be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* 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 __ANDROID_TTYCOM_H
#define __ANDROID_TTYCOM_H
#include <asm/ioctls.h>
#endif

View File

@ -0,0 +1,31 @@
#
# Copyright (C) 2006, Network Resonance, Inc.
# All Rights Reserved
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. 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.
# 3. Neither the name of Network Resonance, Inc. nor the name of any
# contributors to this software may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# 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.
#
#EXTATTR_IMPL=xattr

View File

@ -27,13 +27,27 @@ LIBS = \
$(NULL)
ifdef MOZ_SYDNEYAUDIO
ifeq ($(OS_ARCH),Linux)
ifeq ($(OS_TARGET),Linux)
LIBS += \
$(MOZ_ALSA_LIBS) \
$(NULL)
endif
endif
ifeq ($(OS_TARGET),Android)
LIBS += \
$(STLPORT_LDFLAGS) \
$(STLPORT_LIBS) \
$(NULL)
CPPFLAGS += \
$(STLPORT_CPPFLAGS) \
$(NULL)
DEFINES += \
-DGTEST_USE_OWN_TR1_TUPLE=1 \
$(NULL)
endif
ifdef MOZ_NATIVE_LIBVPX
LIBS += \
$(MOZ_LIBVPX_LIBS) \
@ -56,13 +70,13 @@ LIBS += \
$(NULL)
endif
ifeq ($(OS_ARCH),Linux)
ifeq ($(OS_TARGET),Linux)
LIBS += \
$(MOZ_CAIRO_OSLIBS) \
$(NULL)
endif
ifeq ($(OS_ARCH),Darwin)
ifeq ($(OS_TARGET),Darwin)
LIBS += \
-framework AudioToolbox \
-framework AudioUnit \
@ -79,7 +93,7 @@ LIBS += \
$(NULL)
endif
ifeq ($(OS_ARCH),WINNT)
ifeq ($(OS_TARGET),WINNT)
LIBS += \
$(DEPTH)/staticlib/components/$(LIB_PREFIX)windowsproxy.$(LIB_SUFFIX) \
$(NULL)
@ -89,7 +103,7 @@ DEFINES += \
-DUSE_FAKE_MEDIA_STREAMS \
$(NULL)
ifeq ($(OS_ARCH),Darwin)
ifeq ($(OS_TARGET),Darwin)
DEFINES += \
-DGTEST_USE_OWN_TR1_TUPLE=1 \
$(NULL)