enable bzrtp

This commit is contained in:
Jehan Monnier 2014-04-02 20:40:20 +02:00
parent e51fc09623
commit 6c1ab4a516
9 changed files with 20 additions and 138 deletions

6
.gitmodules vendored
View file

@ -34,9 +34,9 @@
[submodule "submodules/externals/libvpx"]
path = submodules/externals/libvpx
url = http://git.chromium.org/webm/libvpx.git
[submodule "submodules/externals/libzrtpcpp"]
path = submodules/externals/libzrtpcpp
url = https://github.com/wernerd/ZRTPCPP.git
[submodule "submodules/bzrtp"]
path = submodules/bzrtp
url = git://git.linphone.org/bzrtp.git
[submodule "submodules/externals/srtp"]
path = submodules/externals/srtp
url = git://git.linphone.org/srtp.git

View file

@ -35,13 +35,10 @@ ENABLE_GPL_THIRD_PARTIES=1
ifeq ($(ENABLE_GPL_THIRD_PARTIES),1)
BUILD_X264=1
BUILD_G729=1
BUILD_GPLV3_ZRTP=1
else
#x264 and g729 requires additional licensing agreements.
BUILD_X264=0
BUILD_G729=0
#zrtpcpp is GPL.
BUILD_GPLV3_ZRTP=0
endif
NDK_DEBUG=0
@ -49,7 +46,7 @@ BUILD_VIDEO=1
BUILD_UPNP=1
BUILD_AMRNB=full # 0, light or full
BUILD_AMRWB=1
BUILD_ZRTP=1
BUILD_SILK=1
BUILD_TUNNEL=0
BUILD_WEBRTC_AECM=1
@ -262,19 +259,6 @@ prepare-silk:
endif
#Zrtp
#$(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h : $(TOPDIR)/submodules/externals/build/libzrtpcpp/libzrtpcpp-config.h
# @cd $(TOPDIR)/submodules/externals/libzrtpcpp/ && \
# cp ../build/libzrtpcpp/libzrtpcpp-config.h . \
|| ( echo "ZRTP prepare state failed." ; exit 1 )
#ifeq ($(BUILD_GPLV3_ZRTP), 1)
#prepare-zrtp: $(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h
#else
prepare-zrtp:
#endif
#srtp
$(TOPDIR)/submodules/externals/srtp/config.h : $(TOPDIR)/submodules/externals/build/srtp/config.h
@cd $(TOPDIR)/submodules/externals/srtp/ && \
@ -350,7 +334,7 @@ prepare-sources: build-ffmpeg build-x264 prepare-ilbc build-vpx prepare-silk pre
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=$(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)
LIBLINPHONE_OPTIONS = $(GENERATE_OPTIONS) \

6
README
View file

