new zrtp integrated, linphone and belle sip updated.

This commit is contained in:
Simon Morlat 2014-01-06 12:23:38 +01:00
parent eb3db0cbd5
commit 73f7436e41
7 changed files with 133 additions and 103 deletions

View file

@ -1,3 +1,4 @@
NDK_PATH=$(shell dirname `which ndk-build`) NDK_PATH=$(shell dirname `which ndk-build`)
SDK_PATH=$(shell dirname `which android`) SDK_PATH=$(shell dirname `which android`)
SDK_PLATFORM_TOOLS_PATH=$(shell dirname `which adb`) SDK_PLATFORM_TOOLS_PATH=$(shell dirname `which adb`)
@ -31,16 +32,26 @@ ENABLE_GPL_THIRD_PARTIES=1
#default options, can be overidden using make OPTION=value . #default options, can be overidden using make OPTION=value .
ifeq ($(ENABLE_GPL_THIRD_PARTIES),1)
BUILD_X264=1
BUILD_G729=1
BUILD_ZRTP=1
else
#x264 and g729 requires additional licensing agreements.
BUILD_X264=0
BUILD_G729=0
#zrtpcpp is GPL.
BUILD_ZRTP=0
endif
NDK_DEBUG=0 NDK_DEBUG=0
BUILD_VIDEO=1 BUILD_VIDEO=1
BUILD_UPNP=1 BUILD_UPNP=1
BUILD_REMOTE_PROVISIONING=1 BUILD_REMOTE_PROVISIONING=1
BUILD_X264=1
BUILD_AMRNB=full # 0, light or full BUILD_AMRNB=full # 0, light or full
BUILD_AMRWB=1 BUILD_AMRWB=1
BUILD_GPLV3_ZRTP=1
BUILD_SILK=1 BUILD_SILK=1
BUILD_G729=1
BUILD_TUNNEL=0 BUILD_TUNNEL=0
BUILD_WEBRTC_AECM=1 BUILD_WEBRTC_AECM=1
BUILD_OPUS=1 BUILD_OPUS=1
@ -68,6 +79,24 @@ else
endif endif
all: update-project prepare-sources generate-apk all: update-project prepare-sources generate-apk
ifeq ($(ENABLE_GPL_THIRD_PARTIES),1)
@echo "***************************************************************************"
@echo "***** CAUTION, this liblinphone SDK is built using 3rd party GPL code *****"
@echo "***** Even if you acquired a proprietary license from Belledonne *****"
@echo "***** Communications, this SDK is GPL and GPL only. *****"
@echo "***** To disable 3rd party gpl code, please use: *****"
@echo "***** $$ make ENABLE_GPL_THIRD_PARTIES=0 *****"
@echo "***************************************************************************"
else
@echo
@echo "*****************************************************************"
@echo "***** Linphone SDK without 3rd party GPL software *****"
@echo "***** If you acquired a proprietary license from Belledonne *****"
@echo "***** Communications, this SDK can be used to create *****"
@echo "***** a proprietary linphone-based application. *****"
@echo "*****************************************************************"
endif
install: install-apk run-linphone install: install-apk run-linphone
#libilbc #libilbc
@ -223,7 +252,7 @@ endif
# @cd $(TOPDIR)/submodules/externals/libzrtpcpp/ && \ # @cd $(TOPDIR)/submodules/externals/libzrtpcpp/ && \
# cp ../build/libzrtpcpp/libzrtpcpp-config.h . \ # cp ../build/libzrtpcpp/libzrtpcpp-config.h . \
|| ( echo "ZRTP prepare state failed." ; exit 1 ) || ( echo "ZRTP prepare state failed." ; exit 1 )
#ifeq ($(BUILD_GPLV3_ZRTP), 1) #ifeq ($(BUILD_ZRTP), 1)
#prepare-zrtp: $(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h #prepare-zrtp: $(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h
#else #else
prepare-zrtp: prepare-zrtp:
@ -301,17 +330,12 @@ $(SQLITE_BASENAME).zip:
#Build targets #Build targets
prepare-sources: build-ffmpeg build-x264 prepare-ilbc build-vpx prepare-silk prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-sqlite3 prepare-sources: build-ffmpeg build-x264 prepare-ilbc build-vpx prepare-silk prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-sqlite3
ifeq ($(ENABLE_GPL_THIRD_PARTIES),1)
GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \ GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \
BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_OPUS=$(BUILD_OPUS) \ BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_OPUS=$(BUILD_OPUS) \
BUILD_VIDEO=$(BUILD_VIDEO) BUILD_X264=$(BUILD_X264) \ BUILD_VIDEO=$(BUILD_VIDEO) BUILD_X264=$(BUILD_X264) \
BUILD_UPNP=$(BUILD_UPNP) BUILD_GPLV3_ZRTP=$(BUILD_GPLV3_ZRTP) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_WEBRTC_ISAC=$(BUILD_WEBRTC_ISAC) BUILD_UPNP=$(BUILD_UPNP) BUILD_ZRTP=$(BUILD_ZRTP) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_WEBRTC_ISAC=$(BUILD_WEBRTC_ISAC)
else
GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \
BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_OPUS=$(BUILD_OPUS) \
BUILD_VIDEO=$(BUILD_VIDEO) BUILD_X264=0 \
BUILD_UPNP=$(BUILD_UPNP) BUILD_GPLV3_ZRTP=$(BUILD_GPLV3_ZRTP) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_WEBRTC_ISAC=$(BUILD_WEBRTC_ISAC)
endif
LIBLINPHONE_OPTIONS = $(GENERATE_OPTIONS) \ LIBLINPHONE_OPTIONS = $(GENERATE_OPTIONS) \
LINPHONE_VERSION=$(LINPHONE_VERSION) BELLESIP_VERSION=$(BELLESIP_VERSION) USE_JAVAH=$(USE_JAVAH) \ LINPHONE_VERSION=$(LINPHONE_VERSION) BELLESIP_VERSION=$(BELLESIP_VERSION) USE_JAVAH=$(USE_JAVAH) \
@ -330,28 +354,6 @@ generate-mediastreamer2-libs: prepare-sources
$(NDK_PATH)/ndk-build $(MEDIASTREAMER2_OPTIONS) -j$(NUMCPUS) $(NDK_PATH)/ndk-build $(MEDIASTREAMER2_OPTIONS) -j$(NUMCPUS)
update-project: update-project:
ifeq ($(ENABLE_GPL_THIRD_PARTIES),1)
@echo "***************************************************************************"
@echo "***** CAUTION, this liblinphone SDK is built using 3rd party GPL code *****"
@echo "***** Even if you acquired a proprietary license from Belledonne *****"
@echo "***** Communications, this SDK is GPL and GPL only. *****"
@echo "***** To disable 3rd party gpl code, please use: *****"
@echo "***** $$ make ENABLE_GPL_THIRD_PARTIES=0 *****"
@echo "***************************************************************************"
else
ifeq ($(BUILD_X264),1)
@echo "*****************************************************************"
@echo "***** X264 is not available in non-gpl build. *****"
@echo "*****************************************************************"
endif
@echo
@echo "*****************************************************************"
@echo "***** Linphone SDK without 3rd party GPL software *****"
@echo "***** If you acquired a proprietary license from Belledonne *****"
@echo "***** Communications, this SDK can be used to create *****"
@echo "***** a proprietary linphone-based application. *****"
@echo "*****************************************************************"
endif
$(SDK_PATH)/android update project --path . --target $(ANDROID_MOST_RECENT_TARGET) $(SDK_PATH)/android update project --path . --target $(ANDROID_MOST_RECENT_TARGET)
$(SDK_PATH)/android update project --path liblinphone_tester --target $(ANDROID_MOST_RECENT_TARGET) $(SDK_PATH)/android update project --path liblinphone_tester --target $(ANDROID_MOST_RECENT_TARGET)

