Add Android make file

(closes #22)
This commit is contained in:
Viktor Krikun 2011-11-16 18:16:05 +00:00 committed by Travis Cross
parent 589039481a
commit fc97a91993
13 changed files with 203 additions and 21 deletions

View File

@ -79,10 +79,7 @@ typedef struct zrtp_session_info_t zrtp_session_info_t;
* big-endian (most significant byte first).
*/
ZRTP_INLINE uint16_t zrtp_swap16(uint16_t x) {
return (x >> 8 | x << 8);
}
uint16_t zrtp_swap16(uint16_t x);
uint32_t zrtp_swap32(uint32_t x);
uint64_t zrtp_swap64(uint64_t x);

View File

@ -17,7 +17,9 @@
* If platworm is not specified manually in zrtp_config_user.h - try to detect it aytomatically
*/
#if !defined(ZRTP_PLATFORM)
# if defined(linux) || defined(__linux)
# if defined(ANDROID_NDK)
# define ZRTP_PLATFORM ZP_ANDROID
# elif defined(linux) || defined(__linux)
# include <linux/version.h>
# define ZRTP_PLATFORM ZP_LINUX
# elif defined(__MACOSX__) || defined (__APPLE__) || defined (__MACH__)
@ -38,7 +40,9 @@
# endif
#endif
#if (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) || defined(ZRTP_AUTOMAKE)
#if ZRTP_PLATFORM == ZP_ANDROID
# include "zrtp_config_android.h"
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) || defined(ZRTP_AUTOMAKE)
# include "zrtp_config_unix.h"
#elif (ZRTP_PLATFORM == ZP_WIN32) || (ZRTP_PLATFORM == ZP_WIN32_KERNEL) || (ZRTP_PLATFORM == ZP_WINCE)
# include "zrtp_config_win.h"
@ -59,7 +63,7 @@
/*
* ZRTP BYTEORDER DETECTION
* If the byte order is not specified manually in zrtp_config_user.h - try to detect it aytomatically
* If the byte order is not specified manually in zrtp_config_user.h - try to detect it automatically
*/
#if !defined(ZRTP_BYTE_ORDER)
@ -139,7 +143,7 @@
# endif
#endif
#if (ZRTP_PLATFORM == ZP_WINCE) || (ZRTP_PLATFORM == ZP_SYMBIAN)
#if (ZRTP_PLATFORM == ZP_WINCE) || (ZRTP_PLATFORM == ZP_SYMBIAN) || (ZRTP_PLATFORM == ZP_ANDROID)
# define ALIGNMENT_32BIT_REQUIRED
#endif

View File

@ -0,0 +1,101 @@
/*
* libZRTP SDK library, implements the ZRTP secure VoIP protocol.
* Copyright (c) 2006-2009 Philip R. Zimmermann. All rights reserved.
* Contact: http://philzimmermann.com
* For licensing and other legal details, see the file zrtp_legal.c.
*
* Viktor Krykun <v.krikun at zfoneproject.com>
*/
#ifndef ZRTP_SYMB_CONFIG_H__
#define ZRTP_SYMB_CONFIG_H__
#ifndef ZRTP_HAVE_STDIO_H
# define ZRTP_HAVE_STDIO_H 1
#endif
#ifndef ZRTP_HAVE_STDARG_H
# define ZRTP_HAVE_STDARG_H 1
#endif
#ifndef NO_ASSERT_H
# define NO_ASSERT_H 1
#endif
#ifndef NO_STDLIB_H
# define NO_STDLIB_H 0
#endif
//#define ZRTP_HAVE_INTTYPES_H 1
#ifndef ZRTP_HAVE_UNISTD_H
# define ZRTP_HAVE_UNISTD_H 1
#endif
#ifndef ZRTP_HAVE_PTHREAD_H
# define ZRTP_HAVE_PTHREAD_H 1
#endif
#ifndef ZRTP_HAVE_SEMAPHORE_H
#define ZRTP_HAVE_SEMAPHORE_H 1
#endif
#ifndef ZRTP_HAVE_ERRNO_H
#define ZRTP_HAVE_ERRNO_H 1
#endif
#ifndef ZRTP_HAVE_FCNTL_H
#define ZRTP_HAVE_FCNTL_H 1
#endif
#ifndef ZRTP_HAVE_SYS_TIME_H
# define ZRTP_HAVE_SYS_TIME_H 1
#endif
#ifndef ZRTP_HAVE_SYS_TYPES_H
# define ZRTP_HAVE_SYS_TYPES_H 1
#endif
#ifndef ZRTP_HAVE_INTTYPES_H
# define ZRTP_HAVE_INTTYPES_H 1
#endif
#ifndef ZRTP_HAVE_STDINT_H
# define ZRTP_HAVE_STDINT_H 1
#endif
#ifndef ZRTP_HAVE_LINUX_VERSION_H
# define ZRTP_HAVE_LINUX_VERSION_H 0
#endif
// (ZRTP_PLATFORM == ZP_ANDROID)
#define ZRTP_HAVE_INT64_T 1
#define ZRTP_HAVE_INT32_T 1
#define ZRTP_HAVE_INT16_T 1
#define ZRTP_HAVE_INT8_T 1
#define ZRTP_HAVE_UINT64_T 1
#define ZRTP_HAVE_UINT32_T 1
#define ZRTP_HAVE_UINT16_T 1
#define ZRTP_HAVE_UINT8_T 1
#define ZRTP_BYTE_ORDER ZBO_LITTLE_ENDIAN
#define SIZEOF_UNSIGNED_LONG 4
#define SIZEOF_UNSIGNED_LONG_LONG 8
#define ZRTP_INLINE inline
#define ZRTP_USE_BUILTIN_CACHE 1
#define ZRTP_USE_BUILTIN_SCEHDULER 1
#undef ZRTP_USE_STACK_MINIM
#define ZRTP_USE_STACK_MINIM 1
#undef ZRTP_ENABLE_EC
#define ZRTP_ENABLE_EC 0
#define ALIGNMENT_32BIT_REQUIRED
#endif /* ZRTP_WIN_CONFIG_H__ */

