forked from minhngoc25a/freetype2
56 lines
2.6 KiB
Plaintext
56 lines
2.6 KiB
Plaintext
dnl
|
|
dnl The following was written by jhawk@mit.edu
|
|
dnl
|
|
dnl AC_LIBRARY_NET: Id: net.m4,v 1.4 1997/10/25 20:49:53 jhawk Exp
|
|
dnl
|
|
dnl This test is for network applications that need socket() and
|
|
dnl gethostbyname() -ish functions. Under Solaris, those applications need to
|
|
dnl link with "-lsocket -lnsl". Under IRIX, they should *not* link with
|
|
dnl "-lsocket" because libsocket.a breaks a number of things (for instance:
|
|
dnl gethostbyname() under IRIX 5.2, and snoop sockets under most versions of
|
|
dnl IRIX).
|
|
dnl
|
|
dnl Unfortunately, many application developers are not aware of this, and
|
|
dnl mistakenly write tests that cause -lsocket to be used under IRIX. It is
|
|
dnl also easy to write tests that cause -lnsl to be used under operating
|
|
dnl systems where neither are necessary (or useful), such as SunOS 4.1.4, which
|
|
dnl uses -lnsl for TLI.
|
|
dnl
|
|
dnl This test exists so that every application developer does not test this in
|
|
dnl a different, and subtly broken fashion.
|
|
dnl
|
|
dnl It has been argued that this test should be broken up into two seperate
|
|
dnl tests, one for the resolver libraries, and one for the libraries necessary
|
|
dnl for using Sockets API. Unfortunately, the two are carefully intertwined and
|
|
dnl allowing the autoconf user to use them independantly potentially results in
|
|
dnl unfortunate ordering dependancies -- as such, such component macros would
|
|
dnl have to carefully use indirection and be aware if the other components were
|
|
dnl executed. Since other autoconf macros do not go to this trouble, and almost
|
|
dnl no applications use sockets without the resolver, this complexity has not
|
|
dnl been implemented.
|
|
dnl
|
|
dnl The check for libresolv is in case you are attempting to link statically
|
|
dnl and happen to have a libresolv.a lying around (and no libnsl.a).
|
|
dnl
|
|
AC_DEFUN(AC_LIBRARY_NET, [
|
|
# Most operating systems have gethostbyname() in the default searched
|
|
# libraries (i.e. libc):
|
|
AC_CHECK_FUNC(gethostbyname, ,
|
|
# Some OSes (eg. Solaris) place it in libnsl:
|
|
AC_CHECK_LIB(nsl, gethostbyname, ,
|
|
# Some strange OSes (SINIX) have it in libsocket:
|
|
AC_CHECK_LIB(socket, gethostbyname, ,
|
|
# Unfortunately libsocket sometimes depends on libnsl.
|
|
# AC_CHECK_LIB's API is essentially broken so the following
|
|
# ugliness is necessary:
|
|
AC_CHECK_LIB(socket, gethostbyname,
|
|
LIBS="-lsocket -lnsl $LIBS",
|
|
AC_CHECK_LIB(resolv, gethostbyname),
|
|
-lnsl)
|
|
)
|
|
)
|
|
)
|
|
AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket, ,
|
|
AC_CHECK_LIB(socket, socket, LIBS="-lsocket -lnsl $LIBS", , -lnsl)))
|
|
])
|