-
Install dependencies.
-
Download code.
-
Build.
Supported targets:
- Build on Linux
- Cross-Build on Linux for Debian-buster
- Cross-Build on Linux for Windows/AMD64
- Cross-Build on Linux for Android/ARM64
Targets that should work after minor tweaking:
- Build on Windows
- Build on FreeBSD & macOS
-
Debian/Ubuntu
sudo apt install \ git \ 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 \ git \ 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
git
- msys2 packages:
mingw-w64-clang-x86_64-clang
Environment:
set PATH=c:\clang64\bin;%PATH%
-
macOS
brew install \ git \ make llvm \ cmake dos2unix
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
-
Build on Linux:
make -j8 -C ../ffpack libzstd make -j8 -C alib3 make -j8
-
Cross-Build on Linux for Debian-buster:
bash xbuild-debianbuster.sh
-
Cross-Build on Linux for Windows/AMD64:
bash xbuild-win64.sh
-
Cross-Build on Linux for Android/ARM64:
make -j8 SYS=android CPU=arm64 NDK_DIR=$SDK_DIR/ndk/YOUR_NDK_VERSION -C ../ffpack libzstd make -j8 SYS=android CPU=arm64 NDK_DIR=$SDK_DIR/ndk/YOUR_NDK_VERSION -C alib3 make -j8 -C android SDK_DIR=$SDK_DIR
-
Build on Windows:
mingw32-make -j8 -C ../netmill/3pt openssl mingw32-make -j8 -C ../ffpack libzstd mingw32-make -j8 -C alib3 mingw32-make -j8
-
Build on FreeBSD & macOS:
gmake -j8 -C ../ffpack libzstd gmake -j8 -C alib3 gmake -j8 PHI_HTTP_SSL=0
-
Build parameters
DEBUG=1
- developer build (no optimization; no strip; all assertions)ASAN=1
- enable ASANCFLAGS_USER=...
- C/C++ compiler flagsPHI_CODECS=0
- disable all codecsPHI_HTTP_SSL=0
- disable SSL
For security, ensure that the original 3rd party libs were used:
make -C ../netmill/3pt hash-check
make -C ../ffpack md5check
make -C alib3 md5check
Directory phiola-2
is the application directory. Copy it anywhere you want.