+#
+# Configure platform-specific stuff.
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+case "${host}" in
+ *mingw32*)
+ MINGW32=yes
+ WIN32=yes
+ AC_PATH_PROGS([WINDRES], [windres $host_alias-windres $host_os-windres])
+ if test "x$WINDRES" = x
+ then
+ AC_MSG_ERROR([windres could not be found])
+ fi
+ AC_SUBST(WINDRES)
+ AC_PATH_PROGS([MAKENSIS], [makensis])
+ AC_SUBST(MAKENSIS)
+ ;;
+ *cygwin*)
+ CYGWIN=yes
+ WIN32=yes
+ ;;
+ *-apple-darwin*)
+ MACOSX=yes
+ LIBS="$LIBS -Wl,-framework"
+ ;;
+ *-linux-gnu*)
+ LINUX=yes
+ AC_PATH_PROGS([RPMBUILD], [rpmbuild])
+ AC_SUBST(RPMBUILD)
+ ;;
+esac
+
+AM_CONDITIONAL([LINUX], test "$LINUX" = "yes")
+AM_CONDITIONAL([WIN32], test "$WIN32" = "yes")
+
+
+#
+# Checks for configuration arguments.
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+AC_ARG_ENABLE([developer],
+ [ --enable-developer use all compiler flags developers need],
+ [developer=$enableval],
+ [developer=no])
+
+AC_ARG_ENABLE([debug],
+ [ --enable-debug include debugging symbols and features],
+ [debug=$enableval],
+ [debug=no])
+
+AC_ARG_ENABLE([profile],
+ [ --enable-profile make a binary for use with gprof profiler],
+ [profile=$enableval],
+ [profile=no])
+
+AC_ARG_ENABLE([extra-warnings],
+ [ --enable-extra-warnings make the gcc compiler give more warnings],
+ [extra_warnings=$enableval],
+ [extra_warnings=no])
+
+AC_ARG_WITH([log-level],
+ [AS_HELP_STRING([--with-log-level=NUM],
+ [0, none... 1, errors... 4, everything (default: 3)])],
+ [log_level=$withval],
+ [log_level=3])
+
+
+if test x$developer = xyes
+then
+ debug=yes
+ log_level=4
+
+ if test x$WIN32 != xyes
+ then
+# i haven't had much success with gprof profiling on win32
+ profile=yes
+ fi
+fi
+
+if test x$debug = xyes
+then
+ CFLAGS="$CFLAGS -Wall -O0 -DDEBUG"
+ CXXFLAGS="$CXXFLAGS -Wall -O0 -DDEBUG"
+else
+ CFLAGS="$CFLAGS -O2 -DNDEBUG"
+ CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG"
+fi
+
+if test x$profile = xyes
+then
+ CFLAGS="$CFLAGS -pg"
+ CXXFLAGS="$CXXFLAGS -pg"
+fi
+
+if test x$extra_warnings = xyes
+then
+ CFLAGS="$CFLAGS -Wextra -Wno-unused-parameter"
+ CXXFLAGS="$CXXFLAGS -Wextra -Wno-unused-parameter"
+fi
+
+AC_DEFINE_UNQUOTED([YOINK_LOGLEVEL], [$log_level],
+ [Define to detail level of logging.])
+
+
+if test "x$prefix" = xNONE
+then
+ prefix="$ac_default_prefix"
+fi
+
+AC_ARG_WITH([assetdir],
+ [AS_HELP_STRING([--with-assetdir=DIR],
+ [real path to assets (default: $datarootdir/yoink)])],
+ [DATADIR="$withval"],
+ [eval DATADIR="$datarootdir/yoink"])