X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/82f4136c8a0eb62ff116a0090501407f3fdf1a7a..8194d07f735bc6c047a70525ebda6de6309c2493:/configure.ac diff --git a/configure.ac b/configure.ac index 0bb0ee3470..6264ab1c59 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ AC_PREREQ(2.59) -#We need a recent ACI -ACI_PREREQ(2003.01.16) +# We need a recent ACI +# A CI_PREREQ(2003.01.16) -AC_INIT([GRAS],[0.1.2],[martin.quinson@ens-lyon.fr]) -AC_CONFIG_SRCDIR([src/include/gras.h]) +AC_INIT([simgrid],[2.93-cvs],[simgrid2-users@listes.ens-lyon.fr]) +AC_CONFIG_SRCDIR([include/gras.h]) AC_CONFIG_HEADERS([src/gras_config.h]) AC_REVISION($Revision$) @@ -18,9 +18,6 @@ AC_CONFIG_MACRO_DIR(acmacro) # It seems to be called ACLOCAL_INCLUDE... # A M_ACLOCAL_INCLUDE(acmacro) - - - AC_PROG_LIBTOOL # declare the modules (no optional module) @@ -43,7 +40,46 @@ GRAS_CHECK_STRUCT_COMPACTION # Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS([stddef.h stdlib.h string.h unistd.h]) +AC_HEADER_TIME +AC_CHECK_HEADERS([sys/socket.h \ + sys/stat.h \ + windows.h winsock.h winsock2.h \ + sys/time.h \ + errno.h unistd.h ]) +AC_CHECK_FUNCS([gettimeofday usleep \ + getdtablesize \ + sysconf]) + +AC_ARG_ENABLE(context, + [ --enable-context=[ucontext/pthread] Use either (System V) swapcontext or pthread [[default=ucontext]].],, + enable_context=pthread) +AC_MSG_CHECKING(on top of what can we build the contexts) +if test "x$enable_context" = "xucontext"; then + AC_CHECK_HEADERS([ucontext.h]) + ac_header=ucontext.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(found ucontext.h. Great!) + 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(you don't have ucontext.h but we provide an alternative for windows so you should be fine.") + else + AC_MSG_RESULT([[cannot find ucontext. I'm going to try as if you had set --enable-context=pthreads !]]) + enable_context=pthreads + fi + fi +else if test "x$enable_context" = "xpthread"; then + AC_CHECK_HEADERS([pthread.h]) + AC_CHECK_LIB(pthread,pthread_create,, + [AC_MSG_ERROR([[Cannot find pthreads, no way (try --enable-context=ucontext if you haven't already tried).]])]) + AC_DEFINE([USE_PTHREADS],1,[Define if we USE pthreads or not]) + AC_MSG_RESULT(You have pthreads. Let's use them.) +else + AC_MSG_ERROR("--enable-context must be either ucontext or pthread") +fi fi + # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -51,33 +87,42 @@ AC_C_INLINE AC_TYPE_SIZE_T # Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_MEMCMP -AC_CHECK_FUNCS([memset strchr strerror usleep]) - -# Can we rebuild the parsers? -# We really want flex and refuse other lex. So, the parser is portable and -# does not induce extra lib dependency -AC_PROG_LEX -if test "$LEX" != flex; then - LEX="$SHELL $missing_dir/missing flex" -fi - -# Can we rebuild the documentation? -GTK_DOC_CHECK() +dnl A C_FUNC_MEMCMP +dnl A C_CHECK_FUNCS([memset strchr strerror usleep]) 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_MSG_CHECKING(for extra dependencies of libgras) +case $host_os in + *mingw* ) GRAS_DEP="$GRAS_DEP -lws2_32" ; SIMGRID_DEP="$SIMGRID_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 then +# enable_iso_c=yes # Let's go funky GNOME_COMPILE_WARNINGS(yes) fi @@ -90,33 +135,64 @@ AC_CHECK_PROG(BASH, bash, `which bash`, /bin/sh) WARNING="This file is generated, do not edit" AC_SUBST(WARNING) +# Can we rebuild the parsers? +# We really want flex and refuse other lex. So, the parser is portable and +# does not induce extra lib dependency +AC_PROG_FLEX(2.5.30) + +# 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 ####[ Makes the output ]################################################### +# examples/bandwidth/Makefile examples/bandwidth/test_sg +# examples/pastry/Makefile examples/pastry/test_sg + AC_CONFIG_FILES([ Makefile + include/Makefile src/Makefile - src/include/Makefile - src/include/modules/Makefile - src/base/Makefile - src/base/Tests/Makefile - src/base/Tests/run_tests - src/base/Tests/trp_tcp_usage - src/base/Tests/trp_file_usage - src/examples/Makefile - src/examples/ping/Makefile + src/amok/Makefile + examples/Makefile + examples/msg/Makefile examples/msg/run_msg_test + examples/gras/Makefile + examples/gras/ping/Makefile examples/gras/ping/test_sg examples/gras/ping/test_rl + examples/gras/timer/Makefile examples/gras/timer/test_sg examples/gras/timer/test_rl + examples/gras/chrono/Makefile examples/gras/chrono/test_sg examples/gras/chrono/test_rl doc/Makefile - tools/compile-remote-worker -],[( cd src/include ; test -e gras || ln -s . gras ) - test -e src/base/Tests/trp_tcp_usage && chmod +x src/base/Tests/trp_tcp_usage; - test -e src/base/Tests/trp_file_usage && chmod +x src/base/Tests/trp_file_usage; - test -e src/base/Tests/run_tests && chmod +x src/base/Tests/run_tests; - test -e tools/compile-remote-worker && chmod +x tools/compile-remote-worker; - chmod +x tools/gras-check-arch; - chmod +x src/examples/ping/test_rl; chmod +x src/examples/ping/test_sg]) - -# src/examples/pastry/Makefile -# src/modules/Makefile -# src/examples/bandwidth/Makefile src/examples/saturate/Makefile -# src/examples/alnem/Makefile + doc/Doxyfile.main doc/Doxyfile.API doc/Doxyfile.Examples + tools/compile-remote-worker tools/Makefile + tools/gras/Makefile + testsuite/Makefile + testsuite/run_tests + testsuite/gras/trp_tcp_usage + testsuite/gras/trp_file_usage +],[ + for file in \ + testsuite/run_tests \ + testsuite/gras/trp_tcp_usage testsuite/gras/trp_file_usage \ + tools/compile-remote-worker \ + examples/msg/run_msg_test \ + examples/gras/ping/test_sg examples/gras/ping/test_rl \ + examples/gras/timer/test_sg examples/gras/timer/test_rl \ + examples/gras/chrono/test_sg examples/gras/chrono/test_rl \ + ; do \ + test -e $file && chmod +x $file; \ + done + chmod +x $srcdir/tools/gras-check-arch; +]) + +# examples/gras/pastry/test_sg +# examples/gras/bandwidth/test_sg + + + +# examples/gras/saturate/Makefile examples/gras/saturate/test_sg +# examples/gras/alnem/Makefile examples/gras/alnem/test_sg + + AC_OUTPUT