1
0
This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
2024-07-22 01:58:46 -03:00

297 lines
6.6 KiB
Plaintext
Executable File

AC_INIT(pptpmanager.c)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(pptpd,1.4.0)
# check common command line options early
AC_DEFINE(PPP_BINARY, "/usr/sbin/pppd")
AC_MSG_CHECKING(command line for use of BSD PPP)
AC_ARG_WITH(bsdppp,
[ --with-bsdppp Use BSD user-space ppp ],
[
case "$withval" in
yes)
AC_MSG_RESULT(BSD user-space ppp)
AC_DEFINE(BSDUSER_PPP)
BSDUSER_PPP=$with_bsdppp
AC_DEFINE(PPP_BINARY, "/usr/sbin/ppp")
break;
;;
no)
AC_MSG_RESULT(explicit standard pppd)
;;
*)
# only yes or no are expected for this option
AC_MSG_RESULT(unrecognised... terminating)
exit 1
;;
esac
], [AC_MSG_RESULT(default standard pppd)])
AC_MSG_CHECKING(command line for use of SLIRP)
AC_ARG_WITH(slirp,
[ --with-slirp Use SLIRP instead of pppd ],
[
case "$withval" in
yes)
AC_MSG_RESULT(yes)
AC_DEFINE(SLIRP)
SLIRP=$with_slirp
AC_DEFINE(PPP_BINARY, "/bin/slirp")
break;
;;
no)
AC_MSG_RESULT(explicit no)
;;
*)
# only yes or no are expected for this option
AC_MSG_RESULT(unrecognised... terminating)
exit 1
;;
esac
], [AC_MSG_RESULT(default no)])
AC_MSG_CHECKING(command line for syslog facility name)
AC_ARG_ENABLE(facility,
[ --enable-facility=name Use another syslog facility, default LOG_DAEMON ],
[
AC_MSG_RESULT($enableval)
AC_DEFINE_UNQUOTED(PPTP_FACILITY, $enableval)
],
[
AC_MSG_RESULT(default LOG_DAEMON)
AC_DEFINE_UNQUOTED(PPTP_FACILITY, LOG_DAEMON)
])
AC_MSG_CHECKING(command line for bcrelay build)
AC_ARG_ENABLE(bcrelay,
[ --enable-bcrelay Enable broadcast relay function ],
[
case "$enableval" in
yes)
AC_MSG_RESULT(yes)
AC_DEFINE(BCRELAY)
BCRELAY=$enableval
break;
;;
no)
AC_MSG_RESULT(explicit no)
;;
*)
# only yes or no are expected for this option
AC_MSG_RESULT(unrecognised... terminating)
exit 1
;;
esac
], [AC_MSG_RESULT(default no)])
AC_MSG_CHECKING(command line for VRF build)
AC_ARG_ENABLE(vrf,
[ --enable-vrf Enable support for VRFs],
[
case "$enableval" in
yes)
AC_MSG_RESULT(yes)
VRF=$enableval
;;
no)
AC_MSG_RESULT(explicit no)
;;
*)
AC_MSG_RESULT(unrecognised... terminating)
exit 1
;;
esac
], [AC_MSG_RESULT(default no)])
AC_PROG_CC
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_C_CONST
AC_C_INLINE
AC_EXEEXT
AC_OBJEXT
AC_SYS_INTERPRETER
AC_CHECK_FUNCS(setsid daemon setproctitle getservbyname strlcpy fork memmove strerror writev)
AC_CHECK_HEADERS(pty.h)
AC_CHECK_HEADERS(string.h)
AC_CHECK_HEADERS(syslog.h)
AC_CHECK_HEADERS(libintl.h)
AC_CHECK_HEADERS(libutil.h)
AC_CHECK_HEADERS(sys/uio.h)
AC_CHECK_TYPE(size_t, unsigned int)
AC_CHECK_TYPE(ssize_t, int)
AC_CHECK_TYPE(u_int8_t, unsigned char)
AC_CHECK_TYPE(u_int16_t, unsigned short)
AC_CHECK_TYPE(u_int32_t, unsigned int)
dnl Check for type in sys/socket.h - from Squid source (GPL)
AC_CACHE_CHECK(for socklen_t, ac_cv_type_socklen_t, [
AC_EGREP_CPP([socklen_t[^a-zA-Z_0-9]], [#include <sys/types.h>
#include <sys/socket.h>
#if STDC_HEADERS
#include <stdlib.h>
#include <stddef.h>
#endif],
ac_cv_type_socklen_t=yes,
ac_cv_type_socklen_t=no)
])
if test $ac_cv_type_socklen_t = no; then
AC_DEFINE(socklen_t, int)
fi
dnl Check for libwrap (black magic check)
AC_ARG_WITH(libwrap,
[ --with-libwrap Use libwrap (tcp wrappers) ],
[
if test "$with_libwrap" = "yes"; then
XYZZY_LIBS="$LIBS"
AC_MSG_CHECKING(for libwrap alone)
LIBS="$XYZZY_LIBS -lwrap"
AC_TRY_LINK([ int allow_severity, deny_severity; ],
[ hosts_access(); ],
[ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LIBWRAP)
LIBWRAP="yes"
XTRALIBS_MGR="-lwrap" ],
[ AC_MSG_RESULT(no)
LIBS="$XYZZY_LIBS -lwrap -lnsl"
AC_MSG_CHECKING(for libwrap with libnsl)
AC_TRY_LINK([ int allow_severity, deny_severity; ],
[ hosts_access(); ],
[ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LIBWRAP)
LIBWRAP="yes"
XTRALIBS_MGR="-lwrap -lnsl" ],
[ AC_MSG_RESULT(no) ])
])
LIBS="$XYZZY_LIBS"
fi
])
dnl More ugliness; -lnsl, -lutil and -lsocket
XYZZY_LIBS="$LIBS"
AC_CHECK_LIB(c, accept)
AC_CHECK_LIB(c, gethostbyname)
AC_CHECK_LIB(c, openpty)
AC_CHECK_LIB(c, gettext)
AC_CHECK_LIB(socket, accept)
AC_CHECK_LIB(nsl, gethostbyname)
AC_CHECK_LIB(util, openpty)
AC_CHECK_LIB(intl, gettext)
LIBS="$XYZZY_LIBS"
if test "$ac_cv_lib_c_accept" = no; then
if test "$ac_cv_lib_socket_accept" = yes; then
LIBS="$LIBS -lsocket"
else
echo "Couldn't find a usable accept!" 1>&2
exit 1
fi
fi
if test "$ac_cv_lib_c_gethostbyname" = no; then
if test "$ac_cv_lib_nsl_gethostbyname" = yes; then
LIBS="$LIBS -lnsl"
if test "$XTRALIBS_MGR" = "-lwrap -lnsl"; then
XTRALIBS_MGR="-lwrap"
fi
else
echo "Couldn't find a usable gethostbyname!" 1>&2
exit 1
fi
fi
if test "$ac_cv_lib_c_openpty" = yes; then
AC_DEFINE(HAVE_OPENPTY)
else
if test "$ac_cv_lib_util_openpty" = yes; then
AC_DEFINE(HAVE_OPENPTY)
XTRALIBS_CTRL="-lutil"
fi
fi
if test "$ac_cv_header_libintl_h" = yes; then
if test "$ac_cv_lib_c_gettext" = no; then
if test "$ac_cv_lib_intl_gettext" = yes; then
XTRALIBS_MGR = "$XTRALIBS_MGR -lintl"
else
echo "Have libintl.h but no usable gettext!" 1>&2
exit 1
fi
fi
fi
if test "$BCRELAY" = "yes"; then
if test "$BCRELAY" = "yes"; then
XTRA_PROG="bcrelay"
true
else
echo "No BCrelay selected." 1>&2
fi
fi
if test "$VRF" = "yes"; then
AC_CHECKING([for vrf Library and Header files])
AC_CHECK_HEADER(vrf.h, ,
AC_MSG_ERROR([vrf headers were not found])
)
AC_CHECK_LIB(vrf, vrf_socket, [
AC_DEFINE(VRF, 1, [Use vrf_socket from vrf library])
XTRALIBS_CTRL="$XTRALIBS_CTRL -lvrf"
XTRALIBS_MGR="$XTRALIBS_MGR -lvrf"
], [
AC_MSG_ERROR(vrf library was not found)
])
fi
AC_SUBST(XTRALIBS_CTRL)
AC_SUBST(XTRALIBS_MGR)
AC_SUBST(XTRA_PROG)
AC_SUBST(HAVE_OPENPTY)
echo '==============================================================================='
echo 'Configuration chosen:'
echo -n ' PPPd: '
if test "$BSDUSER_PPP" = "yes"; then
echo 'BSD user-space PPPd.'
else
if test "$SLIRP" = "yes"; then
echo 'SLIRP.'
else
echo 'Standard.'
fi
fi
echo -n ' LIBWRAP security: '
if test "$LIBWRAP" = "yes"; then
echo 'Yes.'
else
echo 'No.'
fi
echo -n ' Broadcast Relay: '
if test "$BCRELAY" = "yes"; then
echo 'Yes.'
else
echo 'No.'
fi
echo -n ' VRF support: '
if test "$VRF" = "yes"; then
echo 'Yes.'
else
echo 'No.'
fi
AC_CACHE_SAVE
AC_OUTPUT(Makefile)