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

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: