diff --git a/contrib/src/boost/rules.mak b/contrib/src/boost/rules.mak index 7f70fe77c0edb807a3cd419a94b041a3a9228194..89783f26161d16510220d98d18ad06f85d5fa96f 100644 --- a/contrib/src/boost/rules.mak +++ b/contrib/src/boost/rules.mak @@ -53,7 +53,7 @@ ifdef HAVE_WIN32 cd $< && echo ";" >> user-config.jam endif ifdef HAVE_ANDROID - cd $< && echo "using gcc : android : g++" > user-config.jam + cd $< && echo "using gcc : android : clang++" > user-config.jam cd $< && echo ":" >> user-config.jam cd $< && echo "<archiver>${HOST}-ar" >> user-config.jam cd $< && echo "<compileflags>-DANDROID" >> user-config.jam diff --git a/contrib/src/main.mak b/contrib/src/main.mak index e12be91490dee7425cda4d66838c5724c1979bec..5e126d0524689fe65425a5bfcc7cb269c2b3fe75 100644 --- a/contrib/src/main.mak +++ b/contrib/src/main.mak @@ -117,8 +117,8 @@ endif endif ifdef HAVE_ANDROID -CC := $(CROSS_COMPILE)gcc --sysroot=$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH) -CXX := $(CROSS_COMPILE)g++ --sysroot=$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH) +CC := clang +CXX := clang++ endif ifdef HAVE_MACOSX diff --git a/contrib/src/pjproject/notestsapps.patch b/contrib/src/pjproject/notestsapps.patch index 662f1dbf1630e69c90863bc98a9843f71a09769f..8bf957b3680a42aa7f05ff23b2031ae92f6b72bc 100644 --- a/contrib/src/pjproject/notestsapps.patch +++ b/contrib/src/pjproject/notestsapps.patch @@ -79,6 +79,15 @@ diff --git a/pjsip/build/Makefile b/pjsip/build/Makefile index d2a5c2a..7e2ec60 100644 --- a/pjsip/build/Makefile +++ b/pjsip/build/Makefile +@@ -140,7 +140,7 @@ export PJSUA2_LIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + account.o endpoint.o json.o persistent.o types.o \ + siptypes.o call.o presence.o media.o + export PJSUA2_LIB_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) +-export PJSUA2_LIB_CXXFLAGS = $(PJSUA2_LIB_CFLAGS) ++export PJSUA2_LIB_CXXFLAGS = $(_CXXFLAGS) $(PJ_VIDEO_CFLAGS) + export PJSUA2_LIB_LDFLAGS += $(PJSUA_LIB_LDLIB) \ + $(PJSIP_UA_LDLIB) \ + $(PJSIP_SIMPLE_LDLIB) \ @@ -165,7 +165,6 @@ export PJSUA2_TEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ export PJSUA2_TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) export PJSUA2_TEST_CXXFLAGS = $(PJSUA2_LIB_CFLAGS) diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak index 873bfd8e03a7d137f95251867eddffaf32b0f2a2..83eaab679eeb23fecf663aaf883b80906f34fee0 100644 --- a/contrib/src/pjproject/rules.mak +++ b/contrib/src/pjproject/rules.mak @@ -15,9 +15,12 @@ PJPROJECT_OPTIONS := --disable-oss \ --disable-speex-codec \ --disable-ilbc-codec \ --disable-opencore-amr \ + --disable-silk \ --disable-sdl \ --disable-ffmpeg \ --disable-v4l2 \ + --disable-openh264 \ + --disable-resample \ --enable-ssl=gnutls ifdef HAVE_ANDROID @@ -30,7 +33,8 @@ ifdef HAVE_IOS PJPROJECT_OPTIONS += --with-ssl=$(PREFIX) endif -PJPROJECT_EXTRA_CFLAGS = -DPJ_ICE_MAX_CAND=32 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 +PJPROJECT_EXTRA_CFLAGS = -DPJ_ICE_MAX_CAND=32 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 -std=gnu11 +PJPROJECT_EXTRA_CXXFLAGS = -DPJ_ICE_MAX_CAND=32 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 -std=gnu++11 ifdef HAVE_WIN64 PJPROJECT_EXTRA_CFLAGS += -DPJ_WIN64=1 @@ -76,5 +80,5 @@ ifdef HAVE_IOS else cd $< && $(HOSTVARS) ./aconfigure $(HOSTCONF) $(PJPROJECT_OPTIONS) endif - cd $< && CFLAGS="$(PJPROJECT_EXTRA_CFLAGS)" $(MAKE) && $(MAKE) install + cd $< && CFLAGS="$(PJPROJECT_EXTRA_CFLAGS)" CXXFLAGS="$(PJPROJECT_EXTRA_CXXFLAGS)" $(MAKE) && $(MAKE) install touch $@ diff --git a/contrib/src/vorbis/android.patch b/contrib/src/vorbis/android.patch new file mode 100644 index 0000000000000000000000000000000000000000..ba42da7cf674124a96acf10c28b2bf38236bf05c --- /dev/null +++ b/contrib/src/vorbis/android.patch @@ -0,0 +1,11 @@ +--- libvorbis/configure.ac.orig 2012-09-07 00:17:47.000000000 +0200 ++++ libvorbis/configure.ac 2012-09-07 00:18:01.000000000 +0200 +@@ -130,5 +130,5 @@ + DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char" +- CFLAGS="-O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char" ++ CFLAGS="-O20 -ffast-math -D_REENTRANT -fsigned-char" + # PROFILE="-Wall -Wextra -pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char -fno-inline -static" +- PROFILE="-Wall -Wextra -pg -g -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline" ++ PROFILE="-Wall -Wextra -pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char -fno-inline" + + diff --git a/contrib/src/vorbis/rules.mak b/contrib/src/vorbis/rules.mak index d4ce0ef3f828d359303b2ef8a0f109d0d51ddb3a..c0920b1f70b6009fa8cc828d0d6000e7d99d9f16 100644 --- a/contrib/src/vorbis/rules.mak +++ b/contrib/src/vorbis/rules.mak @@ -29,6 +29,9 @@ ifndef HAVE_IOS $(APPLY) $(SRC)/vorbis/osx.patch else $(APPLY) $(SRC)/vorbis/ios.patch +endif +ifdef HAVE_ANDROID + $(APPLY) $(SRC)/vorbis/android.patch endif $(UPDATE_AUTOCONFIG) $(MOVE) diff --git a/contrib/src/vpx/rules.mak b/contrib/src/vpx/rules.mak index 0d09bd028fe3d831b8b459a1fe25d91c67cea144..0b552698ab0e08d9eabef445b5b9a8ea3b7e3188 100644 --- a/contrib/src/vpx/rules.mak +++ b/contrib/src/vpx/rules.mak @@ -1,10 +1,10 @@ # libvpx #Libav doesnt support new vpx version -ifdef HAVE_IOS -VPX_HASH := cbecf57f3e0d85a7b7f97f3ab7c507f6fe640a93 -else +ifdef HAVE_MACOSX VPX_HASH := c74bf6d889992c3cabe017ec353ca85c323107cd +else +VPX_HASH := v1.6.0 endif VPX_URL := https://github.com/webmproject/libvpx/archive/$(VPX_HASH).tar.gz #VPX_GITURL := https://code.google.com/p/webm.libvpx @@ -115,9 +115,9 @@ LOCAL_HOSTVARS= ifdef HAVE_ANDROID # vpx configure.sh overrides our sysroot and it looks for it itself, and # uses that path to look for the compiler (which we already know) -VPX_CONF += --sdk-path=$(shell dirname $(shell which $(CROSS_COMPILE)gcc)) +VPX_CONF += --sdk-path=$(ANDROID_TOOLCHAIN)/bin # needed for cpu-features.h -VPX_CONF += --extra-cflags="-I $(ANDROID_NDK)/sources/cpufeatures/" +VPX_CONF += --extra-cflags="-I$(ANDROID_NDK)/sources/cpufeatures/" # set an explicit alternative libc since the sysroot override can make it blank VPX_CONF += --libc=$(SYSROOT) LOCAL_HOSTVARS=$(HOSTVARS) diff --git a/src/media/audio/opensl/opensllayer.cpp b/src/media/audio/opensl/opensllayer.cpp index 1d3f6efe9ae2893bbbc590d2b803f403002321f5..c113e9fd2b9674a92cfab4641c54f56325d9412a 100644 --- a/src/media/audio/opensl/opensllayer.cpp +++ b/src/media/audio/opensl/opensllayer.cpp @@ -195,11 +195,11 @@ OpenSLLayer::dbgEngineGetBufCount() { return count_player; } -bool +void OpenSLLayer::engineServicePlay(bool waiting) { if (waiting) { playCv.notify_one(); - return false; + return; } sample_buf* buf; while (player_ and freePlayBufQueue_.front(&buf)) { @@ -214,14 +214,13 @@ OpenSLLayer::engineServicePlay(bool waiting) { } else break; } - return true; } -bool +void OpenSLLayer::engineServiceRing(bool waiting) { if (waiting) { playCv.notify_one(); - return false; + return; } sample_buf* buf; while (ringtone_ and freeRingBufQueue_.front(&buf)) { @@ -239,14 +238,13 @@ OpenSLLayer::engineServiceRing(bool waiting) { break; } } - return true; } -bool +void OpenSLLayer::engineServiceRec(bool waiting) { playCv.notify_one(); recCv.notify_one(); - return true; + return; } void diff --git a/src/media/audio/opensl/opensllayer.h b/src/media/audio/opensl/opensllayer.h index 5a23894b5320fd0827d81bb28cd10dcf450cfda3..c3a58efcb75fabf2674fde5df5da044f455132d8 100644 --- a/src/media/audio/opensl/opensllayer.h +++ b/src/media/audio/opensl/opensllayer.h @@ -113,9 +113,9 @@ class OpenSLLayer : public AudioLayer { return ""; } - bool engineServicePlay(bool waiting); - bool engineServiceRing(bool waiting); - bool engineServiceRec(bool waiting); + void engineServicePlay(bool waiting); + void engineServiceRing(bool waiting); + void engineServiceRec(bool waiting); private: void audioCaptureFillBuffer(AudioBuffer &buffer);