view configure.ac @ 927:8fc22804ab61

Added tag dev-0_8_97 for changeset 970ff4d30e89
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 13 Nov 2012 18:57:23 +0200
parents 81cfc0b26865
children 5deb09a95b74
line wrap: on
line source

dnl ***
dnl *** Process this file with autoconf to produce a configure script.
dnl ***

dnl Require autoconf 2.65 or later
AC_PREREQ([2.65])

dnl Initialize
AC_INIT([XMMS-SID], [0.8.97], [ccr@tnsp.org])
AC_COPYRIGHT([[(C) 2003-2012 Matti 'ccr' Hamalainen]])
AC_CONFIG_SRCDIR([src/xmms-sid.h])
AM_INIT_AUTOMAKE
AC_CONFIG_HEADERS([src/config.h])
AM_GNU_GETTEXT_VERSION([0.18.1])
AM_GNU_GETTEXT([external])


dnl ***
dnl *** Define some templates
dnl ***
AH_TEMPLATE([HAVE_SONG_POSITION], [Define if you have XMMS patched with the songpos patch.])
AH_TEMPLATE([HAVE_SIDPLAY1], [Define if you have and want to use libSIDPlay 1.])
AH_TEMPLATE([HAVE_SIDPLAY2], [Define if you have and want to use libSIDPlay 2.])
AH_TEMPLATE([HAVE_SIDPLAYFP], [Define if you have and want to use libSIDPlay2-FP http://sourceforge.net/projects/sidplay-residfp/])
AH_TEMPLATE([HAVE_SIDPLAYFP_V1], [Define if you are using v1.0.0 API of libSIDPlay2-FP.])
AH_TEMPLATE([HAVE_THEMETUNE], [Define if you want to build code to play XMMS-SID theme SID-tune. The tune needs to be installed too, though.])
AH_TEMPLATE([DEBUG], [Define if you wish to enable debug output to terminal.])


dnl ***
dnl *** Some general checks
dnl ***
AC_PREFIX_PROGRAM([xmms])
AC_DISABLE_STATIC
AC_LIB_RPATH
AM_PROG_LIBTOOL
AC_SYS_LARGEFILE


dnl ***
dnl *** Checks for programs
dnl ***
AC_PROG_CC
AC_PROG_CPP
AC_PROG_CXX
AC_PROG_CXXCPP
AC_PROG_INSTALL


dnl ***
dnl *** Checks for generic libraries
dnl ***
AC_CHECK_HEADER([pthread.h],,AC_MSG_ERROR([[*** POSIX thread support not found. Strange, maybe you don't have some development packages installed?]]))
AM_PATH_GLIB([1.2.10],,AC_MSG_ERROR([[*** GLib >= 1.2.10 not found. You either don't have GLib at all or your GLib is too old. Latest GLib can be found from Gtk+ homepages (http://www.gtk.org/)]]))
AM_PATH_GTK([1.2.10],,AC_MSG_ERROR([[*** Gtk+ >= 1.2.10 not found. You either don't have Gtk+ at all or your Gtk+ is too old. Latest Gtk+ can be found from Gtk+ homepages (http://www.gtk.org/)]]), [gthread])


dnl ***
dnl *** Checks for header files, types and functions
dnl ***
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h string.h unistd.h])

AC_TYPE_SIZE_T
AC_C_CONST
AC_C_INLINE
AC_CHECK_FUNCS([memset],[],[[*** memset function not found. Your libc has failed you.]])


dnl ***
dnl *** Enable debugging
dnl ***
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug], [Enable debug output to terminal/console.])],
[
if test "x$enableval" = "xyes"; then
	xs_enable_debug=yes
else
	xs_enable_debug=no
fi
], [xs_enable_debug=no])
if test "x$xs_enable_debug" = "xyes"; then
	AC_DEFINE([DEBUG])
	CFLAGS="$CFLAGS -fstack-protector-all"
	CXXFLAGS="$CXXFLAGS -fstack-protector-all"
fi


dnl ***
dnl *** Enable or disable themetune support/installation
dnl ***
AC_ARG_ENABLE([themetune],
[AS_HELP_STRING([--disable-themetune],
[Disable XMMS-SID theme song-related code and installation of the SID-tune file. The tune is not under GNU GPL, refer to README for license.])
], [
if test "x$enableval" = "xyes"; then
	xs_have_themetune=yes
else
	if test "x$enableval" = "xno"; then
		xs_have_themetune=no
	else
		xs_have_themetune=no
	fi
fi
], [xs_have_themetune=yes])
if test "x$xs_have_themetune" = "xyes"; then
	AC_DEFINE([HAVE_THEMETUNE])
fi


dnl ***
dnl *** libSIDPlay1/2 options
dnl ***
xs_have_sidplay1=no
xs_have_sidplay2=no
xs_have_sidplayfp=no

XS_ARG_WITH([sidplay1], [libSIDPlay1], [XS_PATH_LIBSIDPLAY1])
if test "x$xs_have_sidplay1" = "xyes"; then
	AC_DEFINE([HAVE_SIDPLAY1])
fi


XS_ARG_WITH([sidplayfp], [libSIDPlayFP], [XS_PATH_LIBSIDPLAYFP])

if test "x$xs_have_sidplayfp" = "xyes"; then
	AC_DEFINE([HAVE_SIDPLAYFP])
	AC_DEFINE([HAVE_HARDSID_BUILDER])
	AC_DEFINE([HAVE_RESID_BUILDER])
	AC_DEFINE([HAVE_RESID_FP_BUILDER])
	if test "x$xs_pkg_sidplayfp_v1" = "xyes"; then
		AC_DEFINE([HAVE_SIDPLAYFP_V1])
	fi
dnl fi
else
xs_have_sidplay2_api=""
XS_ARG_WITH([sidplay2], [libSIDPlay2], [XS_PATH_LIBSIDPLAY2])
if test "x$xs_have_sidplay2" = "xyes"; then
	xs_have_sidplay2_api="(old non-COMI)"
	AC_DEFINE([HAVE_SIDPLAY2])

	AC_LANG_PUSH([C++])
	
	XS_BUILDERS_CHECK
        xs_builders_available="no"
	dnl This is a faux check, to satisfy things
	XS_BUILDERS_FIND([reSID_FP], [residfp-builder], [residfp.h], [ReSIDfpBuilder])
	dnl These checks are real
	XS_BUILDERS_FIND([reSID], [resid-builder], [resid.h], [ReSIDBuilder])
	XS_BUILDERS_FIND([HardSID], [hardsid-builder], [hardsid.h], [HardSID])
	if test "x$xs_builders_available" = "xno"; then
		AC_MSG_ERROR([No builder modules were found in the sidbuilders directory!]);
	fi

	AC_LANG_POP([C++])
fi
fi

dnl ***
dnl *** Check if we have some emulator library available?
dnl ***
if test "x$xs_have_sidplay1" != "xyes" -a "x$xs_have_sidplay2" != "xyes" -a "x$xs_have_sidplayfp" != "xyes"; then
	AC_MSG_ERROR([Either libSIDPlay1, libSIDPlay2 or libSIDPlay2-FP is required! Please read INSTALL for more information!])
fi


dnl ***
dnl *** Song position patch check
dnl ***
AC_MSG_CHECKING([for song position patch])
tmp_CPPFLAGS="$CPPFLAGS"
if test -d "$prefix"; then
	CPPFLAGS="$CPPFLAGS -I${prefix}/include"
fi

AC_EGREP_HEADER([set_song_position], [xmms/plugin.h], [
	xs_have_songpos="yes"
	AC_DEFINE([HAVE_SONG_POSITION])
],[
	xs_have_songpos="no"
])
AC_MSG_RESULT([$xs_have_songpos])
CPPFLAGS="$tmp_CPPFLAGS"


dnl ***
dnl *** Check XMMS version
dnl ***
AM_PATH_XMMS([1.2.10],, [
 	AC_MSG_ERROR([*** XMMS >= 1.2.10 not found. You need XMMS v1.2.10 or later to use XMMS-SID plugin.])
])
libdir="$XMMS_INPUT_PLUGIN_DIR"


dnl ***
dnl *** And finally, output the all generatable files!
dnl ***
AC_CONFIG_FILES([
Makefile
xmms-sid.spec
po/Makefile.in
])
AC_OUTPUT


dnl ***
dnl *** Show the result message
dnl ***
AC_MSG_RESULT([
	$PACKAGE_STRING has been configured successfully:

	Prefix                        : $prefix
	Plugin installation directory : $libdir
	Song-position patch           : $xs_have_songpos
	libSIDPlay 1 support          : $xs_have_sidplay1
	libSIDPlay 2 support          : $xs_have_sidplay2 $xs_have_sidplay2_api
	    Included builders         : $xs_builders
	libSIDPlay 2-FP support       : $xs_have_sidplayfp
	XMMS-SID theme SID-tune       : $xs_have_themetune
	Translations (i18n/nls)       : $USE_NLS
	Debugging enabled             : $xs_enable_debug
])

if test "x$xs_pkg_sidplayfp_v1" = "xyes"; then
	echo ""
	echo "WARNING! You seem to be using libSIDPlayFP v1.x, which is, at the"
	echo "time of this release, still in alpha state. The API may not be compatible."
	echo "If you experience any problems, downgrade to libSIDPlayFP release 0.3.7."
	echo ""
	echo "Or check if there are any newer releases of XMMS-SID that might support"
	echo "the newer versions of libSIDPlayFP."
	echo ""
	echo "Or just use plain old libSIDPlay2."
fi