mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-06-14 03:01:09 +00:00
62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
|
# FreeSWITCH Build Dependencies
|
||
|
|
||
|
This directory is organized into subfolders, where each subfolder contains build instructions for a single Debian package. These packages are dependencies required to build FreeSWITCH's Debian packages.
|
||
|
|
||
|
## Recommended order of building:
|
||
|
|
||
|
- [libbroadvoice](libbroadvoice/README.md)
|
||
|
- [libilbc](libilbc/README.md)
|
||
|
- [libsilk](libsilk/README.md)
|
||
|
- [spandsp](spandsp/README.md)
|
||
|
- [sofia-sip](sofia-sip/README.md)
|
||
|
- [libks](libks/README.md)
|
||
|
- [signalwire-c](signalwire-c/README.md)
|
||
|
- [libv8](libv8/README.md) (only for `AMD64`)
|
||
|
|
||
|
## Build Dependencies Script
|
||
|
|
||
|
A convenient script `build-dependencies.sh` is provided to automate the building of dependencies. This script offers several options to customize the build process.
|
||
|
|
||
|
### Usage
|
||
|
|
||
|
```bash
|
||
|
./build-dependencies.sh [options] [library_names...]
|
||
|
```
|
||
|
|
||
|
### Options
|
||
|
|
||
|
- `-h, --help`: Show the help message
|
||
|
- `-b, --build-number N`: Set build number (default: 42 or env value)
|
||
|
- `-a, --all`: Build all libraries
|
||
|
- `-s, --setup`: Set up build environment before building
|
||
|
- `-o, --output DIR`: Set output directory (default: /var/local/deb)
|
||
|
- `-p, --prefix DIR`: Set source path prefix (default: /usr/src)
|
||
|
- `-r, --repo`: Set up local repository after building
|
||
|
- `-c, --clone`: Clone required repositories before building
|
||
|
- `-g, --git-https`: Use HTTPS instead of SSH for git cloning
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
Set up environment, clone repositories, and build all dependencies:
|
||
|
```bash
|
||
|
./build-dependencies.sh --build-number 123 --setup --all --repo --clone
|
||
|
```
|
||
|
|
||
|
Complete build with all options (setup environment, build all libraries, create local repo, clone repos with HTTPS):
|
||
|
```bash
|
||
|
./build-dependencies.sh --build-number 123 --setup --all --repo --clone --git-https
|
||
|
```
|
||
|
|
||
|
Build specific libraries with full automation:
|
||
|
```bash
|
||
|
./build-dependencies.sh --build-number 123 --setup --repo --clone --git-https libks signalwire-c
|
||
|
```
|
||
|
|
||
|
### Running in Docker
|
||
|
|
||
|
You can run the build script inside a Docker container for a clean, isolated build environment:
|
||
|
|
||
|
```bash
|
||
|
docker run -it -v $(pwd):/root/scripts debian:bookworm bash -c "cd /root/scripts && bash"
|
||
|
```
|