⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lc-configure.in

📁 Click is a modular router toolkit. To use it you ll need to know how to compile and install the sof
💻 IN
📖 第 1 页 / 共 2 页
字号:
dnl -*- mode: shell-script -*-dnl Process this file with autoconf to produce a configure script.dnldnl Permission is hereby granted, free of charge, to any person obtaining adnl copy of this software and associated documentation files (the "Software"),dnl to deal in the Software without restriction, subject to the conditionsdnl listed in the Click LICENSE file. These conditions include: you mustdnl preserve this copyright notice, and you cannot mention the copyrightdnl holders in advertising related to the Software without their permission.dnl The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. Thisdnl notice is a summary of the Click LICENSE file; the license in that file isdnl legally binding.AC_INIT([libclick], [1.7.0])AC_PREREQ(2.50)AC_CONFIG_HEADER(include/click/config.h:config.h.in include/click/pathvars.h:pathvars.h.in include/click/config-userlevel.h:config-userlevel.h.in)CLICK_VERSION=$PACKAGE_VERSIONAC_SUBST(ac_configure_args)AC_DEFINE_UNQUOTED(CLICK_VERSION, "$CLICK_VERSION")AC_SUBST(CLICK_VERSION)CLICK_INIT('$(top_srcdir)')dnl support for cross compilingAC_CANONICAL_SYSTEMdnl This is wrong!!AC_CHECK_TOOL(CC, gcc)AC_CHECK_TOOL(CXX, g++)CLICK_PROG_CCAC_PROG_CPPAC_C_INLINECLICK_PROG_CXXAC_PROG_CXXCPPac_preset_ar="$AR"AC_CHECK_TOOL(AR, ar)AC_CHECK_TOOL(LD, ld)AC_CHECK_TOOL(RANLIB, ranlib, :)AC_CHECK_TOOL(STRIP, strip, :)conf_auxdir='$(top_srcdir)'AC_SUBST(conf_auxdir)test -z "$AR_CREATEFLAGS" && AR_CREATEFLAGS=cruAC_SUBST(AR_CREATEFLAGS)dnl userlevel driver and featuresAC_ARG_ENABLE(user-multithread, [[    --enable-user-multithread support userlevel multithreading (EXPERIMENTAL)]], :, [enable_user_multithread=no])PTHREAD_LIBS=""AC_SUBST(PTHREAD_LIBS)if test "x$enable_user_multithread" = xyes; then    SAVE_LIBS="$LIBS"    AC_SEARCH_LIBS([pthread_create], [pthread], [ac_have_libpthread=yes], [ac_have_libpthread=no])    AC_CHECK_HEADERS([pthread.h], [ac_have_pthread_h=yes], [ac_have_pthread_h=no])    if test "$ac_have_libpthread$ac_have_pthread_h" = yesyes; then	AC_DEFINE(HAVE_USER_MULTITHREAD)	if echo "$LIBS" | grep -e -lpthread >/dev/null 2>&1; then	    PTHREAD_LIBS="-lpthread"	fi    else	AC_MSG_ERROR([=========================================Can't find -lpthread and/or <pthread.h>, so I can't compile with--enable-user-multithread.=========================================])    fi    LIBS="$SAVE_LIBS"fidnldnl element collectionsdnlAC_ARG_ENABLE(all-elements, [  --enable-all-elements   include all provided element groups])dnl ELEMENTS_ARG_ENABLE(COLLECTION, HELP-STRING, DEFAULT-VALUE)element_groups=""AC_SUBST(element_groups)AC_DEFUN([ELEMENTS_ARG_ENABLE],[AC_ARG_ENABLE($1, [  --]builtin(substr, builtin(ifelse, [$3], yes, dis, en)[able-$1              ], 0, 21)[ ]builtin(ifelse, [$3], yes, [do not ], [])[$2], ,[enable_]patsubst([$1], -, _)=$3)dnltest "x$enable_all_elements" = xyes -a ["x$enable_]patsubst([$1], -, _)["] = xNO && [enable_]patsubst([$1], -, _)[=yes]if test ["x$enable_]patsubst([$1], -, _)["] = xyes; then    :    $4fi])ELEMENTS_ARG_ENABLE(ipsec, [include IP security elements], no, AC_DEFINE(HAVE_IPSEC))ELEMENTS_ARG_ENABLE(ip6, [include IPv6 elements (EXPERIMENTAL)], no, AC_DEFINE(HAVE_IP6))dnldnl check whether target is LinuxdnlAC_CACHE_CHECK([whether we are compiling for Linux], [ac_cv_under_linux],    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[#ifndef __linux__#error "fuckers! fuckers!"#endifreturn 0;]])], ac_cv_under_linux=yes, ac_cv_under_linux=no)])dnldnl functionsdnlAC_LANG_CAC_REPLACE_FUNCS(strerror)AC_CHECK_FUNCS(random snprintf strtoul tcgetpgrp vsnprintf)AC_LANG_CPLUSPLUSdnldnl integer types, endianness, int64, addressable va_listdnlAC_ARG_ENABLE(int64, [  --disable-int64         disable 64-bit integer support], :, enable_int64=yes)AC_CHECK_SIZEOF(int)AC_CHECK_SIZEOF(long)AC_CHECK_SIZEOF(size_t)CLICK_CHECK_INTEGER_TYPESCLICK_CHECK_ALIGNMENTif test "x$enable_int64" = xyes; then    AC_CHECK_SIZEOF(long long)    CLICK_CHECK_INT64_TYPESfiCLICK_CHECK_ENDIANCLICK_CHECK_SIGNED_SHIFTCLICK_CHECK_ADDRESSABLE_VA_LISTCLICK_CHECK_INTEGER_BUILTINSdnldnl timestampsdnlAC_ARG_ENABLE(nanotimestamp, [  --enable-nanotimestamp  enable nanosecond timestamps])if test "x$enable_nanotimestamp" = xyes; then    AC_DEFINE(HAVE_NANOTIMESTAMP_ENABLED)fiAC_CHECK_HEADERS(time.h)AC_CHECK_SIZEOF([struct timeval])AC_CHECK_TYPES([struct timespec], have_timespec=yes, have_timespec=no)if test "x$have_timespec" = xyes; then    AC_CHECK_SIZEOF([struct timespec])fiCLICK_CHECK_POSIX_CLOCKSdnldnl headers, event detection, dynamic linkingdnlAC_CHECK_HEADERS(termio.h netdb.h sys/event.h pwd.h grp.h)CLICK_CHECK_POLL_HAC_CHECK_FUNCS(sigaction)AC_CHECK_FUNCS(kqueue, have_kqueue=yes)if test "x$have_kqueue" = xyes; then    AC_CACHE_CHECK([whether EV_SET last argument is void *], [ac_cv_ev_set_udata_pointer],	[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>#include <sys/event.h>#include <sys/time.h>]], [[struct kevent kev; EV_SET(&kev, 1, EVFILT_WRITE, EV_ADD, 0, 0, (void *) &kev);]])], [ac_cv_ev_set_udata_pointer=yes], [ac_cv_ev_set_udata_pointer=no])])    if test $ac_cv_ev_set_udata_pointer = yes; then	AC_DEFINE([HAVE_EV_SET_UDATA_POINTER], [1], [Define if the last argument to EV_SET has pointer type.])    fifiAC_ARG_ENABLE(dynamic-linking, [  --disable-dynamic-linking disable dynamic linking], :, enable_dynamic_linking=yes)if test "x$enable_dynamic_linking" = xyes; then    CLICK_CHECK_DYNAMIC_LINKINGfidnldnl socketsdnlAC_LANG_CSOCKET_LIBS=dnl if test "$enable_userlevel" = yes; then    savelibs="$LIBS"; LIBS=    AC_SEARCH_LIBS(gethostbyname, nsl, , , $savelibs)    AC_SEARCH_LIBS(connect, socket, , , $savelibs)    SOCKET_LIBS="$LIBS"; LIBS="$savelibs"    AC_CACHE_CHECK([whether accept() uses socklen_t], [ac_cv_accept_socklen_t],	    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>#include <sys/socket.h>]], [[socklen_t sl; (void) accept(0, (struct sockaddr *) 0, &sl);]])],	ac_cv_accept_socklen_t=yes, ac_cv_accept_socklen_t=no)])    if test "$ac_cv_accept_socklen_t" = yes; then	AC_DEFINE([HAVE_ACCEPT_SOCKLEN_T], [1], [Define if accept() uses socklen_t.])    fidnl fiAC_SUBST(SOCKET_LIBS)AC_LANG_CPLUSPLUSdnldnl large file supportdnlCLICK_CHECK_LARGE_FILE_SUPPORTdnldnl mmapdnlAC_LANG_CAC_CHECK_HEADERS(sys/mman.h)AC_FUNC_MMAPAC_LANG_CPLUSPLUSAC_CHECK_FUNCS(madvise)AC_CHECK_DECLS(madvise, [], [], [#if HAVE_SYS_MMAN_H#include <sys/types.h>#include <sys/mman.h>#endif])dnldnl kernel featuresdnl    AC_DEFINE_UNQUOTED(NUM_CLICK_CPUS, 1)dnldnl objects required by element collectionsdnlEXTRA_DRIVER_OBJS=EXTRA_TOOL_OBJS=if test "x$enable_ip6" = xyes; then    EXTRA_DRIVER_OBJS="ip6address.o ip6flowid.o ip6table.o $EXTRA_DRIVER_OBJS"    EXTRA_TOOL_OBJS="ip6address.o $EXTRA_TOOL_OBJS"fiAC_SUBST(EXTRA_DRIVER_OBJS)AC_SUBST(EXTRA_TOOL_OBJS)dnldnl type of schedulingdnlAC_ARG_ENABLE(stride, [  --disable-stride        disable stride scheduler], :, enable_stride=yes)if test $enable_stride = yes; then    AC_DEFINE(HAVE_STRIDE_SCHED)fiAC_ARG_ENABLE(task-heap, [  --enable-task-heap      use heap for task list], :, enable_task_heap=no)if test $enable_task_heap = yes -a $enable_stride = yes; then    AC_DEFINE(HAVE_TASK_HEAP)elif test $enable_task_heap = yes; then	AC_MSG_WARN([=========================================Ignoring --enable-task-heap, which is incompatible with --disable-stride.=========================================])fiAC_ARG_ENABLE(adaptive, [  --enable-adaptive       use adaptive scheduler to flexibly arbitrate between                              Click and the kernel (EXPERIMENTAL)], :, enable_adaptive=no)if test "x$enable_adaptive" = xyes; then    AC_DEFINE(HAVE_ADAPTIVE_SCHEDULER)fidnldnl debugging mallocdnlAC_ARG_ENABLE(dmalloc, [  --enable-dmalloc        enable debugging malloc], :, enable_dmalloc=no)if test $enable_dmalloc = yes; then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -