summaryrefslogtreecommitdiff
path: root/sid/sidplay-libs-2.1.0/builders/resid-builder/unix/sidplay2.m4
diff options
context:
space:
mode:
Diffstat (limited to 'sid/sidplay-libs-2.1.0/builders/resid-builder/unix/sidplay2.m4')
-rw-r--r--sid/sidplay-libs-2.1.0/builders/resid-builder/unix/sidplay2.m4137
1 files changed, 137 insertions, 0 deletions
diff --git a/sid/sidplay-libs-2.1.0/builders/resid-builder/unix/sidplay2.m4 b/sid/sidplay-libs-2.1.0/builders/resid-builder/unix/sidplay2.m4
new file mode 100644
index 00000000..123575c6
--- /dev/null
+++ b/sid/sidplay-libs-2.1.0/builders/resid-builder/unix/sidplay2.m4
@@ -0,0 +1,137 @@
+dnl -------------------------------------------------------------------------
+dnl Test for working build
+dnl $1 - builder library name (lower case)
+dnl $2 - CXXFLAGS
+dnl $3 - LDFLAGS
+dnl $4 - ldflag (output)
+dnl -------------------------------------------------------------------------
+AC_DEFUN(SID2_TEST_BUILDER,
+[
+ AC_MSG_CHECKING([for $1 builder module])
+
+ dnl @FIXME@ Builders should export themselves via the base class only
+ dnl This is not supported yet
+ case $1 in
+ resid) sid2_builder=ReSIDBuilder;;
+ hardsid) sid2_builder=HardSIDBuilder;;
+ esac
+
+ MY_TRY_COMPILE($2,[$3 -l$1-builder],
+ [sidplay/builders/$1.h],
+ [$sid2_builder *myBuilder;], sid2_builder_works)
+
+ dnl Found builder to define variables to indicate
+ dnl it and linker flags
+ $4=""
+ if test "$sid2_builder_works" = YES; then
+ sid2_def="HAVE_`echo $1 | tr [a-z] [A-Z]`_BUILDER"
+ AC_DEFINE_UNQUOTED($sid2_def)
+ $4="-l$1-builder"
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+])
+
+
+dnl -------------------------------------------------------------------------
+dnl Find installed builders
+dnl NOTE: Before running this command you must have run
+dnl libsidplay2 for the necessary path information
+dnl -------------------------------------------------------------------------
+AC_DEFUN(SID2_FIND_BUILDERS,
+[
+ AC_MSG_CHECKING([for sidbuilders install directory])
+
+ AC_ARG_WITH(sidbuilders,
+ [ --with-sidbuilders=DIR
+ where the sid builder libraries are installed],
+ [LIBSIDPLAY2_BUILDERS="$withval"]
+ )
+
+ AH_TOP([
+/* Define supported builder */
+#undef HAVE_RESID_BUILDER
+#undef HAVE_HARDSID_BUILDER
+ ])
+
+ AC_MSG_RESULT($LIBSIDPLAY2_BUILDERS)
+ BUILDERS_LDFLAGS=""
+ dnl @FIXME@ detection of builders should be automatic
+ for sid2_lib in resid hardsid; do
+ dnl builder must be lower case
+ sid2_lib=`echo $sid2_lib | tr [A-Z] [a-z]`
+ SID2_TEST_BUILDER($sid2_lib,
+ $LIBSIDPLAY2_CXXFLAGS,
+ -L$LIBSIDPLAY2_BUILDERS,
+ sid2_ldflags)
+
+ if test "$sid2_ldflags" != ""; then
+ BUILDERS_LDFLAGS="$BUILDERS_LDFLAGS $sid2_ldflags"
+ fi
+ done
+
+ if test "$BUILDERS_LDFLAGS" = ""; then
+ AC_MSG_ERROR([
+No builder modules were found in the sidbuilders
+install dir. Please check your installation!
+ ]);
+ fi
+
+ BUILDERS_LDFLAGS="-L$LIBSIDPLAY2_BUILDERS $BUILDERS_LDFLAGS"
+ AC_SUBST(BUILDERS_LDFLAGS)
+])
+
+
+dnl -------------------------------------------------------------------------
+dnl Disable library build checks
+dnl -------------------------------------------------------------------------
+AC_DEFUN(SID2_LIB_CHECKS,
+[
+ AC_ARG_ENABLE(library-checks,
+ [ --disable-library-checks do not check for working libraries])
+ if test x"${enable_library_checks+set}" = xset; then
+ SID2_LIB_CHECK=0
+ fi
+])
+
+
+dnl -------------------------------------------------------------------------
+dnl Find libsidplay2 library
+dnl [$1 - variables]
+dnl -------------------------------------------------------------------------
+AC_DEFUN(SID2_FIND_LIBSIDPLAY2,
+[
+ if test "$SID2_LIB_CHECK" != "0"; then
+ MY_FIND_PKG_CONFIG_LIB(sidplay2,"2.1.0",builders $1,sidplay/sidplay2.h,
+ sidplay2 *myEngine)
+ else
+ MY_FIND_LIB_NO_CHECK(sidplay2,sidplay/sidplay2.h)
+ LIBSIDPLAY2_CXXFLAGS="$LIBSIDPLAY2_CXXFLAGS -DHAVE_UNIX"
+ LIBSIDPLAY2_PREFIX=NONE
+ fi
+
+ dnl list exported variables here so end up in makefile
+ AC_SUBST(LIBSIDPLAY2_CXXFLAGS)
+ AC_SUBST(LIBSIDPLAY2_LDFLAGS)
+ AC_SUBST(LIBSIDPLAY2_BUILDERS)
+])
+
+dnl -------------------------------------------------------------------------
+dnl Find libsidutils library
+dnl [$1 - variables]
+dnl -------------------------------------------------------------------------
+AC_DEFUN(SID2_FIND_LIBSIDUTILS,
+[
+ if test "$SID2_LIB_CHECK" != "0"; then
+ MY_FIND_PKG_CONFIG_LIB(sidutils,"1.0.2",$1,sidplay/utils/SidDatabase.h,
+ SidDatabase *d)
+ else
+ MY_FIND_LIB_NO_CHECK(sidutils,sidplay/utils/SidDatabase.h)
+ LIBSIDPLAY2_CXXFLAGS="$LIBSIDPLAY2_CXXFLAGS -DHAVE_UNIX"
+ fi
+
+ dnl list exported variables here so end up in makefile
+ AC_SUBST(LIBSIDUTILS_CXXFLAGS)
+ AC_SUBST(LIBSIDUTILS_LDFLAGS)
+])