Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
ease the reduction of the number of tests, do reduce the number of tests so that...
[simgrid.git] / configure.ac
index 01812cd..336da17 100644 (file)
@@ -3,7 +3,8 @@ AC_PREREQ(2.59)
 #We need a recent ACI
 ACI_PREREQ(2003.01.16)
 
-AC_INIT([GRAS],[0.7],[martin.quinson@ens-lyon.fr])
+AC_INIT([simgrid],[2.91],[arnaud.legrand@imag.fr])
+#AC_INIT([GRAS],[0.7],[martin.quinson@ens-lyon.fr])
 AC_CONFIG_SRCDIR([include/gras.h])
 AC_CONFIG_HEADERS([src/gras_config.h])
 
@@ -45,27 +46,14 @@ GRAS_CHECK_STRUCT_COMPACTION
 AC_HEADER_STDC
 AC_HEADER_TIME
 AC_CHECK_HEADERS([sys/socket.h winsock.h winsock2.h \
-                  sys/stat.h\
-                 sys/time.h ])
+                  sys/stat.h \
+                 ucontext.h \
+                 sys/time.h \
+                 errno.h unistd.h ])
 AC_CHECK_FUNCS([gettimeofday \
                 getdtablesize \
                 sysconf])
 
-
-AC_MSG_CHECKING(how to link against winsock)
-save_LIBS="$LIBS"
-case $host_os in
-  *mingw* ) GRAS_WINSOCK_DEP=-lws2_32;;
-  * ) GRAS_WINSOCK_DEP="";;
-esac
-          
-if test x$GRAS_WINSOCK_DEP = x; then 
-   AC_MSG_RESULT(not needed)
-else
-   AC_MSG_RESULT($winsock_ver)
-fi
-AC_SUBST([GRAS_WINSOCK_DEP])
-
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_C_INLINE
@@ -80,26 +68,69 @@ dnl A C_CHECK_FUNCS([memset strchr strerror usleep])
 # does not induce extra lib dependency
 AC_PROG_LEX
 if test "$LEX" != flex; then
-  LEX="$SHELL $missing_dir/missing flex"
+  AC_MSG_NOTICE([Will not rebuild the parsers. I want flex.])
+  LEX="$SHELL $missing_dir/missing flex";
+else
+changequote(<<, >>)dnl because of the regexp [[:blank:]]  
+  FLEX_VERSION=`flex --version`;
+  FLEX_VER_MAJ=`echo $FLEX_VERSION | sed 's/[^0-9\.]*//g' | sed 's/\..*//g'`;
+  FLEX_VER_MED=`echo $FLEX_VERSION | sed 's/[^0-9\.]*//g' | sed 's/[0-9]*\.\([0-9]*\)\.[0-9]*/\1/g'`;
+  FLEX_VER_MIN=`echo $FLEX_VERSION | sed 's/[^0-9\.]*//g' | sed 's/.*\.//g'`;
+changequote([, ])dnl back to normality, there is no regexp afterward
+  if test $FLEX_VER_MAJ -lt 2 ; then
+    AC_MSG_NOTICE([Will not rebuild the parsers. Your flex is too old.])
+    LEX="$SHELL $missing_dir/missing flex";
+  else
+    if test $FLEX_VER_MAJ -eq 2 ; then
+      if test $FLEX_VER_MED -lt 5 ; then
+        AC_MSG_NOTICE([Will not rebuild the parsers. Your flex is too old.])
+        LEX="$SHELL $missing_dir/missing flex";
+      else
+        if test $FLEX_VER_MED -eq 5 ; then
+          if test $FLEX_VER_MIN -lt 31 ; then
+             AC_MSG_NOTICE([Will not rebuild the parsers. Your flex is too old.])
+             LEX="$SHELL $missing_dir/missing flex";
+          fi;
+        fi;
+      fi;
+    fi;
+  fi;
 fi
