1AC_INIT(configure.in) 2 3AM_CONFIG_HEADER(config.h) 4AM_INIT_AUTOMAKE(pptpd,0.8.5) 5 6AC_DEFINE(BCRELAY,[],"Enable Broadcast Relay") 7AC_DEFINE(PPPD_VERSION,[],"PPPD version") 8AC_DEFINE(PPTP_FACILITY,[],"syslog facility to use") 9#AC_DEFINE(socklen_t,[],"") 10# check common command line options early 11 12AC_DEFINE(PPP_BINARY, "/usr/sbin/pppd","pppd binary") 13AC_DEFINE(KERNELVERSION,[],"kernel version") 14 15 16AC_MSG_CHECKING(command line for syslog facility name) 17AC_ARG_ENABLE(facility, 18 [ --enable-facility=name Use another syslog facility, default LOG_DAEMON ], 19 [ 20 AC_MSG_RESULT($enableval) 21 AC_DEFINE_UNQUOTED(PPTP_FACILITY, $enableval) 22 ], 23 [ 24 AC_MSG_RESULT(default LOG_DAEMON) 25 AC_DEFINE_UNQUOTED(PPTP_FACILITY, LOG_DAEMON) 26 ]) 27 28AC_MSG_CHECKING(command line for bcrelay build) 29AC_ARG_ENABLE(bcrelay, 30 [ --enable-bcrelay Enable broadcast relay function ], 31 [ 32 case "$enableval" in 33 yes) 34 AC_MSG_RESULT(yes) 35 AC_DEFINE(BCRELAY) 36 BCRELAY=$enableval 37 break; 38 ;; 39 no) 40 AC_MSG_RESULT(explicit no) 41 ;; 42 *) 43 # only yes or no are expected for this option 44 AC_MSG_RESULT(unrecognised... terminating) 45 exit 1 46 ;; 47 esac 48 ], [AC_MSG_RESULT(default no)]) 49 50AC_PROG_CC 51AC_PROG_RANLIB 52AC_PROG_INSTALL 53AC_PROG_LN_S 54AC_PROG_MAKE_SET 55 56AC_C_CONST 57AC_C_INLINE 58 59AC_EXEEXT 60AC_OBJEXT 61AC_SYS_INTERPRETER 62 63AC_CHECK_FUNCS(setsid daemon setproctitle getservbyname strlcpy fork memmove strerror writev) 64 65AC_CHECK_HEADERS(string.h) 66AC_CHECK_HEADERS(syslog.h) 67AC_CHECK_HEADERS(libintl.h) 68AC_CHECK_HEADERS(libutil.h) 69AC_CHECK_HEADERS(sys/uio.h) 70 71AC_CHECK_TYPE(size_t, unsigned int) 72AC_CHECK_TYPE(ssize_t, int) 73AC_CHECK_TYPE(u_int8_t, unsigned char) 74AC_CHECK_TYPE(u_int16_t, unsigned short) 75AC_CHECK_TYPE(u_int32_t, unsigned int) 76 77dnl Check for type in sys/socket.h - from Squid source (GPL) 78AC_CACHE_CHECK(for socklen_t, ac_cv_type_socklen_t, [ 79 AC_EGREP_CPP([socklen_t[^a-zA-Z_0-9]], [#include <sys/types.h> 80#include <sys/socket.h> 81#if STDC_HEADERS 82#include <stdlib.h> 83#include <stddef.h> 84#endif], 85 ac_cv_type_socklen_t=yes, 86 ac_cv_type_socklen_t=no) 87]) 88if test $ac_cv_type_socklen_t = no; then 89 AC_DEFINE(socklen_t, int,"") 90fi 91 92dnl Check for libwrap (black magic check) 93AC_ARG_WITH(libwrap, 94 [ --with-libwrap Use libwrap (tcp wrappers) ], 95[ 96 if test "$with_libwrap" = "yes"; then 97 XYZZY_LIBS="$LIBS" 98 AC_MSG_CHECKING(for libwrap alone) 99 LIBS="$XYZZY_LIBS -lwrap" 100 AC_TRY_LINK([ int allow_severity, deny_severity; ], 101 [ hosts_access(); ], 102 [ AC_MSG_RESULT(yes) 103 AC_DEFINE(HAVE_LIBWRAP,[],"use libwrap") 104 LIBWRAP="yes" 105 XTRALIBS_MGR="-lwrap" ], 106 [ AC_MSG_RESULT(no) 107 LIBS="$XYZZY_LIBS -lwrap -lnsl" 108 AC_MSG_CHECKING(for libwrap with libnsl) 109 AC_TRY_LINK([ int allow_severity, deny_severity; ], 110 [ hosts_access(); ], 111 [ AC_MSG_RESULT(yes) 112 AC_DEFINE(HAVE_LIBWRAP) 113 LIBWRAP="yes" 114 XTRALIBS_MGR="-lwrap -lnsl" ], 115 [ AC_MSG_RESULT(no) ]) 116 ]) 117 LIBS="$XYZZY_LIBS" 118 fi 119]) 120 121dnl More ugliness; -lnsl, -lutil and -lsocket 122XYZZY_LIBS="$LIBS" 123AC_CHECK_LIB(c, accept) 124AC_CHECK_LIB(c, gethostbyname) 125AC_CHECK_LIB(c, gettext) 126AC_CHECK_LIB(socket, accept) 127AC_CHECK_LIB(nsl, gethostbyname) 128AC_CHECK_LIB(intl, gettext) 129LIBS="$XYZZY_LIBS" 130if test "$ac_cv_lib_c_accept" = no; then 131 if test "$ac_cv_lib_socket_accept" = yes; then 132 LIBS="$LIBS -lsocket" 133 else 134 echo "Couldn't find a usable accept!" 1>&2 135 exit 1 136 fi 137fi 138if test "$ac_cv_lib_c_gethostbyname" = no; then 139 if test "$ac_cv_lib_nsl_gethostbyname" = yes; then 140 LIBS="$LIBS -lnsl" 141 if test "$XTRALIBS_MGR" = "-lwrap -lnsl"; then 142 XTRALIBS_MGR="-lwrap" 143 fi 144 else 145 echo "Couldn't find a usable gethostbyname!" 1>&2 146 exit 1 147 fi 148fi 149if test "$ac_cv_header_libintl_h" = yes; then 150 if test "$ac_cv_lib_c_gettext" = no; then 151 if test "$ac_cv_lib_intl_gettext" = yes; then 152 XTRALIBS_MGR = "$XTRALIBS_MGR -lintl" 153 else 154 echo "Have libintl.h but no usable gettext!" 1>&2 155 exit 1 156 fi 157 fi 158fi 159 160AC_SUBST(XTRALIBS_CTRL) 161AC_SUBST(XTRALIBS_MGR) 162 163if test "$BCRELAY" = "yes"; then 164 if test "$BCRELAY" = "yes"; then 165 XTRA_PROG="bcrelay" 166 true 167 else 168 echo "No BCrelay selected." 1>&2 169 fi 170fi 171 172AC_SUBST(XTRA_PROG) 173 174AC_MSG_CHECKING([for linux kernel herders]) 175if test -n "${KDIR}"; then 176 if test -f ${KDIR}/include/linux/version.h; then 177 header=${KDIR}/include 178 else 179 AC_MSG_RESULT(not found) 180 AC_MSG_ERROR(Could not find linux kernel headers) 181 fi 182else 183 kernel=`uname -r` 184 if test -f /usr/src/linux/include/linux/version.h; then 185 header=/usr/src/linux/include 186 elif test -f /lib/modules/${kernel}/build/include/linux/version.h; then 187 header=/lib/modules/${kernel}/build/include 188 else 189 AC_MSG_RESULT(not found) 190 AC_MSG_ERROR(Could not find linux kernel headers) 191 fi 192fi 193 194VERSION=$(cat ${header/include}Makefile | grep '^VERSION = ' | awk '{print $3}') 195PATCHLEVEL=$(cat ${header/include}Makefile | grep '^PATCHLEVEL = ' | awk '{print $3}') 196SUBLEVEL=$(cat ${header/include}Makefile | grep '^SUBLEVEL = ' | awk '{print $3}') 197EXTRAVERSION=$(cat ${header/include}Makefile | grep '^EXTRAVERSION = ' | awk '{print $3}') 198KERNELVERSION=$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION 199AC_DEFINE_UNQUOTED(KERNELVERSION,"$KERNELVERSION") 200 201AC_MSG_RESULT(found ($KERNELVERSION at ${header/include})) 202CFLAGS="${CFLAGS} -I. -I${header}" 203AC_SUBST(kernel_headers,${header}) 204 205AC_MSG_CHECKING(for pppd) 206pppd=`which pppd 2>&1` 207if test $? -eq 1; then 208 pppd="" 209 for path in /usr/sbin /usr/local/sbin /usr/bin /usr/local/bin /sbin; do 210 if test -x ${path}/pppd; then 211 pppd=${path}/pppd 212 break; 213 fi 214 done 215fi 216 217if test -z "${pppd}"; then 218 AC_MSG_RESULT(not found) 219 AC_MSG_ERROR(Could not find pppd) 220fi 221pppd_ver=`${pppd} --version 2>&1 | grep version | sed 's/pppd version //'` 222AC_MSG_RESULT($pppd ($pppd_ver)) 223AC_DEFINE_UNQUOTED(PPPD_VERSION,"${pppd_ver}") 224 225 226echo '===============================================================================' 227 228echo 'Configuration chosen:' 229 230echo ' PPPD: '${pppd_ver} 231 232echo -n ' LIBWRAP security: ' 233if test "$LIBWRAP" = "yes"; then 234 echo 'Yes.' 235else 236 echo 'No.' 237fi 238 239echo -n ' Broadcast Relay: ' 240if test "$BCRELAY" = "yes"; then 241 echo 'Yes.' 242else 243 echo 'No.' 244fi 245 246echo ' linux kernel: '$KERNELVERSION at ${header/include} 247 248AC_CACHE_SAVE 249AC_OUTPUT(Makefile) 250