Hello. For one of the projects I'm working on, we build an executable (called "scram") that emits C++ and a Makefile to compile that C++. (The build for scram itself uses autotools and has for some time now.)
To deal with platform issues, we generate a Makefile stub (called Makefile.common) at scram's configure time. The generated Makefiles pull in this stub and use the compiler that scram itself was built with and so forth. This works well as if you built scram with "distcc", for example, then the generated code also is setup to use distcc out of the box. After upgrading to libtool 1.5, the generated Makefiles have not worked correctly (as they've been calling libtool directly to link). Libtool complains about inferring the mode, and now it's complaining about needing the --tag flag. So I thought I'd following the lead of the autotools generated Makefiles and link using "CXXLINK" which knows all of the options to pass to libtool. In my configure.ac I have: AC_SUBST(CXX) AC_SUBST(CXXLINK) In my Makefile.common.in I have: CXX = @CXX@ CXXLINK = @CXXLINK@ In the generated Makefile.common, CXX is defined as I would expect. CXXLINK, on the other hand, is blank: CXX = distcc g++-3.3 CXXLINK = And in fact, in all of the generated Makefiles CXXLINK is now undefined and therefore even scram won't build. I find this somewhat perplexing, as the documentation implies that CXXLINK is available: Any package including C++ code must define the output variable `CXX' in `configure.ac'; the simplest way to do this is to use the `AC_PROG_CXX' macro (*note Particular Program Checks: (autoconf)Particular Programs.). A few additional variables are defined when a C++ source file is seen: [snip] `CXXLINK' The command used to actually link a C++ program. So is this a bug in the autotools, a case of "error between seat and keyboard", or something else? (I'm using automake 1.9.3 and autoconf 2.59 FWIW.) Thanks! Dale -- Dale E. Martin, Clifton Labs, Inc. Senior Computer Engineer [EMAIL PROTECTED] http://www.cliftonlabs.com pgp key available