-SG_CONFIGURE_PART(Optional modules)
-AC_ARG_ENABLE(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 will come to SimIX: x$enable_simix)
+gtnets=no
+AC_ARG_WITH(gtnets,
+ AS_HELP_STRING([--with-gtnets], [Path to GTNetS installation (default to empty, ie not using GTNetS)]),
+ gtnets_path="$withval",gtnets_path="no")
+if test "x$gtnets_path" = "xno" ; then
+ AC_MSG_RESULT(Eventually you will come to GTNetS.)
+else
+ AC_MSG_RESULT(***** You have decided to use the experimental GTNetS. We hope you know what you're doing.. *****)
+ AC_MSG_CHECKING(for gtnets)
+ AC_LANG_PUSH([C++])
+ GTNETS_LDFLAGS="-lgtnets -L$gtnets_path/lib"
+ GTNETS_CPPFLAGS="-I$gtnets_path/include -I$gtnets_path/include/gtnets"
+ LDFLAGS_SAV=$LDFLAGS
+ CPPFLAGS_SAV=$CPPFLAGS
+ CPPFLAGS+=$GTNETS_CPPFLAGS
+ LDFLAGS+=$GTNETS_LDFLAGS
+ AC_TRY_LINK([ #include <simulator.h>
+ ], [Simulator s; s.RunUntilNextCompletion();], gtnets=yes, gtnets=no)
+ CPPFLAGS=$CPPFLAGS_SAV
+ LDFLAGS=$LDFLAGS_SAV
+ AC_LANG_POP([C++])
+
+ if test "x$gtnets" = xyes ; then
+ AM_CPPFLAGS="$AM_CPPFLAGS $GTNETS_CPPFLAGS"
+ SIMGRID_DEP="$SIMGRID_DEP $GTNETS_LDFLAGS"
+ AC_MSG_RESULT(Found working gtnets library.)
+ AC_DEFINE(HAVE_GTNETS, 1, [Indicates whether we have the GTNETS library or not])
+ else
+ AC_MSG_RESULT(Could not find any working gtnets library or not patched version, see config.log for details .)
+ fi