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.
TP-Link_Archer-XR500v/EN7526G_3.18Kernel_SDK/apps/public/wide-dhcpv6-20080615/configure.in
2024-07-22 01:58:46 -03:00

240 lines
6.2 KiB
Plaintext
Executable File

dnl Process this file with autoconf to produce a configure script.
AC_INIT(dhcp6c.c)
dnl Checks for programs.
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_CC
AC_PROG_CPP
AC_PROG_YACC
AC_PROG_LEX
dnl Checks for libraries.
dnl AC_CHECK_LIB(c, kvm_open, [], [AC_CHECK_LIB(kvm, kvm_open)])
dnl AC_CHECK_LIB(mld, nlist)
dnl pcap library
dnl CFLAGS="-I. $CFLAGS"
dnl AC_MSG_CHECKING(for pcap library/header)
dnl for dir in /usr/local/libpcap /usr/local/v6 /usr/local \
dnl ../libpcap* ../../libpcap*; do
dnl ac_cv_pcap_lib=no
dnl ac_cv_pcap_include=no
dnl if test -d $dir -a -f $dir/libpcap.a; then
dnl ac_cv_pcap_lib="$dir"
dnl elif test -d $dir/lib -a -f $dir/lib/libpcap.a; then
dnl ac_cv_pcap_lib="$dir/lib"
dnl fi
dnl if test -d $dir -a -f $dir/pcap.h; then
dnl ac_cv_pcap_include="$dir"
dnl elif test -d $dir/include -a -f $dir/include/pcap.h; then
dnl ac_cv_pcap_include="$dir/include"
dnl fi
dnl if test "$ac_cv_pcap_lib" != "no" -a "$ac_cv_pcap_include" != "no"; then
dnl LIBS="-L$ac_cv_pcap_lib $LIBS"
dnl CFLAGS="-I$ac_cv_pcap_include $CFLAGS"
dnl break
dnl fi
dnl done
dnl if test "$ac_cv_pcap_lib" = "no" -a "$ac_cv_pcap_include" = "no"; then
dnl AC_MSG_RESULT(no)
dnl else
dnl AC_MSG_RESULT($ac_cv_pcap_lib and $ac_cv_pcap_include)
dnl fi
dnl AC_CHECK_LIB(pcap, pcap_lookupdev, [],
dnl [echo "Fatal: libpcap.a not found"
dnl exit 1])
dnl AC_TRY_COMPILE([#include <pcap.h>], [], [], [dnl
dnl echo "Fatal: pcap.h not found"
dnl exit 1])
CFLAGS="$CFLAGS -I\$(srcdir)"
dnl On Sun systems, we need to use the standards-compliant 3XNET functions
if test -x /usr/bin/sun && /usr/bin/sun; then
CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500 -D__EXTENSIONS__"
LDFLAGS="-lxnet -ldevinfo -lnsl -lsocket -lrt"
fi
AC_MSG_CHECKING(for sys/queue.h)
AC_TRY_COMPILE([#include <sys/queue.h>],
[TAILQ_HEAD(test, none);],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
CFLAGS="$CFLAGS -I\$(srcdir)/missing"])
AC_EGREP_CPP(yes,
[#include <netinet/in.h>
#ifdef __KAME__
yes
#endif], [result=kame], [result=regular])
AC_MSG_CHECKING(for getaddrinfo/getnameinfo library)
AC_MSG_RESULT($result)
case $result in
kame) AC_DEFINE(INET6)
o_LIBS="$LIBS"
LIBS="$LIBS -L/usr/local/v6/lib"
AC_CHECK_LIB(inet6, getaddrinfo, [], [LIBS="$o_LIBS"])
;;
*) ;;
esac
AC_REPLACE_FUNCS(getaddrinfo)
AC_REPLACE_FUNCS(getnameinfo)
AC_REPLACE_FUNCS(getifaddrs)
AC_CHECK_FUNCS(if_nametoindex)
AC_REPLACE_FUNCS(strlcpy strlcat)
AC_REPLACE_FUNCS(daemon)
AC_REPLACE_FUNCS(warnx)
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h ifaddrs.h)
AC_MSG_CHECKING(for socklen_t)
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/socket.h>],
[socklen_t x; x = 1; return x;],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
AC_CHECK_TYPE(socklen_t, int)])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_STRUCT_TIMEZONE
AC_CHECK_TYPES([sig_atomic_t], , [AC_DEFINE(sig_atomic_t, u_long)], [#include <sys/types.h>
#include <signal.h>])
dnl Checks for library functions.
AC_FUNC_GETPGRP
AC_PROG_GCC_TRADITIONAL
AC_FUNC_SETPGRP
AC_TYPE_SIGNAL
AC_CHECK_FUNCS(mktime select socket)
AC_CHECK_FUNCS(clock_gettime)
dnl configure local DB directory
AC_MSG_CHECKING(for local DB directory)
AC_ARG_WITH(localdbdir,
[ --with-localdbdir=VALUE where to put local DB files],
localdbdir="$withval", localdbdir="/var/db")
AC_MSG_RESULT($localdbdir)
AC_SUBST(localdbdir)
dnl Checks for arc4random
AC_REPLACE_FUNCS(arc4random)
AC_MSG_CHECKING(if --enable-pedant option is specified)
AC_ARG_ENABLE(pedant, [ --enable-pedant pedantic compilation],
[if test "$enableval" = "yes"; then
CFLAGS="-Wall -Werror $CFLAGS"
fi], [enableval=no])
AC_MSG_RESULT($enableval);
dnl Checks predeclared identifers of function names
AC_MSG_CHECKING(ANSI predeclared __func__)
AC_TRY_COMPILE([],
[void func(void) {printf("%s\n", __func__);}],
[AC_MSG_RESULT(yes)
pred_func_id=ansi],
[AC_MSG_RESULT(no)
pred_func_id=no])
if test $pred_func_id = no; then
AC_MSG_CHECKING(gcc predelcared __FUNCTION__)
AC_TRY_COMPILE([],
[void func(void) {printf("%s\n", __FUNCTION__);}],
[AC_MSG_RESULT(yes)
pred_func_id=gcc],
[AC_MSG_RESULT(no)
pred_func_id=no])
fi
case $pred_func_id in
ansi)
AC_DEFINE(HAVE_ANSI_FUNC)
;;
gcc)
AC_DEFINE(HAVE_GCC_FUNCTION)
;;
esac
dnl DHCP option type values not officially defined
dnl (no such option now)
dnl Checks the existence of TAILQ_FOREACH_REVERSE
AC_MSG_CHECKING(checking the existence TAILQ_FOREACH_REVERSE)
AC_EGREP_CPP(yes,
[#include <sys/queue.h>
#ifdef TAILQ_FOREACH_REVERSE
yes
#endif], [result=yes], [result=no])
AC_MSG_RESULT($result)
case $result in
yes) tailq_foreach=yes
;;
*) tailq_foreach=no
;;
esac
dnl Checks the argument order of TAILQ_FOREACH_REVERSE if it exists
if test $tailq_foreach = yes ; then
AC_MSG_CHECKING(argument order of TAILQ_FOREACH_REVERSE)
AC_TRY_COMPILE([],
[
#include <stdio.h>
#include <sys/queue.h>
TAILQ_HEAD(tailhead, entry) head = TAILQ_HEAD_INITIALIZER(head);
struct entry {
TAILQ_ENTRY(entry) entries;
} *p;
int i;
struct tailhead *headp;
TAILQ_FOREACH_REVERSE(p, headp, tailhead, entries) {
}
],
[AC_MSG_RESULT(new)
AC_DEFINE(HAVE_TAILQ_FOREACH_REVERSE)],
[AC_MSG_RESULT(old)
AC_DEFINE(HAVE_TAILQ_FOREACH_REVERSE_OLD)]);
fi
dnl Checks for other features
AC_MSG_CHECKING(if you have a length field in struct sockaddr*)
AC_CACHE_VAL(ts_cv_sa_len, [dnl
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
], [
struct sockaddr a;
a.sa_len = 1;
], [ts_cv_sa_len="yes"], [ts_cv_sa_len="no"])])
AC_MSG_RESULT($ts_cv_sa_len);
if test "$ts_cv_sa_len" = yes; then
AC_DEFINE([HAVE_SA_LEN], 1, [Define to 1 if you have a length field in struct sockaddr])
fi
dnl configure the ownership of the programs
AC_MSG_CHECKING(the owner of the programs)
AC_ARG_WITH(user,
[ --with-user=USER set the owner of the programs],
user="$withval", user="bin")
AC_MSG_RESULT($user)
AC_SUBST(user)
dnl configure the group ownership of the programs
AC_MSG_CHECKING(the group owner of the programs)
AC_ARG_WITH(group,
[ --with-group=GROUP set the group owner of the programs],
group="$withval", group="bin")
AC_MSG_RESULT($group)
AC_SUBST(group)
AC_CHECK_HEADERS(stdarg.h)
AC_OUTPUT(Makefile)