AC_INIT([animone], [0.1.0-alpha.1])

AC_CANONICAL_HOST

AC_CONFIG_SRCDIR([src/animone.cc])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIRS([m4])

AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])

# Do we have a C++17 compiler
AC_PROG_CXX

AM_PROG_AR
LT_INIT

build_win32=no
build_osx=no
build_linux=no
build_libutil=no
build_kvm=no

build_x11=no

case "${host_os}" in
	cygwin*|mingw*)
		# Windows
		build_windows=yes
		AC_CHECK_TOOL([WINDRES], [windres])
		AC_SUBST(WINDRES)
		AC_DEFINE([WIN32])
		;;
	darwin*)
		# Mac OS X
		build_osx=yes
		AC_DEFINE([MACOSX])
		;;
	linux*)
		build_linux=yes
		AC_DEFINE([LINUX])
		;;
	*)
		# FreeBSD
		AC_CHECK_LIB([util], [kinfo_getfile], [build_libutil=yes], [build_libutil=no])
		if test "x$build_libutil" = "xyes"; then
			AC_DEFINE([LIBUTIL])
		else
			# OpenBSD
			AC_CHECK_LIB([kvm], [kvm_getfiles], [build_kvm=yes], [build_kvm=no])
			if test "x$build_kvm" = "xyes"; then
				AC_DEFINE([LIBKVM])
			fi
		fi
		;;
esac

if test "x$build_osx" = "xno" && test "x$build_windows" = "xno"; then
	PKG_CHECK_MODULES(XCB, [xcb xcb-res], [build_x11=yes], [build_x11=no])
	if test "x$build_x11" = "xyes"; then
		AC_DEFINE([X11])
		AC_SUBST([XCB_LIBS])
		AC_SUBST([XCB_CFLAGS])
	fi
fi

AM_CONDITIONAL([BUILD_WIN], [test "x$build_windows" = "xyes"])
AM_CONDITIONAL([BUILD_OSX], [test "x$build_osx" = "xyes"])
AM_CONDITIONAL([BUILD_LINUX], [test "x$build_linux" = "xyes"])
AM_CONDITIONAL([BUILD_LIBUTIL], [test "x$build_libutil" = "xyes"])
AM_CONDITIONAL([BUILD_LIBKVM], [test "x$build_kvm" = "xyes"])

AM_CONDITIONAL([BUILD_XCB], [test "x$build_x11" = "xyes"])

AC_CONFIG_FILES([Makefile])
AC_OUTPUT
