summaryrefslogtreecommitdiff
path: root/configure.d/config_project_with_enable
diff options
context:
space:
mode:
Diffstat (limited to 'configure.d/config_project_with_enable')
-rw-r--r--configure.d/config_project_with_enable1150
1 files changed, 1150 insertions, 0 deletions
diff --git a/configure.d/config_project_with_enable b/configure.d/config_project_with_enable
new file mode 100644
index 0000000..61ba026
--- /dev/null
+++ b/configure.d/config_project_with_enable
@@ -0,0 +1,1150 @@
+# -*- autoconf -*-
+#########################################
+##
+# Command-line processing - --with/--enable
+##
+#########################################
+
+##
+# System: Compiler settings
+##
+
+AC_ARG_WITH(cc, [
+Compiler Options:
+ --with-cc=CC use CC to compile (default=gcc).],
+ [CC=$with_cc;export CC])
+
+AC_ARG_WITH(linkcc, [
+ --with-linkcc=CC use CC to link (default=gcc).],
+ [LINKCC=$with_linkcc;export LINKCC])
+
+AC_ARG_WITH(ar,
+[ --with-ar=AR use AR as the archiver.],
+ [AR=$with_ar; export AR])
+
+AC_ARG_WITH(endianness,
+[ --with-endianness=big|little define endianness of target platform when
+ cross-compiling.],
+ [if test $with_endianness != "big" -a $with_endianness != "little" ; then
+ AC_MSG_ERROR([Endianness must be big or little, not "$with_endianness".]);
+ fi
+])
+
+AC_ARG_WITH(cflags,
+[ --with-cflags=CFLAGS use CFLAGS as compile time arguments.],
+ [CFLAGS=$with_cflags; export CFLAGS])
+
+AC_ARG_WITH(ldflags,
+[ --with-ldflags=LDFLAGS use LDFLAGS as link time arguments to ld.],
+ [LDFLAGS=$with_ldflags; export LDFLAGS])
+
+AC_ARG_ENABLE(as-needed,
+[ --disable-as-needed Link libperl against applications rather
+ than Net-SNMP libraries. Use only if the other
+ way doesn't work.])
+
+AC_ARG_WITH(libs,
+[ --with-libs=LIBS use LIBS as link time arguments to ld.],
+ [LIBS=$with_libs; export LIBS])
+
+AC_ARG_ENABLE(silent-libtool,
+[ --enable-silent-libtool Pass --silent to libtool.],
+ LIBTOOLFLAGS=--silent)
+AC_SUBST(LIBTOOLFLAGS)
+
+
+##
+# System: Library settings
+##
+
+NETSNMP_ARG_WITH(dmalloc,
+ AS_HELP_STRING([--with-dmalloc=PATH],
+ [Use dmalloc library (www.dmalloc.com)]))
+
+NETSNMP_ARG_WITH(efence,
+[ --with-efence Look for and use libefence (malloc).],
+ use_efence="$withval")
+
+tryrsaref=no
+NETSNMP_ARG_WITH(rsaref,
+[ --with-rsaref=PATH Look for librsaref in PATH/lib.],
+ if test "x$withval" = "xyes"; then
+ tryrsaref=yes
+ elif test "x$withval" = "xno"; then
+ tryrsaref=no
+ elif test -d "$withval"; then
+ AC_ADD_SEARCH_PATH($withval)
+ tryrsaref=yes
+ fi,
+)
+
+tryopenssl=defaultyes
+askedopenssl=no
+NETSNMP_ARG_WITH(openssl,
+[ --with-openssl=PATH Look for openssl in PATH/lib,
+ or PATH may be "internal" to build with
+ minimal copied OpenSSL code for USM only.],
+ if test "x$withval" = "xyes"; then
+ tryopenssl=yes
+ askedopenssl=yes
+ elif test "x$withval" = "xinternal"; then
+ tryopenssl=internal
+ askedopenssl=internal
+ elif test "x$withval" = "xno"; then
+ tryopenssl=no
+ elif test -d "$withval"; then
+ if test -d "$withval/lib/MinGW"; then
+ LDFLAGS="-L$withval/lib/MinGW $LDFLAGS"
+ CPPFLAGS="-I$withval/include $CPPFLAGS"
+ else
+ AC_ADD_SEARCH_PATH($withval)
+ fi
+ tryopenssl=yes
+ askedopenssl=yes
+ fi,
+)
+if test "x$tryopenssl" = "xdefaultyes"; then
+ AC_ADD_SEARCH_PATH(/usr/local/ssl)
+ tryopenssl=yes
+fi
+AC_ARG_WITH([ssl],,NETSNMP_INVALID_WITH([openssl]))
+AC_ARG_ENABLE([ssl],,NETSNMP_INVALID_WITH([openssl]))
+
+askedpkcs=no
+NETSNMP_ARG_WITH(pkcs,
+[ --with-pkcs=PATH Look for pkcs11 in PATH/lib.],
+ if test "x$withval" = "xyes"; then
+ askedpkcs=yes
+ elif test "x$withval" = "xno"; then
+ askedpkcs=no
+ elif test -d "$withval"; then
+ AC_ADD_SEARCH_PATH($withval)
+ askedpkcs=yes
+ fi,
+)
+
+trykrb5=defaultyes
+askedkrb5=no
+NETSNMP_ARG_WITH(krb5,
+[ --with-krb5=PATH Look for krb5 in PATH/lib.],
+ if test "x$withval" = "xyes"; then
+ trykrb5=yes
+ askedkrb5=yes
+ krb5path=undef
+ elif test "x$withval" = "xno"; then
+ trykrb5=no
+ krb5path=undef
+ elif test -d "$withval"; then
+ trykrb5=yes
+ askedkrb5=yes
+ krb5path=$withval
+ fi,
+)
+if test "x$trykrb5" = "xdefaultyes"; then
+ trykrb5=yes
+ krb5path=/usr/kerberos
+fi
+
+AC_ARG_WITH(dnssec-local-validation,
+ [ --with-dnssec-local-validation Enable local DNSSEC validation using libval (no)], want_dnssec=$withval, want_dnssec=no)
+AC_ARG_ENABLE([dnssec-local-validation],,
+ NETSNMP_INVALID_WITH([dnssec-local-validation]))
+AC_ARG_WITH([dnssec],,NETSNMP_INVALID_WITH([dnssec-local-validation]))
+AC_ARG_ENABLE([dnssec],,NETSNMP_INVALID_WITH([dnssec-local-validation]))
+
+NETSNMP_ARG_WITH(rpm,
+[ --without-rpm Don't include support for the RPM package
+ management system when building the host MIB
+ module.])
+
+
+##
+# Project: Build configuration settings
+##
+
+# Install prefix
+#
+AC_ARG_WITH(install-prefix,
+[ --with-install-prefix=PATH Just for installing, prefix all
+ directories with PATH. This is known not
+ to work on some systems with shared
+ libraries (eg, HPUX)],
+ INSTALL_PREFIX="$withval")
+
+if test "x$INSTALL_PREFIX" = "xyes" ; then
+ AC_MSG_ERROR([--with-install-prefix requires an argument])
+fi
+if test "x$INSTALL_PREFIX" = "xno" ; then
+ INSTALL_PREFIX=""
+fi
+AC_SUBST(INSTALL_PREFIX)
+
+
+#
+# Subsystems to build:
+# Library
+#
+FEATUREHEADERS="library/features.h"
+FTMAINSUBS=""
+
+#
+# Agent
+#
+NETSNMP_ARG_ENABLE(agent,
+[ --disable-agent Do not build the agent (snmpd).])
+if test "x$enable_agent" != "xno"; then
+ SNMPD='snmpd$(EXEEXT)'
+ MAINSUBS="$MAINSUBS agent"
+ FEATUREHEADERS="$FEATUREHEADERS agent/features-mibgroups.h agent/features.h"
+ FTMAINSUBS="agent $FTMAINSUBS"
+ TRAPLIBS='$(TRAPDWITHAGENT)'
+ USETRAPLIBS='$(USEAGENTLIBS)'
+else
+ SNMPD=""
+ # we still need/want the agentlibs (for subagents, e.g. snmptrapd)
+ MAINSUBS="$MAINSUBS agent"
+ # building snmptrapd w/o agentlibs doesn't work atm
+ #TRAPLIBS='$(TRAPDWITHOUTAGENT)'
+ #USETRAPLIBS='$(USELIBS)'
+ TRAPLIBS='$(TRAPDWITHAGENT)'
+ USETRAPLIBS='$(USEAGENTLIBS)'
+ AC_DEFINE([NETSNMP_DISABLE_AGENT], 1, [Define if no agent is built])
+fi
+
+AC_SUBST(SNMPD)
+AC_SUBST(TRAPLIBS)
+AC_SUBST(USETRAPLIBS)
+
+# Applications
+#
+NETSNMP_ARG_ENABLE(applications,
+[ --disable-applications Do not build the apps (snmpget, ...).])
+if test "x$enable_applications" != "xno"; then
+ MAINSUBS="$MAINSUBS apps"
+ FEATUREHEADERS="$FEATUREHEADERS features-snmpnetstat.h features-apps.h"
+ FTMAINSUBS="apps $FTMAINSUBS"
+else
+ AC_DEFINE([NETSNMP_DISABLE_APPS], 1, [Define if no apps are built])
+fi
+
+# Manual pages
+#
+NETSNMP_ARG_ENABLE(manuals,
+[ --disable-manuals Do not install the manuals.])
+if test "x$enable_manuals" != "xno"; then
+ MAINSUBS="$MAINSUBS man"
+fi
+
+# Supporting scripts
+#
+NETSNMP_ARG_ENABLE(scripts,
+[ --disable-scripts Do not install the scripts (mib2c, ...).])
+if test "x$enable_scripts" != "xno"; then
+ MAINSUBS="$MAINSUBS local"
+fi
+
+# MIB files
+#
+AC_ARG_ENABLE(mibs,
+[ --disable-mibs Do not install the mib files.])
+if test "x$enable_mibs" != "xno"; then
+ MAINSUBS="$MAINSUBS mibs"
+fi
+# with-mibs is valid too, but means something else
+
+AC_SUBST(MAINSUBS)
+AC_SUBST(FTMAINSUBS)
+AC_MSG_CHECKING([what to build and install])
+AC_MSG_RESULT([$MAINSUBS])
+
+
+# MIB module validation (during "configure")
+#
+NETSNMP_ARG_ENABLE(mib-config-checking,
+[ --enable-mib-config-checking Turns on extra checks during configuration
+ of mib modules. Any conflicts will cause
+ configure to abort (default is to issue a
+ warning and continue.)],
+ [if test "$enableval" = yes -o "$enableval" = no ; then
+ with_mib_cfg_checks="$enableval"
+ else
+ AC_MSG_ERROR([Please use --enable/--disable-mib-config-checking])
+ fi],
+ [with_mib_cfg_checks="no"])
+
+NETSNMP_ARG_ENABLE(mib-config-debug,
+[ --enable-mib-config-debug Turns on verbose output during mib module
+ configure processing.],
+ [if test "$enableval" = yes -o "$enableval" = no ; then
+ with_mib_cfg_debug="$enableval"
+ else
+ AC_MSG_ERROR([Please use --enable/--disable-mib-config-debug])
+ fi],
+ [with_mib_cfg_debug="no"])
+
+
+# Version-specific features
+#
+AC_ARG_ENABLE([new-features],
+ [AS_HELP_STRING([--enable-new-features],
+ [Compile in new MIB modules and other experimental features
+ which are due to be included in future releases.])])
+
+AC_ARG_ENABLE([old-features],
+ [AS_HELP_STRING([--enable-old-features],
+ [Compile in old MIB modules and other deprecated features
+ which were replaced in the default build of this release.])])
+
+AC_ARG_WITH([features-of],
+ [AS_HELP_STRING([--with-features-of=version],
+ [Compile in MIB modules and other features as if this was
+ release "version" (default is ]AC_PACKAGE_VERSION[).])],,
+ [with_features_of=$PACKAGE_VERSION])
+
+
+# Manual prompting during "configure"
+#
+NETSNMP_ARG_WITH(defaults,
+[
+Miscellaneous:
+ --with-defaults Use defaults for prompted values.],
+ [if test "$withval" = yes -o "$withval" = no ; then
+ defaults="$withval"
+ else
+ AC_MSG_ERROR([Please use --with/--without-defaults])
+ fi],
+ [defaults="no"])
+
+
+# UCD compatability
+#
+NETSNMP_ARG_ENABLE(ucd-snmp-compatibility,
+[ --enable-ucd-snmp-compatibility Install ucd-snmp look-alike headers and libs.
+])
+
+if test "x$enable_ucd_snmp_compatibility" = "xyes" ; then
+ installucdheaders=installucdheaders
+ installucdlibs=installucdlibs
+ AC_MSG_CACHE_ADD(UCD-SNMP compatability: enabled)
+fi
+AC_SUBST(installucdheaders)
+AC_SUBST(installucdlibs)
+
+
+##
+# Project: Library: MIB configuration settings
+##
+
+NETSNMP_ARG_ENABLE(mib-loading,
+[ --disable-mib-loading Do not include code that parses and
+ manipulates the mib files.])
+if test "x$enable_mib_loading" = "xno"; then
+ AC_DEFINE([NETSNMP_DISABLE_MIB_LOADING], 1,
+ [Define if mib loading and parsing code should not be included])
+fi
+
+NETSNMP_ARG_WITH(mibdirs,
+[ --with-mibdirs="dir1:dir2:" Default directories to look for mibs.
+ (Default: \$HOME/.snmp/mibs:DATADIR/snmp/mibs)],
+ [NETSNMP_DEFAULT_MIBDIRS="$with_mibdirs"
+ AC_DEFINE_UNQUOTED(NETSNMP_DEFAULT_MIBDIRS,"$with_mibdirs",
+ [default location to look for mibs to load using the above tokens
+ and/or those in the MIBS envrionment variable])])
+
+AC_ARG_WITH(mibs,
+[ --with-mibs="item1:item2:" Default mib IDs to read.
+ (The default list is
+ "SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB"
+ with the addition of any mibs used
+ by the mib modules the agent is
+ configured with)],
+ NETSNMP_DEFAULT_MIBS="$with_mibs")
+# enable-mibs is valid too, but means something else
+
+NETSNMP_ARG_WITH(mibfiles,
+[ --with-mibfiles="file1:file2" Default mib files to load.
+ (Default: none. uses IDs above instead.)],
+ AC_DEFINE_UNQUOTED(NETSNMP_DEFAULT_MIBFILES,"$with_mibfiles",
+ [default mib files to load, specified by path.]))
+
+
+##
+# Project: Library: Security configuration
+##
+
+NETSNMP_ARG_ENABLE(des,
+[ --disable-des Do not support DES encryption.])
+if test "x$enable_des" = "xno"; then
+ AC_DEFINE([NETSNMP_DISABLE_DES], 1,
+ [Define if DES encryption should not be supported])
+fi
+
+NETSNMP_ARG_ENABLE(privacy,
+[ --disable-privacy Don't compile in support for privacy (encryption).])
+if test "x$enable_privacy" != "xno"; then
+ AC_DEFINE(NETSNMP_ENABLE_SCAPI_AUTHPRIV, 1,
+ [define if you want to compile support for both authentication and
+ privacy support.])
+fi
+
+NETSNMP_ARG_ENABLE(md5,
+[ --disable-md5 Do not support MD5 authentication.])
+if test "x$enable_md5" = "xno"; then
+ AC_DEFINE([NETSNMP_DISABLE_MD5], 1,
+ [Define if MD5 authentication should not be supported])
+fi
+
+NETSNMP_ARG_ENABLE(internal-md5,
+[ --enable-internal-md5 Use the internal MD5 support.])
+if test "x$enable_internal_md5" = "xyes"; then
+ if test "x$enable_md5" = "xno"; then
+ AC_MSG_ERROR(You can not specify both --enable-internal-md5 and --disable-md5)
+ else
+ AC_DEFINE(NETSNMP_USE_INTERNAL_MD5, 1,
+ [define if you are using the MD5 code ...])
+ fi
+fi
+
+
+##
+# Project: Library: Misc configuration
+##
+
+NETSNMP_ARG_WITH(opaque-special-types,
+[ --without-opaque-special-types Don't use special opaque encodings.
+ SNMP normally cannot handle
+ floating numbers, nor large 64 bit
+ integers well. By default, the
+ net-snmp package compiles in
+ support for these extra datatypes
+ (in a legal way)])
+# Only define if specifically chosen as --without (i.e., default to true).
+if test "x$with_opaque_special_types" != "xno"; then
+ AC_DEFINE(NETSNMP_WITH_OPAQUE_SPECIAL_TYPES, 1,
+ [Should we compile to use special opaque types: float, double, counter64,
+ i64, ui64, union?])
+fi
+
+NETSNMP_ARG_ENABLE(ipv6,
+[ --enable-ipv6 Generate IPv6 ready version.],
+ [if test "x$enable_ipv6" = "xyes"; then
+ AC_DEFINE(NETSNMP_ENABLE_IPV6, 1,
+ [define if you want to enable IPv6 support])
+ fi])
+
+NETSNMP_ARG_WITH(logfile,
+[ --with-logfile="location" Default log file location for snmpd.],
+ ac_cv_user_prompt_NETSNMP_LOGFILE="$with_logfile")
+if test "$ac_cv_user_prompt_NETSNMP_LOGFILE" = "no"; then
+ ac_cv_user_prompt_NETSNMP_LOGFILE="none"
+fi
+
+NETSNMP_ARG_WITH(persistent-directory,
+[ --with-persistent-directory="directory"
+ Default directory for persistent data storage.],ac_cv_user_prompt_NETSNMP_PERSISTENT_DIRECTORY="$with_persistent_directory")
+
+NETSNMP_ARG_WITH(persistent-mask,
+[ --with-persistent-mask="mask" Default mask for persistent data storage.
+ (Default: 077)],
+ [if test [`expr "X$withval" : 'X[0-7]*$'`] -eq 4 ; then
+ AC_MSG_RESULT([using persistent mask $withval])
+ withval="0$withval"
+ else
+ AC_MSG_ERROR([Please provide a three digit octal persistent mask value])
+ fi],
+ [withval=077
+ AC_MSG_RESULT([using default persistent mask $withval])])
+AC_DEFINE_UNQUOTED(NETSNMP_PERSISTENT_MASK,$withval,
+ [umask permissions to set up persistent files with])
+
+NETSNMP_ARG_WITH(copy_persistent_files,
+[ --with-copy-persistent-files="no" Don't copy persistent files
+ (or use "yes" to copy them).
+ (Default: yes)],
+ ac_cv_user_prompt_COPY_PERSISTENT_FILES="$with_copy_persistent_files")
+
+default_temp_file_pattern="/tmp/snmpdXXXXXX"
+NETSNMP_ARG_WITH(temp-file-pattern,
+[ --with-temp-file-pattern=PATTERN Pattern of temporary files (Default: /tmp/snmpdXXXXXX)],
+ [if test `expr "X$withval" : ".*XXXXXX$"` -ne 0 ; then
+ AC_MSG_RESULT(using temporary file pattern $withval)
+ else
+ AC_MSG_ERROR([temporary file pattens must end with 6 X's])
+ fi],
+ [withval="$default_temp_file_pattern"
+ AC_MSG_RESULT(using default temporary file pattern $withval)])
+AC_DEFINE_UNQUOTED(NETSNMP_TEMP_FILE_PATTERN,"$withval",
+ [Pattern of temporary files])
+
+
+##
+# Project: Library: Version configuration
+##
+
+SNMP_VERSIONS=""
+NETSNMP_ARG_ENABLE(snmpv1,
+[ --disable-snmpv1 Do not include code that implements SNMPv1.])
+if test "x$enable_snmpv1" = "xno"; then
+ AC_DEFINE([NETSNMP_DISABLE_SNMPV1], 1,
+ [Define if SNMPv1 code should not be included])
+else
+ SNMP_VERSIONS="$SNMP_VERSIONS 1"
+fi
+
+NETSNMP_ARG_ENABLE(snmpv2c,
+[ --disable-snmpv2c Do not include code that implements SNMPv2c.])
+if test "x$enable_snmpv2c" = "xno"; then
+ AC_DEFINE([NETSNMP_DISABLE_SNMPV2C], 1,
+ [Define if SNMPv2c code should not be included])
+else
+ SNMP_VERSIONS="$SNMP_VERSIONS 2c"
+fi
+
+SNMP_VERSIONS="$SNMP_VERSIONS 3"
+AC_MSG_CACHE_ADD(SNMP Versions Supported: $SNMP_VERSIONS)
+
+NETSNMP_ARG_WITH(default-snmp-version,
+[ --with-default-snmp-version="3" Default version of SNMP to use.
+ (Default: 3)
+ Legal values: 1, 2 (for SNMPv2c) or 3.],
+ ac_cv_user_prompt_NETSNMP_DEFAULT_SNMP_VERSION="$with_default_snmp_version")
+
+# we test this now and later as well. we test it now so configure can die
+# early on with an error rather than waiting till the end of the script.
+case "${ac_cv_user_prompt_NETSNMP_DEFAULT_SNMP_VERSION-3}" in
+ [[123]]) ;;
+ 2c) ac_cv_user_prompt_NETSNMP_DEFAULT_SNMP_VERSION=2 ;;
+ *)
+ AC_MSG_ERROR([Illegal version number. Only 1, 2 (for SNMPv2c) and 3 are supported.])
+ ;;
+esac
+
+
+##
+# Project: Library: Transport modules
+##
+
+AC_ARG_WITH(transports,
+[ --with-transports="t1 t2 ..." Compile in the given SNMP transport
+ modules (space or comma separated list).])
+AC_ARG_WITH(out_transports,
+[ --with-out-transports="t1 ..." Exclude listed SNMP transports
+ (space or comma separated list).
+
+ Available SNMP transport modules are:
+
+ UDP support for SNMP over UDP/IP.
+ This transport is always compiled in.
+ UDPIPv6 support for SNMP over UDP/IPv6.
+ This transport is available for Linux, Solaris and
+ FreeBSD at least.
+ This transport is compiled in by default if IPv6 support is enabled.
+ TCPIPv6 support for SNMP over UDP/IPv6.
+ This transport is available for Linux, Solaris and
+ FreeBSD at least.
+ This transport is compiled in by default if IPv6 support is enabled.
+ TCP support for SNMP over TCP/IP.
+ This transport is compiled in by default, but may be omitted.
+ Unix support for SNMP over Unix domain protocols.
+ This transport is compiled in by default except on Win32
+ platforms, and may be omitted.
+ Callback support for SNMP over an internal locally connected pair
+ of snmp_sessions.
+ Alias The alias transport simply lets you define more complex
+ transport strings and alias them to simple names in
+ the snmp.conf file.
+ AAL5PVC support for SNMP over AAL5 PVCs.
+ This transport is presently only available for Linux,
+ is never compiled in by default and may be omitted.
+ IPX support for SNMP over IPX per RFC 1420.
+ This transport is presently only available for Linux,
+ is never compiled in by default and may be omitted.
+ DTLSUDP support for tunneling SNMP over DTLS/UDP
+ TLSTCP support for tunneling SNMP over TLS/TCP
+ SSH (alpha) support for tunneling SNMP over SSH
+])
+
+#
+# Catch common mistakes in transport options
+#
+AC_ARG_WITH(transport,, NETSNMP_INVALID_WITH([transports]))
+AC_ARG_WITH(out-transport,, NETSNMP_INVALID_WITH([out-transports]))
+
+
+##
+# Project: Library: Security modules
+##
+
+NETSNMP_ARG_WITH(security-modules,
+[ --with-security-modules="s1 s2 ..." Compile in the given SNMP security
+ module services (space separated list).
+
+ Available SNMP security services:
+
+ usm support for user based SNMP security
+ ksm support for kerberos based SNMP security
+ tsm support for the Transport-based security
+ (for use with the SSH, DTLSUDP and TLSTCP transports)
+])
+
+NETSNMP_ARG_WITH(out-security-modules,
+[ --with-out-security-modules="s1 s2 ..." Removes the given SNMP security
+ module services from the default list.
+])
+
+
+##
+# Project: Library: Developer-related settings
+##
+
+NETSNMP_ARG_ENABLE(debugging,
+[ --enable-debugging Outputs extra debugging information at all
+ times. Normally, you should not enable this,
+ but instead use the -D flag of the commands,
+ which toggles debuging output at runtime.
+ --disable-debugging Disallows debugging code to be built in.
+ This might provide some speed benefits.],
+ AC_DEFINE(NETSNMP_ALWAYS_DEBUG))
+if test "x$enable_debugging" = "xno"; then
+ AC_DEFINE(NETSNMP_NO_DEBUGGING)
+fi
+
+NETSNMP_ARG_ENABLE(developer,
+[ --enable-developer Turns on super-duper-extra-compile-warnings
+ when using gcc.],
+ [if test "$enableval" = yes ; then
+ developer="yes"
+ elif test "$enableval" != no ; then
+ AC_MSG_ERROR([Please use --enable/--disable-developer])
+ else
+ developer="no"
+ fi])
+
+NETSNMP_ARG_ENABLE(testing-code,
+[ --enable-testing-code Enables some code sections that should
+ only be used for testing of certain
+ SNMP functionalities. This should *not*
+ be turned on for production use. Ever.],
+ [if test "$enableval" = yes ; then
+ AC_DEFINE(NETSNMP_ENABLE_TESTING_CODE, 1, [testing code sections.])
+ elif test "$enableval" != no ; then
+ AC_MSG_ERROR([Please use --enable/--disable-testing-code])
+ fi])
+
+NETSNMP_ARG_ENABLE(reentrant,
+[ --enable-reentrant Enables locking functions that protect
+ library resources in some multi-threading
+ environments. This does not guarantee
+ thread-safe operation.
+ Currently an experimental setting.],
+ [if test "$enableval" = yes -o "$enableval" = no ; then
+ with_res_locks="$enableval"
+ else
+ AC_MSG_ERROR([Please use --enable/--disable-reentrant])
+ fi],
+ [with_res_locks="no"])
+
+NETSNMP_ARG_ENABLE(deprecated,
+[ --disable-deprecated Don't compile in deprecated functions.])
+if test "$enable_deprecated" = no ; then
+ AC_DEFINE([NETSNMP_NO_DEPRECATED_FUNCTIONS], 1,
+ [Define to suppress inclusion of deprecated functions])
+fi
+
+
+
+##
+# Project: Agent configuration settings
+##
+
+NETSNMP_ARG_WITH(root-access,
+[
+Configuring the agent:
+ --without-root-access The snmpd agent won't require root access to
+ run it. The information it returns in the
+ mib-II tree may not be correct, however.])
+# Only define if specifically chosen as --without (i.e., default to true).
+if test "x$with_root_access" = "xno"; then
+ AC_DEFINE(NETSNMP_NO_ROOT_ACCESS, 1,
+ [If you don't have root access don't exit upon kmem errors])
+fi
+
+NETSNMP_ARG_WITH(kmem-usage,
+[ --without-kmem-usage Do not include any code related to the use
+ of kmem.])
+# Only define if specifically chosen as --without (i.e., default to true).
+if test "x$with_kmem_usage" = "xno"; then
+ AC_DEFINE(NETSNMP_NO_KMEM_USAGE, 1, [If we don't want to use kmem.])
+fi
+
+NETSNMP_ARG_WITH(dummy-values,
+[ --with-dummy-values Provide 'placeholder' dummy values where
+ the necessary information is not available.
+ This is technically not compliant with the
+ SNMP specifications, but was how the agent
+ operated for versions < 4.0.])
+# Define unless specifically suppressed (i.e., option defaults to false).
+if test "x$with_dummy_values" != "xyes"; then
+ AC_DEFINE(NETSNMP_NO_DUMMY_VALUES, 1,
+ [If you don't want the agent to report on variables it doesn't have
+ data for])
+fi
+
+NETSNMP_ARG_ENABLE(set-support,
+[ --disable-set-support Do not allow SNMP set requests.])
+if test "x$enable_set_support" = "xno"; then
+ AC_DEFINE([NETSNMP_DISABLE_SET_SUPPORT], 1,
+ [Define if SNMP SET support should be disabled])
+fi
+
+
+NETSNMP_ARG_WITH(sys_contact,
+[ --with-sys-contact="who@where" Default system contact.
+ (Default: LOGIN@DOMAINNAME)],
+ ac_cv_user_prompt_NETSNMP_SYS_CONTACT="$with_sys_contact")
+
+NETSNMP_ARG_WITH(sys_location,
+[ --with-sys-location="location" Default system location.
+ (Default: Unknown)],
+ ac_cv_user_prompt_NETSNMP_SYS_LOC="$with_sys_location")
+
+
+
+##
+# Project: Agent: Extensibility configuration
+##
+
+NETSNMP_ARG_ENABLE(local-smux,
+[ --enable-local-smux Restrict SMUX connections to localhost (by default).],
+ [if test "x$enable_local_smux" = "xyes"; then
+ AC_DEFINE(NETSNMP_ENABLE_LOCAL_SMUX, 1,
+ [define if you want to restrict SMUX connections to localhost
+ by default])
+ fi])
+
+NETSNMP_ARG_ENABLE(agentx-dom-sock-only,
+[ --enable-agentx-dom-sock-only Disable UDP/TCP transports for agentx.],
+AC_DEFINE(NETSNMP_AGENTX_DOM_SOCK_ONLY, 1,
+ [define if agentx transport is to use domain sockets only]))
+
+NETSNMP_ARG_ENABLE(snmptrapd-subagent,
+[ --disable-snmptrapd-subagent Disable agentx subagent code in snmptrapd.])
+if test "x$enable_snmptrapd_subagent" = "xno"; then
+ AC_DEFINE(NETSNMP_SNMPTRAPD_DISABLE_AGENTX, 1,
+ [define if you do not want snmptrapd to register as an AgentX subagent])
+fi
+
+default_agentx_socket="/var/agentx/master"
+NETSNMP_ARG_WITH(agentx-socket,
+[ --with-agentx-socket=FILE AgentX socket (Default: /var/agentx/master as specified in RFC2741)],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a full path ]);
+ fi
+ AC_MSG_RESULT(using AgentX socket $withval)
+],[
+ withval=$default_agentx_socket
+ AC_MSG_RESULT(using default AgentX socket $default_agentx_socket)
+])
+AC_DEFINE_UNQUOTED(NETSNMP_AGENTX_SOCKET,"$withval",
+ [Unix domain socket for AgentX master-subagent communication])
+
+#
+# feature addition/removal and minimialist support
+#
+FEATURE_ADD_FLAGS=""
+NETSNMP_ARG_WITH(features,
+[ --with-features="feat1 feat2" Request extra features to be turned on.
+ (only useful with --enable-minimalist)],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a list of features ]);
+ fi
+ FEATURE_ADD_FLAGS="--add $withval"
+ AC_MSG_RESULT(adding in features: $withval)
+])
+AC_SUBST(FEATURE_ADD_FLAGS)
+
+
+FEATURE_REMOVE_FLAGS=""
+NETSNMP_ARG_WITH(out-features,
+[ --with-out-features="feat1..." Remove specific features.
+ (implies --enable-minimalist)],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a list of features ]);
+ fi
+ FEATURE_REMOVE_FLAGS="--remove $withval"
+ FEATURETARGS="features"
+ AC_DEFINE(NETSNMP_MINIMAL_CODE, 1,
+ [Define if you want to remove all non-essential code features.])
+ AC_MSG_RESULT(removing features: $withval)
+])
+AC_SUBST(FEATURE_REMOVE_FLAGS)
+
+
+# Catch common mistakes
+AC_ARG_WITH(feature,, NETSNMP_INVALID_WITH([features]))
+AC_ARG_WITH(out-feature,, NETSNMP_INVALID_WITH([out-features]))
+
+FEATURETARGS=""
+NETSNMP_ARG_ENABLE(minimalist,
+[ --enable-minimalist Remove all non-essential code features.])
+if test "x$enable_minimalist" = "xyes"; then
+ # we'll assume the mini agent is desired here as well
+ mini_agent="yes"
+ FEATURETARGS="features"
+
+ # needed to bootstrap later checks
+ echo "" > include/net-snmp/feature-details.h
+ AC_DEFINE(NETSNMP_MINIMAL_CODE, 1,
+ [Define if you want to remove all non-essential code features.])
+else
+ FEATUREHEADERS=""
+fi
+AC_ARG_WITH([minimalist],,NETSNMP_INVALID_ENABLE([minimalist]))
+AC_SUBST(FEATURETARGS)
+AC_SUBST(FEATUREHEADERS)
+
+NETSNMP_ARG_ENABLE(notify-only,
+[ --enable-notify-only Build tools that can only send notifications.])
+if test "x$enable_notify_only" = "xyes"; then
+ AC_DEFINE(NETSNMP_NOTIFY_ONLY, 1,
+ [Define if you want to only support sending notifications])
+fi
+AC_ARG_WITH([notify-only],,NETSNMP_INVALID_ENABLE([notify-only]))
+AC_ARG_ENABLE([notifyonly],,NETSNMP_INVALID_ENABLE([notify-only]))
+
+NETSNMP_ARG_ENABLE(no-listen,
+[ --enable-no-listen Build tools that can't listen to ports.])
+if test "x$enable_no_listen" = "xyes" -o "x$enable_notify_only" = "xyes"; then
+ enable_no_listen="yes"
+ AC_DEFINE(NETSNMP_NO_LISTEN_SUPPORT, 1,
+ [Define if you want to remove all listening support from the code])
+fi
+AC_ARG_WITH([no-listen],,NETSNMP_INVALID_ENABLE([no-listen]))
+AC_ARG_ENABLE([nolisten],,NETSNMP_INVALID_ENABLE([no-listen]))
+
+NETSNMP_ARG_ENABLE(read-only,
+[ --enable-read-only Remove all SET support from the code.])
+if test "x$enable_read_only" = "xyes" -o "x$enable_notify_only" = "xyes" ; then
+ enable_read_only="yes"
+ AC_DEFINE(NETSNMP_NO_WRITE_SUPPORT, 1,
+ [Define if you want to remove all SET/write access from the code])
+fi
+AC_ARG_WITH([read-only],,NETSNMP_INVALID_ENABLE([read-only]))
+AC_ARG_ENABLE([readonly],,NETSNMP_INVALID_ENABLE([read-only]))
+
+
+##
+# Project: Agent: MIB module configuration
+##
+
+NETSNMP_ARG_ENABLE(mini_agent,
+[ --enable-mini-agent Build a minimal agent.])
+if test "x$enable_mini_agent" = "xyes"; then
+ mini_agent="yes"
+else
+ mini_agent="no"
+fi
+AC_ARG_WITH([miniagent],,NETSNMP_INVALID_ENABLE([mini-agent]))
+AC_ARG_ENABLE([miniagent],,NETSNMP_INVALID_ENABLE([mini-agent]))
+
+
+
+
+NETSNMP_ARG_ENABLE(mfd-rewrites,
+[ --enable-mfd-rewrites Use new MFD rewrites of mib modules,
+ where available. (default is to use
+ original mib module code).])
+if test "x$enable_mfd_rewrites" = "xyes"; then
+ AC_DEFINE(NETSNMP_ENABLE_MFD_REWRITES, 1,
+ [Define if you want to build MFD module rewrites])
+fi
+
+
+NETSNMP_ARG_WITH(mib_modules,
+[ --with-mib-modules="item1 ..." Compile with additional mib modules
+ (Space separated list).])
+
+NETSNMP_ARG_WITH(out_mib_modules,
+[ --with-out-mib-modules="list" Compile without these mib modules.
+
+ Default mib modules compiled into the agent (which can be removed):
+
+ mibII support for the mib-II tree.
+ snmpv3mibs support for the snmpv3 mib modules.
+ ucd_snmp UCD-SNMP-MIB specific extensions.
+ agent_mibs NET-SNMP-AGENT-MIB extensions
+ agentx AgentX support (see below)
+ notification mibs supporting specification of trap destinations.
+ target Support for the SNMP WGs TARGET-MIB.
+ utilities general agent configuration utilities.
+ disman/event support for the DISMAN-EVENT-MIB
+ (supports self monitoring and notification
+ delivery when error conditions are found)
+ disman/schedule support for the DISMAN-SCHEDULE-MIB
+ (trigger SET requests at specified times)
+ host host resources mib support.
+ (only on major supported platforms)
+
+ Optional mib modules that can be built into the agent include:
+ smux smux support to allow subagents to attach to snmpd.
+ mibII/mta_sendmail Sendmail statistics monitoring (MTA-MIB)
+ ucd-snmp/diskio Table of io-devices and how much data they have
+ read/written. (only tested on Solaris, Linux)
+ disman/old-event-mib previous implementation of the DISMAN-EVENT-MIB
+
+ Optional modules for specific platforms
+ Linux
+ ucd-snmp/lmSensors hardware monitoring (LM-SENSORS-MIB)
+ ip-mib/ipv4InterfaceTable (experimental)
+ ip-mib/ipv6InterfaceTable (experimental)
+ tunnel Linux TUNNEL-MIB support (ifTable extension)
+ mibII/interfaces (old ifTable implementation)
+ misc/ipfwacc accounting rules IP firewall information
+ ipfwchains/ipfwchains firewall chains under ipfw
+ (See agent/mibgroup/ipfwchains/README)
+ sctp-mib support for the SCTP-MIB
+ etherlike-mib support for the EtherLike-MIB
+
+ Solaris
+ ucd-snmp/lmSensors hardware monitoring (LM-SENSORS-MIB)
+ if-mib IF-MIB rewrite (add --enable-mfd-rewrites)
+ tcp-mib TCP-MIB rewrite (tcpConnectionTable and
+ tcpListenerTable; add --enable-mfd-rewrites)
+ udp-mib UDP-MIB rewrite (udpEndpointTable;
+ add --enable-mfd-rewrites)
+
+ FreeBSD/OpenBSD
+ if-mib IF-MIB rewrite (add --enable-mfd-rewrites)
+
+ AgentX support:
+ agentx/subagent allows the agent to run as either a snmp agent
+ or as an agentX sub-agent.
+ agentx/master makes the agent run as an agentX master agent
+ as well as a normal snmp agent.
+ agentx includes both agentx/master and agentx/client.
+
+ Optional modules for C coders to look at and/or include as extension examples:
+
+ examples/ucdDemoPublic SNMPv3 interoperability testing mib.
+ examples/example example C code extension.])
+
+
+#
+# Catch common mistakes in configure options
+#
+AC_ARG_WITH(mib-module,, NETSNMP_INVALID_WITH([mib-modules]))
+AC_ARG_WITH(module,, NETSNMP_INVALID_WITH([mib-modules]))
+AC_ARG_WITH(modules,, NETSNMP_INVALID_WITH([mib-modules]))
+
+AC_ARG_WITH(out-mib-module,, NETSNMP_INVALID_WITH([out-mib-modules]))
+AC_ARG_WITH(out-module,, NETSNMP_INVALID_WITH([out-mib-modules]))
+AC_ARG_WITH(out-modules,, NETSNMP_INVALID_WITH([out-mib-modules]))
+
+
+##
+# Project: Enterprise settings (? Agent/Library/Both?)
+##
+
+NETSNMP_ARG_WITH(enterprise-oid,
+[Enterprise OIDs: (warning: this should be used with caution.)
+
+ --with-enterprise-oid The enterprise number assigned to the
+ vendor by IANA. See
+ http://www.iana.org/cgi-bin/enterprise.pl
+ to get one, though using the default is
+ probably the right choice is most cases.
+ (default 8072 = "enterprise.net-snmp")],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a value for the enterprise number ]);
+ fi
+ AC_DEFINE_UNQUOTED(NETSNMP_ENTERPRISE_OID, $withval)
+ ent_oid="1,3,6,1,4,1,$withval"
+ AC_DEFINE_UNQUOTED(NETSNMP_ENTERPRISE_MIB, $ent_oid)
+ ent_dot_oid="1.3.6.1.4.1.$withval"
+ AC_DEFINE_UNQUOTED(NETSNMP_ENTERPRISE_DOT_MIB, $ent_dot_oid)
+ AC_MSG_RESULT(using enterprise number $withval)
+],[
+ AC_MSG_RESULT(using default "enterprise.net-snmp")
+])
+
+NETSNMP_ARG_WITH(enterprise-sysoid,
+[
+ --with-enterprise-sysoid The base OID for the sysObjectID
+ of the system group
+ (default .1.3.6.1.4.1.8072.3.2... =
+ "netSnmpAgentOIDs...")],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a base OID value ]);
+ fi
+ sys_oid=`echo "$withval" | sed 's/^\.//' | sed 's/\./\,/g'`
+ AC_DEFINE_UNQUOTED(NETSNMP_SYSTEM_MIB, $sys_oid)
+ sys_dot_oid=`echo "$withval" | sed 's/^\.//'`
+ AC_DEFINE_UNQUOTED(NETSNMP_SYSTEM_DOT_MIB, $sys_dot_oid)
+ sysoid_len=`echo "$withval" | sed 's/[^\.]//g' | awk -F\. '{ print NF }'`
+ AC_DEFINE_UNQUOTED(NETSNMP_SYSTEM_DOT_MIB_LENGTH, $sysoid_len)
+ AC_MSG_RESULT(using enterprise sysOID $withval ....)
+],[
+ AC_MSG_RESULT(using default enterprise sysOID "NET-SNMP-MIB::netSnmpAgentOIDs...")
+])
+
+NETSNMP_ARG_WITH(enterprise-notification-oid,
+[
+ --with-enterprise-notification-oid The OID used for the root of
+ enterprise specific notifications.
+ (default .1.3.6.1.4.1.8072.4 =
+ "netSnmpNotificationPrefix")],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a base OID value ]);
+ fi
+ notification_oid=`echo "$withval" | sed 's/^\.//' | sed 's/\./\,/g'`
+ AC_DEFINE_UNQUOTED(NETSNMP_NOTIFICATION_MIB, $notification_oid)
+ notification_dot_oid=`echo "$withval" | sed 's/^\.//'`
+ AC_DEFINE_UNQUOTED(NETSNMP_NOTIFICATION_DOT_MIB, $notification_dot_oid)
+ notificationoid_len=`echo "$withval" | sed 's/[^\.]//g' | awk -F\. '{ print NF }'`
+ AC_DEFINE_UNQUOTED(NETSNMP_NOTIFICATION_DOT_MIB_LENGTH, $notificationoid_len)
+ AC_MSG_RESULT(using enterprise notifications $withval)
+],[
+ AC_MSG_RESULT(using default notifications "NET-SNMP-MIB::netSnmpNotifications")
+])
+
+
+##
+# Project: Perl settings
+##
+
+NETSNMP_ARG_WITH(perl-modules,
+[
+Perl:
+ --with-perl-modules[=ARGS] Install the Perl modules along with the rest
+ of the net-snmp toolkit. If ARGS is
+ specified, they're passed to the
+ Makefile.PL script.],[
+ if test "$withval" = "no"; then
+ install_perl="no"
+ else
+ install_perl="yes"
+ if test "$withval" != "yes"; then
+ PERLARGS="$withval"
+ fi
+ fi
+], install_perl="try")
+
+NETSNMP_ARG_ENABLE(embedded-perl,
+[ --disable-embedded-perl Disable embedded Perl in the SNMP agent and
+ snmptrapd. [enabled by default]],
+ embed_perl="$enableval", embed_perl="try")
+
+NETSNMP_ARG_ENABLE(perl-cc-checks,
+[ --disable-perl-cc-checks Disable configure checks for whether Perl's
+ C Compiler is compatible with ours when
+ embedded Perl is enabled.])
+
+
+##
+# Project: Python settings
+##
+
+AC_ARG_WITH(python-modules,
+[
+Python:
+ --with-python-modules[=ARGS] Install the python bindings along with the
+ rest of the net-snmp toolkit. If ARGS is
+ specified, they're passed to the
+ setup.py script as arguments.],[
+ install_python="yes"
+ if test "$withval" = "yes"; then
+ PYTHONARGS=""
+ elif test "$withval" = "no"; then
+ PYTHONARGS=""
+ install_python="no"
+ else
+ PYTHONARGS="$withval"
+ fi
+], install_python="no")
+
+
+##
+# Project: Library settings
+##
+
+NETSNMP_ARG_WITH(server-send-buf,
+[
+Network Buffers:
+ --with-server-send-buf[=ARG] Use ARG for the default UDP/TCP send buffer instead
+ of the OS buffer for server sockets that are
+ created (snmpd, snmptrapd).
+ This default can be overridden in the runtime
+ configuration files.
+ The ARG should be the size in bytes],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a positive number for the server send buffer ])
+ fi
+ AC_DEFINE_UNQUOTED(NETSNMP_DEFAULT_SERVER_SEND_BUF, $withval)],
+ AC_MSG_RESULT([using OS default send buffer size for server sockets]) )
+
+NETSNMP_ARG_WITH(server-recv-buf,
+[ --with-server-recv-buf[=ARG] Similar as previous option, but for receive buffer],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a positive number for the server recv buffer ])
+ fi
+ AC_DEFINE_UNQUOTED(NETSNMP_DEFAULT_SERVER_RECV_BUF, $withval)],
+ AC_MSG_RESULT([using OS default recv buffer size for server sockets]) )
+
+NETSNMP_ARG_WITH(client-send-buf,
+[ --with-client-send-buf[=ARG] Similar as previous options, but for the
+ receive buffer of client sockets],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a positive number for the client send buffer ])
+ fi
+ AC_DEFINE_UNQUOTED(NETSNMP_DEFAULT_CLIENT_SEND_BUF, $withval)],
+ AC_MSG_RESULT([using OS default send buffer size for client sockets]) )
+
+NETSNMP_ARG_WITH(client-recv-buf,
+[ --with-client-recv-buf[=ARG] Similar as previous options, but for the send buffer],[
+ if test "$withval" = yes; then
+ AC_MSG_ERROR([ Please provide a positive number for the client recv buffer ])
+ fi
+ AC_DEFINE_UNQUOTED(NETSNMP_DEFAULT_CLIENT_RECV_BUF, $withval)],
+ AC_MSG_RESULT([using OS default recv buffer size for client sockets]) )
+
+##
+# System: library settings (more)
+##
+
+NETSNMP_ARG_WITH(elf,
+ [AS_HELP_STRING([--without-elf],[use elf libraries])])
+
+NETSNMP_ARG_WITH(nl,
+ [AS_HELP_STRING([--with-nl],[use libnl to get netlink data (linux only).])])
+
+NETSNMP_ARG_WITH(libwrap,
+ [ --with-libwrap[=LIBPATH] Compile in libwrap (tcp_wrappers) support.],
+ [],
+ [with_libwrap="no"])
+
+NETSNMP_ARG_WITH(zlib,
+ [ --with-zlib[=DIR] use libz in DIR],
+ [],
+ [with_zlib="no"])
+
+AC_ARG_WITH(bzip2,
+ [ --with-bzip2[=DIR] use libbz2 in DIR],
+ [],
+ [with_bzip2="no"])
+
+NETSNMP_ARG_WITH(
+ [mnttab],
+ AS_HELP_STRING(
+ [--with-mnttab="/etc/mnttab"],
+ [Mount table location. The default is to autodetect this.]))
+
+##
+# Project: mysql
+##
+
+NETSNMP_ARG_WITH(mysql,
+ [ --with-mysql Include support for MySQL.])
+if test "x$with_mysql" = "xyes"; then
+ AC_DEFINE(NETSNMP_USE_MYSQL, 1,
+ [define if you are using the mysql code for snmptrapd ...])
+fi