#!/usr/bin/make -f
include /usr/share/dpkg/architecture.mk

WITH_SHINE_VORBIS_TREMOR=-Dshine=disabled -Dvorbis=enabled -Dvorbisenc=enabled -Dtremor=disabled
ifeq ($(DEB_HOST_ARCH), armel)
WITH_SHINE_VORBIS_TREMOR=-Dshine=enabled -Dvorbis=disabled -Dvorbisenc=disabled -Dtremor=enabled
endif

# no systemd and no alsa on non-linux arches
ifeq ($(DEB_HOST_ARCH_OS), linux)
WITH_SYSTEMD=-Dsystemd=enabled -Dsystemd_system_unit_dir=/lib/systemd/system -Dsystemd_user_unit_dir=/usr/lib/systemd/user -Dalsa=enabled
else
WITH_SYSTEMD=-Dsystemd=disabled -Dalsa=disabled
endif

# no smbclient on hurd-i386 (#815441)
ENABLE_SMBCLIENT=-Dsmbclient=enabled
ifeq ($(DEB_HOST_ARCH), hurd-i386)
    ENABLE_SMBCLIENT=-Dsmbclient=disabled
endif


###############################################################
## Define Debian feature set (in configure summary order)
RUN_TESTS=-Dtest=true

# Archive support
ENABLE_ARCHIVES=-Dbzip2=enabled \
		-Diso9660=enabled \
		-Dzlib=enabled \
		-Dzzip=enabled

# Autodiscovery support
ENABLE_AUTODISCOVERY=-Dneighbor=true \
		-Dupnp=enabled \
		-Dzeroconf=avahi

# Client support
ENABLE_CLIENTS=-Dipv6=enabled \
	 	-Dtcp=true \
	 	-Dlocal_socket=true

# Storage support
ENABLE_STORAGE=-Dnfs=enabled \
	 	${ENABLE_SMBCLIENT} \
	 	-Dwebdav=enabled

# File format support
ENABLE_FILEFORMATS=-Dfaad=enabled \
		-Dadplug=enabled \
		-Daudiofile=enabled \
		-Dffmpeg=enabled \
		-Dflac=enabled \
		-Dfluidsynth=enabled \
		-Dgme=enabled \
		-Dmad=enabled \
		-Dmikmod=enabled \
		-Dmodplug=enabled \
		-Dmpcdec=enabled \
		-Dmpg123=enabled \
		-Dopus=enabled \
		-Dsidplay=enabled \
		-Dsndfile=enabled \
		-Dwavpack=enabled \
		-Dwildmidi=enabled

# Other features
ENABLE_OTHER=-Dcue=true \
		-Ddatabase=true \
		-Dexpat=enabled \
		-Dicu=enabled \
		-Dlibmpdclient=enabled \
		-Dinotify=true \
		-Dsoxr=enabled \
		-Dlibsamplerate=enabled \
		-Dsqlite=enabled \
		-Dsyslog=enabled \
		-Dpcre=enabled

# Metadata support
ENABLE_METADATA=-Did3tag=enabled \
		-Dchromaprint=enabled

# Playback support
# Note: ALSA is in WITH_SYSTEMD
ENABLE_PLAYBACKS=-Dfifo=true \
		-Dsndio=disabled \
		-Drecorder=true \
		-Dhttpd=true \
		-Djack=enabled \
		-Dao=enabled \
		-Doss=enabled \
		-Dopenal=enabled \
		-Dpipe=true \
		-Dpulse=enabled \
		-Dshout=enabled

# Streaming encoder support
# Note: FLAC and Opus enabled under file formats, vorbisenc at top (!tremor)
ENABLE_ENCODERS=-Dlame=enabled \
		-Dtwolame=disabled \
		-Dwave_encoder=true \

# Streaming support
ENABLE_STREAMING=-Dcdio_paranoia=enabled \
		-Dcurl=enabled \
		-Dsoundcloud=enabled \
		-Dqobuz=enabled \
		-Dtidal=enabled \
		-Dmms=enabled

# Sphinx documentation
ENABLE_DOCUMENTATION=-Ddocumentation=true

###############################################################


export DEB_BUILD_MAINT_OPTIONS = hardening=+all
LDFLAGS += -Wl,--as-needed

%:
	dh $@ --with sphinxdoc

override_dh_auto_configure:
	dh_auto_configure -- $(WITH_SHINE_VORBIS_TREMOR) $(WITH_SYSTEMD) \
		$(RUN_TESTS) \
		$(ENABLE_ARCHIVES) \
		$(ENABLE_AUTODISCOVERY) \
		$(ENABLE_CLIENTS) \
		$(ENABLE_STORAGE) \
		$(ENABLE_FILEFORMATS) \
		$(ENABLE_OTHER) \
		$(ENABLE_METADATA) \
		$(ENABLE_PLAYBACKS) \
		$(ENABLE_ENCODERS) \
		$(ENABLE_STREAMING) \
		$(ENABLE_DOCUMENTATION)

override_dh_installchangelogs:
	dh_installchangelogs NEWS
	rm debian/mpd/usr/share/doc/mpd/COPYING debian/mpd/usr/share/doc/mpd/NEWS debian/mpd/usr/share/doc/mpd/README.md