View File

@ -53,7 +53,8 @@
#define ZP_SYMBIAN 105
/** \brief Constant to define ZRTP BSD platform */
#define ZP_BSD 107
/** \brief Constant to define ZRTP Android platform */
#define ZP_ANDROID 108
/** \brief Define Platform manually there */
//#undefine ZRTP_PLATFORM

View File

@ -41,7 +41,7 @@ extern "C"
#if (ZRTP_PLATFORM == ZP_WIN32) || (ZRTP_PLATFORM == ZP_WINCE)
#include <windows.h>
typedef LPTHREAD_START_ROUTINE zrtp_thread_routine_t;
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD)
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) || (ZRTP_PLATFORM == ZP_ANDROID)
typedef void *(*zrtp_thread_routine_t)(void*);
#elif (ZRTP_PLATFORM == ZP_SYMBIAN)
typedef int(*zrtp_thread_routine_t)(void*);

View File

@ -12,8 +12,8 @@
#define LIBZRTP_VERSION_MAJOR 1
#define LIBZRTP_VERSION_MINOR 12
#define LIBZRTP_VERSION_BUILD 600
#define LIBZRTP_VERSION_STR "v1.12 600"
#define LIBZRTP_VERSION_MINOR 13
#define LIBZRTP_VERSION_BUILD 604
#define LIBZRTP_VERSION_STR "v1.13 604"
#endif /*__ZRTP_VERSION_H__*/

View File

@ -0,0 +1,72 @@
LOCAL_PATH := $(call my-dir)/../../..
include $(CLEAR_VARS)
LOCAL_MODULE := libzrtp
MY_SRC_PATH := src
MY_SRC_FILES := $(MY_SRC_PATH)/zrtp.c \
$(MY_SRC_PATH)/zrtp_crc.c \
$(MY_SRC_PATH)/zrtp_crypto_aes.c \
$(MY_SRC_PATH)/zrtp_crypto_atl.c \
$(MY_SRC_PATH)/zrtp_crypto_hash.c \
$(MY_SRC_PATH)/zrtp_crypto_pk.c \
$(MY_SRC_PATH)/zrtp_crypto_sas.c \
$(MY_SRC_PATH)/zrtp_datatypes.c \
$(MY_SRC_PATH)/zrtp_engine.c \
$(MY_SRC_PATH)/zrtp_engine_driven.c \
$(MY_SRC_PATH)/zrtp_iface_cache.c \
$(MY_SRC_PATH)/zrtp_iface_scheduler.c \
$(MY_SRC_PATH)/zrtp_iface_sys.c \
$(MY_SRC_PATH)/zrtp_initiator.c \
$(MY_SRC_PATH)/zrtp_legal.c \
$(MY_SRC_PATH)/zrtp_list.c \
$(MY_SRC_PATH)/zrtp_log.c \
$(MY_SRC_PATH)/zrtp_pbx.c \
$(MY_SRC_PATH)/zrtp_protocol.c \
$(MY_SRC_PATH)/zrtp_responder.c \
$(MY_SRC_PATH)/zrtp_rng.c \
$(MY_SRC_PATH)/zrtp_srtp_builtin.c \
$(MY_SRC_PATH)/zrtp_srtp_dm.c \
$(MY_SRC_PATH)/zrtp_string.c \
$(MY_SRC_PATH)/zrtp_utils.c \
$(MY_SRC_PATH)/zrtp_utils_proto.c
MY_SRC_FILES += third_party/bgaes/aes_modes.c \
third_party/bgaes/sha2.c \
third_party/bgaes/sha1.c \
third_party/bgaes/aestab.c \
third_party/bgaes/aeskey.c \
third_party/bgaes/aescrypt.c
MY_SRC_FILES += third_party/bnlib/bn.c \
third_party/bnlib/bn32.c \
third_party/bnlib/bninit32.c \
third_party/bnlib/lbn32.c \
third_party/bnlib/lbnmem.c \
third_party/bnlib/legal.c
LOCAL_SRC_FILES := $(MY_SRC_FILES)
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_C_INCLUDES += $(LOCAL_PATH)/third_party/bnlib
LOCAL_C_INCLUDES += $(LOCAL_PATH)/third_party/bgaes
LOCAL_ARM_MODE := arm
LOCAL_CFLAGS := -DANDROID_NDK=5
#include $(BUILD_STATIC_LIBRARY)
include $(BUILD_SHARED_LIBRARY)
#
# Dummy shared library to build libzrtp.a
#
# include $(CLEAR_VARS)
#
# LOCAL_MODULE := libzrtp-dummy
# LOCAL_STATIC_LIBRARIES := libzrtp
#
# include $(BUILD_SHARED_LIBRARY)