View file

@ -17,7 +17,7 @@ endif
endif endif
ifeq ($(BUILD_GPLV3_ZRTP), 1) ifeq ($(BUILD_ZRTP), 1)
BUILD_SRTP=1 BUILD_SRTP=1
ZRTP_C_INCLUDE= \ ZRTP_C_INCLUDE= \
$(linphone-root-dir)/submodules/externals/libzrtpcpp/zrtp \ $(linphone-root-dir)/submodules/externals/libzrtpcpp/zrtp \
@ -65,14 +65,6 @@ include $(linphone-root-dir)/submodules/linphone/mediastreamer2/build/android/An
include $(linphone-root-dir)/submodules/linphone/mediastreamer2/tools/Android.mk include $(linphone-root-dir)/submodules/linphone/mediastreamer2/tools/Android.mk
# Openssl
ifeq ($(BUILD_GPLV3_ZRTP), 1)
ifeq (,$(DUMP_VAR))
$(info Openssl is required)
endif
include $(linphone-root-dir)/submodules/externals/openssl/Android.mk
endif
#tunnel #tunnel
ifeq ($(BUILD_TUNNEL), 1) ifeq ($(BUILD_TUNNEL), 1)
include $(linphone-root-dir)/submodules/tunnel/Android.mk include $(linphone-root-dir)/submodules/tunnel/Android.mk
@ -103,9 +95,9 @@ include $(linphone-root-dir)/submodules/externals/build/libvpx/Android.mk
endif #_BUILD_VIDEO endif #_BUILD_VIDEO
ifeq ($(BUILD_GPLV3_ZRTP), 1) ifeq ($(BUILD_ZRTP), 1)
ifeq (,$(DUMP_VAR)) ifeq (,$(DUMP_VAR))
$(info $(TARGET_ARCH_ABI): Build ZRTP support - makes application GPLv3) $(info $(TARGET_ARCH_ABI): Build ZRTP support)
endif endif
include $(linphone-root-dir)/submodules/externals/build/libzrtpcpp/Android.mk include $(linphone-root-dir)/submodules/externals/build/libzrtpcpp/Android.mk
endif endif

