[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: getloadavg module broken
From: |
Bruno Haible |
Subject: |
Re: getloadavg module broken |
Date: |
Fri, 19 May 2006 16:01:53 +0200 |
User-agent: |
KMail/1.5 |
Jim Meyering wrote:
> That is because it's looking in the wrong place.
> This patch fixes the immediate problem
Indeed, thanks. But the bug is really in the AC_FUNC_GETLOADAVG macro in
autoconf.
The macros
AC_FUNC_ERROR_AT_LINE, AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK,
AC_FUNC_MALLOC, AC_FUNC_MEMCMP, AC_FUNC_MKTIME, AC_FUNC_OBSTACK,
AC_FUNC_REALLOC, AC_FUNC_STRTOD, AC_FUNC_STRNLEN, AC_REPLACE_FNMATCH
are all able to call AC_LIBOBJ without additional hassles on the user.
AC_FUNC_GETLOADAVG is not.
I'd ask to remove these lines from the AC_FUNC_GETLOADAVG macro:
-------------------------------------------------------------------------
# Make sure getloadavg.c is where it belongs, at configure-time.
test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" ||
AC_MSG_ERROR([$srcdir/$ac_config_libobj_dir/getloadavg.c is missing])
-------------------------------------------------------------------------
and to change AC_FUNC_GETLOADAVG so that it doesn't need to #include this
file at configure time.
Rationale: It's not autoconf's business to impose file name restrictions
on a project, nor to check file names at configure time. "configure" is
there to test a platform's and compiler's feature. Checking a project's
files integrity is the job of automake.
> may cause trouble for people who put the libobj directory elsewhere.
> If any of you know of such a package, please let me know.
There are many such packages:
- gettext: both libgrep and lib (not just one directory).
- libiconv: srclib.
- libtasn1: gl
- m4: gnu
- gpg: gl
- libksba: gl
- prelude: libmissing
...
I can hack gnulib-tool to override AC_LIBOBJ and AC_REPLACE_FUNCS so that
it works with two different directories with .c files, but no workaround is
possible against hardcoded file checks in autoconf macros.
Bruno