Bug#353693: Looking for a autotools/libtool expert:Unnecessarily linked libraries
* Frank Küster wrote on Tue, Mar 14, 2006 at 11:51:57AM CET:
> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> wrote:
> >> Steve Langasek <vorlon@debian.org> wrote:
> >> > But even after fixing this, tetex-bin seems to be using some obscure and
> >> > obsolete feature of autoconf 2.13 that replaces "ac_include $file" in
> >> > Makefile.in with the contents of that file in the output Makefile.
Very funny. That "ac_include" feature wasn't even in plain Autoconf
2.13, but only in the locally-modified copy of it, see texk/etc/autoconf.
But non-ancient Automake has an 'include' feature that should get you
mostly-equivalent functionality, I think.
This issue:
> ./configure: line 20631: syntax error: unexpected end of file
is caused by underquoted macro usage in web2c/withenable.ac. While at
it, let's get rid of the changequote there as well, it's evil, too. So
writing the following like this:
AC_ARG_WITH([editor],
[ --with-editor=CMD invoke CMD from the e option @<:@vi +%d %s@:>@],
[AC_DEFINE_UNQUOTED(EDITOR, "$with_editor")
])
AC_ARG_ENABLE([ipc],
[ --enable-ipc enable TeX's --ipc option, i.e., pipe to a program],
[if test "x$enableval" = xyes; then
AC_DEFINE(IPC)
# -lsocket is needed on Solaris, at least. Maybe -lnsl on SCO, too?
# See ac_path_xtra.
AC_CHECK_FUNC(connect)
if test x$ac_cv_func_connect = xno; then
AC_CHECK_LIB(socket, connect, socketlibs="-lsocket $socketlibs")
fi
fi
])
AC_SUBST(socketlibs)
should get you going. The weird replacements for brackets are called
quadrigraphs in the Autoconf manual (and 2.60 will count them correctly
in AC_HELP_STRING), and the EOF came from a comma in the third argument
to AC_ARG_ENABLE above. It makes for another argument actually..
If you want to test this easily without changing too much other code,
do this:
rm -rf autom4te.cache; autoconf && ./configure
You need to remove the cache because autoconf does not know about
"sinclude". To make it aware of the dependency to web2c/withenable.ac
and the other files sincluded from configure.in, use
m4_sinclude([web2c/withenable.ac])
instead. More generally, almost all native m4 commands are prefixed
with 'm4_' in Autoconf-2.50+ (except for dnl).
The library dependency issue was solved before, right (using "objdump -p"
rather than ldd to find direct dependencies showed not-too-much)?
Hope that helps. Please Cc: for replies.
Cheers,
Ralf
Reply to: