##
AC_PREREQ(2.59)
-AC_INIT([simgrid],[3.4-svn],[simgrid-devel@lists.gforge.inria.fr])
+AC_INIT([simgrid],[3.3.4-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$)
+AC_REVISION($Revision: 6267 $)
AC_CANONICAL_TARGET
AC_LANG([C])
AC_PROG_CXX
###############
## SVN version check
##
-if test -e .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`"
+ PACKAGE_STRING="$PACKAGE_STRING r`svnversion`"
fi
###############
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
GRAS_DEP="-lpthread"
fi
fi
+AC_SEARCH_LIBS([connect],[socket],[],[],[]) # need -lsocket on solaris
#########################################
## Build optional modules (gtnets)
-
-#########################################
-## Build optional modules (csdp)
-##
-csdp=no
-AC_ARG_WITH(csdp,
- AS_HELP_STRING([--with-csdp], [Path to csdp installation (default to empty, i.e. not using csdp)]),
- csdp_path="$withval",csdp_path="no")
- AC_MSG_CHECKING(for CSDP option:)
-if test "x$csdp_path" = "xno" ; then
- AC_MSG_RESULT([no, eventually you will come to csdp.])
-else
- AC_MSG_RESULT(***** You have decided to use csdp. Let's check whether it works or not *****)
- AC_MSG_CHECKING(for csdp)
- CSDP_LDFLAGS="-L$csdp_path/lib -lsdp -llapack -lblas -lm"
- CSDP_CPPFLAGS="-I$csdp_path/include -I$csdp_path/include/csdp"
-
- AC_CHECK_LIB(sdp,easy_sdp, csdp_lib=yes, csdp_lib=no,$CSDP_LDFLAGS)
-
- CPPFLAGS_SAV=$CPPFLAGS
- CPPFLAGS+=$CSDP_CPPFLAGS
- AC_CHECK_HEADER(declarations.h, csdp_header=yes, csdp_header=no, [])
- CPPFLAGS=$CPPFLAGS_SAV
-
-
-
- if test "x$csdp_lib = xyes" -a "x$csdp_header = xyes" ; then
- csdp=yes;
- else
- csdp=no;
- fi
- if test "x$csdp" = xyes; then
- AM_CPPFLAGS="$AM_CPPFLAGS $CSDP_CPPFLAGS"
- SIMGRID_DEP="$SIMGRID_DEP $CSDP_LDFLAGS"
- AC_MSG_RESULT(Found working sdp library.)
- AC_DEFINE([HAVE_SDP], 1, [Indicates whether we have the CSDP library or not])
- else
- AC_MSG_RESULT(Could not find any working sdp library.)
- fi;
-fi
-AM_CONDITIONAL(HAVE_SDP,test x$csdp != xno)
-
AC_SUBST([SIMGRID_DEP])
AC_SUBST([SMPI_DEP])
fi
AM_CONDITIONAL(GRAMINE_MODE,test x$gramine_mode != xno)
-
AM_MAINTAINER_MODE
if test x$USE_MAINTAINER_MODE = xyes
then
# Maintainers have no choice ! I'm a BOFH, and I plainly assume. [Mt]
- enable_compile_warnings=yes
+ force_compile_warnings=yes
fi
SG_COMPILE_FLAGS
+##
+## Support for the supernovae compilation mode
+##
+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=no])
+AM_CONDITIONAL(SUPERNOVAE_MODE, test x$supernovae != xno)
+
AC_SUBST([CFLAGS])
AC_SUBST([CPPFLAGS])
AC_SUBST([LDFLAGS])
AC_CHECK_PROG(FLEXML,flexml,`which flexml`,NOTFOUND)
AM_CONDITIONAL(HAVE_FLEXML,test x$FLEXML != xNOTFOUND)
-if test x$USE_MAINTAINER_MODE = xyes
-then
- # Check for doxygen when in maintainer mode since dist* targets fail
- # without it
- AC_PATH_PROG(DOXYGEN,doxygen,`which doxygen`)
- if test x$DOXYGEN = x ; then
- AC_MSG_ERROR([doxygen is mandatory in maintainer mode])
- fi
+# 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)
+
+# Can we rebuild the publication list from the bib file?
+AC_CHECK_PROG(BIBTEX,bibtex,`which flexml`,NOTFOUND)
+AC_CHECK_PROG(BIBTOOL,bibtool,`which bibtool`,NOTFOUND)
+AC_CHECK_PROG(ICONV,iconv,`which iconv`,NOTFOUND)
+AC_CHECK_PROG(BIBTEX2HTML,bibtex2html,`which bibtex2html`,NOTFOUND)
+
+BIBTEX2HTML_VER="date"
+if test "x$BIBTEX2HTML" != "xNOTFOUND" ; then
+ BIBTEX2HTML_VER=`$BIBTEX2HTML --help 2>&1 | grep date`
+fi;
+
+AC_MSG_CHECKING(whether you have the right bibtex2html and will be able to build HTML files from the bibtex file)
+AM_CONDITIONAL(HAVE_BIBTEX2HTML,test "x$BIBTEX2HTML_VER" == "x" &&
+ test "x$BIBTEX2HTML" != "xNOTFOUND" &&
+ test "x$BIBTOOL" != "xNOTFOUND" &&
+ test "x$ICONV" != "xNOTFOUND" )
+
+if test "x$BIBTEX2HTML_VER" == "x" &&
+ test "x$BIBTEX2HTML" != "xNOTFOUND" &&
+ test "x$BIBTOOL" != "xNOTFOUND" &&
+ test "x$ICONV" != "xNOTFOUND"; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
fi
# Can we extract really usable backtraces? (also need the popen function)
AC_CONFIG_FILES([
Makefile
include/Makefile
+ include/simgrid_config.h
src/Makefile
src/context_sysv_config.h
])
for file in \
tools/graspe-slave tools/graspe-master \
checkall examples/java/runtest \
+ src/mk_supernovae.sh \
; do \
test -e $file && chmod +x $file; \
done
examples/gras/pmm/Makefile
examples/gras/all2all/Makefile
examples/amok/Makefile
+ examples/smpi/Makefile
])
+# examples/gras/replay/Makefile
AC_CONFIG_FILES([
src/smpi/smpicc
src/smpi/smpirun
+],[
+ for file in \
+ src/smpi/smpicc \
+ src/smpi/smpirun \
+ ; do \
+ test -e $file && chmod +x $file; \
+ done
])
# GRAMINE_CUT_END
Compile Java: ${use_java}
Maintainer mode: ${USE_MAINTAINER_MODE}
+ Supernovae mode: ${supernovae}
"
if test x$botbuild = xyes ; then