forked from mirrors/linphone-iphone
87 lines
3.4 KiB
Text
87 lines
3.4 KiB
Text
LINPHONE ON IPHONE
|
|
******************************************
|
|
|
|
|
|
BUILD PREQUISITES
|
|
*****************
|
|
|
|
Linphone for iPhone depends on liblinphone sdk. This SDK is generated from makefiles and shell scripts.
|
|
You must first install both xcode with iPhone OS SDK and MacPorts (www.macports.org) for these scripts to work.
|
|
|
|
Make sure that /opt/local/bin (macport tools) arrives first in your PATH env variable, so that the macport tools are taken in place of the versions brought by Apple in /usr/bin. Otherwise the build will fail with obscure errors.
|
|
|
|
Once xccode and macports are installed, open a terminal and install the required build-time tools with:
|
|
|
|
$ sudo port install coreutils automake autoconf libtool intltool wget pkgconfig cmake gmake yasm grep doxygen
|
|
|
|
|
|
Install gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin :
|
|
|
|
$ wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
|
|
$ sudo mv gas-preprocessor.pl /opt/local/bin/.
|
|
$ sudo chmod +x /opt/local/bin/gas-preprocessor.pl
|
|
|
|
Link macport libtoolize to glibtoolize
|
|
|
|
$ sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize
|
|
|
|
Link host's strings to simulator SDK
|
|
|
|
For Xcode prior to 4.3:
|
|
$ sudo ln -s /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
|
|
For newer XCode:
|
|
$ 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. Firt 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.
|
|
|
|
To generate the liblinphone multi arch sdk in GPL mode, do:
|
|
$ cd submodules/build
|
|
$ make all
|
|
|
|
ALTERNATIVELY, you can force liblinphone to use only non GPL code except for liblinphone, mediastremer2, ortp, exosip, osip.
|
|
If you choose this flavor, your final application is still subject to GPL except if you have a commercial license for liblinphone, mediastremer2, ortp, exosip, osip.
|
|
|
|
To generate the liblinphone multi arch sdkin non GPL mode, do:
|
|
$ cd submodules/build
|
|
$ make all enable_gpl_third_parties=no
|
|
|
|
* ZRTP support
|
|
|
|
You can enable ZRTP support in GPL mode only, by adding "enable_zrtp=yes" to the make command, for example:
|
|
$ make all enable_gpl_third_parties=yes enable_zrtp=yes
|
|
|
|
|
|
The resulting sdk is in liblinphone-sdk/ directory.
|
|
|
|
|
|
In case you upgrade your IOS SDK, you may force rebuilding everything, by doing
|
|
$ make veryclean
|
|
$ make all
|
|
|
|
BUILDING THE APPLICATION
|
|
************************
|
|
|
|
After the SDK is built, just open the linphone xcode project with Xcode, and press "Run".
|
|
|
|
* Note regarding third party components subject to license
|
|
|
|
The liblinphone-sdk is compiled with third parties code that are subject to patent license, specially: AMR, SILK G729 and X264 codecs.
|
|
Linphone controls the embedding of these codecs thanks to the preprocessor macros HAVE_SILK, HAVE_AMR, HAVE_G729 HAVE_X264 positioned in xcode project.
|
|
Before embeding these 4 codecs in the final application, make sure to have the right to do so.
|
|
|
|
|
|
LIMITATIONS, KNOWN BUGS
|
|
***********************
|
|
|
|
* Video capture does not work in simulator (not implemented by simulator ?).
|
|
* Sound does not work well (or at all) in simulator
|
|
|
|
|
|
|