]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Add Android make file
authorViktor Krikun <v.krikun@zfoneproject.com>
Wed, 16 Nov 2011 18:16:05 +0000 (18:16 +0000)
committerTravis Cross <tc@traviscross.com>
Sat, 31 Mar 2012 22:56:21 +0000 (22:56 +0000)
(closes #22)

13 files changed:
include/zrtp_base.h
include/zrtp_config.h
include/zrtp_config_android.h [new file with mode: 0644]
include/zrtp_config_user.h
include/zrtp_iface_scheduler.h
include/zrtp_version.h
projects/android/jni/Android.mk [new file with mode: 0644]
projects/gnu/configure.in
src/zrtp_datatypes.c
src/zrtp_iface_scheduler.c
src/zrtp_iface_sys.c
src/zrtp_log.c
src/zrtp_rng.c

index 9e32143cfa94f431e75ef698d54b8754ab50bd14..2b03352d5b131429cd5260c5851216d9b5169905 100644 (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);
 
index 0b67868fd907cba2fbf82f9b105c0d84951b8735..d781043fde1d8e43df69f23ac9a97878b2acdc99 100644 (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)
 
 #      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
 
diff --git a/include/zrtp_config_android.h b/include/zrtp_config_android.h
new file mode 100644 (file)
index 0000000..b13bc3f
--- /dev/null
@@ -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__ */
index b9d361bdc2b47505211ed4ed914a2d8a426836e7..c87a6c790eef3931801d042c76fd564aa038443e 100644 (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
index f2ca0181dc9c2c6d1387d000df7571e1028ab0bc..2fe27c447a55d20a484bec193bbb06560c397710 100644 (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*);
index 61ea0cbd6afdfafbe4cfdf96bafbc8f31bf1f81d..5afc3b76af2325244e57fb65c8c9480d834753cd 100644 (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__*/
diff --git a/projects/android/jni/Android.mk b/projects/android/jni/Android.mk
new file mode 100644 (file)
index 0000000..cb3837b
--- /dev/null
@@ -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)
index 1af09c172e54fe4dbd9c0f7b387adfe607e7c906..d25d41771a05f67c49a5c372827ae8e88dc7baf1 100644 (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"
index 2da8fdc6365424e44a229d74b50083374f27b453..980fb88a880c592b9a90082d959761c89fe4e9be 100644 (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);
index 8fde5d578752b5300a0463ca7392af26434d1ec8..ee7bb3d763fb9236de857a13911eb533b513422d 100644 (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)
index 81ec38f41ebc91045076c10817074151df9ec5f5..f26b651a38893a84270ef732ff08cc182f50aadc 100644 (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>
index 0b895833529b9829fda37256452ff5dc21b056c3..19ab390da13da5fb3f60d153e9692b082e106b01 100644 (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"));
index aea1f39a7960d865ceb13715cb216773d91a2efa..db394a7a9ec4a778323cdeef9e5d0637d1b8032f 100644 (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>