@ -48,7 +48,7 @@ Some options can be passed to make, like "make SOME_OPTION=SOME_VALUE".
ENABLE_GPL_THIRD_PARTIES
values: 0 (GPL third parties disabled) or 1 (GPL third parties enabled), default value: 1
GPL third parties are: X264, ZRTP and G729
GPL third parties are: X264 and G729
BUILD_VIDEO
values: 0 (no video) or 1 (video enabled), default value: 1
@ -62,8 +62,8 @@ BUILD_AMRNB
BUILD_AMRWB
values: 0 (don't build amrwb codec), 1 (build your own amrwb codec): default value: 1
BUILD_GPLV3_ZRTP
values: 0 (don't support ZRTP), 1 (support ZRTP and make the whole program GPLv3), default value: 1
BUILD_ZRTP
values: 0 (don't support ZRTP), 1 (support ZRTP), default value: 1
BUILD_SILK
values: 0 (don't build silk plugin), 1 (build silk) [silk is Skype nonfree patented audio codec], default value: 1

View file

@ -17,11 +17,13 @@ $(info $(TARGET_ARCH_ABI): Video is disabled for targets other than armeabi-v7a
endif
endif
ifeq ($(BUILD_GPLV3_ZRTP), 1)
#libxml2
include $(linphone-root-dir)/submodules/externals/build/libxml2/Android.mk
ifeq ($(BUILD_ZRTP), 1)
BUILD_SRTP=1
ZRTP_C_INCLUDE= \
$(linphone-root-dir)/submodules/externals/libzrtpcpp/zrtp \
$(linphone-root-dir)/submodules/externals/libzrtpcpp/zrtp/libzrtpcpp
$(linphone-root-dir)/submodules/bzrtp/include
endif
ifeq ($(BUILD_SRTP), 1)
@ -42,9 +44,6 @@ ifeq ($(BUILD_UPNP),1)
include $(linphone-root-dir)/submodules/externals/build/libupnp/Android.mk
endif
#libxml2
include $(linphone-root-dir)/submodules/externals/build/libxml2/Android.mk
# Speex
include $(linphone-root-dir)/submodules/externals/build/speex/Android.mk
@ -94,11 +93,11 @@ include $(linphone-root-dir)/submodules/externals/build/libvpx/Android.mk
endif #_BUILD_VIDEO
ifeq ($(BUILD_GPLV3_ZRTP), 1)
ifeq ($(BUILD_ZRTP), 1)
ifeq (,$(DUMP_VAR))
$(info $(TARGET_ARCH_ABI): Build ZRTP support)
endif
include $(linphone-root-dir)/submodules/externals/build/libzrtpcpp/Android.mk
include $(linphone-root-dir)/submodules/bzrtp/Android.mk
endif
ifeq ($(BUILD_SRTP), 1)

View file

@ -113,8 +113,8 @@ APP_MODULES += libtunnelclient
endif
endif
ifeq ($(BUILD_GPLV3_ZRTP), 1)
APP_MODULES += libzrtpcpp
ifeq ($(BUILD_ZRTP), 1)
APP_MODULES += libbzrtp
endif
APP_MODULES +=libmsilbc

@ -1 +1 @@
Subproject commit 6d0a3031a8ee5c53a9dc4e126b54a3f82ccf56b9
Subproject commit b7ffd59630104f21ffa03a15acfe9f5eddc7f8d0

@ -1 +1 @@
Subproject commit 7f4c4333c5d8b3b328815996d0eea061bc539860
Subproject commit 49b23fd662ba5608ca583e32e0b1620eb5dacff8

View file

@ -1,101 +0,0 @@
LOCAL_PATH:= $(call my-dir)/../../libzrtpcpp
BUILD_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
zrtp/ZrtpCallbackWrapper.cpp \
zrtp/ZRtp.cpp \
zrtp/ZrtpCrc32.cpp \
zrtp/ZrtpPacketCommit.cpp \
zrtp/ZrtpPacketConf2Ack.cpp \
zrtp/ZrtpPacketConfirm.cpp \
zrtp/ZrtpPacketDHPart.cpp \
zrtp/ZrtpPacketGoClear.cpp \
zrtp/ZrtpPacketClearAck.cpp \
zrtp/ZrtpPacketHelloAck.cpp \
zrtp/ZrtpPacketHello.cpp \
zrtp/ZrtpPacketError.cpp \
zrtp/ZrtpPacketErrorAck.cpp \
zrtp/ZrtpPacketPingAck.cpp \
zrtp/ZrtpPacketPing.cpp \
zrtp/ZrtpPacketSASrelay.cpp \
zrtp/ZrtpPacketRelayAck.cpp \
zrtp/ZrtpStateClass.cpp \
zrtp/ZrtpTextData.cpp \
zrtp/ZrtpConfigure.cpp \
zrtp/ZrtpCWrapper.cpp \
zrtp/Base32.cpp \
zrtp/zrtpB64Encode.c \
zrtp/zrtpB64Decode.c \
common/osSpecifics.c \
# zrtp/ZrtpSdesStream.cpp
LOCAL_SRC_FILES += \
bnlib/bn00.c \
bnlib/lbn00.c \
bnlib/bn.c \
bnlib/lbnmem.c \
bnlib/sieve.c \
bnlib/prime.c \
bnlib/bnprint.c \
bnlib/jacobi.c \
bnlib/germain.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
LOCAL_CFLAGS := -D__EXPORT="" -fexceptions
LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/zrtp \
$(LOCAL_PATH)/bnlib
LOCAL_MODULE := libzrtpcpp
LOCAL_MODULE_FILENAME := libzrtpcpp-$(TARGET_ARCH_ABI)
include $(BUILD_SHARED_LIBRARY)

View file

@ -53,4 +53,4 @@ LOCAL_C_INCLUDES += \
LOCAL_MODULE := libsrtp
LOCAL_MODULE_FILENAME := libsrtp-$(TARGET_ARCH_ABI)
include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)