##
AC_PREREQ(2.59)
-AC_INIT([simgrid],[3.3.4-svn],[simgrid-devel@lists.gforge.inria.fr])
+AC_INIT([simgrid],[3.3.5-svn],[simgrid-devel@lists.gforge.inria.fr])
AC_CONFIG_SRCDIR([include/gras.h])
AC_CONFIG_HEADERS([src/gras_config.h])
# A CI_PREREQ(2003.01.16) # We need a recent ACI when having sub-modules
-AC_REVISION($Revision: 6267 $)
+AC_REVISION($Revision: 6998 $)
AC_CANONICAL_TARGET
AC_LANG([C])
AC_PROG_CXX
###############
## SVN version check
##
-if test -e .svn && cat $VERSION | grep -q svn; then
+if test -e .svn && echo $VERSION | grep -q svn; then
VERSION="$VERSION-r`svnversion`"
PACKAGE_VERSION="$PACKAGE_VERSION-r`svnversion`"
- PACKAGE_STRING="PACKAGE_STRING r`svnversion`"
-fi
+ PACKAGE_STRING="$PACKAGE_STRING r`svnversion`"
+else if test -e .git && echo $VERSION | grep -q svn; then
+ ver=`git log --oneline -1 | sed 's| .*||'`
+ VERSION=`echo "$VERSION-r$ver" | sed 's/svn/git/'`
+ PACKAGE_VERSION=`echo "$PACKAGE_VERSION-r$ver" | sed 's/svn/git/'`
+ PACKAGE_STRING=`echo "$PACKAGE_STRING r$ver" | sed 's/svn/git/'`
+fi fi
###############
## System checks
sysconf\
readv\
popen\
- signal\
- getline])
-
+ signal])
+
+dnl GNU systems before POSIX2008 need the _GNU_SOURCE definition to find getline (and simgrid does pass this)
+AC_MSG_CHECKING(a usable getline)
+AC_LINK_IFELSE([
+ #define _GNU_SOURCE
+ #include <stdio.h>
+ int main(void){
+ FILE * fp;
+ char * line = NULL;
+ size_t len = 0;
+ getline(&line, &len, fp);
+ }
+ ],[
+ AC_MSG_RESULT(found)
+ ],[
+ AC_SUBST(need_getline, ["#define SIMGRID_NEED_GETLINE 1 /* enable the getline replacement*/"])
+ AC_DEFINE(SIMGRID_NEED_GETLINE, 1, enable the getline replacement)
+ AC_MSG_RESULT(not found (activating internal implementation))
+ ])
+
# check for a working snprintf (or use xbt/snprintf.c, which comes from http://www.ijs.si/software/snprintf/)
AC_FUNC_SNPRINTF
# check for asprintf function familly (or request the replacements from xbt/snprintf.c)
-AC_CHECK_FUNC( asprintf, :, AC_DEFINE(NEED_ASPRINTF, 1, enable the asprintf replacement))
-AC_CHECK_FUNC( vasprintf, :, AC_DEFINE(NEED_VASPRINTF, 1, enable the vasprintf replacement))
+AC_CHECK_FUNC( asprintf, :,[
+ AC_DEFINE(NEED_ASPRINTF, 1, enable the asprintf replacement)
+ AC_SUBST(need_asprintf, ["#define SIMGRID_NEED_ASPRINTF 1 /* enable the asprintf replacement */"])
+ ])
+AC_CHECK_FUNC( vasprintf, :,[
+ AC_DEFINE(NEED_VASPRINTF, 1, enable the vasprintf replacement)
+ AC_SUBST(need_vasprintf, ["#define SIMGRID_NEED_VASPRINTF 1 /*enable the vasprintf replacement */"])
+ ])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
##
## Support for the supernovae compilation mode
##
-if test x$USE_MAINTAINER_MODE = xyes
-then
- not_maintainer_mode=no
-else
- not_maintainer_mode=yes
-fi
-
AC_ARG_ENABLE(supernovae,
AS_HELP_STRING([--enable-supernovae],[Put the whole library in one compilation unit only to help gcc optimizing the code]),
[supernovae=$enableval],
- [supernovae=$not_maintainer_mode])
+ [supernovae=no])
AM_CONDITIONAL(SUPERNOVAE_MODE, test x$supernovae != xno)
AC_SUBST([CFLAGS])
use_java="yes"
AC_DEFINE(HAVE_JAVA,1, [defines whether Java bindings must be compiled or not])
else
- use_java="no"
+ use_java="no (you may want to install the java-gcj-compat-dev package)"
fi
fi
AC_MSG_RESULT(decide whether to compile java bindings... $use_java)
AM_CONDITIONAL(HAVE_JAVA,test "x$use_java" = "xyes")
+SG_CONFIGURE_PART(Checking Lua bindings...)
+AC_ARG_ENABLE(lua,
+ AS_HELP_STRING([--disable-lua], [To not compile the Lua bindings even if the tools are found]),
+ disable_lua=$enableval,disable_lua=yes)
+if test "x$disable_lua" != "xyes" ; then
+ use_lua="disabled by user"
+else
+ AC_CHECK_HEADERS(lua5.1/lualib.h)
+ if test "x$ac_cv_header_lua5_1_lualib_h" = "xyes" ; then
+ use_lua="yes"
+ AC_DEFINE(HAVE_LUA,1, [defines whether Lua bindings must be compiled or not])
+ SIMGRID_DEP="${SIMGRID_DEP} -ldl -llua5.1"
+ else
+ use_lua="no"
+ fi
+fi
+AC_MSG_RESULT(decide whether to compile lua bindings... $use_lua)
+AM_CONDITIONAL(HAVE_LUA,test "x$use_lua" = "xyes")
+
+SG_CONFIGURE_PART(Checking Ruby bindings...)
+# Ruby cruft
+AC_ARG_ENABLE(ruby,
+ AS_HELP_STRING([--disable-ruby], [To not compile the Ruby bindings even if the tools are found]),
+ disable_ruby=$enableval,disable_ruby=yes)
+if test "x$disable_ruby" != "xyes" ; then
+ use_ruby="disabled by user"
+else
+ CPPFLAGS="-I/usr/lib/ruby/1.8/i486-linux/ $CPPFLAGS"
+ AC_MSG_CHECKING(checking ruby.h usability and presence)
+ AC_COMPILE_IFELSE([
+ #undef PACKAGE_NAME
+ #undef PACKAGE_TARNAME
+ #undef PACKAGE_VERSION
+ #undef PACKAGE_STRING
+ #undef PACKAGE_BUGREPORT
+ #include <ruby.h>
+ ], use_ruby=yes,use_ruby="no (Package ruby1.8-dev missing)")
+ AC_MSG_RESULT($use_ruby)
+ if test "x$use_ruby" = "xyes" ; then
+ AC_DEFINE(HAVE_RUBY,1, [defines whether Ruby bindings must be compiled or not])
+ SIMGRID_DEP="${SIMGRID_DEP} -lruby1.8"
+ else
+ AC_MSG_RESULT(Please install the ruby1.8-dev package (on debian and similar) to get ruby bindings)
+ fi
+fi
+AC_MSG_RESULT(decide whether to compile ruby bindings... $use_ruby)
+AM_CONDITIONAL(HAVE_RUBY,test "x$use_ruby" = "xyes")
+
+
#####################
## Check for programs
##
# Check for doxygen when in maintainer mode which is helpful to build doc & dist
AC_PATH_PROG(DOXYGEN,doxygen,`which doxygen`)
-AM_CONDITIONAL(HAVE_DOXYGEN,test x$DOXYGEN != x)
+AC_PATH_PROG(FIG2DEV,fig2dev,`which fig2dev`)
+AM_CONDITIONAL(HAVE_DOXYGEN,test x$DOXYGEN != x &&
+ test x$FIG2DEV != x)
# Can we rebuild the publication list from the bib file?
AC_CHECK_PROG(BIBTEX,bibtex,`which flexml`,NOTFOUND)
AC_CONFIG_FILES([
Makefile
include/Makefile
+ include/simgrid_config.h
src/Makefile
src/context_sysv_config.h
])
done
])
-# Testsuite
+# build tools && Testsuite
AC_CONFIG_FILES([
+ buildtools/Makefile
testsuite/Makefile
testsuite/run_tests
],[
Context backend: ${with_context}
Compile Java: ${use_java}
+ Compile Lua: ${use_lua}
+ Compile Ruby: ${use_ruby}
Maintainer mode: ${USE_MAINTAINER_MODE}
Supernovae mode: ${supernovae}