X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8c2b8d6a5466ad1c8bb23b7ee4166c7c9944b114..a222d3b19b7286192a3426b11ea412b1e0ec119c:/configure.ac?ds=sidebyside diff --git a/configure.ac b/configure.ac index 543696b938..953843bad3 100644 --- a/configure.ac +++ b/configure.ac @@ -111,6 +111,7 @@ dnl # AC_MSG_CHECKING(what kind of backend should we use) AC_ARG_WITH(pthread, [ --with-pthread Use pthread instead of ucontext.],with_context=pthread) +AC_ARG_WITH(pthread, [ --with-pthreads Use pthread instead of ucontext.],with_context=pthread) AC_ARG_WITH(context, [ --with-context=[ucontext/pthread] Use either (System V) swapcontext or pthread [[default=auto]].],, @@ -123,6 +124,7 @@ fi case $with_context in ucontext) ;; pthread) ;; + pthreads) ;; windows) ;; auto) with_context=ucontext;; *) AC_MSG_ERROR([--with-context must be either ucontext or pthread]) ;; @@ -131,7 +133,7 @@ esac if test "x$with_context" = "xucontext" ; then if test ".$mcsc" = .yes; then AC_MSG_RESULT(found working ucontext. Great!) - AC_DEFINE([USE_UCONTEXT],1,[Define if we use ucontext or not]) + AC_DEFINE([CONTEXT_UCONTEXT],1,[Define if xbt contexts are based on ucontext or not]) else if test ".$windows_context" = .yes ; then AC_MSG_RESULT(use windows context portability layer.) @@ -143,11 +145,14 @@ if test "x$with_context" = "xucontext" ; then fi fi +if test "x$with_context" = "xpthreads"; then + with_context=pthread +fi if test "x$with_context" = "xpthread"; then AC_CHECK_HEADERS([pthread.h]) AC_CHECK_LIB(pthread,pthread_create,, [AC_MSG_ERROR([[Cannot find pthreads (try --with-context=ucontext if you haven't already tried).]])]) - AC_DEFINE([USE_PTHREADS],1,[Define if we use pthreads or not]) + AC_DEFINE([CONTEXT_THREADS],1,[Define if xbt contexts are based on our threads implementation or not]) AC_MSG_RESULT(You have pthreads. Let's use them.) fi @@ -192,7 +197,15 @@ SG_CONFIGURE_PART(Checking extra libraries dependencies...) SIMGRID_DEP="" GRAS_DEP="" -AC_CHECK_LIB(pthread,pthread_create,SIMGRID_DEP="-lpthread"; GRAS_DEP="-lpthread") +if test xpthread=xyes ; then + # if the pthreads are usable + if test "x$with_context" = "xpthread" ; then + # if we use them to implement the xbt_context + SIMGRID_DEP="-lpthread" + fi + # we need them in any case for the gras lib (which is multithreaded) + GRAS_DEP="-lpthread" +fi AC_MSG_CHECKING(for csdp) sdp=no @@ -214,7 +227,8 @@ 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"; - AC_SUBST(AM_CFLAGS,-DDLL_EXPORT);; + AC_SUBST(AM_CFLAGS,-DDLL_EXPORT) + AC_DEFINE(CONTEXT_THREADS,1);; esac if test "x$GRAS_DEP" = x; then