dnl dnl autoconf input file to generate MCONFIG dnl AC_PREREQ(2.52) AC_REVISION([$Id$]) AC_INIT(MCONFIG.in) AC_PREFIX_DEFAULT(/usr) AC_ISC_POSIX AC_AIX AC_MINIX AC_PROG_CC dnl dnl Feature-test macros. These need to be set in CFLAGS, rather in dnl acconfig.h, or "configure" will run in a different environment than dnl we eventually we build in. dnl dnl Needed on Solaris/cc or Solaris/gcc CFLAGS="$CFLAGS -D_XPG4_2" CFLAGS="$CFLAGS -D_XOPEN_SOURCE" CFLAGS="$CFLAGS -D__EXTENSIONS__" dnl Needed on some glibc systems CFLAGS="$CFLAGS -D_BSD_SOURCE" CFLAGS="$CFLAGS -D_ISO9X_SOURCE" dnl Needed on Digital Unix CFLAGS="$CFLAGS -D_OSF_SOURCE" CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED" AC_C_CONST AC_C_INLINE AC_SYS_LARGEFILE PA_ADD_CFLAGS(-W) PA_ADD_CFLAGS(-Wall) PA_ADD_CFLAGS(-Wpointer-arith) PA_ADD_CFLAGS(-Wbad-function-cast) PA_ADD_CFLAGS(-Wcast-equal) PA_ADD_CFLAGS(-Wstrict-prototypes) PA_ADD_CFLAGS(-Wmissing-prototypes) PA_ADD_CFLAGS(-Wmissing-declarations) PA_ADD_CFLAGS(-Wnested-externs) PA_ADD_CFLAGS(-Winline) PA_ADD_CFLAGS(-Wwrite-strings) PA_ADD_CFLAGS(-Wundef) PA_ADD_CFLAGS(-Wshadow) PA_ADD_CFLAGS(-Wsign-compare) PA_ADD_CFLAGS(-pipe) AC_HEADER_STDC AC_CHECK_HEADERS(inttypes.h) AC_CHECK_HEADERS(stdint.h) PA_CHECK_INTTYPES_H_SANE AC_CHECK_HEADERS(fcntl.h) AC_CHECK_HEADERS(grp.h) AC_CHECK_HEADERS(libgen.h) AC_CHECK_HEADERS(memory.h) AC_CHECK_HEADERS(setjmp.h) AC_CHECK_HEADERS(stddef.h) AC_CHECK_HEADERS(stdlib.h) AC_CHECK_HEADERS(string.h) AC_CHECK_HEADERS(strings.h) AC_CHECK_HEADERS(sysexits.h) AC_CHECK_HEADERS(time.h) AC_CHECK_HEADERS(unistd.h) AC_CHECK_HEADERS(sys/filio.h) AC_CHECK_HEADERS(sys/stat.h) AC_CHECK_HEADERS(sys/time.h) AC_CHECK_HEADERS(sys/types.h) AC_CHECK_HEADERS(arpa/inet.h) AC_HEADER_TIME dnl This is needed on some versions of FreeBSD... AC_CHECK_HEADERS(machine/param.h) AC_CHECK_TYPES(intmax_t) AC_CHECK_TYPES(long long) AC_CHECK_TYPES(uint16_t) AC_CHECK_TYPES(uint32_t) AC_CHECK_TYPES(u_short) AC_CHECK_TYPES(u_long) AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_MODE_T AC_TYPE_SIZE_T AC_SEARCH_LIBS(socket, socket, , [AC_MSG_ERROR(socket library not found)]) AC_SEARCH_LIBS(gethostbyname, [nsl resolv], , [AC_MSG_ERROR(gethostbyname not found)]) AC_SEARCH_LIBS(inet_aton, [nsl resolv], , [AC_MSG_ERROR(inet_aton not found)]) AC_SEARCH_LIBS(herror, [nsl resolv], , [AC_MSG_ERROR(herror not found)]) AC_CHECK_FUNCS(dup2) AC_CHECK_FUNCS(fcntl) AC_CHECK_FUNCS(setsid) AC_CHECK_FUNCS(recvmsg) AC_CHECK_FUNCS(ftruncate) AC_CHECK_FUNCS(setreuid) AC_CHECK_FUNCS(setregid) AC_CHECK_FUNCS(initgroups) AC_CHECK_FUNCS(setgroups) dnl Solaris 8 has [u]intmax_t but not strtoumax(). How utterly braindamaged. AC_CHECK_FUNCS(strtoumax) AC_CHECK_FUNCS(strtoull) PA_MSGHDR_MSG_CONTROL PA_STRUCT_IN_PKTINFO PA_HEADER_DEFINES(fcntl.h, int, O_NONBLOCK) PA_HEADER_DEFINES(fcntl.h, int, O_BINARY) PA_HEADER_DEFINES(fcntl.h, int, O_TEXT) AH_TEMPLATE([HAVE_SIGSETJMP], [Define if we have sigsetjmp, siglongjmp and sigjmp_buf.]) PA_SIGSETJMP([AC_DEFINE(HAVE_SIGSETJMP)]) LIBXTRA=false AC_SEARCH_LIBS(xmalloc, iberty, , LIBXTRA=true AC_LIBOBJ(xmalloc)) AC_SEARCH_LIBS(xstrdup, iberty, , LIBXTRA=true AC_LIBOBJ(xstrdup)) AC_SEARCH_LIBS(bsd_signal, bsd, , LIBXTRA=true AC_LIBOBJ(bsdsignal)) if $LIBXTRA; then LIBS="../lib/libxtra.a $LIBS" fi dnl dnl These libraries apply to the server only dnl common_libs="$LIBS" PA_HEADER_DEFINES(netinet/in.h, int, IPPORT_TFTP) PA_WITH_BOOL(tcpwrappers, 1, [ --without-tcpwrappers disable tcpwrapper permissions checking], [ AC_SEARCH_LIBS(yp_get_default_domain, [nsl resolv]) PA_HAVE_TCPWRAPPERS ],:) AH_TEMPLATE([WITH_REGEX], [Define if we are compiling with regex filename remapping.]) PA_WITH_BOOL(remap, 1, [ --without-remap disable regex-based filename remapping], [ AC_CHECK_HEADER(regex.h, [ AC_SEARCH_LIBS(regcomp, [regex rx], [ AC_DEFINE(WITH_REGEX) TFTPDOBJS="remap.${OBJEXT} $TFTPDOBJS" ]) ]) ],:) TFTPD_LIBS="$LIBS" LIBS="$common_libs" dnl dnl These libraries apply to the client only dnl AH_TEMPLATE([WITH_READLINE], [Define if we are compiling with readline command-line editing.]) PA_WITH_BOOL(readline, 1, [ --without-readline disable the use of readline command-line editing], [ USE_READLINE=true AC_CHECK_HEADER(readline/readline.h, [ AC_SEARCH_LIBS(readline, [readline history], [ AC_DEFINE(WITH_READLINE) ]) AC_CHECK_HEADERS(readline/history.h) ]) ],:) TFTP_LIBS="$LIBS" LIBS="$common_libs" AC_SUBST(TFTP_LIBS) AC_SUBST(TFTPD_LIBS) AC_SUBST(TFTPDOBJS) AC_PROG_LN_S AC_PROG_RANLIB AC_PROG_INSTALL AC_CONFIG_HEADER(acconfig.h) AC_OUTPUT(MCONFIG)