-                                                                 
-# Can we rebuild the documentation?
-GTK_DOC_CHECK()
-AC_SUBST([htmldir],         ['${datadir}/doc/gras/html'])dnl
+               
+# Can we rebuild the xml-lexers from the XML specification?
+# if not, simply touch the flex source files (which are distributed in
+#  tarballs even if generated by flexml) and hope for the best.
+AC_CHECK_PROG(FLEXML,flexml,,NOTFOUND)
+AM_CONDITIONAL(HAVE_FLEXML,test x$FLEXML != NOTFOUND)
 
 dnl ####[ Search libs ]#######################################################
-ACI_PACKAGE([SimGrid],[the SimGrid simulator],[SG_init],[-lsimgrid],[simgrid.h],,:)
-AM_CONDITIONAL(HAVE_SG,test x$HAVE_SimGrid = xyes)
+dnl A CI_PACKAGE([S imGrid],[the SimGrid simulator],[SG_init],[-lsimgrid],[simgrid.h],,:)
+dnl A M_CONDITIONAL(HAVE_SG,test x$HAVE_SimGrid = xyes)
+dnl if test x$HAVE_SimGrid = xyes; then
+dnl   SIMGRID_DEP="-lsimgrid"
+dnl else
+  SIMGRID_DEP=""
+dnl fi
+AC_SUBST([SIMGRID_DEP])
+
 
 dnl A C_CHECK_LIB(pthread, pthread_mutex_lock, LIBS="$LIBS -lpthread")
-AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])
-AC_CHECK_LIB(socket, connect,    [LIBS="$LIBS -lsocket"])
+GRAS_DEP=""
+AC_CHECK_LIB(nsl, gethostbyname, [GRAS_DEP="$GRAS_DEP -lnsl"])
+AC_CHECK_LIB(socket, connect,    [GRAS_DEP="$GRAS_DEP -lsocket"])
 
-AC_CHECK_LIB(c,swapcontext,
-  [AC_DEFINE([USE_CONTEXT],1,[Define if GNU contexts available and you wish to use them])],
-  [AC_MSG_ERROR([[Cannot find context in your libc, go away !]])])
+AC_MSG_CHECKING(for extra dependencies of libgras)
+case $host_os in
+  *mingw* ) GRAS_DEP=-lws2_32;;
+esac
+          
+if test "x$GRAS_DEP" = x; then 
+   AC_MSG_RESULT(none)
+else
+   AC_MSG_RESULT($GRAS_DEP)
+fi
+AC_SUBST([GRAS_DEP])
 
-       
 dnl ####[ maint mode ]#######################################################
 AM_MAINTAINER_MODE
 if test x$USE_MAINTAINER_MODE = xyes 
@@ -127,13 +158,14 @@ AC_CONFIG_FILES([
   src/Makefile
   src/amok/Makefile
   examples/Makefile 
-    examples/ping/Makefile      examples/ping/test_sg     examples/ping/test_rl
+    examples/msg/Makefile 
   doc/Makefile
+    doc/Doxyfile.main           doc/Doxyfile.API          doc/Doxyfile.Examples   
   tools/compile-remote-worker
   testsuite/Makefile
-    testsuite/run_tests    
-    testsuite/gras/trp_tcp_usage
-    testsuite/gras/trp_file_usage
+  testsuite/run_tests    
+  testsuite/gras/trp_tcp_usage
+  testsuite/gras/trp_file_usage
 ],[
      test -e testsuite/run_tests          && chmod +x testsuite/run_tests;
      test -e testsuite/gras/trp_tcp_usage && chmod +x testsuite/gras/trp_tcp_usage;
@@ -146,6 +178,7 @@ AC_CONFIG_FILES([
      chmod +x $srcdir/tools/gras-check-arch;
 ])
 
+#    examples/ping/Makefile      examples/ping/test_sg     examples/ping/test_rl
 
 
 #    examples/saturate/Makefile  examples/saturate/test_sg