view configure.in @ 673:537240c47d18

It was the dawn of the third age of SID-kind, several years after the XMMS-BMP War. The Unified Audacious+XMMS-SID Project was a dream given form. Its goal: to prevent another war by creating a SID-plugin which would be functional for both worlds, where Audacious and XMMS -related code could work out their differences peacefully. It's a port of call, home away from home for coders, users, entrepreneurs, and wanderers. Humans and aliens wrapped in two million, five hundred thousand tons of spinning code, all alone in the night. It can be a dangerous place, but it's our last, best hope for peace. This is the story of the last of the XMMS-SID releases. The year is 2008. The name of the place is XMMS-SID 0.8.0rc2.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 21 Apr 2008 18:53:55 +0300
parents 94f273bcafcf
children 1c9fad120bbc
line wrap: on
line source

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

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

dnl Initialize
AC_INIT([XMMS-SID], [0.8.0rc2], [ccr@tnsp.org])
AC_COPYRIGHT([[(C) 2003-2008 Matti 'ccr' Hämäläinen]])
AC_CONFIG_SRCDIR([src/xmms-sid.h])
AM_INIT_AUTOMAKE
AC_CONFIG_HEADERS([src/config.h])
AM_GNU_GETTEXT_VERSION([0.16.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_XMMSEXTRA],[Define if you have XMMS version 1.2.5 or later and you want XMMS-SID to support some extra features.])
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_RESID_BUILDER],[Define if you have reSID with libSIDPlay 2])
AH_TEMPLATE([HAVE_HARDSID_BUILDER],[Define if you have HardSID with libSIDPlay 2])
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.])


dnl ***
dnl *** Some general checks
dnl ***
AC_PREFIX_PROGRAM([xmms])
AC_DISABLE_STATIC
AC_LIBTOOL_DLOPEN
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.5],,AC_MSG_ERROR([[*** GLib >= 1.2.5 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.5],,AC_MSG_ERROR([[*** Gtk+ >= 1.2.5 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 or disable themetune support/installation
dnl ***
AC_ARG_ENABLE([themetune],
[
  --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
	OPT_THEMETUNE=yes
else
	if test "x$enableval" = "xno"; then
		OPT_THEMETUNE=no
	else
		OPT_THEMETUNE=no
	fi
fi
],[OPT_THEMETUNE=yes])
AC_DEFINE([HAVE_THEMETUNE],[test "x$OPT_THEMETUNE" = "xyes"])


dnl ***
dnl *** libSIDPlay 1 options
dnl ***
AC_ARG_WITH([sidplay1],
[
  --with-sidplay1=PREFIX   Enable SIDPlay1 with install-PREFIX],
[
if test "x$withval" = "xyes"; then
xs_sidplay1=yes
xs_sidplay1_library=""
xs_sidplay1_includes=""
else
	if test "x$withval" = "xno"; then
		xs_sidplay1=no
	else
		xs_sidplay1=yes
		xs_sidplay1_includes="$withval/include"
		xs_sidplay1_library="$withval/lib"
	fi
fi
],[
	xs_sidplay1=try
	xs_sidplay1_library=""
	xs_sidplay1_includes=""
])


AC_ARG_WITH([sidplay1-inc],
[  --with-sidplay1-inc=DIR    Where the SIDPlay1 headers are located],
[xs_sidplay1_includes="$withval"],)

AC_ARG_WITH([sidplay1-lib],
[  --with-sidplay1-lib=DIR    Where the SIDPlay1 library is installed],
[xs_sidplay1_library="$withval"],)


dnl ***
dnl *** libSIDPlay 2 options
dnl ***
AC_ARG_WITH([sidplay2],
[
  --with-sidplay2=PREFIX   Enable SIDPlay2 with install-PREFIX],
[
if test "x$withval" = "xyes"; then
	xs_sidplay2=yes
	xs_sidplay2_library=""
	xs_sidplay2_includes=""
else
	if test "x$withval" = "xno"; then
		xs_sidplay2=no
	else
		xs_sidplay2=yes
		xs_sidplay2_includes="$withval/include"
		xs_sidplay2_library="$withval/lib"
	fi
fi
],[
	xs_sidplay2=try
	xs_sidplay2_library=""
	xs_sidplay2_includes=""
])


AC_ARG_WITH([sidplay2-inc],
[  --with-sidplay2-inc=DIR    Where the SIDPlay2 headers are located],
[xs_sidplay2_includes="$withval"],)


AC_ARG_WITH([sidplay2-lib],
[  --with-sidplay2-lib=DIR    Where the SIDPlay2 library is installed],
[xs_sidplay2_library="$withval"],)


dnl ***
dnl *** Determine if libraries are wanted and available
dnl ***
OPT_SIDPLAY1="no"
if test "x$xs_sidplay1" = "xtry"; then
	XS_PATH_LIBSIDPLAY1
else
	if test "x$xs_sidplay1" = "xyes"; then
		XS_PATH_LIBSIDPLAY1
		if test "x$xs_have_sidplay1" = "xno"; then
			AC_MSG_ERROR([libSIDPlay1 library and/or headers were not found!])
		fi
	fi
fi
if test "x$xs_have_sidplay1" = "xyes"; then
	AC_DEFINE([HAVE_SIDPLAY1])
	OPT_SIDPLAY1="yes"
fi



OPT_SIDPLAY2="no"
LIBSIDPLAY2_REQUIRED_VERSION="2.1.0"
if test "x$xs_sidplay2" = "xtry"; then
	XS_PATH_LIBSIDPLAY2
else
	if test "x$xs_sidplay2" = "xyes"; then
		XS_PATH_LIBSIDPLAY2
		if test "x$xs_have_sidplay2" = "xno"; then
			AC_MSG_ERROR([libSIDPlay2 library and/or headers were not found!])
		fi
	fi
fi
if test "x$xs_have_sidplay2" = "xyes"; then
	AC_DEFINE([HAVE_SIDPLAY2])
	OPT_SIDPLAY2="yes"
	BUILDERS_FIND
	BUILDERS_FIND_RESID
	BUILDERS_FIND_HARDSID
	if test "x$builders_available" = "xno"; then
		AC_MSG_ERROR([No builder modules were found in the sidbuilders directory!]);
	fi
fi


dnl ***
dnl *** Check if we have some emulator library available?
dnl ***
if test "x$OPT_SIDPLAY1" = "xno"; then
if test "x$OPT_SIDPLAY2" = "xno"; then
	AC_MSG_ERROR([Either libSIDPlay1 or libSIDPlay2 is required! Please read INSTALL for more information!])
fi
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],[
	OPT_SONGPOS="yes"
	AC_DEFINE([HAVE_SONG_POSITION])
	AC_MSG_RESULT([yes])
],[
	OPT_SONGPOS="no"
	AC_MSG_RESULT([no])
])
CPPFLAGS=$tmp_CPPFLAGS


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

XMMS_TEST_VERSION([$XMMS_VERSION], [1.2.5], [
	AC_DEFINE([HAVE_XMMSEXTRA])
	OPT_XMMSEXTRA="yes"
], [
	OPT_XMMSEXTRA="no"
])


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([
	XMMS-SID has been configured successfully:

	Installation directory        : $libdir
	XMMS >= v1.2.5 extra features : $OPT_XMMSEXTRA
	Song-position patch           : $OPT_SONGPOS
	libSIDPlay 1 support          : $OPT_SIDPLAY1
	libSIDPlay 2 support          : $OPT_SIDPLAY2
		Included builders     : $xs_builders
	XMMS-SID theme SID-tune       : $OPT_THEMETUNE
	Translations (i18n/nls)       : $USE_NLS
])