forked from mirrors/linphone-iphone
build: officially deprecating autotools build version - updated README and old Makefile in consequence
This commit is contained in:
parent
f0912a3bbb
commit
69ec4c340a
41 changed files with 47 additions and 2386 deletions
BIN
Linphone.clr
BIN
Linphone.clr
Binary file not shown.
82
README.md
82
README.md
|
|
@ -2,90 +2,31 @@
|
|||
|
||||
[](https://travis-ci.org/BelledonneCommunications/linphone-iphone)
|
||||
|
||||
## Build prerequisite
|
||||
## BUILDING THE SDK
|
||||
|
||||
Linphone for iPhone depends on liblinphone SDK. This SDK is generated from makefiles and shell scripts.
|
||||
|
||||
* Xcode (download from apple or using appstore application)
|
||||
* [Java SE](http://www.oracle.com/technetwork/java/javase/downloads/index.html) or openJDK
|
||||
This is required to generate a C sourcefile from SIP grammar using [antlr3](http://www.antlr3.org/) generator.
|
||||
* [HomeBrew](http://brew.sh) or [Macports](http://www.macports.org/).
|
||||
|
||||
|
||||
### Install dependencies
|
||||
|
||||
* Using HomeBrew:
|
||||
|
||||
brew install autoconf automake pkg-config doxygen nasm gettext wget yasm optipng imagemagick coreutils intltool
|
||||
brew link gettext --force
|
||||
# antlr3.2 is faster than default homebrew version 3.4 - you can install official antlr3 though
|
||||
brew tap Gui13/linphone
|
||||
brew install antlr3.2
|
||||
|
||||
* Using MacPorts:
|
||||
|
||||
sudo port install autoconf automake pkgconfig doxygen antlr3 nasm gettext wget yasm optipng ImageMagick coreutils intltool
|
||||
|
||||
### System linking
|
||||
|
||||
* For this part, we assume that `LOCAL_BIN_DIR` is set as following depending on which tool you use:
|
||||
|
||||
For MacPorts: `LOCAL_BIN_DIR=/opt/local/bin`
|
||||
|
||||
For HomeBrew: `LOCAL_BIN_DIR=/usr/local/bin`
|
||||
|
||||
* Modify your `PATH` so that the tools are taken in place of the versions brought by Apple in `/usr/bin`. Otherwise the build will fail with obscure errors:
|
||||
|
||||
export PATH=$LOCAL_BIN_DIR:$PATH
|
||||
|
||||
* Install [gas-preprocessor.pl](http://github.com/yuvi/gas-preprocessor/) (version above July 2013) into your PATH. Suppose you use `LOCAL_BIN_DIR` directory:
|
||||
|
||||
wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
|
||||
chmod +x gas-preprocessor.pl
|
||||
sudo mv gas-preprocessor.pl $LOCAL_BIN_DIR
|
||||
|
||||
* (HomeBrew only) Link `libtoolize` to `glibtoolize`
|
||||
|
||||
sudo ln -s $LOCAL_BIN_DIR/glibtoolize $LOCAL_BIN_DIR/libtoolize
|
||||
|
||||
* Link host's `strings` to simulator SDK
|
||||
|
||||
sudo ln -s /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
|
||||
|
||||
|
||||
## BUILDING THE SDK
|
||||
|
||||
* GPL third parties versus non GPL third parties
|
||||
|
||||
This SDK can be generated in 2 flavors. First is with GPL third parties, it means liblinphone includes GPL third parties like FFMPEG or X264.
|
||||
If you choose this flavor, your final application must comply with GPL in any case. This is the default mode.
|
||||
|
||||
Note: We are not compiling for the 32 bits i386 simulator by default, for speed reasons. If you want to activate it, you should call make with "enable_i386=yes".
|
||||
Note: We are not compiling for the 32 bits i386 simulator by default because since iPhone 6 / iOS 8 simulators run in 64 bits. If you want to activate it, you should call prepare.py "i386" architecture.
|
||||
|
||||
To generate the liblinphone multi arch sdk in GPL mode, do:
|
||||
To generate the liblinphone multi arch SDK in GPL mode, do:
|
||||
|
||||
cd submodules/build && make all
|
||||
./prepare.py && make
|
||||
|
||||
ALTERNATIVELY, you can force liblinphone to use only non GPL code except for liblinphone, mediastreamer2, oRTP, belle-sip.
|
||||
If you choose this flavor, your final application is still subject to GPL except if you have a commercial license for liblinphone, mediastreamer2, oRTP, belle-sip.
|
||||
|
||||
To generate the liblinphone multi arch sdk in non GPL mode, do:
|
||||
To generate the liblinphone multi arch SDK in non GPL mode, do:
|
||||
|
||||
cd submodules/build && make all enable_gpl_third_parties=no
|
||||
|
||||
* For Xcode prior to 4.5, use:
|
||||
|
||||
make -f Makefile.xcode4.4
|
||||
|
||||
* ZRTP support
|
||||
|
||||
You can disable ZRTP support with:
|
||||
|
||||
make all enable_zrtp=no
|
||||
./prepare.py -DENABLE_GPL_THIRD_PARTIES=NO && make
|
||||
|
||||
* In case you upgrade your IOS SDK, you may force rebuilding everything, by doing
|
||||
|
||||
make veryclean && make all
|
||||
./prepare.py -c && ./prepare.py && make
|
||||
|
||||
**The resulting sdk is in `liblinphone-sdk/` root directory.**
|
||||
|
||||
|
|
@ -110,17 +51,12 @@ Simply press `Command + U` and the default simulator / device will launch and tr
|
|||
|
||||
* Video capture does not work in simulator (not implemented by simulator?).
|
||||
|
||||
* Link errors with x86_64: this happens when you try to run linphone on the iPhone 5S/6/6+ simulators.
|
||||
This is due to the fact that we're not building the SDK for the x86_64 architecture, due to it being redundant with i386 (and increasing dramatically the compile time and build size).
|
||||
The solution (temporary) is to force the acceptable architectures to be 'armv7' only (remove 'arm64') and disable the "build active architecture" flag in the linphone, XMLRPC and NinePatch projects.
|
||||
Don't forget to re-enable them when archiving your project.
|
||||
|
||||
## DEBUGING THE SDK
|
||||
|
||||
Sometime it can be useful to step into liblinphone SDK functions. To allow Xcode to enable breakpoint within liblinphone, SDK must be built with debug symbols.
|
||||
To add debug symbol to liblinphone SDK, add make option `enable_debug=yes`:
|
||||
To add debug symbol to liblinphone SDK, use:
|
||||
|
||||
make all enable_gpl_third_parties=no enable_debug=yes
|
||||
./prepare.py -d && make
|
||||
|
||||
## DEBUGING MEDIASTREAMER2
|
||||
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@
|
|||
57F005C815EE2D9200914747 /* linphonerc-factory in Resources */ = {isa = PBXBuildFile; fileRef = 57F005C615EE2D9200914747 /* linphonerc-factory */; };
|
||||
57F005CA15EE2D9200914747 /* linphonerc-factory~ipad in Resources */ = {isa = PBXBuildFile; fileRef = 57F005C715EE2D9200914747 /* linphonerc-factory~ipad */; };
|
||||
630CF5571AF7CE1500539F7A /* UITextField+DoneButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 630CF5561AF7CE1500539F7A /* UITextField+DoneButton.m */; };
|
||||
63158FAD1B468E0E00969917 /* ImageOptim.sh in Resources */ = {isa = PBXBuildFile; fileRef = 63158FAC1B468E0E00969917 /* ImageOptim.sh */; };
|
||||
631C4FB119D2A8F2004BFE77 /* UIDigitButtonLongPlus.m in Sources */ = {isa = PBXBuildFile; fileRef = 631C4FB019D2A8F2004BFE77 /* UIDigitButtonLongPlus.m */; };
|
||||
631C4FB719D2C3A6004BFE77 /* UIDigitButtonLongVoiceMail.m in Sources */ = {isa = PBXBuildFile; fileRef = 631C4FB619D2C3A6004BFE77 /* UIDigitButtonLongVoiceMail.m */; };
|
||||
632DA24D1B43EE9400EB356A /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = D35860D515B549B500513429 /* Utils.m */; };
|
||||
|
|
@ -1015,6 +1016,7 @@
|
|||
57F005C715EE2D9200914747 /* linphonerc-factory~ipad */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "linphonerc-factory~ipad"; path = "Resources/linphonerc-factory~ipad"; sourceTree = "<group>"; };
|
||||
630CF5551AF7CE1500539F7A /* UITextField+DoneButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITextField+DoneButton.h"; sourceTree = "<group>"; };
|
||||
630CF5561AF7CE1500539F7A /* UITextField+DoneButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITextField+DoneButton.m"; sourceTree = "<group>"; };
|
||||
63158FAC1B468E0E00969917 /* ImageOptim.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = ImageOptim.sh; path = Tools/ImageOptim.sh; sourceTree = "<group>"; };
|
||||
631C4FAF19D2A8F2004BFE77 /* UIDigitButtonLongPlus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIDigitButtonLongPlus.h; sourceTree = "<group>"; };
|
||||
631C4FB019D2A8F2004BFE77 /* UIDigitButtonLongPlus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIDigitButtonLongPlus.m; sourceTree = "<group>"; };
|
||||
631C4FB519D2C3A6004BFE77 /* UIDigitButtonLongVoiceMail.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIDigitButtonLongVoiceMail.h; sourceTree = "<group>"; };
|
||||
|
|
@ -1652,7 +1654,6 @@
|
|||
F03A9B9718C0DB6F00C4D7FE /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
|
||||
F03CA84118C72F1A0008889D /* UITextViewNoDefine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UITextViewNoDefine.h; sourceTree = "<group>"; };
|
||||
F03CA84218C72F1A0008889D /* UITextViewNoDefine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UITextViewNoDefine.m; sourceTree = "<group>"; };
|
||||
F04892FE180C3296002FED35 /* ImageOptim.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ImageOptim.sh; sourceTree = "<group>"; };
|
||||
F05BAA611A5D594E00411815 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
|
||||
F0642EF019DAC891009DB336 /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = "<group>"; };
|
||||
F0642EF719DAF32E009DB336 /* DTWeakSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DTWeakSupport.h; sourceTree = "<group>"; };
|
||||
|
|
@ -2187,7 +2188,6 @@
|
|||
080E96DDFE201D6D7F000001 /* Classes */,
|
||||
F0F952011A6AEB1000254160 /* UITests */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
F04892FE180C3296002FED35 /* ImageOptim.sh */,
|
||||
F0938158188E629800A55DFA /* iTunesArtwork */,
|
||||
F0BB8BD91936208100974404 /* LinphoneTester */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
|
|
@ -2238,6 +2238,7 @@
|
|||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
63158FAC1B468E0E00969917 /* ImageOptim.sh */,
|
||||
152F22351B15E889008C0621 /* libxml2.dylib */,
|
||||
152F22331B15E83B008C0621 /* libilbcrfc3951.a */,
|
||||
F0FF66AA1ACAEEB0008A4486 /* IOKit.framework */,
|
||||
|
|
@ -3713,6 +3714,7 @@
|
|||
D33988D215C6DD1600CAF1E4 /* options_default_landscape~ipad.png in Resources */,
|
||||
D33988D415C6DD1600CAF1E4 /* options_disabled_landscape~ipad.png in Resources */,
|
||||
D33988D615C6DD1600CAF1E4 /* options_over_landscape~ipad.png in Resources */,
|
||||
63158FAD1B468E0E00969917 /* ImageOptim.sh in Resources */,
|
||||
D33988D815C6DD1600CAF1E4 /* options_selected_landscape~ipad.png in Resources */,
|
||||
D33988DA15C6DD1600CAF1E4 /* options_transfer_default_landscape~ipad.png in Resources */,
|
||||
D33988DC15C6DD1600CAF1E4 /* options_transfer_disabled_landscape~ipad.png in Resources */,
|
||||
|
|
@ -3924,7 +3926,7 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = $SRCROOT/ImageOptim.sh;
|
||||
shellScript = $SRCROOT/Tools/ImageOptim.sh;
|
||||
};
|
||||
F08F11A219C0AC2F007D70C2 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
|
|
|||
36
prepare.py
36
prepare.py
|
|
@ -27,11 +27,15 @@ import os
|
|||
import re
|
||||
import shutil
|
||||
import sys
|
||||
from distutils.spawn import find_executable
|
||||
from subprocess import Popen, PIPE
|
||||
sys.dont_write_bytecode = True
|
||||
sys.path.insert(0, 'submodules/cmake-builder')
|
||||
import prepare
|
||||
from distutils.spawn import find_executable
|
||||
try:
|
||||
import prepare
|
||||
except:
|
||||
print("Could not find prepare module, probably missing submodules/cmake-builder? Try running git submodule update --init --recursive")
|
||||
exit(1)
|
||||
|
||||
|
||||
class IOSTarget(prepare.Target):
|
||||
|
|
@ -152,7 +156,7 @@ def extract_libs_list():
|
|||
def check_installed(binary, prog=None, warn=True):
|
||||
if not find_executable(binary):
|
||||
if warn:
|
||||
print("Could not find {}. Please install {}".format(binary, prog))
|
||||
print("Could not find {}. Please install {}.".format(binary, prog))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
|
@ -161,7 +165,7 @@ def check_tools():
|
|||
ret = 0
|
||||
|
||||
if " " in os.path.dirname(os.path.realpath(__file__)):
|
||||
print("Invalid location: your location should not contain spaces")
|
||||
print("Invalid location: linphone-iphone path should not contain any spaces.")
|
||||
ret = 1
|
||||
|
||||
for prog in ["autoconf", "automake", "pkg-config", "doxygen", "java", "nasm", "gettext", "wget", "yasm", "optipng"]:
|
||||
|
|
@ -174,18 +178,24 @@ def check_tools():
|
|||
if check_installed("glibtoolize", "libtool"):
|
||||
glibtoolize_path = find_executable(glibtoolize)
|
||||
ret = 1
|
||||
error = "Please do a symbolic link from glibtoolize to libtoolize: 'ln -s {} ${}'"
|
||||
error = "Please do a symbolic link from glibtoolize to libtoolize: 'ln -s {} ${}'."
|
||||
print(error.format(glibtoolize_path, glibtoolize_path.replace("glibtoolize", "libtoolize")))
|
||||
|
||||
devnull = open(os.devnull, 'wb')
|
||||
# just ensure that JDK is installed - if not, it will automatiaclyl display a popup to user
|
||||
if not Popen("java -version".split(" "), stderr=PIPE, stdout=PIPE):
|
||||
print("Please install Java JDK (not just JRE)")
|
||||
p = Popen("java -version".split(" "), stderr=devnull, stdout=devnull)
|
||||
p.wait()
|
||||
if p.returncode != 0:
|
||||
print(p.returncode)
|
||||
print("Please install Java JDK (not just JRE).")
|
||||
ret = 1
|
||||
|
||||
# needed by x264
|
||||
check_installed("gas-preprocessor.pl", "it following the README.md")
|
||||
check_installed("gas-preprocessor.pl", """it:
|
||||
wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
|
||||
chmod +x gas-preprocessor.pl
|
||||
sudo mv gas-preprocessor.pl /usr/local/bin/""")
|
||||
|
||||
devnull = open(os.devnull, 'wb')
|
||||
nasm_output = Popen("nasm -f elf32".split(" "), stderr=PIPE, stdout=PIPE).stderr.read()
|
||||
if "fatal: unrecognised output format" in nasm_output:
|
||||
print(
|
||||
|
|
@ -195,15 +205,17 @@ def check_tools():
|
|||
if not os.path.isdir("submodules/linphone/mediastreamer2") or not os.path.isdir("submodules/linphone/oRTP"):
|
||||
print("Missing some git submodules. Did you run 'git submodule update --init --recursive'?")
|
||||
ret = 1
|
||||
if not Popen("xcrun --sdk iphoneos --show-sdk-path".split(" "), stdout=devnull, stderr=devnull):
|
||||
print("iOS SDK not found, please install Xcode from AppStore or equivalent")
|
||||
p = Popen("xcrun --sdk iphoneos --show-sdk-path".split(" "), stdout=devnull, stderr=devnull)
|
||||
p.wait()
|
||||
if p.returncode != 0:
|
||||
print("iOS SDK not found, please install Xcode from AppStore or equivalent.")
|
||||
ret = 1
|
||||
else:
|
||||
sdk_platform_path = Popen("xcrun --sdk iphonesimulator --show-sdk-platform-path".split(" "), stdout=PIPE, stderr=devnull).stdout.read()[:-1]
|
||||
sdk_strings_path = "{}/{}".format(sdk_platform_path, "Developer/usr/bin/strings")
|
||||
if not os.path.isfile(sdk_strings_path):
|
||||
strings_path = find_executable("strings")
|
||||
print("strings binary missing, please run 'sudo ln -s {} {}'".format(strings_path, sdk_strings_path))
|
||||
print("strings binary missing, please run 'sudo ln -s {} {}'.".format(strings_path, sdk_strings_path))
|
||||
ret = 1
|
||||
|
||||
if ret == 1:
|
||||
|
|
|
|||
|
|
@ -19,196 +19,13 @@
|
|||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
############################################################################
|
||||
enable_gpl_third_parties=yes
|
||||
enable_zrtp=yes
|
||||
enable_ffmpeg=yes
|
||||
enable_opus=yes
|
||||
enable_debug=no
|
||||
enable_i386=no
|
||||
|
||||
|
||||
TUNNEL_AVAILABLE=$(shell git submodule status ../tunnel 2>/dev/null 1>/dev/null && echo yes)
|
||||
ifneq ($(TUNNEL_AVAILABLE),)
|
||||
enable_tunnel=yes
|
||||
enable_gpl_third_parties=no
|
||||
else
|
||||
enable_tunnel=no
|
||||
endif
|
||||
|
||||
|
||||
.NOTPARALLEL all: checks build warning
|
||||
|
||||
# check that the selected options are correct
|
||||
CHECKOPT_MSG := ""
|
||||
|
||||
ifeq ($(enable_gpl_third_parties)$(enable_ffmpeg),noyes)
|
||||
# ffmpeg is not compatible with no GPL.
|
||||
enable_ffmpeg:=no
|
||||
endif
|
||||
|
||||
checks: check_options check_progs
|
||||
|
||||
ifneq ($(CHECKOPT_MSG),"")
|
||||
check_options:
|
||||
@echo $(CHECKOPT_MSG)
|
||||
else
|
||||
check_options:
|
||||
endif
|
||||
|
||||
# you can skip the tool check by export BYPASS_TOOLCHECK=1
|
||||
ifneq ($(BYPASS_TOOLCHECK),1)
|
||||
|
||||
# Checks
|
||||
CHECK_MSG=$(shell ../../Tools/check_tools.sh)
|
||||
|
||||
check_progs:
|
||||
ifneq ($(CHECK_MSG),)
|
||||
$(error Some tools are missing.)
|
||||
else
|
||||
$(info All tools are present.)
|
||||
endif
|
||||
|
||||
else
|
||||
check_progs:
|
||||
$(info Skipping tool checks)
|
||||
endif
|
||||
|
||||
|
||||
# setup footer
|
||||
|
||||
ifeq ($(enable_gpl_third_parties),yes)
|
||||
warning:
|
||||
@echo
|
||||
@echo "***************************************************************************"
|
||||
@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=no ******"
|
||||
@echo "***************************************************************************"
|
||||
@echo "***************************************************************************"
|
||||
else
|
||||
warning:
|
||||
@echo
|
||||
@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 "*****************************************************************"
|
||||
@echo "*****************************************************************"
|
||||
endif
|
||||
|
||||
LINPHONE_OPTIONS=enable_gpl_third_parties=$(enable_gpl_third_parties) \
|
||||
enable_zrtp=$(enable_zrtp) \
|
||||
enable_opus=$(enable_opus) \
|
||||
enable_debug=$(enable_debug) \
|
||||
enable_ffmpeg=$(enable_ffmpeg) \
|
||||
enable_tunnel=$(enable_tunnel) \
|
||||
enable_i386=$(enable_i386)
|
||||
|
||||
armv7_host=armv7-apple-darwin.ios
|
||||
aarch64_host=aarch64-apple-darwin.ios
|
||||
i386_host=i386-apple-darwin.ios
|
||||
x86_64_host=x86_64-apple-darwin.ios
|
||||
|
||||
all_archs=armv7 aarch64 i386 x86_64
|
||||
active_arch=$(filter-out i386,$(all_archs))
|
||||
ifeq ($(enable_i386),yes)
|
||||
active_arch+=i386
|
||||
endif
|
||||
|
||||
all_hosts=$(addsuffix -apple-darwin.ios,$(active_arch))
|
||||
|
||||
armv7-%:
|
||||
make -f builder-iphone-os.mk host=$(armv7_host) $(LINPHONE_OPTIONS) $*
|
||||
|
||||
aarch64-%:
|
||||
make -f builder-iphone-os.mk host=$(aarch64_host) $(LINPHONE_OPTIONS) $*
|
||||
|
||||
i386-%:
|
||||
make -f builder-iphone-os.mk host=$(i386_host) $(LINPHONE_OPTIONS) $*
|
||||
|
||||
x86_64-%:
|
||||
make -f builder-iphone-os.mk host=$(x86_64_host) $(LINPHONE_OPTIONS) $*
|
||||
|
||||
|
||||
# sends the target after 'broadcast_' to all sub-architectures
|
||||
broadcast_%:
|
||||
@echo "Broadcasting target '$*' to $(all_hosts)"
|
||||
@for h in $(all_hosts); do \
|
||||
echo "==== starting build for host $$h ===="; \
|
||||
make -f builder-iphone-os.mk host=$$h $(LINPHONE_OPTIONS) $* || exit 1 ; \
|
||||
done
|
||||
|
||||
build-% clean-% veryclean-%:
|
||||
@for h in $(all_hosts); do \
|
||||
echo "==== starting build of $@ for host $$h ===="; \
|
||||
make -f builder-iphone-os.mk host=$$h $(LINPHONE_OPTIONS) $@ || exit 1 ; \
|
||||
done
|
||||
|
||||
sdk:
|
||||
make -f builder-iphone-os.mk delivery-sdk
|
||||
|
||||
libs:
|
||||
make -f builder-iphone-os.mk multi-arch
|
||||
|
||||
download-sdk:
|
||||
make -f builder-iphone-os.mk download-sdk
|
||||
|
||||
build: broadcast_all sdk
|
||||
|
||||
ipa: build broadcast_ipa
|
||||
|
||||
clean: broadcast_clean
|
||||
|
||||
veryclean: broadcast_veryclean
|
||||
|
||||
list-packages:
|
||||
@make -f builder-iphone-os.mk list-packages
|
||||
|
||||
pull-transifex:
|
||||
cd ../../ && tx pull -af
|
||||
|
||||
push-transifex:
|
||||
cd ../../ && ./Tools/i18n_generate_strings_files.sh && tx push -s -t -f --no-interactive
|
||||
|
||||
zipres:
|
||||
@tar -C ../.. -czf ../../ios_assets.tar.gz Resources iTunesArtwork
|
||||
@echo Archive 'ios_assets.tar.gz' placed in root directory
|
||||
|
||||
empty:=
|
||||
space:= $(empty) $(empty)
|
||||
arch_opt=$(subst $(space),|,$(all_archs))
|
||||
|
||||
help:
|
||||
@echo "(please read the README.md file first)"
|
||||
@echo "Available architectures: $(all_archs)"
|
||||
@echo "Activated architectures: $(active_arch)"
|
||||
@echo ""
|
||||
@echo "Invoke with 'enable_i386=yes' to add i386 build"
|
||||
@echo ""
|
||||
@echo "Available targets:"
|
||||
@echo ""
|
||||
@echo " * all : builds all architectures and creates the liblinphone sdk"
|
||||
@echo " * ipa : builds all, creates the SDK, then builds an IPA of the Linphone-iphone application"
|
||||
@echo " * clean : clean all packages for all architectures"
|
||||
@echo " * veryclean : completely clean all packages for all architectures"
|
||||
@echo " * zipres : creates a tar.gz file with all the resources (images)"
|
||||
@echo ""
|
||||
@echo "=== Advanced usage ==="
|
||||
@echo ""
|
||||
@echo " * list-packages : lists the packages that you can build"
|
||||
@echo ""
|
||||
@echo " * build-[package] : builds the package for all architectures"
|
||||
@echo " * clean-[package] : clean the package for all architectures"
|
||||
@echo " * veryclean-[package] : completely clean the package for all architectures"
|
||||
@echo ""
|
||||
@echo " * [$(arch_opt)]-build-[package] : builds a package for the selected architecture"
|
||||
@echo " * [$(arch_opt)]-clean-[package] : clean the package for the selected architecture"
|
||||
@echo " * [$(arch_opt)]-veryclean-[package] : completely clean the package for the selected architecture"
|
||||
@echo ""
|
||||
@echo " * sdk : re-add all generated libraries to the SDK. Use this only after a full build."
|
||||
@echo " * libs : after a rebuild of a subpackage, will mix the new libs in liblinphone-sdk/apple-darwin directory"
|
||||
all:
|
||||
@echo "*******************************************************************************"
|
||||
@echo "This makefile is deprecated. Please see README.md for compilation instructions. Here are some equivalents:"
|
||||
@echo "Equivalent of make is: cd ../../ && ./prepare.py && make"
|
||||
@echo "Equivalent of make enable_gpl_third_parties=no is: cd ../../ && ./prepare.py -DENABLE_GPL_THIRD_PARTIES=NO && make"
|
||||
@echo "Equivalent of make enable_debug=yes is: cd ../../ && ./prepare.py -d && make"
|
||||
@echo "Equivalent of make enable_i386=yes is: cd ../../ && ./prepare.py all && make"
|
||||
@echo "Equivalent of make enable_zrpt=yes enable_opus=yes enable_ffmpeg is: cd ../../ && ./prepare.py -DENABLE_ZRTP=YES -DENABLE_OPUS=YES -DENABLE_FFMPEG=YES && make"
|
||||
@echo "*******************************************************************************"
|
||||
|
|
|
|||
|
|
@ -1,81 +0,0 @@
|
|||
############################################################################
|
||||
# Makefile
|
||||
# Copyright (C) 2009 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.
|
||||
#
|
||||
############################################################################
|
||||
enable_gpl_third_parties=yes
|
||||
enable_zrtp=no
|
||||
|
||||
.NOTPARALLEL all: check_options build warning
|
||||
ifeq ($(enable_gpl_third_parties)$(enable_zrtp),noyes)
|
||||
check_options:
|
||||
@echo "ZRTP is not available in non-gpl build."
|
||||
@exit -1
|
||||
else
|
||||
check_options:
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(enable_gpl_third_parties),yes)
|
||||
warning:
|
||||
@echo
|
||||
@echo "*****************************************************************"
|
||||
@echo "*****************************************************************"
|
||||
@echo "*****CAUTION, this liblinphone SDK is built using GPL code ******"
|
||||
@echo "*****To disable gpl code, use make enable_gpl_third_parties=no***"
|
||||
@echo "*****************************************************************"
|
||||
@echo "*****************************************************************"
|
||||
else
|
||||
warning:
|
||||
@echo
|
||||
@echo "*****************************************************************"
|
||||
@echo "*****************************************************************"
|
||||
@echo "*****linphone SDK without GPL code ******"
|
||||
@echo "*****************************************************************"
|
||||
@echo "*****************************************************************"
|
||||
endif
|
||||
|
||||
LINPHONE_OPTIONS=enable_gpl_third_parties=$(enable_gpl_third_parties) enable_zrtp=$(enable_zrtp)
|
||||
|
||||
build:
|
||||
make -f builder-iphone-os.mk host=armv6-apple-darwin $(LINPHONE_OPTIONS) all \
|
||||
&& make -f builder-iphone-simulator.mk $(LINPHONE_OPTIONS) all \
|
||||
&& make -f builder-iphone-os.mk host=armv7-apple-darwin $(LINPHONE_OPTIONS) all \
|
||||
&& make -f builder-iphone-os.mk delivery-sdk
|
||||
|
||||
ipa: build
|
||||
make -f builder-iphone-simulator.mk ipa \
|
||||
&& make -f builder-iphone-os.mk host=armv6-apple-darwin ipa \
|
||||
&& make -f builder-iphone-os.mk host=armv7-apple-darwin ipa
|
||||
|
||||
clean:
|
||||
make -f builder-iphone-simulator.mk clean \
|
||||
&& make -f builder-iphone-os.mk host=armv6-apple-darwin clean \
|
||||
&& make -f builder-iphone-os.mk host=armv7-apple-darwin clean
|
||||
|
||||
clean-makefile:
|
||||
make -f builder-iphone-simulator.mk clean-makefile \
|
||||
&& make -f builder-iphone-os.mk host=armv6-apple-darwin clean-makefile \
|
||||
&& make -f builder-iphone-os.mk host=armv7-apple-darwin clean-makefile
|
||||
|
||||
veryclean:
|
||||
make -f builder-iphone-simulator.mk veryclean \
|
||||
&& make -f builder-iphone-os.mk host=armv6-apple-darwin veryclean \
|
||||
&& make -f builder-iphone-os.mk host=armv7-apple-darwin veryclean
|
||||
|
||||
|
|
@ -1,287 +0,0 @@
|
|||
############################################################################
|
||||
# builder-generic.mk
|
||||
# Copyright (C) 2009 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
host?=armv7-apple-darwin.ios
|
||||
enable_i386?=no
|
||||
config_site:=iphone-config.site
|
||||
library_mode:= --disable-shared --enable-static
|
||||
linphone_configure_controls = \
|
||||
--with-readline=none \
|
||||
--enable-gtk_ui=no \
|
||||
--enable-console_ui=no \
|
||||
--with-gsm=$(prefix) \
|
||||
--with-srtp=$(prefix) \
|
||||
--with-antlr=$(prefix) \
|
||||
--disable-strict \
|
||||
--disable-nls \
|
||||
--disable-theora \
|
||||
--disable-sdl \
|
||||
--disable-x11 \
|
||||
--disable-tutorials \
|
||||
--disable-tools \
|
||||
--enable-msg-storage=yes \
|
||||
--with-polarssl=$(prefix) \
|
||||
--enable-dtls
|
||||
|
||||
|
||||
#path
|
||||
BUILDER_SRC_DIR?=$(shell pwd)/../
|
||||
ifeq ($(enable_debug),yes)
|
||||
BUILDER_BUILD_DIR?=$(shell pwd)/../build-$(host)-debug
|
||||
linphone_configure_controls += CFLAGS="-g"
|
||||
prefix?=$(BUILDER_SRC_DIR)/../liblinphone-sdk/$(host)-debug
|
||||
else
|
||||
BUILDER_BUILD_DIR?=$(shell pwd)/../build-$(host)
|
||||
prefix?=$(BUILDER_SRC_DIR)/../liblinphone-sdk/$(host)
|
||||
endif
|
||||
|
||||
LINPHONE_SRC_DIR=$(BUILDER_SRC_DIR)/linphone
|
||||
LINPHONE_BUILD_DIR=$(BUILDER_BUILD_DIR)/linphone
|
||||
LINPHONE_IPHONE_VERSION=$(shell git describe --always)
|
||||
|
||||
# list of the submodules to build, the order is important
|
||||
MEDIASTREAMER_PLUGINS := msilbc \
|
||||
libilbc \
|
||||
msamr \
|
||||
mssilk \
|
||||
msx264 \
|
||||
msopenh264 \
|
||||
msbcg729
|
||||
# TODO: add mswebrtc when it is commatible again
|
||||
|
||||
|
||||
SUBMODULES_LIST := polarssl
|
||||
|
||||
ifeq ($(enable_tunnel),yes)
|
||||
SUBMODULES_LIST += tunnel
|
||||
endif
|
||||
|
||||
SUBMODULES_LIST += libantlr \
|
||||
cunit \
|
||||
belle-sip \
|
||||
srtp \
|
||||
speex \
|
||||
libgsm \
|
||||
libvpx \
|
||||
libxml2 \
|
||||
bzrtp \
|
||||
ffmpeg \
|
||||
opus
|
||||
|
||||
# build linphone (which depends on submodules) and then the plugins
|
||||
all: build-linphone $(addprefix build-,$(MEDIASTREAMER_PLUGINS))
|
||||
|
||||
|
||||
|
||||
####################################################################
|
||||
# setup the switches that might trigger a linphone recompilation
|
||||
####################################################################
|
||||
|
||||
enable_gpl_third_parties?=yes
|
||||
enable_ffmpeg?=yes
|
||||
enable_zrtp?=yes
|
||||
|
||||
SWITCHES:=
|
||||
|
||||
ifeq ($(enable_zrtp), yes)
|
||||
linphone_configure_controls+= --enable-zrtp
|
||||
SWITCHES += enable_zrtp
|
||||
else
|
||||
linphone_configure_controls+= --disable-zrtp
|
||||
SWITCHES += disable_zrtp
|
||||
endif
|
||||
|
||||
ifeq ($(enable_tunnel), yes)
|
||||
linphone_configure_controls+= --enable-tunnel
|
||||
SWITCHES += enable_tunnel
|
||||
else
|
||||
linphone_configure_controls+= --disable-tunnel
|
||||
SWITCHES += disable_tunnel
|
||||
endif
|
||||
|
||||
ifeq ($(enable_gpl_third_parties),yes)
|
||||
SWITCHES+= enable_gpl_third_parties
|
||||
|
||||
ifeq ($(enable_ffmpeg), yes)
|
||||
linphone_configure_controls+= --enable-ffmpeg
|
||||
SWITCHES += enable_ffmpeg
|
||||
else
|
||||
linphone_configure_controls+= --disable-ffmpeg
|
||||
SWITCHES += disable_ffmpeg
|
||||
endif
|
||||
|
||||
else # !enable gpl
|
||||
linphone_configure_controls+= --disable-ffmpeg
|
||||
SWITCHES += disable_gpl_third_parties disable_ffmpeg
|
||||
endif
|
||||
|
||||
SWITCHES := $(addprefix $(LINPHONE_BUILD_DIR)/,$(SWITCHES))
|
||||
|
||||
mode_switch_check: $(SWITCHES)
|
||||
#generic rule to force recompilation of linphone if some options require it
|
||||
$(LINPHONE_BUILD_DIR)/enable_% $(LINPHONE_BUILD_DIR)/disable_%:
|
||||
mkdir -p $(LINPHONE_BUILD_DIR)
|
||||
cd $(LINPHONE_BUILD_DIR) && rm -f *able_$*
|
||||
touch $@
|
||||
cd $(LINPHONE_BUILD_DIR) && rm -f Makefile && rm -f oRTP/Makefile && rm -f mediastreamer2/Makefile
|
||||
|
||||
####################################################################
|
||||
# Base rules:
|
||||
####################################################################
|
||||
|
||||
|
||||
clean-makefile: clean-makefile-linphone
|
||||
clean: clean-linphone
|
||||
init:
|
||||
mkdir -p $(prefix)/include
|
||||
mkdir -p $(prefix)/lib/pkgconfig
|
||||
|
||||
veryclean: veryclean-linphone
|
||||
rm -rf $(BUILDER_BUILD_DIR)
|
||||
|
||||
list-packages:
|
||||
@echo "Submodules:"
|
||||
@echo "$(addprefix \nbuild-,$(SUBMODULES_LIST))"
|
||||
@echo "\nPlugins: "
|
||||
@echo "$(addprefix \nbuild-,$(MEDIASTREAMER_PLUGINS))"
|
||||
|
||||
####################################################################
|
||||
# Linphone compilation
|
||||
####################################################################
|
||||
|
||||
build-submodules: $(addprefix build-,$(SUBMODULES_LIST))
|
||||
|
||||
.NOTPARALLEL build-linphone: init build-submodules mode_switch_check $(LINPHONE_BUILD_DIR)/Makefile
|
||||
cd $(LINPHONE_BUILD_DIR) && \
|
||||
export PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig && \
|
||||
export CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) && \
|
||||
make newdate && make all && make install
|
||||
mkdir -p $(prefix)/share/linphone/tutorials && cp -f $(LINPHONE_SRC_DIR)/coreapi/help/*.c $(prefix)/share/linphone/tutorials/
|
||||
|
||||
clean-linphone: $(addprefix clean-,$(SUBMODULES_LIST)) $(addprefix clean-,$(MEDIASTREAMER_PLUGINS))
|
||||
cd $(LINPHONE_BUILD_DIR) && make clean
|
||||
|
||||
veryclean-linphone: $(addprefix veryclean-,$(SUBMODULES_LIST)) $(addprefix veryclean-,$(MEDIASTREAMER_PLUGINS))
|
||||
#-cd $(LINPHONE_BUILD_DIR) && make distclean
|
||||
-cd $(LINPHONE_SRC_DIR) && rm -f configure
|
||||
|
||||
clean-makefile-linphone: $(addprefix clean-makefile-,$(SUBMODULES_LIST)) $(addprefix clean-makefile-,$(MEDIASTREAMER_PLUGINS))
|
||||
cd $(LINPHONE_BUILD_DIR) && rm -f Makefile && rm -f oRTP/Makefile && rm -f mediastreamer2/Makefile
|
||||
|
||||
|
||||
$(LINPHONE_SRC_DIR)/configure:
|
||||
cd $(LINPHONE_SRC_DIR) && ./autogen.sh
|
||||
|
||||
$(LINPHONE_BUILD_DIR)/Makefile: $(LINPHONE_SRC_DIR)/configure
|
||||
mkdir -p $(LINPHONE_BUILD_DIR)
|
||||
@echo -e "\033[1mPKG_CONFIG_LIBDIR=$(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_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(LINPHONE_SRC_DIR)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \
|
||||
${linphone_configure_controls}
|
||||
|
||||
|
||||
#libphone only (asume dependencies are met)
|
||||
build-liblinphone: $(LINPHONE_BUILD_DIR)/Makefile
|
||||
cd $(LINPHONE_BUILD_DIR) && export PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig export CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make newdate && make && make install
|
||||
|
||||
clean-makefile-liblinphone:
|
||||
cd $(LINPHONE_BUILD_DIR) && rm -f Makefile && rm -f oRTP/Makefile && rm -f mediastreamer2/Makefile
|
||||
|
||||
clean-liblinphone:
|
||||
cd $(LINPHONE_BUILD_DIR) && make clean
|
||||
|
||||
|
||||
include builders.d/*.mk
|
||||
|
||||
####################################################################
|
||||
# sdk generation and distribution
|
||||
####################################################################
|
||||
|
||||
multi-arch:
|
||||
@arm_archives=`find $(prefix) -name *.a` ;\
|
||||
mkdir -p $(prefix)/../apple-darwin; \
|
||||
cp -rf $(prefix)/include $(prefix)/../apple-darwin/. ; \
|
||||
cp -rf $(prefix)/share $(prefix)/../apple-darwin/. ; \
|
||||
for archive in $$arm_archives ; do \
|
||||
i386_path=`echo $$archive | sed -e "s/armv7/i386/"` ;\
|
||||
arm64_path=`echo $$archive | sed -e "s/armv7/aarch64/"` ;\
|
||||
x64_path=`echo $$archive | sed -e "s/armv7/x86_64/"` ;\
|
||||
destpath=`echo $$archive | sed -e "s/-debug//" | sed -e "s/armv7-//" | sed -e "s/\.ios//"` ;\
|
||||
all_paths=`echo $$archive $$arm64_path`; \
|
||||
all_archs="armv7,aarch64"; \
|
||||
mkdir -p `dirname $$destpath` ; \
|
||||
if test $(enable_i386) = yes ; then \
|
||||
if test -f "$$i386_path"; then \
|
||||
all_paths=`echo $$all_paths $$i386_path`; \
|
||||
all_archs="$$all_archs,i386" ; \
|
||||
else \
|
||||
echo "WARNING: archive `basename $$archive` exists in arm tree but does not exists in i386 tree: $$i386_path."; \
|
||||
fi; \
|
||||
fi; \
|
||||
if test -f "$$x64_path"; then \
|
||||
all_paths=`echo $$all_paths $$x64_path`; \
|
||||
all_archs="$$all_archs,x86_64" ; \
|
||||
else \
|
||||
echo "WARNING: archive `basename $$archive` exists in arm tree but does not exists in x86_64 tree: $$x64_path."; \
|
||||
fi; \
|
||||
echo "[$$all_archs] Mixing `basename $$archive` in $$destpath"; \
|
||||
lipo -create $$all_paths -output $$destpath; \
|
||||
done
|
||||
if ! test -f $(prefix)/../apple-darwin/lib/libtunnel.a ; then \
|
||||
cp -f $(BUILDER_SRC_DIR)/../submodules/binaries/libdummy.a $(prefix)/../apple-darwin/lib/libtunnel.a ; \
|
||||
fi
|
||||
|
||||
|
||||
delivery-sdk: multi-arch
|
||||
echo "Generating SDK zip file for version $(LINPHONE_IPHONE_VERSION)"
|
||||
cd $(BUILDER_SRC_DIR)/../ \
|
||||
&& zip -r $(BUILDER_SRC_DIR)/liblinphone-iphone-sdk-$(LINPHONE_IPHONE_VERSION).zip \
|
||||
liblinphone-sdk/apple-darwin \
|
||||
liblinphone-tutorials \
|
||||
-x liblinphone-tutorials/hello-world/build\* \
|
||||
-x liblinphone-tutorials/hello-world/hello-world.xcodeproj/*.pbxuser \
|
||||
-x liblinphone-tutorials/hello-world/hello-world.xcodeproj/*.mode1v3
|
||||
|
||||
download-sdk:
|
||||
@echo "Downloading the latest binary SDK"
|
||||
cd $(BUILDER_SRC_DIR)/../
|
||||
rm -fr liblinphone-iphone-sdk-latest*
|
||||
wget http://linphone.org/snapshots/ios/liblinphone-iphone-sdk-latest.zip
|
||||
unzip -o -q liblinphone-iphone-sdk-latest.zip
|
||||
rm -fr ../../liblinphone-sdk/
|
||||
mv liblinphone-sdk ../..
|
||||
|
||||
.PHONY delivery:
|
||||
cd $(BUILDER_SRC_DIR)/../../ \
|
||||
&& zip -r $(BUILDER_SRC_DIR)/linphone-iphone.zip \
|
||||
linphone-iphone \
|
||||
-x linphone-iphone/build\* \
|
||||
--exclude linphone-iphone/.git\* --exclude \*.[od] --exclude \*.so.\* --exclude \*.a --exclude linphone-iphone/liblinphone-sdk/apple-darwin/\* --exclude \*.lo
|
||||
|
||||
ipa:
|
||||
cd $(BUILDER_SRC_DIR)/../ \
|
||||
&& xcodebuild -configuration Release \
|
||||
&& xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/linphone.app -o $(BUILDER_SRC_DIR)/../linphone-iphone.ipa
|
||||
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
############################################################################
|
||||
# belle-sip.mk
|
||||
# Copyright (C) 2013 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.
|
||||
#
|
||||
############################################################################
|
||||
belle-sip_dir?=belle-sip
|
||||
$(BUILDER_SRC_DIR)/$(belle-sip_dir)/configure:
|
||||
cd $(BUILDER_SRC_DIR)/$(belle-sip_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(belle-sip_dir)/Makefile: $(BUILDER_SRC_DIR)/$(belle-sip_dir)/configure
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(belle-sip_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(belle-sip_dir)/ \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(belle-sip_dir)/configure --prefix=$(prefix) --host=$(host) ${library_mode} --enable-tls --enable-tunnel --with-polarssl=$(prefix) --disable-tests
|
||||
|
||||
build-belle-sip: $(BUILDER_BUILD_DIR)/$(belle-sip_dir)/Makefile
|
||||
cd $(BUILDER_BUILD_DIR)/$(belle-sip_dir) && PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
||||
|
||||
clean-belle-sip:
|
||||
cd $(BUILDER_BUILD_DIR)/$(belle-sip_dir) && make clean
|
||||
|
||||
veryclean-belle-sip:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(belle-sip_dir) && make distclean
|
||||
rm -f $(BUILDER_SRC_DIR)/$(belle-sip_dir)/configure
|
||||
|
||||
clean-makefile-belle-sip:
|
||||
cd $(BUILDER_BUILD_DIR)/$(belle-sip_dir) && rm -f Makefile
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
cunit_dir?=cunit
|
||||
SRC_CUNIT=$(BUILDER_SRC_DIR)/${cunit_dir}
|
||||
BUILD_CUNIT=$(BUILDER_BUILD_DIR)/${cunit_dir}
|
||||
|
||||
${BUILD_CUNIT}/CMakeCache.txt:
|
||||
mkdir -p ${BUILD_CUNIT} && \
|
||||
cd ${BUILD_CUNIT} && \
|
||||
cmake -DENABLE_STATIC=YES -DCMAKE_TOOLCHAIN_FILE=$(BUILDER_SRC_DIR)/build/toolchain.cmake \
|
||||
-DIOS_ARCH=${ARCH} -DCMAKE_INSTALL_PREFIX=$(prefix) ${SRC_CUNIT}
|
||||
|
||||
build-cunit: ${BUILD_CUNIT}/CMakeCache.txt
|
||||
cd ${BUILD_CUNIT} && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
clean-cunit:
|
||||
cd $(BUILD_CUNIT)/$(cunit_dir) && \
|
||||
make clean
|
||||
|
||||
veryclean-cunit:
|
||||
rm -rf $(BUILD_CUNIT)/$(cunit_dir)
|
||||
|
||||
clean-makefile-cunit: veryclean-cunit
|
||||
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
ffmpeg_configure_options=\
|
||||
--disable-mmx \
|
||||
--enable-cross-compile \
|
||||
--disable-ffprobe --disable-ffserver --disable-avdevice --disable-doc \
|
||||
--disable-avfilter --disable-network \
|
||||
--disable-everything --enable-decoder=mjpeg --enable-encoder=mjpeg --enable-decoder=mpeg4 --enable-encoder=mpeg4 \
|
||||
--enable-decoder=h264 --disable-avformat --enable-pic\
|
||||
--enable-decoder=h263p --enable-encoder=h263p --enable-decoder=h263 --enable-encoder=h263 \
|
||||
--cross-prefix=$$SDK_BIN_PATH/ \
|
||||
--sysroot=$$SYSROOT_PATH --arch=$$ARCH \
|
||||
--enable-static --disable-shared --target-os=darwin \
|
||||
--extra-cflags="-w $$COMMON_FLAGS" --extra-ldflags="$$COMMON_FLAGS" \
|
||||
--disable-iconv \
|
||||
--ar="$$AR" \
|
||||
--nm="$$NM" \
|
||||
--cc="$$CC"
|
||||
|
||||
# --as=$(BUILDER_SRC_DIR)/externals/x264/extras/gas-preprocessor.pl
|
||||
|
||||
#--sysinclude=PATH location of cross-build system headers
|
||||
ifneq (,$(findstring armv6,$(host)))
|
||||
ffmpeg_configure_options+= --cpu=arm1176jzf-s --disable-armv5te --enable-armv6 --enable-armv6t2
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring armv7,$(host)))
|
||||
ffmpeg_configure_options+= --enable-neon --cpu=cortex-a8 --disable-armv5te --enable-armv6 --enable-armv6t2
|
||||
endif
|
||||
|
||||
ffmpeg_dir?=externals/ffmpeg
|
||||
$(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:
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(ffmpeg_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir)/ \
|
||||
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& $(BUILDER_SRC_DIR)/$(ffmpeg_dir)/configure --prefix=$(prefix) $(ffmpeg_configure_options)
|
||||
|
||||
build-ffmpeg: $(BUILDER_BUILD_DIR)/$(ffmpeg_dir)/config.mak
|
||||
cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) \
|
||||
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig make RANLIB="$$RANLIB" && make RANLIB="$$RANLIB" install
|
||||
|
||||
clean-ffmpeg:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) && make clean
|
||||
|
||||
veryclean-ffmpeg:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) && make distclean
|
||||
rm -rf $(BUILDER_BUILD_DIR)/$(ffmpeg_dir)
|
||||
|
||||
clean-makefile-ffmpeg:
|
||||
cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) && rm -f config.mak
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
|
||||
#GSM
|
||||
|
||||
gsm_dir?=externals/gsm
|
||||
|
||||
|
||||
build-libgsm:
|
||||
cp -rf $(BUILDER_SRC_DIR)/$(gsm_dir) $(BUILDER_BUILD_DIR)/$(gsm_dir)
|
||||
rm -rf $(BUILDER_BUILD_DIR)/$(gsm_dir)/gsm/.git $(BUILDER_BUILD_DIR)/$(gsm_dir)/.git
|
||||
rm -f $(prefix)/lib/libgsm.a
|
||||
rm -rf $(prefix)/include/gsm
|
||||
cd $(BUILDER_BUILD_DIR)/$(gsm_dir)\
|
||||
&& mkdir -p $(prefix)/include/gsm \
|
||||
&& host_alias=$(host) . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& make -j1 CC="$${CC}" INSTALL_ROOT=$(prefix) GSM_INSTALL_INC=$(prefix)/include/gsm install
|
||||
|
||||
clean-libgsm:
|
||||
cd $(BUILDER_BUILD_DIR)/$(gsm_dir)\
|
||||
&& make clean
|
||||
|
||||
veryclean-libgsm:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(gsm_dir) \
|
||||
&& make uninstall
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
############################################################################
|
||||
# libantlr.mk
|
||||
# Copyright (C) 2013 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.
|
||||
#
|
||||
############################################################################
|
||||
libantlr_dir?=externals/antlr3/runtime/C
|
||||
$(BUILDER_SRC_DIR)/$(libantlr_dir)/configure:
|
||||
cd $(BUILDER_SRC_DIR)/$(libantlr_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(libantlr_dir)/Makefile: $(BUILDER_SRC_DIR)/$(libantlr_dir)/configure
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(libantlr_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(libantlr_dir)/ \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(libantlr_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode}
|
||||
|
||||
build-libantlr: $(BUILDER_BUILD_DIR)/$(libantlr_dir)/Makefile
|
||||
cd $(BUILDER_BUILD_DIR)/$(libantlr_dir) && PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
||||
|
||||
clean-libantlr:
|
||||
cd $(BUILDER_BUILD_DIR)/$(libantlr_dir) && make clean
|
||||
|
||||
veryclean-libantlr:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(libantlr_dir) && make distclean
|
||||
rm -f $(BUILDER_SRC_DIR)/$(libantlr_dir)/configure
|
||||
|
||||
clean-makefile-libantlr:
|
||||
cd $(BUILDER_BUILD_DIR)/$(libantlr_dir) && rm -f Makefile
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
|
||||
# libilbc
|
||||
|
||||
|
||||
LIBILBC_SRC_DIR:=$(BUILDER_SRC_DIR)/libilbc-rfc3951
|
||||
LIBILBC_BUILD_DIR:=$(BUILDER_BUILD_DIR)/libilbc-rfc3951
|
||||
|
||||
$(LIBILBC_SRC_DIR)/configure:
|
||||
cd $(LIBILBC_SRC_DIR) && ./autogen.sh
|
||||
|
||||
$(LIBILBC_BUILD_DIR)/Makefile: $(LIBILBC_SRC_DIR)/configure
|
||||
mkdir -p $(LIBILBC_BUILD_DIR)
|
||||
cd $(LIBILBC_BUILD_DIR) && \
|
||||
PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(LIBILBC_SRC_DIR)/configure -prefix=$(prefix) --host=$(host) $(library_mode)
|
||||
|
||||
build-libilbc: $(LIBILBC_BUILD_DIR)/Makefile
|
||||
cd $(LIBILBC_BUILD_DIR) && make && make install && \
|
||||
mv $(prefix)/lib/libilbc.a $(prefix)/lib/libilbcrfc3951.a
|
||||
|
||||
clean-libilbc:
|
||||
cd $(LIBILBC_BUILD_DIR) && make clean
|
||||
|
||||
veryclean-libilbc:
|
||||
-cd $(LIBILBC_BUILD_DIR) && make distclean
|
||||
-rm -f $(LIBILBC_SRC_DIR)/configure
|
||||
|
||||
clean-makefile-libilbc:
|
||||
cd $(LIBILBC_BUILD_DIR) && rm -f Makefile
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
|
||||
|
||||
# /!\ Unset compiler env variable is set by user to avoid error in configure such as:
|
||||
# 1) Requested extra CFLAGS '-fno-strict-aliasing' not supported by compiler
|
||||
# OR
|
||||
# 2) Unable to invoke compiler
|
||||
unexport CC
|
||||
|
||||
libvpx_dir?=externals/libvpx
|
||||
|
||||
libvpx_configure_options=\
|
||||
--enable-static --disable-shared \
|
||||
--disable-examples --disable-unit-tests \
|
||||
--enable-realtime-only --enable-spatial-resampling \
|
||||
--enable-vp8 --enable-multithread --disable-vp9
|
||||
|
||||
|
||||
ifeq ($(enable_debug),yes)
|
||||
libvpx_configure_options += --enable-debug
|
||||
endif
|
||||
|
||||
take_binary=
|
||||
|
||||
# force take binary, it seems libvpx was fixed since http://git.chromium.org/gitweb/?p=webm/libvpx.git;a=commit;h=33df6d1fc1d268b4901b74b4141f83594266f041
|
||||
force_non_binary_libvpx=1
|
||||
|
||||
ifneq (,$(findstring armv6,$(host)))
|
||||
libvpx_configure_options+= --target=armv6-darwin-gcc --cpu=arm1176jzf-s
|
||||
else ifneq (,$(findstring armv7s,$(host)))
|
||||
libvpx_configure_options+= --target=armv7s-darwin-gcc
|
||||
take_binary = armv7s
|
||||
else ifneq (,$(findstring armv7,$(host)))
|
||||
libvpx_configure_options+= --target=armv7-darwin-gcc
|
||||
take_binary = armv7
|
||||
else ifneq (,$(findstring aarch64,$(host)))
|
||||
libvpx_configure_options+= --target=arm64-darwin-gcc
|
||||
take_binary = arm64
|
||||
else ifneq (,$(findstring x86_64,$(host)))
|
||||
libvpx_configure_options+= --target=x86_64-iphonesimulator-gcc
|
||||
take_binary = x86_64
|
||||
else
|
||||
libvpx_configure_options+= --target=x86-darwin10-gcc
|
||||
take_binary = i386
|
||||
endif
|
||||
|
||||
ifeq ($(LINPHONE_CCACHE),ccache)
|
||||
libvpx_configure_options+= --enable-ccache
|
||||
endif
|
||||
|
||||
|
||||
|
||||
all_p+=armv7-darwin-gcc #neon Cortex-A8
|
||||
|
||||
ifeq ($(force_non_binary_libvpx),1)
|
||||
take_binary=
|
||||
libvpx_configure_options+= --extra-cflags="-fno-strict-aliasing"
|
||||
endif
|
||||
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk:
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(libvpx_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir)/ \
|
||||
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& export all_platforms="${all_p}" && $(BUILDER_SRC_DIR)/$(libvpx_dir)/configure --prefix=$(prefix) --sdk-path=$$SDK_BIN_PATH/../../ --libc=$$SYSROOT_PATH $(libvpx_configure_options)
|
||||
|
||||
build-libvpx: $(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk
|
||||
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) \
|
||||
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
||||
ifeq ($(force_non_binary_libvpx),1)
|
||||
@echo "\033[01;32m DON'T get BINARY version of libvpx for $(take_binary), because 'force_non_binary_libvpx' is 1 \033[0m"
|
||||
endif
|
||||
ifneq (,$(take_binary))
|
||||
# sometimes when clang gets updated we have to take binary version of libvpx for ARM because the compiler introduces bugs in optimized assembly
|
||||
@echo "\033[01;32m Getting BINARY version of libvpx for $(take_binary) \033[0m"
|
||||
cp $(BUILDER_SRC_DIR)/binaries/libvpx-$(take_binary).a $(prefix)/lib/libvpx.a
|
||||
endif
|
||||
|
||||
clean-libvpx:
|
||||
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && make clean
|
||||
|
||||
veryclean-libvpx:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && make distclean
|
||||
cd $(BUILDER_SRC_DIR)/$(libvpx_dir) \
|
||||
&& git clean -f && git reset --hard
|
||||
rm -rf $(BUILDER_BUILD_DIR)/$(libvpx_dir)
|
||||
|
||||
clean-makefile-libvpx:
|
||||
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && rm -f config.mak
|
||||
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
############################################################################
|
||||
# libxml2.mk
|
||||
# Copyright (C) 2013 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.
|
||||
#
|
||||
############################################################################
|
||||
libxml2_dir?=externals/libxml2
|
||||
|
||||
libxml2_configure_options= --enable-static --disable-shared
|
||||
libxml2_configure_options+= --disable-rebuild-docs --enable-rebuild-docs=no --with-iconv=no --with-python=no --with-zlib=no
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(libxml2_dir)/patched.stamp:
|
||||
cd $(BUILDER_SRC_DIR)/$(libxml2_dir) \
|
||||
&& git apply $(BUILDER_SRC_DIR)/build/builders.d/libxml2.patch \
|
||||
&& touch $@
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(libxml2_dir)/configure: $(BUILDER_SRC_DIR)/$(libxml2_dir)/patched.stamp
|
||||
@echo -e "\033[01;32m Running autogen for libxml2 in $(BUILDER_SRC_DIR)/$(libxml2_dir) \033[0m"
|
||||
cd $(BUILDER_SRC_DIR)/$(libxml2_dir) \
|
||||
&& PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) NOCONFIGURE=1 \
|
||||
$(BUILDER_SRC_DIR)/$(libxml2_dir)/autogen.sh -prefix=$(prefix) --host=$(host) ${library_mode}
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(libxml2_dir)/Makefile: $(BUILDER_SRC_DIR)/$(libxml2_dir)/configure
|
||||
@echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(libxml2_dir) \033[0m"
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(libxml2_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) \
|
||||
&& PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(libxml2_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} ${libxml2_configure_options} CFLAGS=-w
|
||||
|
||||
build-libxml2: $(BUILDER_BUILD_DIR)/$(libxml2_dir)/Makefile
|
||||
@echo -e "\033[01;32m building libxml2 \033[0m"
|
||||
cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) \
|
||||
&& PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
make && make install
|
||||
|
||||
clean-libxml2:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) && make clean
|
||||
|
||||
veryclean-libxml2:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) && make distclean
|
||||
rm -f $(BUILDER_SRC_DIR)/$(libxml2_dir)/configure
|
||||
cd $(BUILDER_SRC_DIR)/$(libxml2_dir) \
|
||||
&& git checkout configure.in \
|
||||
&& rm -f patched.stamp
|
||||
|
||||
clean-makefile-libxml2:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) && rm -f Makefile
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/configure.in b/configure.in
|
||||
index 0fb4983..a5f86ca 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -1,7 +1,7 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT(entities.c)
|
||||
-AM_CONFIG_HEADER(config.h)
|
||||
+AC_CONFIG_HEADERS(config.h)
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
############################################################################
|
||||
# msamr.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.
|
||||
#
|
||||
############################################################################
|
||||
msamr_dir?=msamr
|
||||
|
||||
configure-options=
|
||||
ifeq ($(LINPHONE_CCACHE), ccache)
|
||||
configure-options+= --disable-strict
|
||||
endif
|
||||
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(msamr_dir)/configure:
|
||||
cd $(BUILDER_SRC_DIR)/$(msamr_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(msamr_dir)/Makefile: $(BUILDER_SRC_DIR)/$(msamr_dir)/configure
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(msamr_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(msamr_dir)/ \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(msamr_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} ${configure-options}
|
||||
|
||||
build-msamr: build-opencore-amr $(BUILDER_BUILD_DIR)/$(msamr_dir)/Makefile
|
||||
cd $(BUILDER_BUILD_DIR)/$(msamr_dir) && PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
||||
|
||||
clean-msamr: clean-opencore-amr
|
||||
cd $(BUILDER_BUILD_DIR)/$(msamr_dir) && make clean
|
||||
|
||||
veryclean-msamr: veryclean-opencore-amr
|
||||
-cd $(BUILDER_BUILD_DIR)/$(msamr_dir) && make distclean
|
||||
rm -f $(BUILDER_SRC_DIR)/$(msamr_dir)/configure
|
||||
|
||||
clean-makefile-msamr: clean-makefile-opencore-amr
|
||||
cd $(BUILDER_BUILD_DIR)/$(msamr_dir) && rm -f Makefile
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
############################################################################
|
||||
# msbcg729.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.
|
||||
#
|
||||
############################################################################
|
||||
msbcg729_dir?=bcg729
|
||||
enable_bcg729?=yes
|
||||
|
||||
configure-options=
|
||||
ifeq ($(LINPHONE_CCACHE), ccache)
|
||||
configure-options+= --disable-strict
|
||||
endif
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(msbcg729_dir)/configure:
|
||||
@echo -e "\033[01;32m Running autogen for msbcg729 in $(BUILDER_SRC_DIR)/$(msbcg729_dir) \033[0m"
|
||||
cd $(BUILDER_SRC_DIR)/$(msbcg729_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(msbcg729_dir)/Makefile: $(BUILDER_SRC_DIR)/$(msbcg729_dir)/configure
|
||||
@echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(msbcg729_dir) \033[0m"
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(msbcg729_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir)/ \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(msbcg729_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \
|
||||
--enable-static ${configure-options}
|
||||
|
||||
ifeq ($(enable_bcg729),yes)
|
||||
|
||||
build-msbcg729: $(BUILDER_BUILD_DIR)/$(msbcg729_dir)/Makefile
|
||||
@echo -e "\033[01;32m building bcg729 \033[0m"
|
||||
cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir) \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig \
|
||||
CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
make -j1 && make install
|
||||
|
||||
|
||||
else
|
||||
build-msbcg729:
|
||||
@echo "G729 is disabled"
|
||||
|
||||
endif
|
||||
|
||||
clean-msbcg729:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir) && make clean
|
||||
|
||||
veryclean-msbcg729:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir) && make distclean
|
||||
rm -f $(BUILDER_SRC_DIR)/$(msbcg729_dir)/configure
|
||||
|
||||
clean-makefile-msbcg729:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir) && rm -f Makefile
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
|
||||
# msilbc plugin
|
||||
|
||||
msilbc_dir?=msilbc
|
||||
|
||||
MSILBC_SRC_DIR:=$(BUILDER_SRC_DIR)/$(msilbc_dir)
|
||||
MSILBC_BUILD_DIR:=$(BUILDER_BUILD_DIR)/$(msilbc_dir)
|
||||
|
||||
$(MSILBC_SRC_DIR)/configure:
|
||||
cd $(MSILBC_SRC_DIR) && ./autogen.sh
|
||||
|
||||
$(MSILBC_BUILD_DIR)/Makefile: $(MSILBC_SRC_DIR)/configure
|
||||
mkdir -p $(MSILBC_BUILD_DIR)
|
||||
cd $(MSILBC_BUILD_DIR) && \
|
||||
PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(MSILBC_SRC_DIR)/configure -prefix=$(prefix) --host=$(host) $(library_mode)
|
||||
|
||||
build-msilbc: build-libilbc $(MSILBC_BUILD_DIR)/Makefile
|
||||
cd $(MSILBC_BUILD_DIR) && make && make install
|
||||
|
||||
clean-msilbc:
|
||||
cd $(MSILBC_BUILD_DIR) && make clean
|
||||
|
||||
veryclean-msilbc:
|
||||
# -cd $(MSILBC_BUILD_DIR) && make distclean
|
||||
-cd $(MSILBC_SRC_DIR) && rm configure
|
||||
|
||||
clean-makefile-msilbc:
|
||||
cd $(MSILBC_BUILD_DIR) && rm -f Makefile
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
############################################################################
|
||||
# msopenh264.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.
|
||||
#
|
||||
############################################################################
|
||||
msopenh264_dir?=msopenh264
|
||||
$(BUILDER_SRC_DIR)/$(msopenh264_dir)/configure:
|
||||
cd $(BUILDER_SRC_DIR)/$(msopenh264_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(msopenh264_dir)/Makefile: $(BUILDER_SRC_DIR)/$(msopenh264_dir)/configure
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(msopenh264_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(msopenh264_dir)/ \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(msopenh264_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode}
|
||||
|
||||
build-msopenh264: build-openh264 $(BUILDER_BUILD_DIR)/$(msopenh264_dir)/Makefile
|
||||
cd $(BUILDER_BUILD_DIR)/$(msopenh264_dir) && PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
||||
|
||||
clean-msopenh264: clean-openh264
|
||||
cd $(BUILDER_BUILD_DIR)/$(msopenh264_dir) && make clean
|
||||
|
||||
veryclean-msopenh264: veryclean-openh264
|
||||
-cd $(BUILDER_BUILD_DIR)/$(msopenh264_dir) && make distclean
|
||||
-cd $(BUILDER_SRC_DIR)/$(msopenh264_dir) && rm -f configure
|
||||
|
||||
clean-makefile-msopenh264: clean-makefile-openh264
|
||||
cd $(BUILDER_BUILD_DIR)/$(msopenh264_dir) && rm -f Makefile
|
||||
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
############################################################################
|
||||
# mssilk.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.
|
||||
#
|
||||
############################################################################
|
||||
mssilk_dir?=mssilk
|
||||
enable_silk?=yes
|
||||
|
||||
configure-options=
|
||||
ifeq ($(LINPHONE_CCACHE), ccache)
|
||||
configure-options+= --disable-strict
|
||||
endif
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(mssilk_dir)/configure:
|
||||
@echo -e "\033[01;32m Running autogen for mssilk in $(BUILDER_SRC_DIR)/$(mssilk_dir) \033[0m"
|
||||
cd $(BUILDER_SRC_DIR)/$(mssilk_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(mssilk_dir)/Makefile: $(BUILDER_SRC_DIR)/$(mssilk_dir)/configure
|
||||
@echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(mssilk_dir) \033[0m"
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(mssilk_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(mssilk_dir)/ \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(mssilk_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \
|
||||
--enable-static ${configure-options}
|
||||
|
||||
ifeq ($(enable_silk),yes)
|
||||
|
||||
build-mssilk: $(BUILDER_BUILD_DIR)/$(mssilk_dir)/Makefile
|
||||
@echo -e "\033[01;32m building silk \033[0m"
|
||||
cd $(BUILDER_BUILD_DIR)/$(mssilk_dir) \
|
||||
&& PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig \
|
||||
CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
make -j1 && make install
|
||||
ifeq ($(host),armv7-apple-darwin)
|
||||
echo -e "\033[01;32m Getting BINARY version of silk for armV7 \033[0m"
|
||||
cp $(BUILDER_SRC_DIR)/$(mssilk_dir)/ios_bin/armv7/libSKP_SILK_SDK.a $(prefix)/lib/
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
build-mssilk:
|
||||
echo "SILK is disabled"
|
||||
|
||||
endif # enable_silk
|
||||
|
||||
clean-mssilk:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(mssilk_dir) && make clean
|
||||
|
||||
veryclean-mssilk:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(mssilk_dir) && make distclean
|
||||
rm -f $(BUILDER_SRC_DIR)/$(mssilk_dir)/configure
|
||||
|
||||
clean-makefile-mssilk:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(mssilk_dir) && rm -f Makefile
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
############################################################################
|
||||
# mswebrtc.mk
|
||||
# Copyright (C) 2014 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.
|
||||
#
|
||||
############################################################################
|
||||
mswebrtc_dir?=mswebrtc
|
||||
|
||||
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(mswebrtc_dir)/configure:
|
||||
cd $(BUILDER_SRC_DIR)/$(mswebrtc_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(mswebrtc_dir)/Makefile: $(BUILDER_SRC_DIR)/$(mswebrtc_dir)/configure
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(mswebrtc_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(mswebrtc_dir)/ \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(mswebrtc_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} --disable-aec CFLAGS="-Wno-error"
|
||||
|
||||
build-mswebrtc: $(BUILDER_BUILD_DIR)/$(mswebrtc_dir)/Makefile
|
||||
cd $(BUILDER_BUILD_DIR)/$(mswebrtc_dir) && PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
||||
|
||||
clean-mswebrtc:
|
||||
cd $(BUILDER_BUILD_DIR)/$(mswebrtc_dir) && make clean
|
||||
|
||||
veryclean-mswebrtc:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(mswebrtc_dir) && make distclean
|
||||
-cd $(BUILDER_SRC_DIR)/$(mswebrtc_dir) && rm -f configure
|
||||
|
||||
clean-makefile-mswebrtc:
|
||||
cd $(BUILDER_BUILD_DIR)/$(mswebrtc_dir) && rm -f Makefile
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
############################################################################
|
||||
# msx264.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.
|
||||
#
|
||||
############################################################################
|
||||
msx264_dir?=msx264
|
||||
|
||||
configure-options=
|
||||
ifeq ($(LINPHONE_CCACHE), ccache)
|
||||
configure-options+= --disable-strict
|
||||
endif
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(msx264_dir)/configure:
|
||||
cd $(BUILDER_SRC_DIR)/$(msx264_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(msx264_dir)/Makefile: $(BUILDER_SRC_DIR)/$(msx264_dir)/configure
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(msx264_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(msx264_dir)/ \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(msx264_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} ${configure-options}
|
||||
|
||||
build-msx264: build-x264 $(BUILDER_BUILD_DIR)/$(msx264_dir)/Makefile
|
||||
cd $(BUILDER_BUILD_DIR)/$(msx264_dir) && PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
||||
|
||||
clean-msx264: clean-x264
|
||||
cd $(BUILDER_BUILD_DIR)/$(msx264_dir) && make clean
|
||||
|
||||
veryclean-msx264: veryclean-x264
|
||||
-cd $(BUILDER_BUILD_DIR)/$(msx264_dir) && make distclean
|
||||
-cd $(BUILDER_SRC_DIR)/$(msx264_dir) && rm -f configure
|
||||
|
||||
clean-makefile-msx264: clean-makefile-x264
|
||||
cd $(BUILDER_BUILD_DIR)/$(msx264_dir) && rm -f Makefile
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
############################################################################
|
||||
# opencore-amr.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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
opencore-amr_dir?=externals/opencore-amr
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(opencore-amr_dir)/autoreconf.stamp: $(BUILDER_SRC_DIR)/$(opencore-amr_dir)/configure.ac
|
||||
cd $(BUILDER_SRC_DIR)/$(opencore-amr_dir) \
|
||||
&& libtoolize --copy --force \
|
||||
&& aclocal -I m4 \
|
||||
&& automake --add-missing --force-missing --copy && autoreconf && touch autoreconf.stamp
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(opencore-amr_dir)/Makefile: $(BUILDER_SRC_DIR)/$(opencore-amr_dir)/autoreconf.stamp
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(opencore-amr_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(opencore-amr_dir)/ \
|
||||
&& CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(opencore-amr_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} ${opencore-amr-configure-option}
|
||||
|
||||
build-opencore-amr: $(BUILDER_BUILD_DIR)/$(opencore-amr_dir)/Makefile
|
||||
cd $(BUILDER_BUILD_DIR)/$(opencore-amr_dir) && PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install
|
||||
|
||||
clean-opencore-amr:
|
||||
cd $(BUILDER_BUILD_DIR)/$(opencore-amr_dir) && make clean
|
||||
|
||||
veryclean-opencore-amr:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(opencore-amr_dir) && make distclean
|
||||
-rm -rf $(BUILDER_BUILD_DIR)/$(opencore-amr_dir)
|
||||
|
||||
clean-makefile-opencore-amr:
|
||||
cd $(BUILDER_BUILD_DIR)/$(opencore-amr_dir) && rm -f Makefile
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
commit 6b3de978d928b6c0baec3305c9803c21a4367d0c
|
||||
Author: Simon Morlat <simon.morlat@linphone.org>
|
||||
Date: Tue Apr 15 15:19:37 2014 +0200
|
||||
|
||||
permissive mode: allow reference frames to be used even if there were lost slices.
|
||||
|
||||
diff --git a/codec/decoder/core/src/manage_dec_ref.cpp b/codec/decoder/core/src/manage_dec_ref.cpp
|
||||
index dcf61ca..5582ec9 100644
|
||||
--- a/codec/decoder/core/src/manage_dec_ref.cpp
|
||||
+++ b/codec/decoder/core/src/manage_dec_ref.cpp
|
||||
@@ -165,6 +165,7 @@ int32_t WelsReorderRefList (PWelsDecoderContext pCtx) {
|
||||
&& (pSliceHeader->iSpsId != ppRefList[i]->iSpsId)) { //check;
|
||||
WelsLog (pCtx, WELS_LOG_WARNING, "WelsReorderRefList()-1::::BASE LAYER::::iSpsId:%d, ref_sps_id:%d\n",
|
||||
pSliceHeader->iSpsId, ppRefList[i]->iSpsId);
|
||||
+ return ERR_NONE;
|
||||
pCtx->iErrorCode = dsNoParamSets; //cross-IDR reference frame selection, SHOULD request IDR.--
|
||||
return ERR_INFO_REFERENCE_PIC_LOST;
|
||||
} else {
|
||||
|
||||
commit a1f3b95ad18d0788c2c803fac80e78d6365673ce
|
||||
Author: Simon Morlat <simon.morlat@linphone.org>
|
||||
Date: Tue Apr 15 17:54:58 2014 +0200
|
||||
|
||||
permissive mode (2)
|
||||
|
||||
diff --git a/codec/decoder/core/src/decoder_core.cpp b/codec/decoder/core/src/decoder_core.cpp
|
||||
index a14e971..e742dbf 100644
|
||||
--- a/codec/decoder/core/src/decoder_core.cpp
|
||||
+++ b/codec/decoder/core/src/decoder_core.cpp
|
||||
@@ -1738,8 +1738,8 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, int3
|
||||
if ((iLastIdD < 0) || //case 1: first layer
|
||||
(iLastIdD == iCurrIdD)) { //case 2: same uiDId
|
||||
InitDqLayerInfo (dq_cur, &pLayerInfo, pNalCur, pCtx->pDec);
|
||||
-
|
||||
- if (!dq_cur->sLayerInfo.pSps->bGapsInFrameNumValueAllowedFlag) {
|
||||
+ if (0){
|
||||
+ //if (!dq_cur->sLayerInfo.pSps->bGapsInFrameNumValueAllowedFlag) {
|
||||
const bool kbIdrFlag = dq_cur->sLayerInfo.sNalHeaderExt.bIdrFlag
|
||||
|| (dq_cur->sLayerInfo.sNalHeaderExt.sNalUnitHeader.eNalUnitType == NAL_UNIT_CODED_SLICE_IDR);
|
||||
// Subclause 8.2.5.2 Decoding process for gaps in frame_num
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
############################################################################
|
||||
# openh264.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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
ifneq (,$(findstring i386-,$(host)))
|
||||
ARCH=i386
|
||||
endif
|
||||
ifneq (,$(findstring armv7-,$(host)))
|
||||
ARCH=armv7
|
||||
endif
|
||||
ifneq (,$(findstring aarch64-,$(host)))
|
||||
ARCH=arm64
|
||||
endif
|
||||
ifneq (,$(findstring x86_64-,$(host)))
|
||||
ARCH=x86_64
|
||||
endif
|
||||
|
||||
ifeq (,$(ARCH))
|
||||
$(error Undefined arch for openh264)
|
||||
endif
|
||||
|
||||
openh264_dir?=externals/openh264
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(openh264_dir)/openh264-permissive.patch.stamp:
|
||||
cd $(BUILDER_SRC_DIR)/$(openh264_dir) \
|
||||
&& patch -p1 < $(BUILDER_SRC_DIR)/build/builders.d/openh264-permissive.patch
|
||||
touch $(BUILDER_SRC_DIR)/$(openh264_dir)/openh264-permissive.patch.stamp
|
||||
|
||||
patch-openh264: $(BUILDER_SRC_DIR)/$(openh264_dir)/openh264-permissive.patch.stamp
|
||||
|
||||
#update 03/2015; with openh264 v1.4.0 patches seems no longer useful.
|
||||
|
||||
update-openh264:
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(openh264_dir) \
|
||||
&& cd $(BUILDER_BUILD_DIR)/$(openh264_dir)/ \
|
||||
&& rsync -rvLpgoc --exclude ".git" $(BUILDER_SRC_DIR)/$(openh264_dir)/* .
|
||||
|
||||
make-target-%:
|
||||
cd $(BUILDER_BUILD_DIR)/$(openh264_dir) \
|
||||
&& echo ===== OpenH264: make $* ===== \
|
||||
&& make CC="xcrun clang" CXX="xcrun clang++" AR="xcrun ar" LD="xcrun clang" RANLIB="xcrun ranlib" OS=ios ARCH=$(ARCH) PREFIX=$(prefix) $*
|
||||
|
||||
build-openh264: update-openh264 make-target-libraries make-target-install
|
||||
|
||||
clean-openh264:
|
||||
cd $(BUILDER_BUILD_DIR)/$(openh264_dir) \
|
||||
&& make clean OS=ios ARCH=$(ARCH)
|
||||
|
||||
veryclean-openh264:
|
||||
cd $(BUILDER_SRC_DIR)/$(openh264_dir)/ \
|
||||
&& git clean -f && git reset --hard \
|
||||
&& rm -rf $(BUILDER_BUILD_DIR)/$(openh264_dir)
|
||||
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
openssl_version=1.0.1c
|
||||
OPENSSL_BUILD_DIR?=$(BUILDER_BUILD_DIR)/externals/openssl
|
||||
|
||||
ifneq (,$(findstring mingw,$(host)))
|
||||
CONFIGURE_OPTION := mingw
|
||||
MAKE_PARAMS:= CC=i586-mingw32msvc-gcc RANLIB=i586-mingw32msvc-ranlib
|
||||
endif
|
||||
|
||||
$(OPENSSL_BUILD_DIR)/Configure:
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/externals \
|
||||
&& cd $(BUILDER_BUILD_DIR)/externals \
|
||||
&& rm -rf openssl \
|
||||
&& wget ftp://sunsite.cnlab-switch.ch/mirror/openssl/source/openssl-$(openssl_version).tar.gz \
|
||||
&& 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/builders.d/openssl.patch
|
||||
|
||||
$(OPENSSL_BUILD_DIR)/Makefile: $(OPENSSL_BUILD_DIR)/Configure
|
||||
cd $(OPENSSL_BUILD_DIR) \
|
||||
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& ./Configure --prefix=$(prefix) --cross-compile-prefix=$$SDK_BIN_PATH/ BSD-generic32 no-asm
|
||||
|
||||
build-openssl: $(OPENSSL_BUILD_DIR)/Makefile
|
||||
cd $(OPENSSL_BUILD_DIR) && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& make CC="$$CC" AR="$$AR r" RANLIB="$$RANLIB" build_crypto build_ssl libcrypto.pc libssl.pc\
|
||||
&& cp -r include $(prefix)/ \
|
||||
&& cp lib*.a $(prefix)/lib \
|
||||
&& cp libcrypto.pc $(prefix)/lib/pkgconfig/. \
|
||||
&& cp libssl.pc $(prefix)/lib/pkgconfig/. \
|
||||
|
||||
clean-openssl:
|
||||
cd $(OPENSSL_BUILD_DIR) && make clean
|
||||
|
||||
clean-makefile-openssl:
|
||||
touch $(OPENSSL_BUILD_DIR)/Configure
|
||||
|
||||
veryclean-openssl:
|
||||
rm -rf $(OPENSSL_BUILD_DIR)
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- crypto/ui/ui_openssl.c.ori 2011-03-18 18:09:26.000000000 +0100
|
||||
+++ crypto/ui/ui_openssl.c 2011-03-18 18:09:44.000000000 +0100
|
||||
@@ -404,7 +404,7 @@
|
||||
return 1;
|
||||
}
|
||||
|
||||
-static volatile sig_atomic_t intr_signal;
|
||||
+static volatile int intr_signal;
|
||||
#endif
|
||||
|
||||
static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl)
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
############################################################################
|
||||
# opus.mk
|
||||
# Copyright (C) 2013 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.
|
||||
#
|
||||
############################################################################
|
||||
opus_dir?=externals/opus
|
||||
enable_opus?=yes
|
||||
|
||||
libopus_configure_options=--disable-extra-programs --disable-doc
|
||||
ifneq (,$(findstring armv7,$(host)))
|
||||
libopus_configure_options+= --enable-fixed-point
|
||||
endif
|
||||
ifneq (,$(findstring armv7s,$(host)))
|
||||
libopus_configure_options+= --enable-fixed-point
|
||||
endif
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(opus_dir)/configure:
|
||||
@echo -e "\033[01;32m Running autogen for msopus in $(BUILDER_SRC_DIR)/$(opus_dir) \033[0m"
|
||||
cd $(BUILDER_SRC_DIR)/$(opus_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(opus_dir)/Makefile: $(BUILDER_SRC_DIR)/$(opus_dir)/configure
|
||||
@echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(opus_dir) \033[0m"
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(opus_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(opus_dir)/ \
|
||||
&& PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(opus_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \
|
||||
${libopus_configure_options}
|
||||
|
||||
ifeq ($(enable_opus),yes)
|
||||
|
||||
build-opus: $(BUILDER_BUILD_DIR)/$(opus_dir)/Makefile
|
||||
@echo -e "\033[01;32m building opus \033[0m"
|
||||
cd $(BUILDER_BUILD_DIR)/$(opus_dir) \
|
||||
&& PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig \
|
||||
CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
make && make install
|
||||
|
||||
|
||||
else
|
||||
build-opus:
|
||||
@echo "opus is disabled"
|
||||
|
||||
endif
|
||||
|
||||
clean-opus:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(opus_dir) && make clean
|
||||
|
||||
veryclean-opus:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(opus_dir) && make distclean
|
||||
rm -f $(BUILDER_SRC_DIR)/$(opus_dir)/configure
|
||||
|
||||
clean-makefile-opus:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(opus_dir) && rm -f Makefile
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
polarssl_dir?=externals/polarssl
|
||||
|
||||
SRC_DIR=$(BUILDER_SRC_DIR)
|
||||
BUILD_DIR=$(BUILDER_BUILD_DIR)
|
||||
|
||||
|
||||
$(SRC_DIR)/$(polarssl_dir)/configure:
|
||||
cd $(SRC_DIR)/$(polarssl_dir) && ./autogen.sh
|
||||
|
||||
$(BUILD_DIR)/$(polarssl_dir)/Makefile: $(SRC_DIR)/$(polarssl_dir)/configure
|
||||
mkdir -p $(BUILD_DIR)/$(polarssl_dir)
|
||||
cd $(BUILD_DIR)/$(polarssl_dir) \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(SRC_DIR)/build/$(config_site) \
|
||||
$(SRC_DIR)/$(polarssl_dir)/configure --prefix=$(prefix) --host=$(host) ${library_mode}
|
||||
|
||||
build-polarssl: $(BUILD_DIR)/$(polarssl_dir)/Makefile
|
||||
cd $(BUILD_DIR)/${polarssl_dir} && \
|
||||
host_alias=$(host) PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(SRC_DIR)/build/$(config_site) make && make install
|
||||
|
||||
clean-polarssl:
|
||||
-cd $(BUILD_DIR)/$(polarssl_dir) && make clean
|
||||
|
||||
veryclean-polarssl:
|
||||
-rm -rf $(BUILD_DIR)/$(polarssl_dir)
|
||||
-rm -f $(SRC_DIR)/$(polarssl_dir)/configure
|
||||
|
||||
clean-makefile-polarssl: veryclean-polarssl
|
||||
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
#speex
|
||||
|
||||
speex_dir=externals/speex
|
||||
|
||||
|
||||
ifeq (,$(findstring i386,$(host)))
|
||||
CFLAGS := $(CFLAGS) -marm
|
||||
SPEEX_CONFIGURE_OPTION := --disable-float-api --enable-fixed-point
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring armv7,$(host)))
|
||||
SPEEX_CONFIGURE_OPTION += --enable-armv7neon-asm --enable-arm5e-asm
|
||||
endif
|
||||
ifneq (,$(findstring aarch64,$(host)))
|
||||
SPEEX_CONFIGURE_OPTION += --enable-armv7neon-asm
|
||||
endif
|
||||
|
||||
ifeq ($(enable_debug),yes)
|
||||
CFLAGS := $(CFLAGS) -g
|
||||
SPEEX_CONFIGURE_OPTION += --enable-debug
|
||||
endif
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(speex_dir)/configure:
|
||||
cd $(BUILDER_SRC_DIR)/$(speex_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(speex_dir)/Makefile: $(BUILDER_SRC_DIR)/$(speex_dir)/configure
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(speex_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(speex_dir)/\
|
||||
&& CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) CFLAGS="$(CFLAGS) -O2" \
|
||||
$(BUILDER_SRC_DIR)/$(speex_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} --disable-ogg $(SPEEX_CONFIGURE_OPTION)
|
||||
|
||||
build-speex: $(BUILDER_BUILD_DIR)/$(speex_dir)/Makefile
|
||||
cd $(BUILDER_BUILD_DIR)/$(speex_dir) && make && make install
|
||||
|
||||
clean-speex:
|
||||
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
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
srtp_dir?=externals/srtp
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(srtp_dir)/configure: $(BUILDER_SRC_DIR)/$(srtp_dir)/configure.in
|
||||
cd $(BUILDER_SRC_DIR)/$(srtp_dir) \
|
||||
&& autoconf
|
||||
$(BUILDER_BUILD_DIR)/$(srtp_dir)/Makefile: $(BUILDER_SRC_DIR)/$(srtp_dir)/configure $(BUILDER_SRC_DIR)/$(srtp_dir)/Makefile.in
|
||||
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
|
||||
host_alias=$(host) && . /$(BUILDER_SRC_DIR)/build/$(config_site) && \
|
||||
cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make libsrtp.a AR="$$AR" && make install
|
||||
|
||||
clean-srtp:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make clean
|
||||
|
||||
veryclean-srtp:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make distclean
|
||||
-rm -rf $(BUILDER_BUILD_DIR)/$(srtp_dir)
|
||||
-rm -f $(BUILDER_SRC_DIR)/$(srtp_dir)/configure
|
||||
|
||||
clean-makefile-srtp:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && rm -f Makefile
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
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;
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
TUNNEL_SRC_DIR?=$(BUILDER_SRC_DIR)/tunnel
|
||||
TUNNEL_BUILD_DIR?=$(BUILDER_BUILD_DIR)/tunnel
|
||||
|
||||
#############################TUNNEL############################
|
||||
$(TUNNEL_SRC_DIR)/configure:
|
||||
cd $(TUNNEL_SRC_DIR) && ./autogen.sh
|
||||
|
||||
$(TUNNEL_BUILD_DIR)/Makefile: $(TUNNEL_SRC_DIR)/configure
|
||||
mkdir -p $(TUNNEL_BUILD_DIR) \
|
||||
&& cd $(TUNNEL_BUILD_DIR) \
|
||||
&& CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig \
|
||||
$(TUNNEL_SRC_DIR)/configure -prefix=$(prefix) --host=$(host) --enable-polarssl --with-polarssl=$(prefix) --disable-servers ${library_mode}
|
||||
|
||||
build-tunnel: $(TUNNEL_BUILD_DIR)/Makefile
|
||||
cd $(TUNNEL_BUILD_DIR) \
|
||||
&& host_alias=$(host) . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& make RANLIB="$$RANLIB" && make install
|
||||
|
||||
clean-tunnel:
|
||||
cd $(TUNNEL_BUILD_DIR) && make clean
|
||||
|
||||
veryclean-tunnel:
|
||||
rm -f $(TUNNEL_SRC_DIR)/configure
|
||||
|
||||
clean-makefile-tunnel:
|
||||
cd $(TUNNEL_BUILD_DIR) && rm -f Makefile
|
||||
|
||||
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
############################################################################
|
||||
# x264.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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
#--enable-static is mandatory otherwise the lib is not installed
|
||||
|
||||
x264-configure-option= \
|
||||
--host=$(host)\
|
||||
--enable-static --enable-pic \
|
||||
--cross-prefix=$$SDK_BIN_PATH/ \
|
||||
--extra-ldflags="$$COMMON_FLAGS"
|
||||
|
||||
|
||||
XCFLAGS:=$$COMMON_FLAGS
|
||||
|
||||
|
||||
ifneq (,$(findstring armv7,$(host)))
|
||||
XCFLAGS+= -mfpu=neon -mfloat-abi=softfp
|
||||
endif
|
||||
|
||||
x264-configure-option+= --extra-cflags="${XCFLAGS}"
|
||||
|
||||
x264_dir?=externals/x264
|
||||
$(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 -rvLpgoc --exclude ".git" $(BUILDER_SRC_DIR)/$(x264_dir)/* .
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(x264_dir)/config.mak: $(BUILDER_BUILD_DIR)/$(x264_dir)/configure
|
||||
cd $(BUILDER_BUILD_DIR)/$(x264_dir)/ \
|
||||
&& host_alias=$(host) . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& CC="$$CC" STRINGS="$$STRINGS" ./configure --prefix=$(prefix) $(x264-configure-option)
|
||||
|
||||
build-x264: $(BUILDER_BUILD_DIR)/$(x264_dir)/config.mak
|
||||
cd $(BUILDER_BUILD_DIR)/$(x264_dir) \
|
||||
&& host_alias=$(host) . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& make STRIP="$$STRIP" AR="$$AR -r " RANLIB="$$RANLIB" CC="$$CC" STRINGS="$$STRINGS" && make STRIP="$$STRIP" AR="$$AR" RANLIB="$$RANLIB" STRINGS="$$STRINGS" install
|
||||
|
||||
clean-x264:
|
||||
cd $(BUILDER_BUILD_DIR)/$(x264_dir) && make clean
|
||||
|
||||
veryclean-x264:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(x264_dir) && make distclean
|
||||
cd $(BUILDER_SRC_DIR)/$(x264_dir)/ \
|
||||
&& git clean -f && git reset --hard \
|
||||
&& rm -f patched
|
||||
rm -rf $(BUILDER_BUILD_DIR)/$(x264_dir)
|
||||
|
||||
clean-makefile-x264:
|
||||
cd $(BUILDER_BUILD_DIR)/$(x264_dir) && rm -f config.mak
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
diff --git a/common/arm/cpu-a.S b/common/arm/cpu-a.S
|
||||
index a459553..bc91505 100644
|
||||
--- a/common/arm/cpu-a.S
|
||||
+++ b/common/arm/cpu-a.S
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "asm.S"
|
||||
|
||||
.fpu neon
|
||||
-.align
|
||||
+// .align
|
||||
|
||||
// done in gas because .fpu neon overrides the refusal to assemble
|
||||
// instructions the selected -march/-mcpu doesn't support
|
||||
@@ -95,7 +95,7 @@ average_loop:
|
||||
sub r2, r2, r1
|
||||
cmpgt r2, #30 << 3 // assume context switch if it took over 30 cycles
|
||||
addle r3, r3, r2
|
||||
- subles ip, ip, #1
|
||||
+ suble ip, ip, #1
|
||||
bgt average_loop
|
||||
|
||||
// disable counters if we enabled them
|
||||
diff --git a/common/arm/mc-a.S b/common/arm/mc-a.S
|
||||
index 507bbba..d5554be 100644
|
||||
--- a/common/arm/mc-a.S
|
||||
+++ b/common/arm/mc-a.S
|
||||
@@ -166,7 +166,7 @@ function x264_pixel_avg_\w\()x\h\()_neon
|
||||
ldr ip, [sp, #8]
|
||||
push {r4-r6,lr}
|
||||
cmp ip, #32
|
||||
- ldrd r4, [sp, #16]
|
||||
+ ldrd r4, r5, [sp, #16]
|
||||
mov lr, #\h
|
||||
beq x264_pixel_avg_w\w\()_neon
|
||||
rsbs r6, ip, #64
|
||||
@@ -446,7 +446,7 @@ avg2_w20_loop:
|
||||
.ifc \type, full
|
||||
ldr lr, [r4, #32] // denom
|
||||
.endif
|
||||
- ldrd r4, [r4, #32+4] // scale, offset
|
||||
+ ldrd r4, r5, [r4, #32+4] // scale, offset
|
||||
vdup.16 q0, r4
|
||||
vdup.16 q1, r5
|
||||
.ifc \type, full
|
||||
@@ -815,7 +815,7 @@ copy_w16_aligned_loop:
|
||||
// int dx, int dy, int i_width, int i_height );
|
||||
function x264_mc_chroma_neon
|
||||
push {r4-r6, lr}
|
||||
- ldrd r4, [sp, #16]
|
||||
+ ldrd r4, r5, [sp, #16]
|
||||
ldr r6, [sp, #24]
|
||||
|
||||
asr lr, r5, #3
|
||||
@@ -1271,8 +1271,8 @@ filter_h_loop:
|
||||
function x264_frame_init_lowres_core_neon
|
||||
push {r4-r10,lr}
|
||||
vpush {d8-d15}
|
||||
- ldrd r4, [sp, #96]
|
||||
- ldrd r6, [sp, #104]
|
||||
+ ldrd r4, r5, [sp, #96]
|
||||
+ ldrd r6, r7, [sp, #104]
|
||||
ldr lr, [sp, #112]
|
||||
sub r10, r6, r7 // dst_stride - width
|
||||
and r10, r10, #~15
|
||||
diff --git a/common/arm/pixel-a.S b/common/arm/pixel-a.S
|
||||
index 8bce3b6..0784ae6 100644
|
||||
--- a/common/arm/pixel-a.S
|
||||
+++ b/common/arm/pixel-a.S
|
||||
@@ -328,9 +328,9 @@ SAD_FUNC_DUAL 16, 16
|
||||
function x264_pixel_sad_x\x\()_\w\()x\h\()_neon
|
||||
push {r6-r7,lr}
|
||||
.if \x == 3
|
||||
- ldrd r6, [sp, #12]
|
||||
+ ldrd r6, r7, [sp, #12]
|
||||
.else
|
||||
- ldrd r6, [sp, #16]
|
||||
+ ldrd r6, r7, [sp, #16]
|
||||
ldr r12, [sp, #12]
|
||||
.endif
|
||||
mov lr, #FENC_STRIDE
|
||||
@@ -596,7 +596,7 @@ function x264_pixel_var2_8x8_neon
|
||||
vadd.s32 d1, d2, d3
|
||||
vpadd.s32 d0, d0, d1
|
||||
|
||||
- vmov.32 r0, r1, d0
|
||||
+ vmov r0, r1, d0
|
||||
vst1.32 {d0[1]}, [ip,:32]
|
||||
mul r0, r0, r0
|
||||
sub r0, r1, r0, lsr #6
|
||||
diff --git a/common/arm/predict-a.S b/common/arm/predict-a.S
|
||||
index af65bd7..8cdaf50 100644
|
||||
--- a/common/arm/predict-a.S
|
||||
+++ b/common/arm/predict-a.S
|
||||
@@ -181,9 +181,9 @@ function x264_predict_4x4_ddl_neon
|
||||
|
||||
function x264_predict_8x8_dc_neon
|
||||
mov ip, #0
|
||||
- ldrd r2, [r1, #8]
|
||||
+ ldrd r2, r3, [r1, #8]
|
||||
push {r4-r5,lr}
|
||||
- ldrd r4, [r1, #16]
|
||||
+ ldrd r4, r5, [r1, #16]
|
||||
lsl r3, r3, #8
|
||||
ldrb lr, [r1, #7]
|
||||
usad8 r2, r2, ip
|
||||
diff --git a/common/arm/quant-a.S b/common/arm/quant-a.S
|
||||
index e851562..c159f9e 100644
|
||||
--- a/common/arm/quant-a.S
|
||||
+++ b/common/arm/quant-a.S
|
||||
@@ -271,7 +271,7 @@ dequant_4x4_dc_rshift:
|
||||
|
||||
// int coeff_last( int16_t *l )
|
||||
function x264_coeff_last4_arm
|
||||
- ldrd r2, [r0]
|
||||
+ ldrd r2, r3, [r0]
|
||||
subs r0, r3, #0
|
||||
movne r0, #2
|
||||
movne r2, r3
|
||||
@@ -300,7 +300,7 @@ function x264_coeff_last\size\()_neon
|
||||
|
||||
subs r1, ip, r1, lsr #2
|
||||
addge r0, r1, #\size - 8
|
||||
- sublts r0, r3, r0, lsr #2
|
||||
+ sublt r0, r3, r0, lsr #2
|
||||
movlt r0, #0
|
||||
bx lr
|
||||
.endfunc
|
||||
@@ -349,7 +349,7 @@ function x264_coeff_last64_neon
|
||||
|
||||
subs r1, ip, r1
|
||||
addge r0, r1, #32
|
||||
- sublts r0, ip, r0
|
||||
+ sublt r0, ip, r0
|
||||
movlt r0, #0
|
||||
bx lr
|
||||
.endfunc
|
||||
diff --git a/configure b/configure
|
||||
index 250b0ac..af69d44 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -456,7 +456,7 @@ case $host_os in
|
||||
;;
|
||||
darwin*)
|
||||
SYS="MACOSX"
|
||||
- CFLAGS="$CFLAGS -falign-loops=16"
|
||||
+ CFLAGS="$CFLAGS"
|
||||
libm="-lm"
|
||||
if [ "$pic" = "no" ]; then
|
||||
cc_check "" -mdynamic-no-pic && CFLAGS="$CFLAGS -mdynamic-no-pic"
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
############################################################################
|
||||
# zrtp.mk
|
||||
# Copyright (C) 2014 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.
|
||||
#
|
||||
############################################################################
|
||||
bzrtp_dir?=bzrtp
|
||||
enable_zrtp?=yes
|
||||
|
||||
configure-options=
|
||||
ifeq ($(LINPHONE_CCACHE), ccache)
|
||||
configure-options+= --disable-strict
|
||||
endif
|
||||
|
||||
$(BUILDER_SRC_DIR)/$(bzrtp_dir)/configure:
|
||||
@echo -e "\033[01;32m Running autogen for bzrtp in $(BUILDER_SRC_DIR)/$(bzrtp_dir) \033[0m"
|
||||
cd $(BUILDER_SRC_DIR)/$(bzrtp_dir) && ./autogen.sh
|
||||
|
||||
$(BUILDER_BUILD_DIR)/$(bzrtp_dir)/Makefile: $(BUILDER_SRC_DIR)/$(bzrtp_dir)/configure
|
||||
@echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(bzrtp_dir) \033[0m"
|
||||
mkdir -p $(BUILDER_BUILD_DIR)/$(bzrtp_dir)
|
||||
cd $(BUILDER_BUILD_DIR)/$(bzrtp_dir)/ \
|
||||
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
$(BUILDER_SRC_DIR)/$(bzrtp_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \
|
||||
--enable-static ${configure-options}
|
||||
|
||||
ifeq ($(enable_zrtp),yes)
|
||||
|
||||
build-bzrtp: $(BUILDER_BUILD_DIR)/$(bzrtp_dir)/Makefile
|
||||
@echo -e "\033[01;32m building bzrtp \033[0m"
|
||||
cd $(BUILDER_BUILD_DIR)/$(bzrtp_dir) \
|
||||
&& PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig \
|
||||
CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
|
||||
make -j1 && make install
|
||||
|
||||
else
|
||||
build-bzrtp:
|
||||
@echo "ZRTP is disabled"
|
||||
|
||||
endif
|
||||
|
||||
clean-bzrtp:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(bzrtp_dir) && make clean
|
||||
|
||||
veryclean-bzrtp:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(bzrtp_dir) && make distclean
|
||||
rm -f $(BUILDER_SRC_DIR)/$(bzrtp_dir)/configure
|
||||
|
||||
clean-makefile-bzrtp:
|
||||
-cd $(BUILDER_BUILD_DIR)/$(bzrtp_dir) && rm -f Makefile
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
# -*- shell-script -*-
|
||||
|
||||
SDK_VERSION_MAJOR=5
|
||||
SDK_VERSION=5.0
|
||||
MCPU=""
|
||||
CLANG_TARGET_SPECIFIER=miphoneos-version-min
|
||||
if test "${host_alias}" = "i386-apple-darwin.ios" ; then
|
||||
PLATFORM=Simulator
|
||||
ARCH=i386
|
||||
CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=i386"
|
||||
MCPU=""
|
||||
CLANG_TARGET_SPECIFIER=mios-simulator-version-min
|
||||
elif test "${host_alias}" = "armv7-apple-darwin.ios" ; then
|
||||
ARCH=armv7
|
||||
PLATFORM=OS
|
||||
CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=arm"
|
||||
MCPU="-mcpu=cortex-a8"
|
||||
elif test "${host_alias}" = "aarch64-apple-darwin.ios" ; then
|
||||
ARCH=arm64
|
||||
PLATFORM=OS
|
||||
CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=aarch64"
|
||||
elif test "${host_alias}" = "x86_64-apple-darwin.ios" ; then
|
||||
ARCH=x86_64
|
||||
PLATFORM=Simulator
|
||||
CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=x86_64"
|
||||
CLANG_TARGET_SPECIFIER=mios-simulator-version-min
|
||||
else
|
||||
echo "bad host ${host_alias} must be either i386-apple-darwin or arm[v7,64]-apple-darwin"
|
||||
exit
|
||||
fi
|
||||
echo "Loading config.site for iPhone platform=${PLATFORM} version=${SDK_VERSION}"
|
||||
XCODE_DEV_PATH=`xcode-select -print-path`
|
||||
#new path with Xcode 4.3:
|
||||
if test -d ${XCODE_DEV_PATH}/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs ; then
|
||||
SDK_PATH_LIST=`ls -drt ${XCODE_DEV_PATH}/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}*`
|
||||
SDK_BIN_PATH=${XCODE_DEV_PATH}/Platforms/iPhone${PLATFORM}.platform/Developer/usr/bin
|
||||
else
|
||||
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
|
||||
fi
|
||||
|
||||
for SYSROOT_PATH in $SDK_PATH_LIST ; do echo $SYSROOT_PATH ; done ;
|
||||
echo "Selecting SDK path = ${SYSROOT_PATH}"
|
||||
|
||||
COMMON_FLAGS=" -arch ${ARCH} ${MCPU} -isysroot ${SYSROOT_PATH} -${CLANG_TARGET_SPECIFIER}=${SDK_VERSION} -DTARGET_OS_IPHONE=1 -D__IOS -fms-extensions"
|
||||
|
||||
#workaround for polarssl conflicting symbols
|
||||
|
||||
COMMON_FLAGS="$COMMON_FLAGS -Dsha256=polarssl_sha256"
|
||||
|
||||
# silence clang unused operators. This is temporary, we should find a way to compile 3rd party with correct flags :(
|
||||
COMMON_FLAGS="-Qunused-arguments -Wno-unknown-warning-option -Wno-unused-command-line-argument-hard-error-in-future $COMMON_FLAGS"
|
||||
|
||||
# you can use ccache to speed up build, in which case just define LINPHONE_CCACHE to 'ccache'
|
||||
|
||||
if test "$LINPHONE_CCACHE" = "ccache" ; then
|
||||
# ccache doesn't like some options
|
||||
COMMON_FLAGS="$COMMON_FLAGS -Wno-variadic-macros -Wno-pointer-arith -Wno-return-type -Wno-tautological-compare -Wno-unused-function -Wno-error"
|
||||
fi
|
||||
|
||||
CC="xcrun $LINPHONE_CCACHE clang -std=c99 $COMMON_FLAGS"
|
||||
OBJC="xcrun $LINPHONE_CCACHE clang -std=c99 $COMMON_FLAGS"
|
||||
CXX="xcrun $LINPHONE_CCACHE clang++ $COMMON_FLAGS"
|
||||
LD="xcrun ld -arch ${ARCH}"
|
||||
AR="xcrun ar"
|
||||
RANLIB="xcrun ranlib"
|
||||
STRIP="xcrun strip"
|
||||
NM="xcrun nm"
|
||||
|
||||
CPPFLAGS="-Dasm=__asm"
|
||||
OBJCFLAGS="-x objective-c -fexceptions -gdwarf-2 -fobjc-abi-version=2 -fobjc-legacy-dispatch"
|
||||
#Force install script to use -C so that header files don't get re-written if not changed.
|
||||
INSTALL_DATA="ginstall -C"
|
||||
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
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)
|
||||
|
||||
|
||||
|
|
@ -1,205 +0,0 @@
|
|||
# This file is based off of the Platform/Darwin.cmake and Platform/UnixPaths.cmake
|
||||
# files which are included with CMake 2.8.4
|
||||
# It has been altered for iOS development
|
||||
|
||||
# Options:
|
||||
#
|
||||
# IOS_PLATFORM = OS (default) or SIMULATOR
|
||||
# This decides if SDKS will be selected from the iPhoneOS.platform or iPhoneSimulator.platform folders
|
||||
# OS - the default, used to build for iPhone and iPad physical devices, which have an arm arch.
|
||||
# SIMULATOR - used to build for the Simulator platforms, which have an x86 arch.
|
||||
# IOS_ARCH = armv7 or armv6 or x86_64 or i386
|
||||
# This decides arch to build. Note that arm7 and arm6 are available only for OS IOS_PLATFORM and
|
||||
# x86_64 and i386 are available only for OS SIMULATOR
|
||||
#
|
||||
# CMAKE_IOS_DEVELOPER_ROOT = automatic(default) or /path/to/platform/Developer folder
|
||||
# By default this location is automatcially chosen based on the IOS_PLATFORM value above.
|
||||
# If set manually, it will override the default location and force the user of a particular Developer Platform
|
||||
#
|
||||
# CMAKE_IOS_SDK_ROOT = automatic(default) or /path/to/platform/Developer/SDKs/SDK folder
|
||||
# By default this location is automatcially chosen based on the CMAKE_IOS_DEVELOPER_ROOT value.
|
||||
# In this case it will always be the most up-to-date SDK found in the CMAKE_IOS_DEVELOPER_ROOT path.
|
||||
# If set manually, this will force the use of a specific SDK version
|
||||
|
||||
# Macros:
|
||||
#
|
||||
# set_xcode_property (TARGET XCODE_PROPERTY XCODE_VALUE)
|
||||
# A convenience macro for setting xcode specific properties on targets
|
||||
# example: set_xcode_property (myioslib IPHONEOS_DEPLOYMENT_TARGET "3.1")
|
||||
#
|
||||
# find_host_package (PROGRAM ARGS)
|
||||
# A macro used to find executable programs on the host system, not within the iOS environment.
|
||||
# Thanks to the android-cmake project for providing the command
|
||||
|
||||
# Standard settings
|
||||
set (CMAKE_SYSTEM_NAME Darwin)
|
||||
set (CMAKE_SYSTEM_VERSION 1)
|
||||
set (UNIX True)
|
||||
set (APPLE True)
|
||||
set (IOS True)
|
||||
# Required as of cmake 2.8.10
|
||||
set (CMAKE_OSX_DEPLOYMENT_TARGET "" CACHE STRING "Force unset of the deployment target for iOS" FORCE)
|
||||
|
||||
# Determine the cmake host system version so we know where to find the iOS SDKs
|
||||
find_program (CMAKE_UNAME uname /bin /usr/bin /usr/local/bin)
|
||||
if (CMAKE_UNAME)
|
||||
exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
|
||||
string (REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_HOST_SYSTEM_VERSION}")
|
||||
endif (CMAKE_UNAME)
|
||||
|
||||
set(CMAKE_AR ar CACHE FILEPATH "" FORCE)
|
||||
|
||||
# Skip the platform compiler checks for cross compiling
|
||||
set (CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set (CMAKE_C_COMPILER_WORKS TRUE)
|
||||
|
||||
# All iOS/Darwin specific settings - some may be redundant
|
||||
set (CMAKE_SHARED_LIBRARY_PREFIX "lib")
|
||||
set (CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
|
||||
set (CMAKE_SHARED_MODULE_PREFIX "lib")
|
||||
set (CMAKE_SHARED_MODULE_SUFFIX ".so")
|
||||
set (CMAKE_MODULE_EXISTS 1)
|
||||
set (CMAKE_DL_LIBS "")
|
||||
|
||||
set (CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
|
||||
set (CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
|
||||
set (CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
|
||||
set (CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
|
||||
|
||||
# Hidden visibilty is required for cxx on iOS
|
||||
set (CMAKE_C_FLAGS_INIT "")
|
||||
set (CMAKE_CXX_FLAGS_INIT "-fvisibility=hidden -fvisibility-inlines-hidden -isysroot ${CMAKE_OSX_SYSROOT}")
|
||||
|
||||
set (CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
|
||||
set (CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
|
||||
|
||||
set (CMAKE_PLATFORM_HAS_INSTALLNAME 1)
|
||||
set (CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -headerpad_max_install_names")
|
||||
set (CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -headerpad_max_install_names")
|
||||
set (CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
|
||||
set (CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
|
||||
|
||||
# We force default installation path to be build directory since we do NOT want to install in /usr/local...
|
||||
if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local/")
|
||||
message("CMAKE_INSTALL_PREFIX not defined, forcing to CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}")
|
||||
set (CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR} CACHE INTERNAL "INSTALL directory")
|
||||
endif()
|
||||
|
||||
# hack: if a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old build tree
|
||||
# (where install_name_tool was hardcoded) and where CMAKE_INSTALL_NAME_TOOL isn't in the cache
|
||||
# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
|
||||
# hardcode CMAKE_INSTALL_NAME_TOOL here to install_name_tool, so it behaves as it did before, Alex
|
||||
if (NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
|
||||
find_program(CMAKE_INSTALL_NAME_TOOL install_name_tool)
|
||||
endif (NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
|
||||
|
||||
# set the architecture for iOS
|
||||
# NOTE: Currently both ARCHS_STANDARD_32_BIT and ARCHS_UNIVERSAL_IPHONE_OS set armv7 only, so set both manually
|
||||
if (NOT IOS_ARCH)
|
||||
if ("${IOS_PLATFORM}" STREQUAL "OS")
|
||||
set(IOS_ARCH armv7)
|
||||
else()
|
||||
set(IOS_ARCH x86_64)
|
||||
endif()
|
||||
elseif(NOT IOS_PLATFORM)
|
||||
if (${IOS_ARCH} STREQUAL "armv6" OR ${IOS_ARCH} STREQUAL "armv7" OR ${IOS_ARCH} STREQUAL "arm64")
|
||||
set(IOS_PLATFORM "OS")
|
||||
else()
|
||||
set(IOS_PLATFORM "SIMULATOR")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Setup iOS platform unless specified manually with IOS_PLATFORM
|
||||
if (NOT DEFINED IOS_PLATFORM)
|
||||
set (IOS_PLATFORM "OS")
|
||||
endif (NOT DEFINED IOS_PLATFORM)
|
||||
set (IOS_PLATFORM ${IOS_PLATFORM} CACHE STRING "Type of iOS Platform")
|
||||
|
||||
# Check the platform selection and setup for developer root
|
||||
if (${IOS_PLATFORM} STREQUAL "OS")
|
||||
set (IOS_PLATFORM_LOCATION "iPhoneOS.platform")
|
||||
|
||||
# This causes the installers to properly locate the output libraries
|
||||
set (CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos")
|
||||
elseif (${IOS_PLATFORM} STREQUAL "SIMULATOR")
|
||||
set (IOS_PLATFORM_LOCATION "iPhoneSimulator.platform")
|
||||
|
||||
# This causes the installers to properly locate the output libraries
|
||||
set (CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphonesimulator")
|
||||
else (${IOS_PLATFORM} STREQUAL "OS")
|
||||
message (FATAL_ERROR "Unsupported IOS_PLATFORM value selected. Please choose OS or SIMULATOR")
|
||||
endif (${IOS_PLATFORM} STREQUAL "OS")
|
||||
|
||||
# Setup iOS developer location unless specified manually with CMAKE_IOS_DEVELOPER_ROOT
|
||||
# Note Xcode 4.3 changed the installation location, choose the most recent one available
|
||||
set (XCODE_POST_43_ROOT "/Applications/Xcode.app/Contents/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer")
|
||||
set (XCODE_PRE_43_ROOT "/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer")
|
||||
if (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT)
|
||||
if (EXISTS ${XCODE_POST_43_ROOT})
|
||||
set (CMAKE_IOS_DEVELOPER_ROOT ${XCODE_POST_43_ROOT})
|
||||
elseif(EXISTS ${XCODE_PRE_43_ROOT})
|
||||
set (CMAKE_IOS_DEVELOPER_ROOT ${XCODE_PRE_43_ROOT})
|
||||
endif (EXISTS ${XCODE_POST_43_ROOT})
|
||||
endif (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT)
|
||||
set (CMAKE_IOS_DEVELOPER_ROOT ${CMAKE_IOS_DEVELOPER_ROOT} CACHE PATH "Location of iOS Platform")
|
||||
|
||||
# Find and use the most recent iOS sdk unless specified manually with CMAKE_IOS_SDK_ROOT
|
||||
if (NOT DEFINED CMAKE_IOS_SDK_ROOT)
|
||||
file (GLOB _CMAKE_IOS_SDKS "${CMAKE_IOS_DEVELOPER_ROOT}/SDKs/*")
|
||||
if (_CMAKE_IOS_SDKS)
|
||||
list (SORT _CMAKE_IOS_SDKS)
|
||||
list (REVERSE _CMAKE_IOS_SDKS)
|
||||
list (GET _CMAKE_IOS_SDKS 0 CMAKE_IOS_SDK_ROOT)
|
||||
else (_CMAKE_IOS_SDKS)
|
||||
message (FATAL_ERROR "No iOS SDK's found in default search path ${CMAKE_IOS_DEVELOPER_ROOT}. Manually set CMAKE_IOS_SDK_ROOT or install the iOS SDK.")
|
||||
endif (_CMAKE_IOS_SDKS)
|
||||
message (STATUS "Toolchain using default iOS SDK: ${CMAKE_IOS_SDK_ROOT}")
|
||||
endif (NOT DEFINED CMAKE_IOS_SDK_ROOT)
|
||||
set (CMAKE_IOS_SDK_ROOT ${CMAKE_IOS_SDK_ROOT} CACHE PATH "Location of the selected iOS SDK")
|
||||
|
||||
# Set the sysroot default to the most recent SDK
|
||||
set (CMAKE_OSX_SYSROOT ${CMAKE_IOS_SDK_ROOT} CACHE PATH "Sysroot used for iOS support")
|
||||
|
||||
set (CMAKE_OSX_ARCHITECTURES ${IOS_ARCH} CACHE string "Build architecture for iOS")
|
||||
|
||||
# Set the find root to the iOS developer roots and to user defined paths
|
||||
set (CMAKE_FIND_ROOT_PATH ${CMAKE_IOS_DEVELOPER_ROOT} ${CMAKE_IOS_SDK_ROOT} ${CMAKE_PREFIX_PATH} CACHE string "iOS find search path root")
|
||||
|
||||
# default to searching for frameworks first
|
||||
set (CMAKE_FIND_FRAMEWORK FIRST)
|
||||
|
||||
# set up the default search directories for frameworks
|
||||
set (CMAKE_SYSTEM_FRAMEWORK_PATH
|
||||
${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks
|
||||
${CMAKE_IOS_SDK_ROOT}/System/Library/PrivateFrameworks
|
||||
${CMAKE_IOS_SDK_ROOT}/Developer/Library/Frameworks
|
||||
)
|
||||
|
||||
# only search the iOS sdks, not the remainder of the host filesystem
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
|
||||
# This little macro lets you set any XCode specific property
|
||||
macro (set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE)
|
||||
set_property (TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE})
|
||||
endmacro (set_xcode_property)
|
||||
|
||||
|
||||
# This macro lets you find executable programs on the host system
|
||||
macro (find_host_package)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
|
||||
set (IOS FALSE)
|
||||
|
||||
find_package(${ARGN})
|
||||
|
||||
set (IOS TRUE)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
endmacro (find_host_package)
|
||||
|
||||
Loading…
Add table
Reference in a new issue