* Bruno Haible wrote on Wed, May 26, 2010 at 12:11:45AM CEST: > > I see a few possible alternative ways out: > > - Automake requires subdir-objects if you put slashes into $LIBOBJS, > > There are cases where the developer does not want 'subdir-objects'. > I'm having the problem with AC_LIBOBJ in the > gettext/gettext-tools/libgettextpo > directory, and when I enable 'subdir-objects' in this directory, all hell > breaks loose. Impossible.
Understood. While I think that libgettextpo isn't such an ideal example, and would like to see if it's possible to rewrite in a more automake-ish style, possibly using a symlink farm for the shared source files, I agree that similar situations may be unavoidable in general (actually, we have a project that requires not to use subdir-objects either). > > - Autoconf optionally removes dirname parts from $LIBOBJS (i.e., some > > kind of "subdir-objects" toggle for Autoconf), > > Yes, but that requires Autoconf to receive information from Automake about > its options. Which is hard because there are several Makefile.ams in the > scope of a single configure file. Yep. Information never flows that way. For any requirements from Automake on Autoconf, automake checks whether side conditions are met and fails otherwise; there are several examples for this (like requirement of some macro such as AC_PROG_RANLIB), so this is feasible. But it's ugly, and still won't fix your use case above nicely (unless you can choose to turn off subdir-objects everywhere). > > - Automake always enables subdir-objects machinery for the $LIBOBJS > > files, but not necessarily for the other files. > > This would be acceptable, yes. > > The other, completely different alternative is to deprecate AC_LIBOBJ. Yes, I guess. I'll investigate the feasibility of always assuming subdir-objects for LIBOBJS only. Cheers, Ralf