Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
use a nice va_copy if none was provided by the system
[simgrid.git] / configure.ac
index b7f3cd2..df8d669 100644 (file)
@@ -4,7 +4,7 @@
 ##
 
 AC_PREREQ(2.59)
-AC_INIT([simgrid],[2.95-cvs],[simgrid-devel@lists.gforge.inria.fr])
+AC_INIT([simgrid],[2.96-cvs],[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
@@ -38,6 +38,16 @@ AC_CHECK_HEADERS([sys/socket.h \
 AC_CHECK_FUNCS([gettimeofday usleep \
                 getdtablesize \
                 sysconf])
+                
+# 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))
+# we don't use those:
+# A C_CHECK_FUNC( asnprintf, :,   A C_DEFINE(NEED_ASNPRINTF,  1, enable the asnprintf  replacement))
+# A C_CHECK_FUNC(vasnprintf, :,   A C_DEFINE(NEED_VASNPRINTF, 1, enable the vansprintf replacement))
+
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -84,7 +94,13 @@ if test ".$mcsc" = .yes; then
 elif test ".$pthread" = .yes; then
    pthread=yes
 else
-    AC_ERROR([no appropriate backend found])
+    ac_header=windows.h
+    as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+    if test `eval echo '${'$as_ac_Header'}'` = yes; then
+      windows_context=yes
+    else
+      AC_ERROR([no appropriate backend found])
+    fi
 fi
 
 dnl #
@@ -98,6 +114,7 @@ AC_ARG_WITH(context,
 case $with_context in
  ucontext) ;;
  pthread) ;;
+ windows) ;;
  auto) with_context=ucontext;;
  *) AC_MSG_ERROR("--with-context must be either ucontext or pthread") ;;
 esac
@@ -107,12 +124,11 @@ if test "x$with_context" = "xucontext" ; then
     AC_MSG_RESULT(found working ucontext. Great!)
     AC_DEFINE([USE_UCONTEXT],1,[Define if we use ucontext or not])
   else
-    ac_header=windows.h
-    as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-    if test `eval echo '${'$as_ac_Header'}'` = yes; then
-      AC_MSG_RESULT(there is no ucontext on windows, and none is needed.")
+    if test ".$windows_context" = .yes ; then
+      AC_MSG_RESULT(use windows context portability layer.)
+      with_context=windows
     else
-      AC_MSG_RESULT([[no working ucontext found. Falling back to pthreads]])
+      AC_MSG_RESULT([[no working ucontext found. Try pthreads as a fallback]])
       with_context=pthread
     fi
   fi
@@ -270,10 +286,12 @@ echo "
 
 Configuration of package \`${PACKAGE}' (version ${VERSION}) on $gras_arch_name (=$gras_arch):
 
-       Compiler:       ${CC}
+       Compiler:        ${CC} (version: ${GCC_VERSION})
+       
+       CFlags:          ${CFLAGS}
+       LDFlags:         ${LDFLAGS}
 
-       CFlags:         ${CFLAGS}
-       LDFlags:        ${LDFLAGS}
+       Context backend: ${with_context}
 "
 
 exit 0;