mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-25 07:08:11 +00:00
Better doc indentation
This commit is contained in:
parent
b4b1683616
commit
e8afe1573d
1 changed files with 73 additions and 100 deletions
173
README.macos.md
173
README.macos.md
|
|
@ -23,43 +23,37 @@ In order to enable generation of bundle for multiple MacOS version and 32 bit pr
|
|||
#### Using MacPorts
|
||||
|
||||
* Linphone core dependencies
|
||||
```sh
|
||||
sudo port install automake autoconf libtool intltool wget cunit \
|
||||
antlr3 speex libvpx readline sqlite3 libsoup openldap libupnp \
|
||||
ffmpeg-devel -gpl2
|
||||
```
|
||||
|
||||
sudo port install automake autoconf libtool intltool wget cunit \
|
||||
antlr3 speex libvpx readline sqlite3 libsoup openldap libupnp \
|
||||
ffmpeg-devel -gpl2
|
||||
|
||||
* UI dependencies: install `GTK`. It is recommended to use the `quartz` backend for better integration.
|
||||
|
||||
```sh
|
||||
sudo port install gtk2 +quartz +no_x11
|
||||
sudo port install gtk-osx-application -python27
|
||||
sudo port install hicolor-icon-theme
|
||||
```
|
||||
sudo port install gtk2 +quartz +no_x11
|
||||
sudo port install gtk-osx-application -python27
|
||||
sudo port install hicolor-icon-theme
|
||||
|
||||
#### Using HomeBrew
|
||||
|
||||
```sh
|
||||
brew install automake intltool libtool pkg-config coreutils \
|
||||
yasm nasm wget imagemagick gettext gtk+ speex ffmpeg pygtk
|
||||
brew link gettext --force
|
||||
# readline is required from linphonec.c otherwise compilation will fail
|
||||
brew link readline --force
|
||||
brew install automake intltool libtool pkg-config coreutils \
|
||||
yasm nasm wget imagemagick gettext gtk+ speex ffmpeg pygtk
|
||||
brew link gettext --force
|
||||
# readline is required from linphonec.c otherwise compilation will fail
|
||||
brew link readline --force
|
||||
|
||||
# then you have to install antlr3 from a tap.
|
||||
wget https://gist.githubusercontent.com/Gui13/f5cf103f50d34c28c7be/raw/f50242f5e0c3a6d25ed7fca1462bce3a7b738971/antlr3.rb
|
||||
mv antlr3.rb /usr/local/Library/Formula/
|
||||
brew install antlr3
|
||||
# then you have to install antlr3 from a tap.
|
||||
wget https://gist.githubusercontent.com/Gui13/f5cf103f50d34c28c7be/raw/f50242f5e0c3a6d25ed7fca1462bce3a7b738971/antlr3.rb
|
||||
mv antlr3.rb /usr/local/Library/Formula/
|
||||
brew install antlr3
|
||||
|
||||
brew tap marekjelen/gtk
|
||||
brew install gtk+-quartz
|
||||
|
||||
# gtk-mac-integration is not available in main repository or Brew yet.
|
||||
wget https://gist.github.com/Gui13/cdcad37faa6b8ffa0588/raw/bf2277d45e261ad48ae1344c4c97f2684974ed87/gtk-mac-integration.rb
|
||||
mv gtk-mac-integration.rb /usr/local/Library/Formula/
|
||||
brew install gtk-mac-integration
|
||||
```
|
||||
brew tap marekjelen/gtk
|
||||
brew install gtk+-quartz
|
||||
|
||||
# gtk-mac-integration is not available in main repository or Brew yet.
|
||||
wget https://gist.github.com/Gui13/cdcad37faa6b8ffa0588/raw/bf2277d45e261ad48ae1344c4c97f2684974ed87/gtk-mac-integration.rb
|
||||
mv gtk-mac-integration.rb /usr/local/Library/Formula/
|
||||
brew install gtk-mac-integration
|
||||
|
||||
### Building Linphone
|
||||
|
||||
|
|
@ -67,65 +61,52 @@ The next pieces need to be compiled manually.
|
|||
|
||||
* To ensure compatibility with multiple MacOS versions it is recommended to do:
|
||||
|
||||
```sh
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||
export CFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5"
|
||||
export OBJCFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5"
|
||||
export CXXFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5"
|
||||
export LDFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5 -Wl,-headerpad_max_install_names -Wl,-read_only_relocs -Wl,suppress"
|
||||
```
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||
export CFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5"
|
||||
export OBJCFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5"
|
||||
export CXXFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5"
|
||||
export LDFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5 -Wl,-headerpad_max_install_names -Wl,-read_only_relocs -Wl,suppress"
|
||||
|
||||
* Install libantlr3c (library used by belle-sip for parsing)
|
||||
|
||||
```sh
|
||||
git clone -b linphone git://git.linphone.org/antlr3.git
|
||||
cd antlr3/runtime/C
|
||||
./autogen.sh
|
||||
./configure --disable-static --prefix=/opt/local && make
|
||||
sudo make install
|
||||
```
|
||||
git clone -b linphone git://git.linphone.org/antlr3.git
|
||||
cd antlr3/runtime/C
|
||||
./autogen.sh
|
||||
./configure --disable-static --prefix=/opt/local && make
|
||||
sudo make install
|
||||
|
||||
* Install polarssl (encryption library used by belle-sip)
|
||||
```sh
|
||||
git clone git://git.linphone.org/polarssl.git -b linphone
|
||||
cd polarssl
|
||||
./autogen.sh && ./configure --prefix=/opt/local && make
|
||||
sudo make install
|
||||
```
|
||||
|
||||
git clone git://git.linphone.org/polarssl.git -b linphone
|
||||
cd polarssl
|
||||
./autogen.sh && ./configure --prefix=/opt/local && make
|
||||
sudo make install
|
||||
|
||||
* Install belle-sip (sip stack)
|
||||
|
||||
```sh
|
||||
git clone git://git.linphone.org/belle-sip.git
|
||||
cd belle-sip
|
||||
./autogen.sh && ./configure --prefix=/opt/local && make
|
||||
sudo make install
|
||||
```
|
||||
git clone git://git.linphone.org/belle-sip.git
|
||||
cd belle-sip
|
||||
./autogen.sh && ./configure --prefix=/opt/local && make
|
||||
sudo make install
|
||||
|
||||
* (Optional) Install srtp for call encryption
|
||||
|
||||
```sh
|
||||
git clone git://git.linphone.org/srtp.git
|
||||
cd srtp && autoconf && ./configure --prefix=/opt/local && make libsrtp.a
|
||||
sudo make install
|
||||
```
|
||||
git clone git://git.linphone.org/srtp.git
|
||||
cd srtp && autoconf && ./configure --prefix=/opt/local && make libsrtp.a
|
||||
sudo make install
|
||||
|
||||
* (Optional) Install zrtp, for unbreakable call encryption
|
||||
|
||||
```sh
|
||||
git clone git://git.linphone.org:bzrtp
|
||||
cd bzrtp && ./autogen.sh && ./configure --prefix=/opt/local && make
|
||||
sudo make install
|
||||
```
|
||||
git clone git://git.linphone.org:bzrtp
|
||||
cd bzrtp && ./autogen.sh && ./configure --prefix=/opt/local && make
|
||||
sudo make install
|
||||
|
||||
* (Optional) Install gsm codec
|
||||
|
||||
```sh
|
||||
git clone git://git.linphone.org/gsm.git
|
||||
cd gsm
|
||||
make CCFLAGS="$CFLAGS -c -O2 -DNeedFunctionPrototypes=1"
|
||||
sudo make install INSTALL_ROOT=/opt/local GSM_INSTALL_INC=/opt/local/include
|
||||
```
|
||||
git clone git://git.linphone.org/gsm.git
|
||||
cd gsm
|
||||
make CCFLAGS="$CFLAGS -c -O2 -DNeedFunctionPrototypes=1"
|
||||
sudo make install INSTALL_ROOT=/opt/local GSM_INSTALL_INC=/opt/local/include
|
||||
|
||||
* (Optional) libvpx-1.2 has a bug on MacOS resulting in ugly video. It is recommended to upgrade it manually to 1.3 from source.
|
||||
The libvpx build isn't able to produce dual architecture files. To workaround this, configure libvpx twice and use lipo to create a dual architecture `libvpx.a`.
|
||||
|
|
@ -135,7 +116,7 @@ The libvpx build isn't able to produce dual architecture files. To workaround th
|
|||
If you got the source code from git, run `./autogen.sh` first.
|
||||
Then or otherwise, do:
|
||||
|
||||
`./configure --prefix=/opt/local && make && sudo make install`
|
||||
./configure --prefix=/opt/local && make && sudo make install
|
||||
|
||||
* Compile Linphone
|
||||
|
||||
|
|
@ -143,11 +124,11 @@ The libvpx build isn't able to produce dual architecture files. To workaround th
|
|||
|
||||
Then or otherwise, do:
|
||||
|
||||
`PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --prefix=/opt/local --with-readline=/opt/local --disable-x11 --with-srtp=/opt/local --with-gsm=/opt/local --enable-zrtp --disable-strict && make`
|
||||
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --prefix=/opt/local --with-readline=/opt/local --disable-x11 --with-srtp=/opt/local --with-gsm=/opt/local --enable-zrtp --disable-strict && make
|
||||
|
||||
* Install on the system
|
||||
|
||||
`sudo make install`
|
||||
sudo make install
|
||||
|
||||
You are done.
|
||||
|
||||
|
|
@ -155,38 +136,32 @@ You are done.
|
|||
|
||||
If you want to generate a portable bundle, then install `gtk-mac-bundler`:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/jralls/gtk-mac-bundler.git
|
||||
cd gtk-mac-bundler && make install
|
||||
export PATH=$PATH:~/.local/bin
|
||||
#make this dummy charset.alias file for the bundler to be happy:
|
||||
sudo touch /opt/local/lib/charset.alias
|
||||
```
|
||||
git clone https://github.com/jralls/gtk-mac-bundler.git
|
||||
cd gtk-mac-bundler && make install
|
||||
export PATH=$PATH:~/.local/bin
|
||||
#make this dummy charset.alias file for the bundler to be happy:
|
||||
sudo touch /opt/local/lib/charset.alias
|
||||
|
||||
The bundler file in `build/MacOS/linphone.bundle` expects some plugins to be installed in `/opt/local/lib/mediastreamer/plugins`.
|
||||
If you don't need plugins, remove or comment out this line from the bundler file:
|
||||
|
||||
```xml
|
||||
<binary>
|
||||
${prefix:ms2plugins}/lib/mediastreamer/plugins/*.*.so
|
||||
</binary>
|
||||
```
|
||||
<binary>
|
||||
${prefix:ms2plugins}/lib/mediastreamer/plugins/*.*.so
|
||||
</binary>
|
||||
|
||||
Then run, inside Linphone source tree configure as told before but with `--enable-relativeprefix` appended.
|
||||
|
||||
`make && make bundle`
|
||||
make && make bundle
|
||||
|
||||
The resulting bundle is located in Linphone build directory, together with a zipped version.
|
||||
|
||||
* For a better appearance, you can install `gtk-quartz-engine` (a GTK theme) that makes GTK application more similar to other Mac applications (but not perfect).
|
||||
|
||||
```sh
|
||||
git clone https://github.com/jralls/gtk-quartz-engine.git
|
||||
cd gtk-quartz-engine
|
||||
autoreconf -i
|
||||
./configure --prefix=/opt/local CFLAGS="$CFLAGS -Wno-error" && make
|
||||
sudo make install
|
||||
```
|
||||
git clone https://github.com/jralls/gtk-quartz-engine.git
|
||||
cd gtk-quartz-engine
|
||||
autoreconf -i
|
||||
./configure --prefix=/opt/local CFLAGS="$CFLAGS -Wno-error" && make
|
||||
sudo make install
|
||||
|
||||
Generate a new bundle to have it included.
|
||||
|
||||
|
|
@ -196,13 +171,11 @@ The `Makefile.am` rules used to generate the bundle fetch a `libiconv.2.dylib` f
|
|||
This library adds some additional symbols so that dependencies requiring the `iconv` from `/usr/lib` and the ones requiring from the bundle are both satisfied.
|
||||
In case this library needs to generated, here are the commands:
|
||||
|
||||
```sh
|
||||
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
|
||||
cd libiconv-1.14
|
||||
patch -p1 < ../linphone/build/MacOS/libiconv-MacOS.patch
|
||||
./configure --prefix=/opt/local --disable-static 'CFLAGS=-arch i386 -arch x86_64 -mmacosx-version-min=10.5' 'LDFLAGS=-arch i386 -arch x86_64 -mmacosx-version-min=10.5' CXXFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5" && make
|
||||
make install DESTDIR=/tmp
|
||||
```
|
||||
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
|
||||
cd libiconv-1.14
|
||||
patch -p1 < ../linphone/build/MacOS/libiconv-MacOS.patch
|
||||
./configure --prefix=/opt/local --disable-static 'CFLAGS=-arch i386 -arch x86_64 -mmacosx-version-min=10.5' 'LDFLAGS=-arch i386 -arch x86_64 -mmacosx-version-min=10.5' CXXFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5" && make
|
||||
make install DESTDIR=/tmp
|
||||
|
||||
The resulted library can be found in `/tmp/opt/local/lib`.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue