Re: [Nagios-devel] Convert CHECK to SEARCH to avoid unnecessarily
Posted: Thu Oct 01, 2009 7:03 am
--Apple-Mail-534--948413489
Content-Type: text/plain;
charset=US-ASCII;
format=flowed;
delsp=yes
Content-Transfer-Encoding: 7bit
Hi Allan,
On 30 Sep 2009, at 00:58, Allan Clark wrote:
> CVS delta 1.147 -> 1.148 includes un-dnl-ing some AC_CHECK_LIBS for
> USL/SVR4 -derivative Unix environments.
>
> Note that the act of CHECK_LIBS (main) -- which is used to avoid
> having to give an entry point/label -- is also replaced by the
> actual name of an entry point.
>
> For details, see also:
>
> http://www.gnu.org/software/autoconf/ma ... aries.html
>
>
> The following change converts this Solaris edit to a SEARCH rather
> than a CHECK, which works on all platforms, and only adds additional
> librarires if the mentioned linker entry points are not already
> valid in the current list of libraries:
>
>
> --- configure.in.solaris 2009-09-30 00:48:17.000000000 +0100
> +++ configure.in 2009-09-30 00:51:37.000000000 +0100
> @@ -101,9 +101,8 @@
>
>
> dnl Checks for library functions.
> -AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
> -AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
> -AC_SUBST(SOCKETLIBS)
> +AC_SEARCH_LIBS([getservbyname],[nsl])
> +AC_SEARCH_LIBS([connect],[socket])
> AC_CHECK_FUNCS(initgroups setenv strdup strstr strtoul unsetenv)
>
> AC_MSG_CHECKING(for type of socket size)
>
>
>
> Note: this also drops the need for "SOCKETLIBS" tracking. Libs add
> the nsl (NameServices lib) and socket (yeah, socket) libraries only
> if the pre-existing libraries (libc, libC, et al) don't already
> provde the lib.
>
> This check is really intended for the merge-point where sockets
> moved from being environmental things to in-kernel things, and not
> all executables wanted to link with sockets included by default.
Good point re: AC_SEARCH_LIBS rather than AC_CHECK_LIB, and good point
re: checking for actual functions.
However, I would still want SOCKETLIBS to be set otherwise the
libraries will get linked to other parts of Nagios that do not need
it, like CGIs and nagiostats. So I propose:
dnl Checks for library functions.
-AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
-AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
+AC_SEARCH_LIBS([getservbyname],[nsl],[SOCKETLIBS="$SOCKETLIBS -lnsl"])
+AC_SEARCH_LIBS([connect],[socket],[SOCKETLIBS="$SOCKETLIBS -lsocket"])
AC_SUBST(SOCKETLIBS)
AC_CHECK_FUNCS(initgroups setenv strdup strstr strtoul unsetenv)
Comments?
Ton
--Apple-Mail-534--948413489
Content-Type: text/html;
charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Hi Allan,On =
30 Sep 2009, at 00:58, Allan Clark wrote:CVS =
delta 1.147 -> 1.148 includes un-dnl-ing some AC_CHECK_LIBS for =
USL/SVR4 -derivative Unix environments.Note =
that the act of CHECK_LIBS (main) -- which is used to avoid having to =
give an entry point/label -- is also replaced by the actual name of an =
entry point. For details, see =
also:http://www.gnu.org/software/autoconf/ma ... aries.html The following change =
converts this Solaris edit to a SEARCH rather than a CHECK, which works =
on all platforms, and only adds additional librarires if the mentioned =
linker entry points are not already valid in the current list of =
libraries: --- =
configure.in.solaris 2009-09-30 00:48:17.000000000 =
+0100+++ configure.in =
2009-09-30 00:51:37.000000000 +0100 @@ -101,9 +101,8 =
@@ &nb
...[email truncated]...
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]