On Sun, Feb 22, 2009 at 8:53 PM, Duane Ellis <duane@xxxxxxxxxxxxxx> wrote: > Allan Caffee wrote: > >> AC_CHECK_LIB (AFAIK) is not intended to handle static libraries. > > I don't know much about AC_CHECK_LIB.. > >> The reason for this is that compilers handle static libraries quite >> differently than shared object libraries. > > This I disagree with. To a developer, these are '99.9% functionally > identical', with a confusing twist. > >> Compilers treat static libraries as a single big object file to be >> included along with all the others. > > NO. This is fundamentally wrong. Actually I was _completely_ wrong: They _are_ conceptually identical from the viewpoint of the developer. (I think when I tested this I made the classic beginner's blunder of putting the -l flag _before_ the object file referencing it and one bad assumption led to another. :\) You're correct, the method of specifying them with -l is in fact the convention for static libraries. So really AC_CHECK_LIB is perfectly adequate for checking static libraries, and its documentation makes no mention of this because it should have been obvious that it does so. Sorry for the misinformation, folks. Given that I suspect that Peter is correct: On Sun, Feb 22, 2009 at 11:26 PM, Peter Johansson <trojkan@xxxxxxxxx> wrote: > aaragon wrote: >> >> aaragon@aaragon-laptop:~/Lib/lib$ nm -g libcpputils.so | grep flip | >> c++filt >> 00003c20 T cpputils::flip(double) > > Isn't the problem that flip(double) is in namespace cpputils? I don't know that AC_CHECK_LIB will be able to accommodate your needs since it's designed to work with C and not C++. Is there a routine in the library in the global namespace? If not you could roll a simple test together using the macros described in the manual: http://www.gnu.org/software/autoconf/manual/html_node/Writing-Tests.html#Writing-Tests. I don't know of an existing macro capable of checking for functions in a particular namespace. Of course if all you really want to do is check that you can link against a library named cpputils (static or dynamic) you could just use: AC_CHECK_LIB ([cpputils], [main]) But by doing this you can't be as confident that you're linking against the correct cpputils. (I.E Your cpputils as opposed to somebody else who happened to provide a library by the same name.) ~Allan _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf