2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 09:57:41 +00:00

Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and LDFLAGS.

Common libs go in LIBS, commong ld flags go in LDFLAGS and network libs
like -lsocket, -lnsl go in NET_LIBS.  This allows testsudoers to build
on Solaris and is a bit cleaner in general.
This commit is contained in:
Todd C. Miller 1999-08-26 13:16:06 +00:00
parent a80f9e0fbf
commit 3118b7f865
3 changed files with 442 additions and 422 deletions

View File

@ -53,8 +53,9 @@ NROFF = nroff
INSTALL = $(srcdir)/install-sh -c
# Libraries
SUDO_LIBS = @SUDO_LIBS@ @AFS_LIBS@
VISUDO_LIBS = @VISUDO_LIBS@
LIBS = @LIBS@
NET_LIBS = @NET_LIBS@
SUDO_LIBS = @SUDO_LIBS@ @AFS_LIBS@ $(LIBS) $(NET_LIBS)
# C preprocessor flags
CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
@ -63,8 +64,8 @@ CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
CFLAGS = @CFLAGS@
# Flags to pass to the link stage
SUDO_LDFLAGS = @SUDO_LDFLAGS@
VISUDO_LDFLAGS = @VISUDO_LDFLAGS@
LDFLAGS = @LDFLAGS@
SUDO_LDFLAGS = @SUDO_LDFLAGS@ $(LDFLAGS)
# Where to install things...
prefix = @prefix@
@ -170,10 +171,10 @@ sudo: $(SUDOBJS) $(LIBOBJS)
$(CC) -o $@ $(SUDOBJS) $(LIBOBJS) $(SUDO_LDFLAGS) $(SUDO_LIBS)
visudo: $(VISUDOBJS) $(LIBOBJS)
$(CC) -o $@ $(VISUDOBJS) $(LIBOBJS) $(VISUDO_LDFLAGS) $(VISUDO_LIBS)
$(CC) -o $@ $(VISUDOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS)
testsudoers: $(TESTOBJS) $(LIBOBJS)
$(CC) -o $@ $(TESTOBJS) $(LIBOBJS) $(VISUDO_LDFLAGS) $(VISUDO_LIBS)
$(CC) -o $@ $(TESTOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS)
# Uncomment the following if you want "make clean" to clean the parser
@DEV@PARSESRCS = sudo.tab.h sudo.tab.c lex.yy.c

803
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -18,14 +18,16 @@ PROGS="sudo visudo"
AC_SUBST(PROGS)dnl
CPPFLAGS=""
AC_SUBST(CPPFLAGS)dnl
LDFLAGS=""
AC_SUBST(LDFLAGS)dnl
SUDO_LDFLAGS=""
AC_SUBST(SUDO_LDFLAGS)dnl
VISUDO_LDFLAGS=""
AC_SUBST(VISUDO_LDFLAGS)dnl
LIBS=""
AC_SUBST(LIBS)dnl
SUDO_LIBS=""
AC_SUBST(SUDO_LIBS)dnl
VISUDO_LIBS=""
AC_SUBST(VISUDO_LIBS)dnl
NET_LIBS=""
AC_SUBST(NET_LIBS)dnl
AFS_LIBS=""
AC_SUBST(AFS_LIBS)dnl
OSDEFS=""
@ -108,11 +110,9 @@ AC_ARG_WITH(libpath, [ --with-libpath additional places to look for li
no) echo "Sorry, --without-libpath not supported."
exit 1
;;
*) echo "Adding ${with_libpath} to SUDO_LDFLAGS and VISUDO_LDFLAGS"
*) echo "Adding ${with_libpath} to LDFLAGS"
for i in ${with_libpath}; do
LDFLAGS="${LDFLAGS} -L${i}"
SUDO_LDFLAGS="${SUDO_LDFLAGS} -L${i}"
VISUDO_LDFLAGS="${VISUDO_LDFLAGS} -L${i}"
done
;;
esac])
@ -125,7 +125,7 @@ AC_ARG_WITH(libraries, [ --with-libraries additional libraries to link w
no) echo "Sorry, --without-libraries not supported."
exit 1
;;
*) echo "Adding ${with_libraries} to SUDO_LIBS and VISUDO_LIBS"
*) echo "Adding ${with_libraries} to LIBS"
for i in ${with_libraries}; do
case $i in
-l*) ;;
@ -134,8 +134,6 @@ AC_ARG_WITH(libraries, [ --with-libraries additional libraries to link w
*) i="-l${i}";;
esac
LIBS="${LIBS} ${i}"
SUDO_LIBS="${SUDO_LIBS} ${i}"
VISUDO_LIBS="${VISUDO_LIBS} ${i}"
done
;;
esac])
@ -1265,7 +1263,7 @@ case "$host" in
fi
# IRIX <= 4 needs -lsun
if test "$OSREV" -le 4; then
AC_CHECK_LIB(sun, getpwnam, [SUDO_LIBS="${SUDO_LIBS} -lsun"; VISUDO_LIBS="${VISUDO_LIBS} -lsun"; LIBS="${LIBS} -lsun"])
AC_CHECK_LIB(sun, getpwnam, [LIBS="${LIBS} -lsun"])
fi
;;
*-*-linux*)
@ -1294,7 +1292,6 @@ case "$host" in
fi
;;
*-*-riscos*)
SUDO_LIBS="${SUDO_LIBS} -lsun -lbsd"
LIBS="${LIBS} -lsun -lbsd"
CPPFLAGS="${CPPFLAGS} -I/usr/include -I/usr/include/bsd"
OSDEFS="${OSDEFS} -D_MIPS"
@ -1420,7 +1417,7 @@ fi
AC_CHECK_FUNC(lockf, AC_DEFINE(HAVE_LOCKF), AC_CHECK_FUNCS(flock))
AC_CHECK_FUNC(waitpid, AC_DEFINE(HAVE_WAITPID), AC_CHECK_FUNCS(wait3))
AC_CHECK_FUNC(innetgr, AC_DEFINE(HAVE_INNETGR) AC_CHECK_FUNCS(getdomainname))
AC_CHECK_FUNC(lsearch, AC_DEFINE(HAVE_LSEARCH), AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) [SUDO_LIBS="${SUDO_LIBS} -lcompat"; VISUDO_LIBS="${VISUDO_LIBS} -lcompat"; LIBS="${LIBS} -lcompat"], LIBOBJS="$LIBOBJS lsearch.o"), LIBOBJS="$LIBOBJS lsearch.o"))
AC_CHECK_FUNC(lsearch, AC_DEFINE(HAVE_LSEARCH), AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) [LIBS="${LIBS} -lcompat"], LIBOBJS="$LIBOBJS lsearch.o"), LIBOBJS="$LIBOBJS lsearch.o"))
AC_CHECK_FUNC(setenv, AC_DEFINE(HAVE_SETENV), AC_FUNC_CHECK(putenv, AC_DEFINE(HAVE_PUTENV), LIBOBJS="$LIBOBJS putenv.o"))
AC_CHECK_FUNC(utime, AC_DEFINE(HAVE_UTIME)
SUDO_FUNC_UTIME_POSIX, LIBOBJS="$LIBOBJS utime.o")
@ -1448,18 +1445,18 @@ dnl If socket(2) not in libc, check -lsocket and -linet
dnl May need to link with *both* -lnsl and -lsocket due to unresolved symbols
dnl In this case we look for main(), not socket() to avoid using a cached value
dnl
AC_CHECK_FUNC(socket, ,AC_CHECK_LIB(socket, socket, [SUDO_LIBS="${SUDO_LIBS} -lsocket"; LIBS="${LIBS} -lsocket"], AC_CHECK_LIB(inet, socket, [SUDO_LIBS="${SUDO_LIBS} -linet"; LIBS="${LIBS} -linet"], AC_MSG_WARN(unable to find socket() trying -lsocket -lnsl)
AC_CHECK_LIB(socket, socket, [SUDO_LIBS="${SUDO_LIBS} -lsocket -lnsl"; LIBS="${LIBS} -lsocket -lnsl"], , -lnsl))))
AC_CHECK_FUNC(socket, ,AC_CHECK_LIB(socket, socket, [NET_LIBS="${NET_LIBS} -lsocket"; LIBS="${LIBS} -lsocket"], AC_CHECK_LIB(inet, socket, [NET_LIBS="${NET_LIBS} -linet"; LIBS="${LIBS} -linet"], AC_MSG_WARN(unable to find socket() trying -lsocket -lnsl)
AC_CHECK_LIB(socket, socket, [NET_LIBS="${NET_LIBS} -lsocket -lnsl"; LIBS="${LIBS} -lsocket -lnsl"], , -lnsl))))
dnl
dnl If inet_addr(3) not in libc, check -lnsl and -linet
dnl May need to link with *both* -lnsl and -lsocket due to unresolved symbols
dnl
AC_CHECK_FUNC(inet_addr, ,AC_CHECK_LIB(nsl, inet_addr, [SUDO_LIBS="${SUDO_LIBS} -lnsl"; LIBS="${LIBS} -lnsl"], AC_CHECK_LIB(inet, inet_addr, [SUDO_LIBS="${SUDO_LIBS} -linet"; LIBS="${LIBS} -linet"], AC_MSG_WARN(unable to find socket() trying -lsocket -lnsl)
AC_CHECK_LIB(socket, inet_addr, [SUDO_LIBS="${SUDO_LIBS} -lsocket -lnsl"; LIBS="${LIBS} -lsocket -lnsl"], , -lnsl))))
AC_CHECK_FUNC(inet_addr, ,AC_CHECK_LIB(nsl, inet_addr, [NET_LIBS="${NET_LIBS} -lnsl"; LIBS="${LIBS} -lnsl"], AC_CHECK_LIB(inet, inet_addr, [NET_LIBS="${NET_LIBS} -linet"; LIBS="${LIBS} -linet"], AC_MSG_WARN(unable to find socket() trying -lsocket -lnsl)
AC_CHECK_LIB(socket, inet_addr, [NET_LIBS="${NET_LIBS} -lsocket -lnsl"; LIBS="${LIBS} -lsocket -lnsl"], , -lnsl))))
dnl
dnl If syslog(3) not in libc, check -lsocket, -lnsl and -linet
dnl
AC_CHECK_FUNC(syslog, ,AC_CHECK_LIB(socket, syslog, [SUDO_LIBS="${SUDO_LIBS} -lsocket"; LIBS="${LIBS} -lsocket"], AC_CHECK_LIB(nsl, syslog, [SUDO_LIBS="${SUDO_LIBS} -lnsl"; LIBS="${LIBS} -lnsl"], AC_CHECK_LIB(inet, syslog, [SUDO_LIBS="${SUDO_LIBS} -linet"; LIBS="${LIBS} -linet"]))))
AC_CHECK_FUNC(syslog, ,AC_CHECK_LIB(socket, syslog, [NET_LIBS="${NET_LIBS} -lsocket"; LIBS="${LIBS} -lsocket"], AC_CHECK_LIB(nsl, syslog, [NET_LIBS="${NET_LIBS} -lnsl"; LIBS="${LIBS} -lnsl"], AC_CHECK_LIB(inet, syslog, [NET_LIBS="${NET_LIBS} -linet"; LIBS="${LIBS} -linet"]))))
dnl
dnl Bison and DCE use alloca(3), if not in libc, use the sudo one (from gcc)
dnl (gcc includes its own alloca(3) but other compilers may not)
@ -1671,6 +1668,21 @@ else
fi
fi
dnl
dnl LIBS may contain duplicates from SUDO_LIBS or NET_LIBS so prune it.
dnl
if test -n "$LIBS"; then
L="$LIBS"
LIBS=
for l in ${L}; do
dupe=0
for sl in ${SUDO_LIBS} ${NET_LIBS}; do
test $l = $sl && dupe=1
done
test $dupe = 0 && LIBS="${LIBS} $l"
done
fi
dnl
dnl Set exec_prefix
dnl