Blame config/metis.m4

Packit 13e616
Packit 13e616
dnl metis.m4: an autoconf for OpenSM Vendor Selection option
Packit 13e616
dnl
Packit 13e616
dnl To use this macro, just do METIS_SEL.
Packit 13e616
dnl the new configure option --enable-metis will be defined.
Packit 13e616
dnl The following variables are defined:
Packit 13e616
dnl METIS_LDADD - LDADD additional libs for linking the vendor lib
Packit 13e616
AC_DEFUN([METIS_SEL], [
Packit 13e616
# --- BEGIN METIS_SEL ---
Packit 13e616
Packit 13e616
dnl Check if they want the metis support
Packit 13e616
AC_MSG_CHECKING([to enable metis support for nue routing])
Packit 13e616
AC_ARG_ENABLE(metis,
Packit 13e616
[  --enable-metis          Enable the metis support for nue routing (default no)],
Packit 13e616
        [case $enableval in
Packit 13e616
        yes) metis_support=yes ;;
Packit 13e616
        no)  metis_support=no ;;
Packit 13e616
        esac],
Packit 13e616
        metis_support=no)
Packit 13e616
AC_MSG_RESULT([$metis_support])
Packit 13e616
Packit 13e616
if test "x$metis_support" = "xyes"; then
Packit 13e616
   METIS_LDADD="-lmetis"
Packit 13e616
fi
Packit 13e616
Packit 13e616
dnl Define a way for the user to provide the path to the metis includes
Packit 13e616
AC_ARG_WITH(metis-includes,
Packit 13e616
    AC_HELP_STRING([--with-metis-includes=<dir>],
Packit 13e616
                   [define the dir where metis includes are installed]),
Packit 13e616
AC_MSG_NOTICE(Using metis includes from:$with_metis_includes),
Packit 13e616
with_metis_includes="")
Packit 13e616
Packit 13e616
if test "x$with_metis_includes" != "x"; then
Packit 13e616
   METIS_INCLUDES="-I$with_metis_includes"
Packit 13e616
fi
Packit 13e616
Packit 13e616
dnl Define a way for the user to provide the path to the metis libs
Packit 13e616
AC_ARG_WITH(metis-libs,
Packit 13e616
    AC_HELP_STRING([--with-metis-libs=<dir>],
Packit 13e616
                   [define the dir where metis libs are installed]),
Packit 13e616
AC_MSG_NOTICE(Using metis libs from:$with_metis_libs),
Packit 13e616
with_metis_libs="")
Packit 13e616
Packit 13e616
if test "x$with_metis_libs" != "x"; then
Packit 13e616
   METIS_LDADD="-L$with_metis_libs $METIS_LDADD"
Packit 13e616
fi
Packit 13e616
Packit 13e616
AC_SUBST(METIS_LDADD)
Packit 13e616
AC_SUBST(METIS_INCLUDES)
Packit 13e616
Packit 13e616
# --- END METIS_SEL ---
Packit 13e616
]) dnl METIS_SEL
Packit 13e616
Packit 13e616
dnl Check for the metis lib dependency
Packit 13e616
AC_DEFUN([METIS_CHECK_LIB], [
Packit 13e616
# --- BEGIN METIS_CHECK_LIB ---
Packit 13e616
if test "$metis_support" != "no"; then
Packit 13e616
   if test "$disable_libcheck" != "yes"; then
Packit 13e616
      sav_LDFLAGS=$LDFLAGS
Packit 13e616
      LDFLAGS="$LDFLAGS $METIS_LDADD"
Packit 13e616
      AC_CHECK_LIB(metis, METIS_PartGraphKway,
Packit 13e616
            AC_DEFINE(ENABLE_METIS_FOR_NUE,
Packit 13e616
                      1, [Define as 1 if you want to enable metis support for nue routing]),
Packit 13e616
	    AC_MSG_ERROR([METIS_PartGraphKway() not found.]))
Packit 13e616
      LDFLAGS=$sav_LDFLAGS
Packit 13e616
   else
Packit 13e616
      AC_DEFINE(ENABLE_METIS_FOR_NUE,
Packit 13e616
                1, [Define as 1 if you want to enable metis support for nue routing])
Packit 13e616
   fi
Packit 13e616
fi
Packit 13e616
# --- END METIS_CHECK_LIB ---
Packit 13e616
]) dnl METIS_CHECK_LIB
Packit 13e616
Packit 13e616
dnl Check for the vendor lib dependency
Packit 13e616
AC_DEFUN([METIS_CHECK_HEADER], [
Packit 13e616
# --- BEGIN METIS_CHECK_HEADER ---
Packit 13e616
Packit 13e616
dnl we might be required to ignore this check
Packit 13e616
if test "$metis_support" != "no"; then
Packit 13e616
   if test "$disable_libcheck" != "yes"; then
Packit 13e616
      sav_CPPFLAGS=$CPPFLAGS
Packit 13e616
      CPPFLAGS="$CPPFLAGS $METIS_INCLUDES"
Packit 13e616
      AC_CHECK_HEADERS(metis.h)
Packit 13e616
      CPPFLAGS=$sav_CPPFLAGS
Packit 13e616
   fi
Packit 13e616
fi
Packit 13e616
# --- END METIS_CHECK_HEADER ---
Packit 13e616
]) dnl METIS_CHECK_HEADER