View File

@ -32,7 +32,7 @@ case $target_os in
esac
AM_INIT_AUTOMAKE([libzrtp], [1.12])
AM_INIT_AUTOMAKE([libzrtp], [1.14])
AX_PREFIX_CONFIG_H(../../include/zrtp_config_unix.h,ZRTP,config/config.h)
CFLAGS="$CFLAGS -Wno-unused-parameter -fno-strict-aliasing -fPIC -DZRTP_AUTOMAKE=1"

View File

@ -86,6 +86,10 @@ void zrtp_v128_xor(zrtp_v128_t *z, zrtp_v128_t *x, zrtp_v128_t *y)
}
/*---------------------------------------------------------------------------*/
uint16_t zrtp_swap16(uint16_t x) {
return (x >> 8 | x << 8);
}
uint32_t zrtp_swap32(uint32_t x)
{
uint32_t res = (x >> 8 & 0x0000ff00) | (x << 8 & 0x00ff0000);

View File

@ -79,7 +79,7 @@ int zrtp_thread_create(zrtp_thread_routine_t start_routine, void *arg)
return 0;
}
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD)
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) || (ZRTP_PLATFORM == ZP_ANDROID)
#if ZRTP_HAVE_UNISTD_H == 1
#include <unistd.h>
#else
@ -93,7 +93,8 @@ int zrtp_thread_create(zrtp_thread_routine_t start_routine, void *arg)
int zrtp_sleep(unsigned int msec)
{
return usleep(msec*1000);
usleep(msec*1000);
return 0;
}
int zrtp_thread_create(zrtp_thread_routine_t start_routine, void *arg)

View File

@ -95,7 +95,7 @@ zrtp_status_t zrtp_mutex_unlock(zrtp_mutex_t* mutex)
}
/*---------------------------------------------------------------------------*/
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD)
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) || (ZRTP_PLATFORM == ZP_ANDROID)
#if defined ZRTP_HAVE_PTHREAD_H
# include <pthread.h>
@ -236,7 +236,7 @@ zrtp_status_t zrtp_sem_post(zrtp_sem_t* sem)
return (0 == ReleaseSemaphore(sem->sem, 1, NULL)) ? zrtp_status_fail : zrtp_status_ok;
}
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD)
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) || (ZRTP_PLATFORM == ZP_ANDROID)
#if defined ZRTP_HAVE_STDIO_H
# include <stdio.h>
@ -445,7 +445,7 @@ zrtp_time_t zrtp_time_now()
}
/*---------------------------------------------------------------------------*/
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_SYMBIAN) || (ZRTP_PLATFORM == ZP_BSD)
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_SYMBIAN) || (ZRTP_PLATFORM == ZP_BSD) || (ZRTP_PLATFORM == ZP_ANDROID)
#if defined ZRTP_HAVE_SYS_TIME_H
# include <sys/time.h>

View File

@ -105,7 +105,7 @@ static void zrtp_log(uint8_t is_clean, const char *sender, uint32_t level, cons
# endif
#elif (ZRTP_PLATFORM == ZP_WIN32_KERNEL)
RtlStringCchVPrintfA(sline, ZRTP_LOG_BUFFER_SIZE-offset, format, marker);
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD)
#elif (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) || (ZRTP_PLATFORM == ZP_ANDROID)
len = vsnprintf(sline, ZRTP_LOG_BUFFER_SIZE-offset, format, marker);
#elif (ZRTP_PLATFORM == ZP_SYMBIAN)
len = vsprintf(sline, format, marker);
@ -408,6 +408,8 @@ void zrtp_print_env_settings(zrtp_config_t* config)
char* platform = "Linux OS";
#elif (ZRTP_PLATFORM == ZP_SYMBIAN)
char* platform = "Symbian OS";
#elif (ZRTP_PLATFORM == ZP_ANDROID)
char* platform = "Android OS";
#endif
ZRTP_LOG(3,("zrtp","============================================================\n"));

View File

@ -158,7 +158,7 @@ int zrtp_add_system_state(zrtp_global_t* zrtp, MD_CTX *ctx) {
return entropy_length;
}
#elif ( (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) )
#elif ( (ZRTP_PLATFORM == ZP_LINUX) || (ZRTP_PLATFORM == ZP_DARWIN) || (ZRTP_PLATFORM == ZP_BSD) || (ZRTP_PLATFORM == ZP_ANDROID) )
#if ZRTP_HAVE_STDIO_H == 1
# include <stdio.h>