diff --git a/.gitignore b/.gitignore index 179b224ec..dd07bff2c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ build-* - diff --git a/.gitmodules b/.gitmodules index c1dd99cd6..f73eee008 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,7 +3,7 @@ url = gitosis@git.linphone.org:linphone-private.git [submodule "submodules/externals/osip"] path = submodules/externals/osip - url = git://git.savannah.gnu.org/osip.git + url = git://git.linphone.org/osip.git [submodule "submodules/externals/exosip"] path = submodules/externals/exosip url = git://git.linphone.org/exosip.git @@ -37,3 +37,6 @@ [submodule "submodules/externals/libvpx"] path = submodules/externals/libvpx url = http://git.chromium.org/webm/libvpx.git +[submodule "submodules/externals/zrtpcpp"] + path = submodules/externals/zrtpcpp + url = git://github.com/wernerd/ZRTPCPP.git diff --git a/Classes/LinphoneUI/LinphoneManager.h b/Classes/LinphoneUI/LinphoneManager.h index 9c7139521..a80e91b44 100644 --- a/Classes/LinphoneUI/LinphoneManager.h +++ b/Classes/LinphoneUI/LinphoneManager.h @@ -52,6 +52,7 @@ typedef enum _Connectivity { -(void) registerLogView:(id) view; -(void) startLibLinphone; +-(BOOL) isNotIphone3G; -(void) destroyLibLinphone; -(void) enterBackgroundMode; diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index f09b3cce5..7a3545fee 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -26,6 +26,8 @@ #import #import #import "FastAddressBook.h" +#include + static LinphoneCore* theLinphoneCore=nil; static LinphoneManager* theLinphoneManager=nil; @@ -396,16 +398,17 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach if (linphone_core_get_sip_transports(theLinphoneCore, &transportValue)) { ms_error("cannot get current transport"); } + // Only one port can be set at one time, the others's value is 0 if ([transport isEqualToString:@"tcp"]) { - if (transportValue.tcp_port == 0) transportValue.tcp_port=transportValue.udp_port; + if (transportValue.tcp_port == 0) transportValue.tcp_port=transportValue.udp_port + transportValue.tls_port; transportValue.udp_port=0; transportValue.tls_port=0; } else if ([transport isEqualToString:@"udp"]){ - if (transportValue.udp_port == 0) transportValue.udp_port=transportValue.tcp_port; + if (transportValue.udp_port == 0) transportValue.udp_port=transportValue.tcp_port + transportValue.tls_port; transportValue.tcp_port=0; transportValue.tls_port=0; } else if ([transport isEqualToString:@"tls"]){ - if (transportValue.tls_port == 0) transportValue.tls_port=transportValue.udp_port; + if (transportValue.tls_port == 0) transportValue.tls_port=transportValue.udp_port + transportValue.tcp_port; transportValue.tcp_port=0; transportValue.udp_port=0; } else { @@ -513,8 +516,14 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } //read codecs from setting bundle and enable them one by one - [self configurePayloadType:"speex" fromPrefKey:@"speex_16k_preference" withRate:16000]; - [self configurePayloadType:"speex" fromPrefKey:@"speex_8k_preference" withRate:8000]; + if ([self isNotIphone3G]) { + [self configurePayloadType:"speex" fromPrefKey:@"speex_16k_preference" withRate:16000]; + [self configurePayloadType:"speex" fromPrefKey:@"speex_8k_preference" withRate:8000]; + } + else + { + ms_message("SPEEX codecs deactivated"); + } [self configurePayloadType:"AMR" fromPrefKey:@"amr_8k_preference" withRate:8000]; [self configurePayloadType:"GSM" fromPrefKey:@"gsm_8k_preference" withRate:8000]; [self configurePayloadType:"iLBC" fromPrefKey:@"ilbc_preference" withRate:8000]; @@ -546,6 +555,18 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } } +- (BOOL)isNotIphone3G +{ + size_t size; + sysctlbyname("hw.machine", NULL, &size, NULL, 0); + char *machine = malloc(size); + sysctlbyname("hw.machine", machine, &size, NULL, 0); + NSString *platform = [NSString stringWithCString:machine]; + free(machine); + + return ![platform isEqualToString:@"iPhone1,2"]; +} + // no proxy configured alert - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex == 1) { @@ -674,6 +695,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach NSString* factoryConfig = [myBundle pathForResource:@"linphonerc"ofType:nil] ; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *confiFileName = [[paths objectAtIndex:0] stringByAppendingString:@"/.linphonerc"]; + NSString *zrtpSecretsFileName = [[paths objectAtIndex:0] stringByAppendingString:@"/zrtp_secrets"]; connectivity=none; signal(SIGPIPE, SIG_IGN); //log management @@ -702,7 +724,8 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach ,self); [[NSUserDefaults standardUserDefaults] synchronize];//sync before loading config - + + linphone_core_set_zrtp_secrets_file(theLinphoneCore, [zrtpSecretsFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]); proxyReachability=SCNetworkReachabilityCreateWithName(nil, "linphone.org"); proxyReachabilityContext.info=self; diff --git a/README b/README index 51a95ce31..71bf976f5 100644 --- a/README +++ b/README @@ -8,6 +8,7 @@ Linphone for iPhone depends on liblinphone sdk. To build this sdk, you must inst -intltool -wget -pkgconfig +-cmake (for ZRTP support) gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin diff --git a/linphonerc b/linphonerc index 41df325bf..5b9d49c56 100644 --- a/linphonerc +++ b/linphonerc @@ -25,7 +25,7 @@ nortp_timeout=30 [sound] playback_dev_id=AU: Audio Unit Receiver -ringer_dev_id=AU: Audio Unit Speaker +ringer_dev_id=AQ: Audio Queue Device capture_dev_id=AU: Audio Unit Receiver echocancellation=0 @@ -37,4 +37,4 @@ display=1 capture=1 show_local=0 enabled=1 -size=ios-medium \ No newline at end of file +size=ios-medium diff --git a/submodules/build/Makefile b/submodules/build/Makefile index 9c2e11552..53658e4e4 100644 --- a/submodules/build/Makefile +++ b/submodules/build/Makefile @@ -20,9 +20,9 @@ # ############################################################################ all: - make -f builder-iphone-simulator.mk all \ - && make -f builder-iphone-os.mk all \ - && make -f builder-iphone-os.mk host=armv7-apple-darwin all \ + make -f builder-iphone-os.mk all \ + && make -f builder-iphone-simulator.mk all \ + && make -f builder-iphone-os.mk host=armv7-apple-darwin all \ && make -f builder-iphone-os.mk delivery-sdk clean: make -f builder-iphone-simulator.mk clean \ diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index 32b869571..6bbe1fbc8 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -21,6 +21,7 @@ ############################################################################ host?=armv6-apple-darwin +enable_zrtp=no config_site:=iphone-config.site library_mode:= --disable-shared --enable-static linphone_configure_controls= \ @@ -28,13 +29,17 @@ linphone_configure_controls= \ --disable-nls \ --with-readline=none \ --enable-gtk_ui=no \ - --enable-console_ui=no \ + --enable-console_ui=no \ --enable-ssl-hmac=no \ --enable-ssl=yes \ --disable-theora \ --disable-sdl \ --disable-x11 \ --with-gsm=$(prefix) \ + --disable-tests \ + LIBZRTPCPP_CFLAGS="-I$(prefix)/include" \ + LIBZRTPCPP_LIBS="-L$(prefix)/lib -lzrtpcpp -lcrypto" \ + SRTP_LIBS="-L$(prefix)/lib -lsrtp -lcrypto" \ --enable-vp8 \ SPEEX_CFLAGS="-I$(prefix)/include" \ SPEEXDSP_CFLAGS="-I$(prefix)/include" \ @@ -42,6 +47,10 @@ linphone_configure_controls= \ SPEEX_LIBS="-L$(prefix)/lib -lspeexdsp -lspeex " \ OPENSSL_CFLAGS="-I$(prefix)/include" \ OPENSSL_LIBS="-L$(prefix)/lib -lssl -lcrypto" +ifeq ($(enable_zrtp),yes) + linphone_configure_controls+= --with-srtp=$(prefix) --enable-zrtp=yes --disable-tests +endif + #path BUILDER_SRC_DIR?=$(shell pwd)/../ @@ -58,6 +67,10 @@ speex_dir?=externals/speex gsm_dir?=externals/gsm +srtp_dir?=externals/srtp + +zrtpcpp_dir?=externals/zrtpcpp + MSILBC_SRC_DIR:=$(BUILDER_SRC_DIR)/msilbc MSILBC_BUILD_DIR:=$(BUILDER_BUILD_DIR)/msilbc @@ -67,7 +80,6 @@ LIBILBC_BUILD_DIR:=$(BUILDER_BUILD_DIR)/libilbc-rfc3951 ifneq (,$(findstring arm,$(host))) SPEEX_CONFIGURE_OPTION := --enable-fixed-point --disable-float-api #SPEEX_CONFIGURE_OPTION := --enable-arm5e-asm --enable-fixed-point -else endif @@ -84,17 +96,17 @@ init: veryclean: veryclean-linphone rm -rf $(BUILDER_BUILD_DIR) -.NOTPARALLEL build-linphone: init build-openssl build-osip2 build-eXosip2 build-speex build-libgsm build-ffmpeg build-libvpx $(LINPHONE_BUILD_DIR)/Makefile +.NOTPARALLEL build-linphone: init build-openssl build-srtp build-zrtpcpp build-osip2 build-eXosip2 build-speex build-libgsm build-ffmpeg build-libvpx $(LINPHONE_BUILD_DIR)/Makefile cd $(LINPHONE_BUILD_DIR) && export PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig export CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make newdate && make && make install -clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-msilbc clean-libilbc clean-openssl clean-msamr clean-ffmpeg clean-libvpx clean-msx264 +clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-ffmpeg clean-libvpx clean-msx264 cd $(LINPHONE_BUILD_DIR) && make clean -veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-msx264 +veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-msx264 #-cd $(LINPHONE_BUILD_DIR) && make distclean -cd $(LINPHONE_SRC_DIR) && rm -f configure -clean-makefile-linphone: clean-makefile-osip2 clean-makefile-eXosip2 clean-makefile-speex clean-makefile-libilbc clean-makefile-msilbc clean-makefile-openssl clean-makefile-msamr clean-makefile-ffmpeg clean-makefile-libvpx +clean-makefile-linphone: clean-makefile-osip2 clean-makefile-eXosip2 clean-makefile-speex clean-makefile-srtp clean-makefile-zrtpcpp clean-makefile-libilbc clean-makefile-msilbc clean-makefile-openssl clean-makefile-msamr clean-makefile-ffmpeg clean-makefile-libvpx cd $(LINPHONE_BUILD_DIR) && rm -f Makefile && rm -f oRTP/Makefile && rm -f mediastreamer2/Makefile @@ -103,6 +115,9 @@ $(LINPHONE_SRC_DIR)/configure: $(LINPHONE_BUILD_DIR)/Makefile: $(LINPHONE_SRC_DIR)/configure mkdir -p $(LINPHONE_BUILD_DIR) + echo -e "\033[1mPKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ + $(LINPHONE_SRC_DIR)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \ + ${linphone_configure_controls}\033[0m" cd $(LINPHONE_BUILD_DIR) && \ PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ $(LINPHONE_SRC_DIR)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \ @@ -179,18 +194,19 @@ $(BUILDER_BUILD_DIR)/$(speex_dir)/Makefile: $(BUILDER_SRC_DIR)/$(speex_dir)/conf $(BUILDER_SRC_DIR)/$(speex_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} --disable-oggtest $(SPEEX_CONFIGURE_OPTION) build-speex: $(BUILDER_BUILD_DIR)/$(speex_dir)/Makefile - cd $(BUILDER_BUILD_DIR)/$(speex_dir)/libspeex && make && make install - cd $(BUILDER_BUILD_DIR)/$(speex_dir)/include && make && make install + cd $(BUILDER_BUILD_DIR)/$(speex_dir)/libspeex && make && make install + cd $(BUILDER_BUILD_DIR)/$(speex_dir)/include && make && make install clean-speex: - cd $(BUILDER_BUILD_DIR)/$(speex_dir) && make clean + cd $(BUILDER_BUILD_DIR)/$(speex_dir) && make clean veryclean-speex: # -cd $(BUILDER_BUILD_DIR)/$(speex_dir) && make distclean -rm -f $(BUILDER_SRC_DIR)/$(speex_dir)/configure clean-makefile-speex: - cd $(BUILDER_BUILD_DIR)/$(speex_dir) && rm -f Makefile + cd $(BUILDER_BUILD_DIR)/$(speex_dir) && rm -f Makefile + #GSM @@ -262,6 +278,8 @@ clean-makefile-libilbc: cd $(LIBILBC_BUILD_DIR) && rm -f Makefile #openssl +#srtp +#zrtp include builders.d/*.mk #sdk generation and distribution diff --git a/submodules/build/builders.d/ffmpeg.mk b/submodules/build/builders.d/ffmpeg.mk index ff9f38e6c..04f363f4f 100644 --- a/submodules/build/builders.d/ffmpeg.mk +++ b/submodules/build/builders.d/ffmpeg.mk @@ -6,11 +6,11 @@ ffmpeg_configure_options=\ --disable-everything --enable-decoder=mjpeg --enable-encoder=mjpeg --enable-decoder=mpeg4 --enable-encoder=mpeg4 \ --enable-decoder=h264 --disable-avformat --enable-armv5te --enable-armv6 --enable-armv6t2 \ --enable-armvfp \ - --source-path=$(BUILDER_SRC_DIR)/$(ffmpeg_dir) \ --cross-prefix=$$SDK_BIN_PATH/ \ --sysroot=$$SYSROOT_PATH --arch=$$ARCH \ --enable-static --disable-shared --target-os=darwin \ --extra-cflags="-arch $$ARCH " --extra-ldflags="-arch $$ARCH -Wl,-syslibroot,$$SYSROOT_PATH " \ + --source-path=$(BUILDER_SRC_DIR)/$(ffmpeg_dir) # --as=$(BUILDER_SRC_DIR)/externals/x264/extras/gas-preprocessor.pl #--sysinclude=PATH location of cross-build system headers @@ -22,8 +22,12 @@ ifneq (,$(findstring armv7,$(host))) ffmpeg_configure_options+= --enable-neon --cpu=cortex-a8 endif ffmpeg_dir?=externals/ffmpeg - -$(BUILDER_BUILD_DIR)/$(ffmpeg_dir)/config.mak: +$(BUILDER_SRC_DIR)/$(ffmpeg_dir)/patched : + cd $(BUILDER_SRC_DIR)/$(ffmpeg_dir) \ + && git apply $(BUILDER_SRC_DIR)/build/builders.d/ffmpeg.patch \ + && touch $(BUILDER_SRC_DIR)/$(ffmpeg_dir)/patched + +$(BUILDER_BUILD_DIR)/$(ffmpeg_dir)/config.mak: $(BUILDER_SRC_DIR)/$(ffmpeg_dir)/patched mkdir -p $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir)/ \ && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \ diff --git a/submodules/build/builders.d/ffmpeg.patch b/submodules/build/builders.d/ffmpeg.patch new file mode 100644 index 000000000..05e080905 --- /dev/null +++ b/submodules/build/builders.d/ffmpeg.patch @@ -0,0 +1,20 @@ +diff --git a/libavutil/arm/intmath.h b/libavutil/arm/intmath.h +index 8f03d4b..0504b95 100644 +--- a/libavutil/arm/intmath.h ++++ b/libavutil/arm/intmath.h +@@ -91,10 +91,12 @@ static av_always_inline av_const int FASTDIV(int a, int b) + static av_always_inline av_const int32_t av_clipl_int32_arm(int64_t a) + { + int x, y; +- __asm__ volatile ("adds %1, %R2, %Q2, lsr #31 \n\t" ++ union { uint64_t a; uint32_t hl[2]; } tmp_a; ++ tmp_a.a=a; ++ __asm__ volatile ("adds %1, %2, %3, lsr #31 \n\t" + "mvnne %1, #1<<31 \n\t" +- "eorne %0, %1, %R2, asr #31 \n\t" +- : "=r"(x), "=&r"(y) : "r"(a)); ++ "eorne %0, %1, %2, asr #31 \n\t" ++ : "=r"(x), "=&r"(y) : "r"(tmp_a.hl[0]),"r"(tmp_a.hl[1])); + return x; + } + diff --git a/submodules/build/builders.d/libvpx.mk b/submodules/build/builders.d/libvpx.mk index 512272031..b598aab5b 100644 --- a/submodules/build/builders.d/libvpx.mk +++ b/submodules/build/builders.d/libvpx.mk @@ -1,6 +1,7 @@ libvpx_configure_options=\ - --enable-static --disable-shared\ -# --extra-cflags="-arch $$ARCH" + --enable-static --disable-shared \ + --disable-examples +# --extra-cflags="-isysroot $$SYSROOT_PATH " # -Wl,-syslibroot,$$SYSROOT_PATH " \ --enable-error-concealment --disable-examples @@ -12,12 +13,16 @@ else libvpx_configure_options+= --force-target=x86-darwin10-gcc endif libvpx_dir?=externals/libvpx +$(BUILDER_SRC_DIR)/$(libvpx_dir)/patched : + cd $(BUILDER_SRC_DIR)/$(libvpx_dir) \ + && git apply $(BUILDER_SRC_DIR)/build/builders.d/libvpx.patch \ + && touch $(BUILDER_SRC_DIR)/$(libvpx_dir)/patched -$(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mak: +$(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mak: $(BUILDER_SRC_DIR)/$(libvpx_dir)/patched mkdir -p $(BUILDER_BUILD_DIR)/$(libvpx_dir) cd $(BUILDER_BUILD_DIR)/$(libvpx_dir)/ \ && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \ - && $(BUILDER_SRC_DIR)/$(libvpx_dir)/configure --prefix=$(prefix) $(libvpx_configure_options) + && $(BUILDER_SRC_DIR)/$(libvpx_dir)/configure --prefix=$(prefix) $(libvpx_configure_options) build-libvpx: $(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mak cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install diff --git a/submodules/build/builders.d/libvpx.patch b/submodules/build/builders.d/libvpx.patch new file mode 100644 index 000000000..effa15f01 --- /dev/null +++ b/submodules/build/builders.d/libvpx.patch @@ -0,0 +1,25 @@ +diff --git a/build/make/configure.sh b/build/make/configure.sh +index 009a6c4..1cd1ea8 100755 +--- a/build/make/configure.sh ++++ b/build/make/configure.sh +@@ -729,7 +729,7 @@ process_common_toolchain() { + TOOLCHAIN_PATH=${SDK_PATH}/usr/bin + CC=${TOOLCHAIN_PATH}/gcc + AR=${TOOLCHAIN_PATH}/ar +- LD=${TOOLCHAIN_PATH}/arm-apple-darwin10-gcc-4.2.1 ++ LD=${TOOLCHAIN_PATH}/gcc + AS=${TOOLCHAIN_PATH}/as + STRIP=${TOOLCHAIN_PATH}/strip + NM=${TOOLCHAIN_PATH}/nm +@@ -741,9 +741,9 @@ process_common_toolchain() { + ASFLAGS="-version -arch ${tgt_isa} -g" + + add_cflags -arch ${tgt_isa} +- add_ldflags -arch_only ${tgt_isa} ++ add_ldflags "-arch ${tgt_isa} -Wl,-syslibroot,${SDK_PATH}/SDKs/iPhoneOS5.0.sdk" + +- add_cflags "-isysroot ${SDK_PATH}/SDKs/iPhoneOS4.3.sdk" ++ add_cflags "-isysroot ${SDK_PATH}/SDKs/iPhoneOS5.0.sdk" + + # This should be overridable + alt_libc=${SDK_PATH}/SDKs/iPhoneOS4.3.sdk diff --git a/submodules/build/builders.d/openssl.mk b/submodules/build/builders.d/openssl.mk index 54a2b517e..0b2e5bf80 100644 --- a/submodules/build/builders.d/openssl.mk +++ b/submodules/build/builders.d/openssl.mk @@ -14,7 +14,7 @@ $(OPENSSL_BUILD_DIR)/Configure: && tar xvzf openssl-$(openssl_version).tar.gz \ && rm -f openssl-$(openssl_version).tar.gz \ && mv openssl-$(openssl_version) openssl \ - && cd openssl && patch -p0 < $(BUILDER_SRC_DIR)/build/openssl.patch + && cd openssl && patch -p0 < $(BUILDER_SRC_DIR)/build/builders.d/openssl.patch $(OPENSSL_BUILD_DIR)/Makefile: $(OPENSSL_BUILD_DIR)/Configure cd $(OPENSSL_BUILD_DIR) \ diff --git a/submodules/build/openssl.patch b/submodules/build/builders.d/openssl.patch similarity index 100% rename from submodules/build/openssl.patch rename to submodules/build/builders.d/openssl.patch diff --git a/submodules/build/builders.d/silk.mk b/submodules/build/builders.d/silk.mk new file mode 100644 index 000000000..5e848ab79 --- /dev/null +++ b/submodules/build/builders.d/silk.mk @@ -0,0 +1,59 @@ +############################################################################ +# silk.mk +# Copyright (C) 2011 Belledonne Communications,Grenoble France +# +############################################################################ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################ + +SILK_BUILD_DIR?=$(BUILDER_BUILD_DIR)/externals/silk + +ifneq (,$(findstring i386,$(host))) + make_options := TARGET_MTUNE=i386 TARGET_ARCH=i386 +endif +ifneq (,$(findstring armv6,$(host))) + make_options := TARGET_ARCH="-arch armv6" +endif +ifneq (,$(findstring armv7,$(host))) + make_options := USE_NEON=yes TARGET_ARCH="armv7 -mno-thumb" +endif + +$(SILK_BUILD_DIR)/Makefile: + mkdir -p $(BUILDER_BUILD_DIR)/externals \ + && cd $(BUILDER_BUILD_DIR)/externals \ + && rm -rf silk \ + && wget http://developer.skype.com/silk/SILK_SDK_SRC_v1.0.8.zip \ + && unzip SILK_SDK_SRC_v1.0.8.zip \ + && rm -f SILK_SDK_SRC_v1.0.8.zip \ + && mv SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8 silk \ + && rm -rf SILK_SDK_SRC_v1.0.8 + +build-silk: $(SILK_BUILD_DIR)/Makefile + cd $(SILK_BUILD_DIR) && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \ + && make all TOOLCHAIN_PREFIX=$$SDK_BIN_PATH/ $(make_options) ADDED_DEFINES+=IPHONE \ + && mkdir -p $(prefix)/include/silk \ + && cp -f $(SILK_BUILD_DIR)/interface/* $(prefix)/include/silk \ + && cp -f lib*.a $(prefix)/lib + +clean-silk: + cd $(SILK_BUILD_DIR) && make clean + +clean-makefile-silk: + +veryclean-silk: + rm -rf $(SILK_BUILD_DIR) + diff --git a/submodules/build/builders.d/srtp.mk b/submodules/build/builders.d/srtp.mk new file mode 100644 index 000000000..85e338231 --- /dev/null +++ b/submodules/build/builders.d/srtp.mk @@ -0,0 +1,35 @@ +srtp_version?=1.4.4 +#srtp_url?=http://srtp.sourceforge.net/srtp-$(srtp_version).tgz +srtp_url=http://sourceforge.net/projects/srtp/files/srtp/$(srtp_version)/srtp-$(srtp_version).tgz/download +srtp_tgz_file=srtp-$(srtp_version).tgz + +$(BUILDER_SRC_DIR)/externals/$(srtp_tgz_file): + cd $(BUILDER_SRC_DIR)/externals \ + && wget $(srtp_url) -O $(srtp_tgz_file) + +$(BUILDER_SRC_DIR)/$(srtp_dir)/configure: $(BUILDER_SRC_DIR)/externals/$(srtp_tgz_file) + cd $(BUILDER_SRC_DIR)/externals \ + && tar zxvf $(srtp_tgz_file) \ + && cd srtp && patch -p0 < $(BUILDER_SRC_DIR)/build/builders.d/srtp.patch + +$(BUILDER_BUILD_DIR)/$(srtp_dir)/Makefile: $(BUILDER_SRC_DIR)/$(srtp_dir)/configure + mkdir -p $(BUILDER_BUILD_DIR)/$(srtp_dir) + cd $(BUILDER_BUILD_DIR)/$(srtp_dir)/\ + && CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ + $(BUILDER_SRC_DIR)/$(srtp_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} + +build-srtp: $(BUILDER_BUILD_DIR)/$(srtp_dir)/Makefile + cp -rf $(BUILDER_SRC_DIR)/$(srtp_dir)/include $(BUILDER_BUILD_DIR)/$(srtp_dir) + cp -rf $(BUILDER_SRC_DIR)/$(srtp_dir)/crypto/include $(BUILDER_BUILD_DIR)/$(srtp_dir) + -cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make uninstall && make clean + cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make libsrtp.a && make install + +clean-srtp: + cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make clean + +veryclean-srtp: + -cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make distclean + +clean-makefile-srtp: + cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && rm -f Makefile + diff --git a/submodules/build/builders.d/srtp.patch b/submodules/build/builders.d/srtp.patch new file mode 100644 index 000000000..c3d127b13 --- /dev/null +++ b/submodules/build/builders.d/srtp.patch @@ -0,0 +1,24 @@ +diff -rupN ../srtp_old/crypto/cipher/aes_icm.c ./crypto/cipher/aes_icm.c +--- ../srtp_old/crypto/cipher/aes_icm.c 2006-03-16 18:11:29.000000000 +0100 ++++ ./crypto/cipher/aes_icm.c 2011-09-06 10:19:16.000000000 +0200 +@@ -281,7 +281,7 @@ aes_icm_set_iv(aes_icm_ctx_t *c, void *i + * this is an internal, hopefully inlined function + */ + +-inline void ++static void + aes_icm_advance_ismacryp(aes_icm_ctx_t *c, uint8_t forIsmacryp) { + /* fill buffer with new keystream */ + v128_copy(&c->keystream_buffer, &c->counter); +diff -rupN ../srtp_old/crypto/math/datatypes.c ./crypto/math/datatypes.c +--- ../srtp_old/crypto/math/datatypes.c 2005-10-08 18:38:06.000000000 +0200 ++++ ./crypto/math/datatypes.c 2011-09-06 10:02:55.000000000 +0200 +@@ -124,7 +124,7 @@ octet_string_hex_string(const void *s, i + return bit_string; + } + +-inline int ++static int + hex_char_to_nibble(uint8_t c) { + switch(c) { + case ('0'): return 0x0; diff --git a/submodules/build/builders.d/x264.mk b/submodules/build/builders.d/x264.mk index eb6d1d086..a07f3bf3a 100644 --- a/submodules/build/builders.d/x264.mk +++ b/submodules/build/builders.d/x264.mk @@ -39,7 +39,12 @@ ifneq (,$(findstring armv7,$(host))) endif x264_dir?=externals/x264 -$(BUILDER_BUILD_DIR)/$(x264_dir)/configure: +$(BUILDER_SRC_DIR)/$(x264_dir)/patched : + cd $(BUILDER_SRC_DIR)/$(x264_dir) \ + && git apply $(BUILDER_SRC_DIR)/build/builders.d/x264.patch \ + && touch $(BUILDER_SRC_DIR)/$(x264_dir)/patched + +$(BUILDER_BUILD_DIR)/$(x264_dir)/configure: $(BUILDER_SRC_DIR)/$(x264_dir)/patched mkdir -p $(BUILDER_BUILD_DIR)/$(x264_dir) cd $(BUILDER_BUILD_DIR)/$(x264_dir)/ \ && rsync -av --exclude ".git" $(BUILDER_SRC_DIR)/$(x264_dir)/* . diff --git a/submodules/build/builders.d/x264.patch b/submodules/build/builders.d/x264.patch new file mode 100644 index 000000000..e6781e304 --- /dev/null +++ b/submodules/build/builders.d/x264.patch @@ -0,0 +1,12 @@ +diff --git a/common/arm/asm.S b/common/arm/asm.S +index 8e70403..259bb92 100644 +--- a/common/arm/asm.S ++++ b/common/arm/asm.S +@@ -47,6 +47,7 @@ ELF .eabi_attribute 25, \val + .endm + + .macro function name ++ .align 2 + .global EXTERN_ASM\name + EXTERN_ASM\name: + ELF .hidden \name diff --git a/submodules/build/builders.d/zrtp.mk b/submodules/build/builders.d/zrtp.mk new file mode 100644 index 000000000..6b988fd6e --- /dev/null +++ b/submodules/build/builders.d/zrtp.mk @@ -0,0 +1,38 @@ +$(BUILDER_SRC_DIR)/$(zrtpcpp_dir)/CMakeLists.txt.tracker: $(BUILDER_SRC_DIR)/build/builders.d/zrtpcpp.CMakeLists.txt + cp $(BUILDER_SRC_DIR)/build/builders.d/zrtpcpp.CMakeLists.txt $(BUILDER_SRC_DIR)/$(zrtpcpp_dir)/CMakeLists.txt + + +#I coudn't manage to crosscompile using only -D arguments to cmake +#Thus the use of a toolchain file. +$(BUILDER_BUILD_DIR)/$(zrtpcpp_dir)/Makefile: $(BUILDER_SRC_DIR)/$(zrtpcpp_dir)/CMakeLists.txt.tracker + mkdir -p $(BUILDER_BUILD_DIR)/$(zrtpcpp_dir) + cd $(BUILDER_BUILD_DIR)/$(zrtpcpp_dir)/\ + && host_alias=$(host) . $(BUILDER_SRC_DIR)/build/$(config_site) \ + && cmake $(BUILDER_SRC_DIR)/$(zrtpcpp_dir) -Denable-ccrtp=false -DCMAKE_TOOLCHAIN_FILE=$(BUILDER_SRC_DIR)build/iphone-toolchain.cmake \ + -LH -Wdev -DCMAKE_C_COMPILER=$$SDK_BIN_PATH/gcc -DCMAKE_CXX_COMPILER=$$SDK_BIN_PATH/g++ \ + -DCMAKE_SYSTEM_PROCESSOR=$$ARCH -DCMAKE_C_FLAGS="$$COMMON_FLAGS" -DCMAKE_CXX_FLAGS="$$COMMON_FLAGS" \ + -DCMAKE_INSTALL_PREFIX=$(prefix) -DCMAKE_FIND_ROOT_PATH="$(prefix)" +# Used toolchain: $(TC) + +ifeq ($(enable_zrtp),yes) + +build-zrtpcpp: $(BUILDER_BUILD_DIR)/$(zrtpcpp_dir)/Makefile + echo "Build ZRTP - prefix $(prefix)" + cd $(BUILDER_BUILD_DIR)/$(zrtpcpp_dir) && make VERBOSE=1 && make install + +else +build-zrtpcpp: + echo "Build of zrtpcpp disabled" +endif + +clean-zrtpcpp: + -cd $(BUILDER_BUILD_DIR)/$(zrtpcpp_dir) && make clean + +clean-makefile-zrtpcpp: clean-zrtpcpp + -rm -f $(BUILDER_BUILD_DIR)/$(zrtpcpp_dir)/Makefile + -rm -f $(BUILDER_BUILD_DIR)/$(zrtpcpp_dir)/CMakeCache.txt + +veryclean-zrtpcpp: + -rm -rf $(BUILDER_BUILD_DIR)/$(zrtpcpp_dir) + + diff --git a/submodules/build/builders.d/zrtpcpp.CMakeLists.txt b/submodules/build/builders.d/zrtpcpp.CMakeLists.txt new file mode 100755 index 000000000..4f20891f6 --- /dev/null +++ b/submodules/build/builders.d/zrtpcpp.CMakeLists.txt @@ -0,0 +1,169 @@ +# Copyright (C) 2009 Werner Dittman +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +cmake_minimum_required(VERSION 2.6) + +PROJECT(libzrtpcpp) + +SET(CPACK_PACKAGE_VERSION_MAJOR 2) +SET(CPACK_PACKAGE_VERSION_MINOR 0) +SET(CPACK_PACKAGE_VERSION_PATCH 0) + +set (VERSION 2.0.0) +set (SOVERSION 2) +set (PACKAGE libzrtpcpp) + +if(MSVC60) + set(BUILD_STATIC ON CACHE BOOL "static linking only" FORCE) + MARK_AS_ADVANCED(BUILD_STATIC) +else() + option(BUILD_STATIC "Set to OFF to build shared libraries" ON) +endif() + +# set to true for debug and trace during CMakeLists development +set(CMAKE_VERBOSE_MAKEFILE FALSE) + +MESSAGE( STATUS "Configuring GNU ${PROJECT_NAME} ${VERSION}...") + +# include most of the fine stuff we need +include(cmake/Modules/FindGcryptConfig.cmake) +include(FindPkgConfig) +include(CheckLibraryExists) +include(CheckIncludeFiles) +include(cmake/Modules/AutoArgs.cmake) + +if(${PROJECT_NAME} STREQUAL ${CMAKE_PROJECT_NAME}) + include(cmake/Modules/GeneratePackage.cmake) + + GENERATE_PACKAGING(${PACKAGE} ${VERSION}) +endif() + +# check the -Denable-ccrtp setting, defaults to true +enable_arg(ccrtp true "Enable GNU ccRTP support for GNU ZRTP") +args_help() + +# this caused problems in debian where it has to always be lib.... +set(LIBDIRNAME "lib") +if (NOT EXISTS /etc/debian_version) + if ( "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" ) + set(LIBDIRNAME "lib64") + endif() +endif() + +# setup the Thread include and lib +find_package(Threads) +if(CMAKE_HAVE_PTHREAD_H) + set(HAVE_PTHREAD_H TRUE) +endif() +set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT}) + +if(enable_ccrtp) + if (USES_CCRTP_INCLUDE_DIRS) + message(STATUS " Using local commoncpp dependency") + else() + find_package(PkgConfig) + pkg_check_modules(USES_CCRTP libccrtp>=2.0.0) + endif() + include_directories(${USES_CCRTP_INCLUDE_DIRS}) + link_directories(${USES_CRTP_LIBRARY_DIRS}) + add_definitions(${USES_CCRTP_CFLAGS}) + set (LIBS ${LIBS} ${USES_CCRTP_LDFLAGS} ${USES_CCRTP_LIBRARIES}) +endif() + +if (CMAKE_CROSSCOMPILING) + include_directories(${CMAKE_INSTALL_PREFIX}/include) + link_directories(${CMAKE_INSTALL_PREFIX}/lib) + set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES} ${CMAKE_INSTALL_PREFIX}/include") +## set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/*") +endif() + + +# now get info about crypto libraries +gcr_check(GCRYPT gcrypt) +#if(GCRYPT_FOUND) +# check_include_files(gcrypt.h HAVE_GCRYPT_H) +# set(LIBS ${LIBS} ${GCRYPT_LIBRARIES}) +# set(BUILD_REQ "libgcrypt-devel") +# set(CRYPTOBACKEND="") +# set(PACKAGE_REQ "libgcrypt") +#else() + pkg_check_modules(OPENSSL libcrypto>=0.9.8) + if (OPENSSL_FOUND) + check_include_files(openssl/bn.h HAVE_OPENSSL_BN_H) + check_include_files(openssl/aes.h HAVE_OPENSSL_AES_H) + check_include_files(openssl/sha.h HAVE_OPENSSL_SHA_H) + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -lcrypto") + check_library_exists(crypto EVP_CipherInit_ex "${CMAKE_INSTALL_PREFIX}/lib" HAVE_SSL_CRYPT) +# don't test HAVE_SSL_CRYPT_FOUND as it doesn't work + if (HAVE_OPENSSL_BN_H_FOUND) +# AND HAVE_OPENSSL_AES_H_FOUND AND HAVE_OPENSSL_SHA_H_FOUND)) + message(FATAL_ERROR "Openssl crypto library not found") + endif() + set(LIBS ${LIBS} -lcrypto) + set(CRYPTOBACKEND "libcrypto >= 0.9.8") + set(BUILD_REQ "libopenssl-devel >= 0.9.8") + set(PACKAGE_REQ "libopenssl >= 0.9.8") + else() + message(FATAL_ERROR "No crypto library found") + endif() +#endif() + +check_include_files(stdlib.h HAVE_STDLIB_H) +check_include_files(string.h HAVE_STRING_H) + +# necessary and required modules checked, ready to generate config.h +configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) + +# the following set(...) commands are only to have backward +# compatibility with autoconf stuff to generate the pc file +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix ${prefix}/bin) +set(libdir ${prefix}/lib) +set(includedir ${prefix}/include) +set(PACKAGE pkgconfig) +configure_file(libzrtpcpp.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libzrtpcpp.pc @ONLY) + +configure_file(libzrtpcpp.spec.cmake ${CMAKE_CURRENT_BINARY_DIR}/libzrtpcpp.spec @ONLY) + +include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src) + +add_definitions(-g -O2 -fno-strict-aliasing) +if(CMAKE_COMPILER_IS_GNUCXX) + add_definitions(-Wno-long-long -Wno-char-subscripts) + add_definitions(-Wall -ansi -pedantic) + add_definitions(-DNEW_STDCPP) +# add_definitions(-D__EXPORT=) +endif() + +add_subdirectory(src) + +if (enable_ccrtp) + add_subdirectory(demo) +endif() + +if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/package/) + MESSAGE(STATUS "package dir not found") + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/package/) +endif() + +########### install files ############### +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libzrtpcpp.pc DESTINATION ${LIBDIRNAME}/pkgconfig) + +if(${PROJECT_NAME} STREQUAL ${CMAKE_PROJECT_NAME}) + + ########### Add uninstall target ############### + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY) + add_custom_target(uninstall + "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") + +endif() diff --git a/submodules/build/iphone-config.site b/submodules/build/iphone-config.site index 62cf28585..6ab8723a3 100644 --- a/submodules/build/iphone-config.site +++ b/submodules/build/iphone-config.site @@ -1,32 +1,38 @@ # -*- shell-script -*- -GCC_VERSION=4.2 SDK_VERSION_MAJOR=4 SDK_VERSION=4.0 - +MCPU="" if test "${host_alias}" = "i386-apple-darwin" ; then PLATFORM=Simulator ARCH=i386 + CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=i386" + MCPU="" elif test "${host_alias}" = "armv6-apple-darwin" ; then ARCH=armv6 PLATFORM=OS + CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=arm" + MCPU="-mcpu=arm1176jzf-s" elif test "${host_alias}" = "armv7-apple-darwin" ; then ARCH=armv7 PLATFORM=OS + CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=arm" + MCPU="-mcpu=cortex-a8" else echo "bad host ${host_alias} must be either i386-apple-darwin or armv6-apple-darwin" exit fi echo "Loading config.site for iPhone platform=${PLATFORM} version=${SDK_VERSION}" -SDK_PATH_LIST=`ls -drt /Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}4*` +SDK_PATH_LIST=`ls -drt /Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}*` SDK_BIN_PATH=/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/usr/bin for SYSROOT_PATH in $SDK_PATH_LIST ; do echo $SYSROOT_PATH ; done ; echo "Selecting SDK path = ${SYSROOT_PATH}" -CC="${SDK_BIN_PATH}/gcc-${GCC_VERSION} -std=c99 -arch ${ARCH} -isysroot ${SYSROOT_PATH} -miphoneos-version-min=${SDK_VERSION} -DTARGET_OS_IPHONE" -OBJC="${SDK_BIN_PATH}/gcc-${GCC_VERSION} -std=c99 -arch ${ARCH} -isysroot ${SYSROOT_PATH} -miphoneos-version-min=${SDK_VERSION} -DTARGET_OS_IPHONE" -CXX="${SDK_BIN_PATH}/g++-${GCC_VERSION} -arch ${ARCH} -isysroot ${SYSROOT_PATH} -miphoneos-version-min=${SDK_VERSION} -DTARGET_OS_IPHONE" -LD="${SDK_BIN_PATH}/ld-${GCC_VERSION} -arch ${ARCH}" +COMMON_FLAGS=" -arch ${ARCH} ${MCPU} -isysroot ${SYSROOT_PATH} -miphoneos-version-min=${SDK_VERSION} -DTARGET_OS_IPHONE -D__IOS" +CC="${SDK_BIN_PATH}/gcc -std=c99 $COMMON_FLAGS" +OBJC="${SDK_BIN_PATH}/gcc -std=c99 $COMMON_FLAGS" +CXX="${SDK_BIN_PATH}/g++ $COMMON_FLAGS" +LD="${SDK_BIN_PATH}/ld -arch ${ARCH}" AR=${SDK_BIN_PATH}/ar RANLIB=${SDK_BIN_PATH}/ranlib diff --git a/submodules/build/iphone-toolchain.cmake b/submodules/build/iphone-toolchain.cmake new file mode 100644 index 000000000..d7add3c91 --- /dev/null +++ b/submodules/build/iphone-toolchain.cmake @@ -0,0 +1,6 @@ +SET (CMAKE_SYSTEM_NAME "Generic") +SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + + diff --git a/submodules/build/iphone-toolchain.cmake.i386 b/submodules/build/iphone-toolchain.cmake.i386 new file mode 100644 index 000000000..0c7c1a5e5 --- /dev/null +++ b/submodules/build/iphone-toolchain.cmake.i386 @@ -0,0 +1,13 @@ +SET (CMAKE_SYSTEM_NAME "Generic") +SET (CMAKE_SYSTEM_PROCESSOR "i386") + +SET (SDKVER "4.3") +SET (DEVROOT "/Developer/Platforms/iPhoneOS.platform/Developer") +SET (SDKROOT "${DEVROOT}/SDKs/iPhoneOS${SDKVER}.sdk") + +SET (CMAKE_FIND_ROOT_PATH "${CMAKE_INSTALL_PREFIX}" "${SDKROOT}" "${DEVROOT}") +SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + + diff --git a/submodules/externals/libvpx b/submodules/externals/libvpx index 6f9457ec1..4341e5af6 160000 --- a/submodules/externals/libvpx +++ b/submodules/externals/libvpx @@ -1 +1 @@ -Subproject commit 6f9457ec12a98b3aceefbcb79783c084268d0b36 +Subproject commit 4341e5af66c92531fcd3f3e66ac18e70b3752ca9 diff --git a/submodules/externals/osip b/submodules/externals/osip index c27b9b670..9e8c64cff 160000 --- a/submodules/externals/osip +++ b/submodules/externals/osip @@ -1 +1 @@ -Subproject commit c27b9b6702f62cdbd2143c1ccc85b8980b83adac +Subproject commit 9e8c64cff496d2794fe352a6a3907e0e36988931 diff --git a/submodules/externals/x264 b/submodules/externals/x264 index 08d04a4d3..926a03a9c 160000 --- a/submodules/externals/x264 +++ b/submodules/externals/x264 @@ -1 +1 @@ -Subproject commit 08d04a4d30b452faed3b763528611737d994b30b +Subproject commit 926a03a9c1f48d0fbd54b0e802d740774c100a78 diff --git a/submodules/externals/zrtpcpp b/submodules/externals/zrtpcpp new file mode 160000 index 000000000..3cbbcf29f --- /dev/null +++ b/submodules/externals/zrtpcpp @@ -0,0 +1 @@ +Subproject commit 3cbbcf29f707adaaa00958c6e2c321e79a7b8e83 diff --git a/submodules/linphone b/submodules/linphone index 74f649291..6566c1179 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 74f64929191e62f473ddcd232c92c85f7d2a7fb0 +Subproject commit 6566c1179c6c30a4f436e71a6a2d4080f1609098 diff --git a/submodules/msx264 b/submodules/msx264 index 2f4b56078..6ba1b8699 160000 --- a/submodules/msx264 +++ b/submodules/msx264 @@ -1 +1 @@ -Subproject commit 2f4b56078405d960c3201e57c985af167ff03e2e +Subproject commit 6ba1b86990d60f1a29d11a4e0cdd71d7b6b1b5bf