Notes for Building Audacious on Windows

John Lindgren
February 09, 2023

A Makefile and several patch files should accompany this document.

Set up MSYS2 environment

Download and run the latest MSYS2 installer:
https://repo.msys2.org/distrib/x86_64/msys2-x86_64-<DATE>.exe

Accept the default options to install to C:\msys64.

Edit C:\msys64\home\<USER>\.bashrc and add the following lines:

export PATH="$PATH:/C/libs/bin:/C/aud/bin"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/C/libs/lib/pkgconfig:/C/aud/lib/pkgconfig"
export C_INCLUDE_PATH=/C/libs/include
export CPLUS_INCLUDE_PATH=/C/libs/include
export LIBRARY_PATH=/C/libs/lib

In the MinGW shell (MSYS2 MinGW 64-bit, not MSYS2 MSYS):

pacman -Syu
pacman -S autoconf automake git libtool make patch pkg-config
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gettext mingw-w64-x86_64-libxml2
pacman -S mingw-w64-x86_64-atk mingw-w64-x86_64-cairo mingw-w64-x86_64-pango
pacman -S mingw-w64-x86_64-gdk-pixbuf2 mingw-w64-x86_64-librsvg mingw-w64-x86_64-qt6-base
pacman -S mingw-w64-x86_64-qt6-imageformats mingw-w64-x86_64-qt6-svg mingw-w64-x86_64-qt6-translations
pacman -S mingw-w64-x86_64-flac mingw-w64-x86_64-libvorbis mingw-w64-x86_64-libcdio-paranoia
pacman -S mingw-w64-x86_64-fluidsynth mingw-w64-x86_64-mpg123 mingw-w64-x86_64-faad2
pacman -S mingw-w64-x86_64-wavpack mingw-w64-x86_64-libmodplug mingw-w64-x86_64-libbs2b
pacman -S mingw-w64-x86_64-libsamplerate mingw-w64-x86_64-libsoxr mingw-w64-x86_64-neon
pacman -S mingw-w64-x86_64-libcue mingw-w64-x86_64-lame mingw-w64-x86_64-opusfile
pacman -S mingw-w64-x86_64-libopenmpt mingw-w64-x86_64-json-glib

Install GTK

The Makefile accompanying this document automates the process of building GTK from source.

In the MinGW shell:

cd <PATH TO THIS DOCUMENT>
make -j$(nproc) gtk

It may be necessary to run the MinGW shell with administrative privileges for GTK to build successfully.

Install additional libraries

In the MinGW shell:

cd <PATH TO THIS DOCUMENT>
make -j$(nproc) ffmpeg
make -j$(nproc) libmms
make -j$(nproc) libbinio
make -j$(nproc) adplug
make -j$(nproc) libsidplayfp

Install Audacious

Download and unzip to C:\audacious:
https://distfiles.audacious-media-player.org/audacious-<VERSION>.tar.bz2

In the MinGW shell:

cd /C/audacious
./configure --prefix=/C/aud --enable-gtk2
make -j$(nproc)
make install

Install Audacious Plugins

Download and unzip to C:\audacious-plugins:
https://distfiles.audacious-media-player.org/audacious-plugins-<VERSION>.tar.bz2

In the MinGW shell:

cd /C/audacious-plugins
./configure --prefix=/C/aud --enable-gtk2
make -j$(nproc)
make install