summaryrefslogtreecommitdiffhomepage
path: root/configure.ac
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-08-23 04:07:53 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-08-23 04:07:53 +0200
commit846682b6ba593fd73a286425026d9fe92830eba8 (patch)
tree9f32eae05b5290f589e9166391a6d3b19d00e79a /configure.ac
parent2cc81c9dd026f483683683c7e11e2dd612ac716e (diff)
downloadmdk-846682b6ba593fd73a286425026d9fe92830eba8.tar.gz
mdk-846682b6ba593fd73a286425026d9fe92830eba8.tar.bz2
configure.in is now called configure.ac.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac191
1 files changed, 191 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..2b5794e
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,191 @@
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+AC_INIT([GNU MDK],1.2.5,[bug-mdk@gnu.org],mdk)
+AC_CONFIG_SRCDIR([mixlib/mix.h])
+AM_INIT_AUTOMAKE
+
+AM_CONFIG_HEADER(config.h)
+
+AM_MAINTAINER_MODE
+
+AC_ISC_POSIX
+AC_PROG_CC
+AM_PROG_CC_STDC
+AC_HEADER_STDC
+
+AM_PROG_LEX
+AC_PROG_RANLIB
+
+dnl additional c flags
+AM_CFLAGS="$AM_CFLAGS -Wall -fno-strict-aliasing"
+AC_ARG_WITH(werror,
+[ --with-werror treat compilation errors as warnings],
+[case "${withval}" in
+ yes) werr=true ;;
+ no) werr=false ;;
+ *) AC_MSG_ERROR(bad value ${withval} for --with-werror) ;;
+esac], [werr=false])
+
+if test x$werr = xtrue; then
+ AM_CFLAGS="$AM_CFLAGS -Werror"
+fi
+
+dnl i18n stuff
+AM_GNU_GETTEXT_VERSION(0.14)
+AM_GNU_GETTEXT
+AC_PROG_INTLTOOL([0.30], [no-xml])
+
+GETTEXT_PACKAGE=mdk
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Package Name for Gettext])
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+
+AH_TEMPLATE(LOCALEDIR,[locale directory])
+AC_DEFINE_UNQUOTED(LOCALEDIR, "${prefix}/share/locale")
+
+dnl Check for readline and history
+AC_ARG_WITH(readline,
+[ --without-readline build mixvm without readline support],
+[case "${withval}" in
+ yes) readl=true ;;
+ no) readl=false ;;
+ *) AC_MSG_ERROR(bad value ${withval} for --with-readline) ;;
+esac], [readl=true])
+
+if test x$readl = xtrue; then
+ AC_CHECK_LIB(ncurses, initscr, ,
+ [AC_MSG_WARN(Cannot find ncurses lib); readl=false])
+fi
+
+if test x$readl = xtrue; then
+ AC_CHECK_LIB(readline, readline, ,
+ [AC_MSG_WARN(Cannot find GNU readline lib); readl=false])
+fi
+
+if test x$readl = xtrue; then
+AC_CHECK_LIB(history, add_history, ,
+ [AC_MSG_WARN(Cannot find GNU history lib); readl=false])
+dnl old versions of readline use completion_matches instead
+dnl of rl_completion_matches
+AC_CHECK_FUNCS(rl_completion_matches,,)
+fi
+
+dnl Check for guile
+AC_ARG_WITH(guile,
+[ --without-guile build MDK without Guile support],
+[case "${withval}" in
+ yes) wguile=true ;;
+ no) wguile=false ;;
+ *) AC_MSG_ERROR(bad value ${withval} for --with-guile) ;;
+esac], [wguile=true])
+
+if test x$wguile = xtrue; then
+dnl AC_CHECK_HEADER(guile/gh.h,,wguile=false)
+ AC_MSG_CHECKING(for Guile)
+ guile-config link > /dev/null || {
+ AC_MSG_RESULT(no)
+ wguile=false
+ }
+fi
+
+if test x$wguile = xtrue; then
+ GUILE_CFLAGS="`guile-config compile`"
+ GUILE_LDFLAGS="`guile-config link`"
+ LIBS="$LIBS $GUILE_LDFLAGS"
+ AM_CFLAGS="$AM_CFLAGS $GUILE_CFLAGS"
+ AC_SUBST(MAKE_GUILE)
+ AC_MSG_RESULT(yes)
+fi
+
+AM_CONDITIONAL(MAKE_GUILE, test x$wguile = xtrue)
+
+dnl Check for glib
+PKG_CHECK_MODULES(GLIB,glib-2.0 >= 2.0)
+
+LIBS="$LIBS $GLIB_LIBS"
+AM_CFLAGS="$AM_CFLAGS $GLIB_CFLAGS -DG_DISABLE_DEPRECATED"
+
+dnl Check if the gtk gui is required
+AC_ARG_ENABLE(gui,
+[ --disable-gui do not build the GTK+ GUI for mixvm (gmixvm)],
+[case "${enableval}" in
+ yes) gui=true ;;
+ no) gui=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-gui) ;;
+esac],[gui=true])
+
+dnl Check for gtk+
+if test x$gui = xtrue; then
+PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6.0 libglade-2.0 >= 2.0.0 pango >= 1.4,
+ [LIBS="$LIBS $GTK_LIBS" AM_CFLAGS="$AM_CFLAGS $GTK_CFLAGS"],
+ [AC_MSG_WARN(Cannot find GTK+/Glade/Pango: the GUI shall not be built)
+ gui=false])
+fi
+
+if test x$gui = xtrue; then
+AM_CFLAGS="$AM_CFLAGS -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED"
+fi
+
+dnl Are we in a darwin system?
+case "${host_os}" in
+ darwin*) darwin_system=true;;
+ *) darwin_system=false;
+esac
+
+AM_CONDITIONAL(MAKE_GUI, test x$gui = xtrue)
+AM_CONDITIONAL(DARWIN_SYSTEM, test x$darwin_system = xtrue)
+
+dnl use the provided getopt if gnu getopt is not available
+AC_REPLACE_FUNCS(getopt_long)
+
+AC_SUBST(AM_CFLAGS)
+
+AC_CONFIG_FILES(
+Makefile
+doc/Makefile
+doc/img/Makefile
+mixlib/Makefile
+mixlib/testsuite/Makefile
+mixguile/Makefile
+mixutils/Makefile
+mixgtk/Makefile
+lib/Makefile
+misc/Makefile
+samples/Makefile
+samples/tests/Makefile
+po/Makefile.in
+intl/Makefile
+)
+
+AC_OUTPUT
+
+if test x$readl = xtrue; then
+ rlinfo=", with readline support"
+fi
+
+if test x$wguile = xtrue; then
+ guileinfo=", with guile support"
+fi
+
+echo
+echo "*** $PACKAGE_NAME $VERSION has been successfully configured. ***"
+echo
+echo "Type 'make' to build the following utilities:"
+echo " - mixasm (MIX assembler)"
+echo " - mixvm (MIX virtual machine${rlinfo}${guileinfo})"
+if test x$gui = xtrue; then
+echo " - gmixvm (mixvm GTK+ GUI${guileinfo})"
+fi
+if test x$wguile = xtrue; then
+echo " - mixguile (the mixvm guile shell)"
+fi
+echo