On Thu, May 29, 2008 at 7:49 PM, Ralf Wildenhues <Ralf.Wildenhues@xxxxxx> wrote: > * Johan Oudinet wrote on Thu, May 29, 2008 at 06:39:02PM CEST: >> On Wed, May 28, 2008 at 5:34 PM, Johan Oudinet <johan.oudinet@xxxxxxxxx> wrote: >> > AC_LANG_PUSH(C++) >> > AC_CHECK_LIB([boost_graph], [read_graphviz], , AC_MSG_ERROR([This package needs libboost_graph])) > > Unrealted side note: this line is underquoted, as the most important > quotes (those delimiting macro arguments which contain macro calls > themselves) are missing. Thanks for the side note. > > AC_CHECK_LIB([boost_graph], [read_graphviz], , [AC_MSG_ERROR([This package needs libboost_graph])]) > >> > AC_LANG_POP > >> > Unfortunately, the generated code is wrong (since it doesn't use the >> > right signature for read_graphviz). > >> I found a workaround by using a default function (like exit) to check >> if libboost_graph exists. Now it works with AC_CHECK_LIB but not with >> AC_SEARCH_LIBS because the exit function doesn't need any library. > > Typical workarounds I've seen so far is to use 'main' in the existance > test, because exit may not be declared. Actually, I read somewhere in this mailing list that using 'main' is not a good idea, since a call to the main function is not allowed by the standard. > >> Since I know this library is mandatory for the read_graphviz function, >> it's OK. But I would know how to check the presence of a function >> defined in a namespace, or with template parameters ? > > This is a problem; C++ tests don't work well with these macros. You > could write a custom AC_LINK_IFELSE test, or look at the known places > like the Autoconf Macro Archive, or the source of the package you're > checking for, for macros already provided by someone else. Yes that's where I found they use the 'exit' function for a similar purpose. Thanks for your help. Regards, -- Johan _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf