bug-automake
[Top][All Lists]
Advanced

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

Re: AC_LIBOBJ with file in subdirectory does not work


From: Ralf Wildenhues
Subject: Re: AC_LIBOBJ with file in subdirectory does not work
Date: Tue, 25 May 2010 22:22:57 +0200
User-agent: Mutt/1.5.20 (2009-10-28)

[ adding bug-autoconf, for reference;
  <http://thread.gmane.org/gmane.comp.sysutils.automake.bugs/4917> ]

Hello Bruno,

thanks for the bug report.

* Bruno Haible wrote on Tue, May 25, 2010 at 01:59:19AM CEST:
> When AC_LIBOBJ is used with a source file in a subdirectory, no problem
> from autoconf's side, but a fatal error from automake occurs.

Well, but Autoconf is in this boat, too.  The problem really is, what is
the right thing to expect in these situations?

Autoconf code defines LIBOBJS from calls to AC_LIBOBJ/AC_LIBSOURCE.
Autoconf code knows nothing about the Automake subdir-objects option
(and what's more, that option may vary between different Makefile.am
files).  For

> AC_LIBOBJ([foo/bar])

the value of LIBOBJS will contain foo/bar.$objext.  And autoconf.info

| -- Macro: AC_LIBOBJ (FUNCTION)
|     Specify that `FUNCTION.c' must be included in the executables to
|     replace a missing or broken implementation of FUNCTION.

doesn't really imply that it's fit for slashes in the argument.
(That doesn't mean we shouldn't try to support it.)

I see a few possible alternative ways out:
- Automake requires subdir-objects if you put slashes into $LIBOBJS,
- Autoconf optionally removes dirname parts from $LIBOBJS (i.e., some
  kind of "subdir-objects" toggle for Autoconf),
- Automake always enables subdir-objects machinery for the $LIBOBJS
  files, but not necessarily for the other files.

One danger with the last item is that it may easily mess up the logic
when you happen to list a libobj source file elsewhere, too.

* Bruno Haible wrote on Tue, May 25, 2010 at 11:47:26AM CEST:
> PS: The challenge is to get AC_LIBOBJ working
>   - with and without the 'subdir-objects' option,
>   - for object files in executables, .a libraries, and .la libtool libraries.
> In all 6 situations.

And with and without no-dependencies.  And the leading `./' should be
normalized away, too, for non-GNU makes.  And with and without
AC_CONFIG_LIBOBJ_DIR.

Cheers,
Ralf



reply via email to

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