automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CXXLINK in generated Makefiles


From: Dale E. Martin
Subject: CXXLINK in generated Makefiles
Date: Fri, 3 Dec 2004 10:06:31 -0500
User-agent: Mutt/1.5.4i

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
address@hidden
http://www.cliftonlabs.com
pgp key available




reply via email to

[Prev in Thread] Current Thread [Next in Thread]