- Step 1. Download code
- Step 2, Option 1. Cross-Build on Linux
- Step 2, Option 2. Native Build
- Install dependencies
- Build
- Build Parameters
- Step 3. Security Check
- Step 4. Use
Supported targets:
- Cross-Build on Linux for AMD64 & ARM64, Windows/AMD64, Android/ARM64
- Native build on Linux
Targets that should work after minor tweaking:
- Build on Windows
- Build on FreeBSD & macOS
mkdir phiola-src
cd phiola-src
git clone https://github.com/stsaz/phiola
git clone https://github.com/stsaz/netmill
git clone https://github.com/stsaz/avpack
git clone https://github.com/stsaz/ffaudio
git clone https://github.com/stsaz/ffpack
git clone https://github.com/stsaz/ffgui
git clone https://github.com/stsaz/ffsys
git clone https://github.com/stsaz/ffbase
cd phiola
-
Cross-Build on Linux:
bash xbuild-debianbullseye.sh
-
Cross-Build on Linux for ARM64:
bash xbuild-debianbookworm-arm64.sh
-
Cross-Build on Linux for Windows/AMD64:
bash xbuild-win64.sh
-
Cross-Build on Linux for Android/ARM64:
ANDROID_CLT_URL=https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip \ ANDROID_HOME=/home/USER/Android \ ANDROID_BT_VER=33.0.0 \ ANDROID_PF_VER=33 \ ANDROID_NDK_VER=25.1.8937393 \ GRADLE_DIR=/home/USER/.gradle \ CPU=arm64 \ bash xbuild-android.sh
-
Debian/Ubuntu
sudo apt install \ make gcc g++ \ libasound2-dev libpulse-dev libjack-dev \ libdbus-1-dev \ libgtk-3-dev \ libssl-dev \ zstd unzip cmake patch dos2unix curl
-
Fedora
sudo dnf install \ make gcc gcc-c++ \ alsa-lib-devel pulseaudio-libs-devel pipewire-jack-audio-connection-kit-devel \ dbus-devel \ gtk3-devel \ openssl-devel \ zstd unzip cmake patch dos2unix curl
-
Windows
- msys2 packages:
mingw-w64-clang-x86_64-clang
Environment:
set PATH=c:\clang64\bin;%PATH%
- msys2 packages:
-
macOS
brew install \ make llvm \ cmake dos2unix
-
Build on Linux:
make -j8 zstd \ -C ../ffpack make -j8 \ -C alib3 make -j8
-
Build on Windows:
mingw32-make -j8 openssl \ -C ../netmill/3pt mingw32-make -j8 zstd \ -C ../ffpack mingw32-make -j8 \ -C alib3 mingw32-make -j8
-
Build on FreeBSD & macOS:
gmake -j8 zstd \ -C ../ffpack gmake -j8 \ -C alib3 gmake -j8 PHI_HTTP_SSL=0
Parameter | Description |
---|---|
DEBUG=1 |
Developer build (no optimization; no strip; all assertions) |
ASAN=1 |
Enable ASAN |
CFLAGS_USER=... |
Additional C/C++ compiler flags |
PHI_CODECS=0 |
Disable all codecs |
PHI_HTTP_SSL=0 |
Disable SSL |
For security, ensure that the original 3rd party libs were used:
make hash-check \
-C ../netmill/3pt
make md5check \
-C ../ffpack
Directory phiola-2
is the application directory. Copy it anywhere you want.