X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7b9c69349c2371413f683cb548a25c4083f6884e..421c862bdd97e9846933dea70327d47e4b0a122c:/configure.ac diff --git a/configure.ac b/configure.ac index 6fba521ea9..ce13b52151 100644 --- a/configure.ac +++ b/configure.ac @@ -19,8 +19,6 @@ ACLOCAL="$ACLOCAL -I acmacro" AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL - -AC_SUBST(ac_configure_args) ############### ## System checks ## @@ -85,10 +83,7 @@ dnl # 1. determine possibilities dnl # dnl # check for MCSC method -AC_MSG_CHECKING(on top of what can we build the contexts) -AC_CHECK_HEADER(ucontext.h,,, [#include ]) -AC_CHECK_FUNCS(makecontext swapcontext getcontext setcontext) -AC_CHECK_MCSC(mcsc=yes, mcsc=no) +AC_CHECK_MCSC(mcsc=yes, mcsc=no) dnl # check for pthread method AC_CHECK_HEADERS([pthread.h]) @@ -123,12 +118,17 @@ AC_ARG_WITH(pthread, [ --with-pthread Use pthread instead of ucontext.],with_ AC_ARG_WITH(context, [ --with-context=[ucontext/pthread] Use either (System V) swapcontext or pthread [[default=auto]].],, with_context=auto) + +if test "x$with_context$mcsc" = "xucontextno" ; then + AC_MSG_ERROR([--with-context=ucontext specified but ucontext unusable. Relaunch configure without this argument.], 77) +fi + case $with_context in ucontext) ;; pthread) ;; windows) ;; auto) with_context=ucontext;; - *) AC_MSG_ERROR("--with-context must be either ucontext or pthread") ;; + *) AC_MSG_ERROR([--with-context must be either ucontext or pthread]) ;; esac if test "x$with_context" = "xucontext" ; then @@ -171,12 +171,41 @@ dnl # direction of stack grow AC_CHECK_STACKSETUP(makecontext, pth_skaddr_makecontext, pth_sksize_makecontext) fi + +######################################### +## Build optional modules (simix) +## +SG_CONFIGURE_PART(Optional modules) +AC_ARG_ENABLE(use-simix, + AS_HELP_STRING([--enable-simix], [Use the new SimIX module (default=no)]), + enable_simix=$enableval,enable_simix=no) +if test "x$enable_simix" = "xyes" ; then + AC_MSG_RESULT("***** You have decided to use the experimental SimIX. We hope you know what you're doing.. ****") + AC_DEFINE(USE_SIMIX, 1, [Indicates whether we should use SimIX or not]) +else + AC_MSG_RESULT(Eventually you willl come to SimIX: x$enable_simix) +fi +AM_CONDITIONAL(USE_SIMIX,test x$csdp != xno) + ######################################### ## Check for libraries extra-dependencies ## SG_CONFIGURE_PART(Checking extra libraries dependencies...) + +AC_MSG_CHECKING(for csdp) SIMGRID_DEP="" +sdp=no +AC_CHECK_LIB(sdp,sdp,csdp=yes, csdp=no,-llapack -lblas -lm) +if test "x$csdp" = xyes; then + SIMGRID_DEP="$SIMGRID_DEP -lsdp -llapack -lblas -lm" + 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; +AM_CONDITIONAL(HAVE_SDP,test x$csdp != xno) + AC_SUBST([SIMGRID_DEP]) GRAS_DEP="" @@ -195,6 +224,7 @@ else fi AC_SUBST([GRAS_DEP]) + ############################################## ## Enhance maintainer mode and SUBST variables ## (must be placed after any compilation tests since our overprotective flags @@ -263,6 +293,18 @@ if test x$ADDR2LINE != x ; then AC_DEFINE_UNQUOTED(ADDR2LINE,"$ADDR2LINE",[Path to the addr2line tool]) fi +AC_SUBST(ac_configure_args) +# Can we make status line about the compilation result? +AC_CHECK_PROG(MD5SUM,md5sum,`which md5sum`) +if test x$MD5SUM != xno ; then + build_version=`find -name '*.[ch]' |grep -v src/ucontext_stack.h | grep -v src/gras_config.h |\ + xargs cat| $MD5SUM | sed 's/ .*$//'` +else + build_version="no_md5sum_binary" +fi +build_id="$PACKAGE ver=$VERSION build=$build_version args=\"$ac_configure_args\"" +AC_SUBST(build_id) + ################### ## Makes the output ## @@ -283,8 +325,25 @@ AC_CONFIG_FILES([ src/ucontext_stack.h ]) +# Tools being embeeded in gramine (stub generator) +AC_CONFIG_FILES([ + tools/Makefile + tools/gras/Makefile +]) + # GRAMINE_CUT_BEGIN +# Tools NOT being embeeded in gramine +AC_CONFIG_FILES([ + tools/graspe-slave +],[ + for file in \ + tools/graspe-slave tools/graspe-master \ + ; do \ + test -e $file && chmod +x $file; \ + done +]) + # Testsuite AC_CONFIG_FILES([ @@ -300,7 +359,13 @@ AC_CONFIG_FILES([ done ]) -# Examples, documentation and tools +# Documentation +AC_CONFIG_FILES([ + doc/Makefile + doc/Doxyfile +]) + +# Examples AC_CONFIG_FILES([ examples/Makefile @@ -323,13 +388,8 @@ AC_CONFIG_FILES([ examples/amok/Makefile examples/amok/bandwidth/Makefile examples/amok/bandwidth/test_sg examples/amok/bandwidth/test_rl examples/amok/saturate/Makefile examples/amok/saturate/test_sg examples/amok/saturate/test_rl - doc/Makefile - doc/Doxyfile - tools/graspe-slave tools/Makefile - tools/gras/Makefile ],[ for file in \ - tools/graspe-slave tools/graspe-master \ \ examples/amok/bandwidth/test_sg examples/amok/bandwidth/test_rl \ examples/amok/saturate/test_sg examples/amok/saturate/test_rl \ @@ -351,7 +411,6 @@ AC_CONFIG_FILES([ done ]) - # examples/gras/chord/test_sg examples/gras/chord/test_rl \ # examples/gras/pastry/test_sg @@ -381,10 +440,11 @@ Configuration of package \`${PACKAGE}' (version ${VERSION}) on $gras_arch_name ( if test -e CVS && test x$USE_MAINTAINER_MODE != xyes ; then echo "WARNING:" echo "WARNING: you seem to compile the CVS version without the maintainer mode." - echo "WARNING: This is not really supported, so you should configure SimGrid like:" + echo "WARNING: You may want to enable this by specifying:" echo "WARNING:" echo "WARNING: ./configure --enable-maintainer-mode $ac_configure_args" echo "WARNING:" fi +echo $build_id > stamp.configure exit 0;