View file

@ -114,7 +114,7 @@ APP_MODULES += libtunnelclient
endif endif
endif endif
ifeq ($(BUILD_GPLV3_ZRTP), 1) ifeq ($(BUILD_ZRTP), 1)
APP_MODULES += libzrtpcpp APP_MODULES += libzrtpcpp
endif endif

View file

@ -1421,4 +1421,9 @@ public class LinphoneManager implements LinphoneCoreListener {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override
public void isComposingReceived(LinphoneCore lc, LinphoneChatRoom cr) {
// TODO Auto-generated method stub
}
} }

@ -1 +1 @@
Subproject commit ce931ad1c2bfe96810a05c6c14e172d092138a8d Subproject commit eff427706fa84bc25c9a582d9c26235738930da7

View file

@ -1,70 +1,101 @@
MK_DIR:=$(call my-dir) LOCAL_PATH:= $(call my-dir)/../../libzrtpcpp
LOCAL_EXTERNALS:= $(MK_DIR)/../.. BUILD_PATH:= $(call my-dir)
LOCAL_PATH:= $(LOCAL_EXTERNALS:=)/libzrtpcpp
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_SRC_FILES := \ LOCAL_SRC_FILES := \
src/Base32.cpp \ zrtp/ZrtpCallbackWrapper.cpp \
src/ZIDFile.cpp \ zrtp/ZRtp.cpp \
src/ZIDRecord.cpp \ zrtp/ZrtpCrc32.cpp \
src/ZrtpCallbackWrapper.cpp \ zrtp/ZrtpPacketCommit.cpp \
src/ZrtpConfigure.cpp \ zrtp/ZrtpPacketConf2Ack.cpp \
src/Zrtp.cpp \ zrtp/ZrtpPacketConfirm.cpp \
src/ZrtpCrc32.cpp \ zrtp/ZrtpPacketDHPart.cpp \
src/ZrtpCWrapper.cpp \ zrtp/ZrtpPacketGoClear.cpp \
src/ZrtpPacketClearAck.cpp \ zrtp/ZrtpPacketClearAck.cpp \
src/ZrtpPacketCommit.cpp \ zrtp/ZrtpPacketHelloAck.cpp \
src/ZrtpPacketConf2Ack.cpp \ zrtp/ZrtpPacketHello.cpp \
src/ZrtpPacketConfirm.cpp \ zrtp/ZrtpPacketError.cpp \
src/ZrtpPacketDHPart.cpp \ zrtp/ZrtpPacketErrorAck.cpp \
src/ZrtpPacketErrorAck.cpp \ zrtp/ZrtpPacketPingAck.cpp \
src/ZrtpPacketError.cpp \ zrtp/ZrtpPacketPing.cpp \
src/ZrtpPacketGoClear.cpp \ zrtp/ZrtpPacketSASrelay.cpp \
src/ZrtpPacketHelloAck.cpp \ zrtp/ZrtpPacketRelayAck.cpp \
src/ZrtpPacketHello.cpp \ zrtp/ZrtpStateClass.cpp \
src/ZrtpPacketPingAck.cpp \ zrtp/ZrtpTextData.cpp \
src/ZrtpPacketPing.cpp \ zrtp/ZrtpConfigure.cpp \
src/ZrtpPacketRelayAck.cpp \ zrtp/ZrtpCWrapper.cpp \
src/ZrtpPacketSASrelay.cpp \ zrtp/Base32.cpp \
src/ZrtpStateClass.cpp \ zrtp/zrtpB64Encode.c \
src/ZrtpTextData.cpp zrtp/zrtpB64Decode.c \
common/osSpecifics.c \
# zrtp/ZrtpSdesStream.cpp
LOCAL_SRC_FILES += \ LOCAL_SRC_FILES += \
src/libzrtpcpp/crypto/openssl/AesCFB.cpp \ bnlib/bn00.c \
src/libzrtpcpp/crypto/openssl/hmac256.cpp \ bnlib/lbn00.c \
src/libzrtpcpp/crypto/openssl/hmac384.cpp \ bnlib/bn.c \
src/libzrtpcpp/crypto/openssl/InitializeOpenSSL.cpp \ bnlib/lbnmem.c \
src/libzrtpcpp/crypto/openssl/sha256.cpp \ bnlib/sieve.c \
src/libzrtpcpp/crypto/openssl/sha384.cpp \ bnlib/prime.c \
src/libzrtpcpp/crypto/openssl/ZrtpDH.cpp \ bnlib/bnprint.c \
src/libzrtpcpp/crypto/TwoCFB.cpp \ bnlib/jacobi.c \
src/libzrtpcpp/crypto/twofish.c \ bnlib/germain.c \
src/libzrtpcpp/crypto/twofish_cfb.c bnlib/ec/ec.c \
bnlib/ec/ecdh.c \
bnlib/ec/curve25519-donna.c
LOCAL_SRC_FILES += \
zrtp/crypto/skeinMac256.cpp \
zrtp/crypto/skein256.cpp \
zrtp/crypto/skeinMac384.cpp \
zrtp/crypto/skein384.cpp
LOCAL_SRC_FILES += \
zrtp/crypto/zrtpDH.cpp \
zrtp/crypto/hmac256.cpp \
zrtp/crypto/sha256.cpp \
zrtp/crypto/hmac384.cpp \
zrtp/crypto/sha384.cpp \
zrtp/crypto/aesCFB.cpp \
zrtp/crypto/twoCFB.cpp \
zrtp/crypto/sha2.c
LOCAL_SRC_FILES += \
zrtp/ZIDCacheFile.cpp \
zrtp/ZIDRecordFile.cpp
LOCAL_SRC_FILES += \
cryptcommon/macSkein.cpp \
cryptcommon/skein.c \
cryptcommon/skein_block.c \
cryptcommon/skeinApi.c \
cryptcommon/twofish.c \
cryptcommon/twofish_cfb.c
LOCAL_SRC_FILES += \
cryptcommon/ZrtpRandom.cpp \
common/Thread.cpp \
common/MutexClass.cpp \
common/EventClass.cpp
LOCAL_SRC_FILES += \
cryptcommon/aescrypt.c \
cryptcommon/aeskey.c \
cryptcommon/aestab.c \
cryptcommon/aes_modes.c
# src/ZrtpQueue.cpp
# src/libzrtpcpp/crypto/gcrypt/gcryptAesCFB.cpp \ LOCAL_CFLAGS := -D__EXPORT="" -fexceptions
src/libzrtpcpp/crypto/gcrypt/gcrypthmac256.cpp \
src/libzrtpcpp/crypto/gcrypt/gcrypthmac384.cpp \
src/libzrtpcpp/crypto/gcrypt/gcryptsha256.cpp \
src/libzrtpcpp/crypto/gcrypt/gcryptsha384.cpp \
src/libzrtpcpp/crypto/gcrypt/gcryptZrtpDH.cpp \
src/libzrtpcpp/crypto/gcrypt/InitializeGcrypt.cpp \
LOCAL_CFLAGS := -D__EXPORT=""
LOCAL_C_INCLUDES += \ LOCAL_C_INCLUDES += \
$(MK_DIR)/ \ $(LOCAL_PATH)/zrtp \
$(LOCAL_PATH)/src/ \ $(LOCAL_PATH)/bnlib
$(LOCAL_EXTERNALS)/openssl \
$(LOCAL_EXTERNALS)/openssl/include
LOCAL_MODULE := libzrtpcpp LOCAL_MODULE := libzrtpcpp
LOCAL_MODULE_FILENAME := libzrtpcpp-$(TARGET_ARCH_ABI) LOCAL_MODULE_FILENAME := libzrtpcpp-$(TARGET_ARCH_ABI)
LOCAL_SHARED_LIBRARIES := libssl-linphone libcrypto-linphone
include $(BUILD_SHARED_LIBRARY) include $(BUILD_SHARED_LIBRARY)

@ -1 +1 @@
Subproject commit e022b0d3ff20d7115c366d8b31f90fb402fbeab8 Subproject commit d43eb3788e66f2007368e6f72f88db9a208c920f