mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-07 22:02:12 +08:00
update README
Change-Id: Idf5bbfe9ca48ea3ba6a54cc73cc70084f897122f
This commit is contained in:
@ -1,23 +1,6 @@
|
||||
COPYRIGHT NOTICE
|
||||
|
||||
Copyright (C) 2004-2024 Savoir-faire Linux Inc.
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
Introduction
|
||||
------------
|
||||
----
|
||||
|
||||
Jami is a Voice-over-IP software phone. We want it to be:
|
||||
- user friendly (fast, sleek, easy to learn interface)
|
||||
@ -42,14 +25,14 @@ the Contributing section for more information.
|
||||
|
||||
|
||||
Short description of content of source tree
|
||||
-------------------------------------------
|
||||
----
|
||||
|
||||
- src/ is the core of libjami.
|
||||
- bin/ contains applications main code.
|
||||
- bin/ contains application and binding main code.
|
||||
- bin/dbus, the D-Bus XML interfaces, and C++ bindings
|
||||
|
||||
About Savoir-faire Linux Inc.
|
||||
-----------------------------
|
||||
----
|
||||
|
||||
Savoir-faire Linux Inc. is a consulting company based in Montreal,
|
||||
Quebec. For more information, please check out our website:
|
||||
@ -57,14 +40,16 @@ https://www.savoirfairelinux.com/
|
||||
|
||||
|
||||
How to compile on Linux
|
||||
-----------------------
|
||||
----
|
||||
|
||||
A) With CMake
|
||||
|
||||
```bash
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DJAMI_DBUS=On
|
||||
make -j4
|
||||
```
|
||||
|
||||
This should build the 'contrib' dependencies, then the daemon
|
||||
|
||||
@ -72,14 +57,17 @@ B) With Meson
|
||||
|
||||
1) Compile the dependencies first
|
||||
|
||||
```bash
|
||||
cd contrib
|
||||
mkdir native
|
||||
cd native
|
||||
../bootstrap
|
||||
make
|
||||
```
|
||||
|
||||
2) Then the jamid application and/or libjami library
|
||||
|
||||
```bash
|
||||
cd ../../
|
||||
mkdir build
|
||||
export PATH=$PATH:`pwd`/contrib/`cc -dumpmachine`/bin
|
||||
@ -87,34 +75,41 @@ meson -Dpkg_config_path=`pwd`/contrib/`cc -dumpmachine`/lib/pkgconfig -Ddefault_
|
||||
cd build
|
||||
ninja
|
||||
ninja install
|
||||
```
|
||||
|
||||
C) With Autotools
|
||||
|
||||
1) Compile the dependencies first
|
||||
|
||||
```bash
|
||||
cd contrib
|
||||
mkdir native
|
||||
cd native
|
||||
../bootstrap
|
||||
make
|
||||
```
|
||||
|
||||
2) Then the jamid application and/or libjami library
|
||||
|
||||
```bash
|
||||
cd ../..
|
||||
./autogen.sh
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
```
|
||||
|
||||
How to compile the daemon for Android (on a Linux or macOS host)
|
||||
-----------------------------------
|
||||
----
|
||||
|
||||
A) With CMake
|
||||
|
||||
```bash
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_API=24 -DBUILD_EXTRA_TOOLS=On -DJAMI_JNI=On -DJAMI_JNI_PACKAGEDIR=java
|
||||
make -j4
|
||||
```
|
||||
|
||||
Replace arm64-v8a with the desired target ABI.
|
||||
See the README in jami-client-android for instructions to build the Jami client for Android.
|
||||
@ -124,6 +119,7 @@ B) With Meson
|
||||
1) Download and install Android NDK
|
||||
2) Compile the dependencies
|
||||
|
||||
```bash
|
||||
export ANDROID_NDK=<NDK>
|
||||
export ANDROID_ABI=arm64-v8a
|
||||
export ANDROID_API=24
|
||||
@ -141,44 +137,53 @@ mkdir native
|
||||
cd native
|
||||
../bootstrap --build=x86_64-pc-linux-gnu --host=$TARGET$ANDROID_API
|
||||
make
|
||||
```
|
||||
|
||||
3) Update directories in the file /cross-files/android_arm64_api29.txt
|
||||
4) Compile the library libjami.so
|
||||
|
||||
```bash
|
||||
cd ../../
|
||||
mkdir build
|
||||
meson --cross-file `pwd`/cross-files/android_arm64_api29.txt build
|
||||
cd build
|
||||
ninja
|
||||
ninja install
|
||||
```
|
||||
|
||||
Note: to build the tests add `-Dtests=true` ; or it can be enabled later with `meson --reconfigure -Dtests=true build`
|
||||
|
||||
How to compile on macOS
|
||||
-----------------------
|
||||
----
|
||||
|
||||
# These first steps are only necessary if you don't use a package manager.
|
||||
These first steps are only necessary if you don't use a package manager.
|
||||
```bash
|
||||
cd extras/tools
|
||||
./bootstrap
|
||||
make
|
||||
export PATH=$PATH:/location/of/ring/daemon/extras/tools/build/bin
|
||||
export PATH=$PATH:/location/of/daemon/extras/tools/build/bin
|
||||
```
|
||||
|
||||
# Or, use your favorite package manager to install the necessary tools
|
||||
(macports or brew).
|
||||
automake, pkg-config, libtool, gettext, yasm
|
||||
Or, use your favorite package manager to install the necessary tools
|
||||
(macports or brew):
|
||||
`automake pkg-config libtool gettext yasm`
|
||||
|
||||
# Compile the dependencies
|
||||
```bash
|
||||
cd contrib
|
||||
mkdir native
|
||||
cd native
|
||||
../bootstrap
|
||||
make -j
|
||||
```
|
||||
|
||||
# Then the daemon
|
||||
```bash
|
||||
cd ../../
|
||||
./autogen.sh
|
||||
./configure --without-dbus --prefix=<install_path>
|
||||
make
|
||||
```
|
||||
|
||||
If you want to link against libjamiclient and native client easiest way is to
|
||||
add to ./configure: --prefix=<prefix_path>
|
||||
@ -186,7 +191,7 @@ add to ./configure: --prefix=<prefix_path>
|
||||
Do a little dance!
|
||||
|
||||
How to compile in a Docker container
|
||||
-----------------------
|
||||
----
|
||||
|
||||
docker build --tag jami-daemon .
|
||||
|
||||
@ -197,7 +202,7 @@ docker build --tag jami-daemon --build-arg config_args="--with-nodejs" .
|
||||
```
|
||||
|
||||
Common Issues
|
||||
-------------
|
||||
----
|
||||
|
||||
autopoint not found: When using Homebrew, autopoint is not found even when
|
||||
gettext is installed, because symlinks are not created.
|
||||
@ -205,12 +210,12 @@ Run: 'brew link --force gettext' to fix it.
|
||||
|
||||
|
||||
Contributing to Jami
|
||||
------------------------
|
||||
----
|
||||
|
||||
Of course we love patches. And contributions. And spring rolls.
|
||||
|
||||
Development website / Bug Tracker:
|
||||
- https://git.jami.net/savoirfairelinux/ring-project
|
||||
- https://git.jami.net/savoirfairelinux/jami-project
|
||||
|
||||
Repositories are hosted on Gerrit, which we use for code review. It also
|
||||
contains the client subprojects:
|
||||
@ -219,3 +224,21 @@ contains the client subprojects:
|
||||
Do not hesitate to join us and post comments, suggestions, questions
|
||||
and general feedback on the Jami mailing-list:
|
||||
https://lists.gnu.org/mailman/listinfo/jami
|
||||
|
||||
COPYRIGHT NOTICE
|
||||
----
|
||||
|
||||
Copyright (C) 2004-2024 Savoir-faire Linux Inc.
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
Reference in New Issue
Block a user