diff --git a/m4/ipopt.m4 b/m4/ipopt.m4 index 5a5fe335545b526dd8a2cbd6d3cf33dd9db4bebf..fb54366f7ab49826e4a108a698f43e5435c4c6f2 100644 --- a/m4/ipopt.m4 +++ b/m4/ipopt.m4 @@ -38,21 +38,22 @@ AS_IF([test x$with_ipopt != xno], [ AC_MSG_WARN([IPOpt not found in $IPOPTROOT]) ]) - AC_LANG_PUSH([C++]) - LDFLAGS="$LDFLAGS -L$IPOPT_LIB_PATH" + IPOPT_LDFLAGS="`PKG_CONFIG_PATH=$IPOPT_LIB_PATH/pkgconfig $PKG_CONFIG --libs-only-L ipopt`" + LDFLAGS="$LDFLAGS $IPOPT_LDFLAGS" IPOPT_CPPFLAGS="-I$IPOPTROOT/include" CPPFLAGS="$CPPFLAGS $IPOPT_CPPFLAGS" + IPOPT_LIBS="`PKG_CONFIG_PATH=$IPOPT_LIB_PATH/pkgconfig $PKG_CONFIG --libs-only-l ipopt`" + LIBS="$LIBS $IPOPT_LIBS" + + AC_LANG_PUSH([C++]) # if header is found... AS_IF([test x$HAVE_IPOPT = x1], [ - LIBS="$LIBS `PKG_CONFIG_PATH=$IPOPT_LIB_PATH/pkgconfig $PKG_CONFIG --libs ipopt`" - AC_LINK_IFELSE(AC_LANG_PROGRAM( [#include "coin/IpIpoptApplication.hpp"], [Ipopt::SmartPtr<Ipopt::IpoptApplication> app = new Ipopt::IpoptApplication();]), - [IPOPT_LIBS="`PKG_CONFIG_PATH=$IPOPT_LIB_PATH/pkgconfig $PKG_CONFIG --libs-only-l ipopt`" - IPOPT_LDFLAGS="`PKG_CONFIG_PATH=$IPOPT_LIB_PATH/pkgconfig $PKG_CONFIG --libs-only-L ipopt`"], + [], [HAVE_IPOPT="0" AC_MSG_WARN(IPOpt not found!)]) ]) @@ -76,7 +77,9 @@ AS_IF([test x$HAVE_IPOPT = x1], [ # set variable for summary with_ipopt="yes" ], [ + unset IPOPT_LIBS AC_SUBST(IPOPT_LIBS, "") + unset IPOPT_LDFLAGS AC_SUBST(IPOPT_LDFLAGS, "") unset IPOPT_CPPFLAGS AC_SUBST(IPOPT_CPPFLAGS, "")