| 288 | | AC_ARG_WITH([zoltan], |
|---|
| 289 | | [AC_HELP_STRING([--with-zoltan=DIR],[Specify directory containing Zoltan])], |
|---|
| 290 | | [ZOLTAN_DIR="$withval" |
|---|
| 291 | | DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --with-zoltan=\"${withval}\"" |
|---|
| 292 | | ],[ZOLTAN_DIR=unknown]) |
|---|
| | 288 | if test "x$WITH_MPI" = "xno"; then |
|---|
| | 289 | AC_MSG_ERROR([--enable-mbzoltan requires MPI, try specifying --with-mpi]) |
|---|
| | 290 | fi |
|---|
| | 291 | |
|---|
| | 292 | |
|---|
| | 293 | ZOLTAN_LIB_FLAGS= |
|---|
| | 294 | ZOLTAN_INC_FLAGS= |
|---|
| | 295 | ZOLTAN_LIBS= |
|---|
| | 296 | ZOLTAN_ARCH= |
|---|
| | 297 | ZOLTAN_DIR= |
|---|
| | 298 | |
|---|
| | 299 | AC_ARG_WITH( [zoltan], |
|---|
| | 300 | [AC_HELP_STRING([--with-zoltan=DIR],[Specify Zoltan build directory])], |
|---|
| | 301 | [if test "xyes" = "$withval"; then |
|---|
| | 302 | AC_MSG_WARN([Ingoring --with-zoltan flag w/out value]) |
|---|
| | 303 | elif test -d $withval/$include; then |
|---|
| | 304 | ZOLTAN_INC_FLAGS="$ZOLTAN_INC_FLAGS -I$withval/include" |
|---|
| | 305 | ZOLTAN_DIR="$withval" |
|---|
| | 306 | else |
|---|
| | 307 | AC_MSG_ERROR("$withval/include : not a directory") |
|---|
| | 308 | fi |
|---|
| | 309 | DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --with-zoltan=\"${withval}\"" |
|---|
| | 310 | ]) |
|---|
| | 311 | |
|---|
| 295 | | [ZOLTAN_ARCH="$withval"],[ZOLTAN_ARCH=unknown]) |
|---|
| 296 | | case "x$ZOLTAN_DIR" in |
|---|
| 297 | | xno|x) |
|---|
| 298 | | ZOLTAN_MISSING=yes |
|---|
| 299 | | ;; |
|---|
| 300 | | xyes) |
|---|
| 301 | | AC_MSG_ERROR([--enable-mbzoltan requires an argument]) |
|---|
| 302 | | ;; |
|---|
| 303 | | esac |
|---|
| 304 | | if test "x$WITH_MPI" = "xno"; then |
|---|
| 305 | | AC_MSG_ERROR([--enable-mbzoltan requires --with-mpi too!]) |
|---|
| 306 | | fi |
|---|
| 307 | | if ! test -d "$ZOLTAN_DIR"; then |
|---|
| 308 | | AC_MSG_WARN([$ZOLTAN_DIR : not a directory.]) |
|---|
| 309 | | fi |
|---|
| 310 | | AC_CHECK_FILES([${ZOLTAN_DIR}/include/zoltan.h], |
|---|
| 311 | | [], [AC_MSG_WARN([$ZOLTAN_DIR : not a valid zoltan source]); ZOLTAN_MISSING=yes]) |
|---|
| 312 | | |
|---|
| 313 | | ZOLTAN_INCLUDES="-I${ZOLTAN_DIR}/include" |
|---|
| 314 | | ZOLTAN_LIBS="-L${ZOLTAN_DIR}/Obj_${ZOLTAN_ARCH} -lzoltan" |
|---|
| 315 | | |
|---|
| 316 | | AC_ARG_WITH(parmetis, |
|---|
| 317 | | [AC_HELP_STRING([--with-parmetis=DIR], [Specify directory containing parmetis library])], |
|---|
| 318 | | [PARMETIS_DIR=$withval], [PARMETIS_DIR=]) |
|---|
| 319 | | case "x$PARMETIS_DIR" in |
|---|
| 320 | | xno|x) |
|---|
| 321 | | PARMETIS_MISSING=yes |
|---|
| 322 | | ;; |
|---|
| 323 | | xyes) |
|---|
| 324 | | AC_MSG_ERROR([--with-parmetis requires an argument]) |
|---|
| 325 | | ;; |
|---|
| 326 | | esac |
|---|
| 327 | | if test -d "$PARMETIS_DIR"; then |
|---|
| 328 | | ZOLTAN_LIBS="$ZOLTAN_LIBS -L$PARMETIS_DIR -lparmetis -lmetis" |
|---|
| 329 | | fi |
|---|
| 330 | | |
|---|
| 331 | | AC_SUBST(ZOLTAN_DIR) |
|---|
| | 314 | [if test "xyes" = "x$withval"; then |
|---|
| | 315 | AC_MSG_ERROR([--with-zoltan-arch flag requires a value]) |
|---|
| | 316 | elif test "x" = "x$ZOLTAN_DIR"; then |
|---|
| | 317 | AC_MSG_WARN([Ingoring --with-zoltan-arch without --with-zoltan]) |
|---|
| | 318 | elif test -d "$ZOLTAN_DIR/Obj_$withval"; then |
|---|
| | 319 | ZOLTAN_LIB_FLAGS="$ZOLTAN_LIB_FLAGS -L$ZOLTAN_DIR/Obj_$withval" |
|---|
| | 320 | else |
|---|
| | 321 | AC_MSG_ERROR("$ZOLTAN_DIR/Obj_$withval : not a directory") |
|---|
| | 322 | fi], |
|---|
| | 323 | [if test "x" != "x$ZOLTAN_DIR"; then |
|---|
| | 324 | AC_MSG_WARN([Expect --with-zoltan-arch with --with-zoltan]) |
|---|
| | 325 | if test -d $ZOLTAN_DIR/lib; then |
|---|
| | 326 | AC_MSG_WARN("Guessing '$ZOLTAN_DIR/lib'") |
|---|
| | 327 | ZOLTAN_LIB_FLAGS="$ZOLTAN_LIB_FLAGS -L$ZOLTAN_DIR/lib" |
|---|
| | 328 | else |
|---|
| | 329 | # if only one Obj_$ARCH dir, then us it |
|---|
| | 330 | found=no |
|---|
| | 331 | for dir in $ZOLTAN_DIR/Obj_*; do |
|---|
| | 332 | if test -d $dir; then |
|---|
| | 333 | if test "xyes" = "x$found"; then |
|---|
| | 334 | AC_MSG_ERROR("Multiple Zoltan Obj_$ARCH dirs. --with-zoltan-arch required.") |
|---|
| | 335 | fi |
|---|
| | 336 | ZOLTAN_LIB_FLAGS="$ZOLTAN_LIB_FLAGS -L$dir" |
|---|
| | 337 | found=yes |
|---|
| | 338 | fi |
|---|
| | 339 | done |
|---|
| | 340 | if test "xno" = "x$found"; then |
|---|
| | 341 | AC_MSG_ERROR('No Zoltan Obj_$ARCH dir found. --with-zoltan-arch required.') |
|---|
| | 342 | fi |
|---|
| | 343 | fi |
|---|
| | 344 | fi |
|---|
| | 345 | ]) |
|---|
| | 346 | |
|---|
| | 347 | AC_ARG_WITH([parmetis], |
|---|
| | 348 | [AC_HELP_STRING([--with-parmetis=DIR], |
|---|
| | 349 | [Directory containing Parmetis library for Zoltan])], |
|---|
| | 350 | [if test "xyes" = "$withval"; then |
|---|
| | 351 | AC_MSG_WARN([Ingoring --with-parmetis flag w/out value]) |
|---|
| | 352 | elif test -d "$withval"; then |
|---|
| | 353 | ZOLTAN_LIB_FLAGS="$ZOLTAN_LIB_FLAGS -L$withval" |
|---|
| | 354 | else |
|---|
| | 355 | AC_MSG_ERROR("$withval: not a directory") |
|---|
| | 356 | fi] |
|---|
| | 357 | DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --with-parmetis=\"${withval}\"" |
|---|
| | 358 | ) |
|---|
| | 359 | |
|---|
| | 360 | old_CPPFLAGS="$CPPFLAGS" |
|---|
| | 361 | CPPFLAGS="$CPPFLAGS $ZOLTAN_INC_FLAGS -DMPICH_IGNORE_CXX_SEEK" |
|---|
| | 362 | AC_LANG_PUSH([C++]) |
|---|
| | 363 | AC_CHECK_HEADER([zoltan_cpp.h],[],[AC_MSG_ERROR("mbzoltan requires zoltan")]) |
|---|
| | 364 | AC_LANG_POP([C++]) |
|---|
| | 365 | CPPFLAGS="$old_CPPFLAGS" |
|---|
| | 366 | |
|---|
| | 367 | old_LDFLAGS="$LDFLAGS" |
|---|
| | 368 | LDFLAGS="$LDFLAGS $ZOLTAN_LIB_FLAGS" |
|---|
| | 369 | AC_CHECK_LIB([zoltan],[Zoltan_LB_Partition],[ZOLTAN_LIBS='-lzoltan'], |
|---|
| | 370 | [unset ac_cv_lib_zoltan_Zoltan_LB_Partition |
|---|
| | 371 | AC_CHECK_LIB([zoltan],[Zoltan_LB_Partition], |
|---|
| | 372 | [ZOLTAN_LIBS="-lzoltan -lparmetis -lmetis"], |
|---|
| | 373 | [AC_MSG_ERROR("mbzoltan requires zoltan")], |
|---|
| | 374 | [-lparmetis -lmetis])]) |
|---|
| | 375 | LDFLAGS="$old_LDFLAGS" |
|---|
| | 376 | |
|---|
| | 377 | |
|---|